Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/agent-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
python-version: '3.11'

- name: Compile helper scripts
run: python -m py_compile scripts/repo_intake.py scripts/run_checks.py scripts/validate_contracts.py scripts/generate_contract_fixtures.py scripts/validate_api_exports.py scripts/generate_project_health_report.py
run: python -m py_compile scripts/repo_intake.py scripts/run_checks.py scripts/validate_contracts.py scripts/generate_contract_fixtures.py scripts/validate_api_exports.py scripts/generate_project_health_report.py scripts/generate_dashboard_health_summary.py

- name: Generate repository intake report
run: python scripts/repo_intake.py
Expand All @@ -37,6 +37,9 @@ jobs:
- name: Generate project health report
run: python scripts/generate_project_health_report.py

- name: Generate dashboard health summary
run: python scripts/generate_dashboard_health_summary.py

- name: Upload agent reports
if: always()
uses: actions/upload-artifact@v4
Expand Down
17 changes: 14 additions & 3 deletions docs/AGENT_WORKFLOW.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,16 +68,24 @@ changes:
`docs/reports/project-health-report.md` as a deterministic snapshot of agent
workflow readiness, contract/API validation surfaces, existing reports, and
promotion checklist status without reading raw payload contents.
6. Let `.github/workflows/agent-checks.yml` provide the PR CI guardrail by
6. Run `python scripts/generate_dashboard_health_summary.py` after the local
reports are current. It writes `docs/reports/dashboard-health-summary.md` and
`docs/reports/dashboard-health-summary.json` as compact dashboard-facing
release-readiness artifacts from file-existence and simple metadata checks.
7. Let `.github/workflows/agent-checks.yml` provide the PR CI guardrail by
compiling the helper scripts, regenerating intake evidence, generating
contract fixtures, validating API/export payload shapes, generating the
project health report, and running the same safe checks on Python 3.11.
project health report, generating the dashboard health summary, and running
the same safe checks on Python 3.11.

These checks complement benchmark, regression, sanitization, and forensic replay
reports from `ProfRandom92/Comptext-Daimler-Experiment-`. They do not replace
benchmark review and do not introduce runtime coupling between repositories. Use
only sanitized summaries or synthetic examples when connecting those reports to
Comptextv7 PR evidence.
Comptextv7 PR evidence. Future dashboard/UI work should consume
`docs/reports/dashboard-health-summary.json` as a static status source for
release-readiness cards, missing-artifact lists, and safety notes instead of
requiring a live server, network access, or real Daimler data.

## Cross-repo promotion gate

Expand Down Expand Up @@ -170,6 +178,9 @@ Before opening a Comptextv7 PR, agents should verify:
issues.
- [ ] Tests or validation steps are documented, or the PR states why no code
execution was required.
- [ ] Release-readiness changes run `python scripts/generate_dashboard_health_summary.py`
and update `docs/reports/dashboard-health-summary.md` plus
`docs/reports/dashboard-health-summary.json` when generated.
- [ ] API/dashboard/export changes run `python scripts/generate_contract_fixtures.py`
and `python scripts/validate_api_exports.py`, with reports checked in under
`docs/reports/contract-fixture-generation-report.md` and
Expand Down
35 changes: 31 additions & 4 deletions docs/API_SURFACE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,11 @@ API, dashboard, and export contract changes should start with
`python scripts/repo_intake.py` so reviewers can see the detected repository
shape and likely API/dashboard/report areas before implementation. After making
changes, run `python scripts/run_checks.py`, `python scripts/validate_contracts.py`,
`python scripts/generate_contract_fixtures.py`, and
`python scripts/validate_api_exports.py` to perform deterministic local validation
without installing dependencies, using real Daimler data, or requiring network
access.
`python scripts/generate_contract_fixtures.py`,
`python scripts/validate_api_exports.py`, and
`python scripts/generate_dashboard_health_summary.py` to perform deterministic
local validation without installing dependencies, using real Daimler data, or
requiring network access.

The `.github/workflows/agent-checks.yml` workflow mirrors these steps for pull
requests on Python 3.11 and uploads the generated `docs/reports/` artifacts when
Expand Down Expand Up @@ -75,6 +76,15 @@ summaries include:
Comptextv7. They should remain deterministic enough for review, small enough for
PR artifacts, and explicit about any schema changes.

`docs/reports/dashboard-health-summary.json` is the dashboard-facing static
release-readiness artifact generated by
`python scripts/generate_dashboard_health_summary.py`. Future dashboard/UI work
can load that JSON directly from committed reports or CI artifacts to render
status badges, missing-artifact callouts, and next-action lists without starting
a live server or using real Daimler data. The companion Markdown report,
`docs/reports/dashboard-health-summary.md`, provides the human-readable review
summary.

Future report endpoints such as `/reports/benchmark-summary`,
`/reports/regression-summary`, or `/reports/sanitization-summary` should not be
added until a schema, security review, and issue scope approve them. If added,
Expand Down Expand Up @@ -149,6 +159,23 @@ the generated example, checks required fields, simple field types, the
standard library, require no live server, and must remain limited to synthetic
values.

### Dashboard release health summary

Run the dashboard health summary generator after local validation artifacts are
available:

```bash
python scripts/generate_dashboard_health_summary.py
```

The generator inspects local report/check artifact existence under
`docs/reports/` and writes both `docs/reports/dashboard-health-summary.md` and
`docs/reports/dashboard-health-summary.json` with deterministic synthetic
metadata. The JSON includes `overall_status`, named validation `checks`,
`required_artifacts_present`, `missing_artifacts`, `next_recommended_actions`,
and `safety_notes`, so future UI work can consume one compact artifact instead
of reimplementing release-readiness logic.

## Compatibility with benchmark/regression reports

Benchmark summaries should map to Comptextv7 review surfaces this way:
Expand Down
116 changes: 116 additions & 0 deletions docs/reports/dashboard-health-summary.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
{
"checks": {
"api_export_validation_report": {
"description": "Synthetic API/export contract validation report.",
"key": "api_export_validation_report",
"path": "docs/reports/api-export-validation-report.md",
"present": true,
"required": true,
"size_bytes": 738,
"status": "present"
},
"contract_fixture_generation_report": {
"description": "Synthetic API/dashboard fixture generation report.",
"key": "contract_fixture_generation_report",
"path": "docs/reports/contract-fixture-generation-report.md",
"present": true,
"required": true,
"size_bytes": 617,
"status": "present"
},
"contract_validation_report": {
"description": "Contract schema validation report.",
"key": "contract_validation_report",
"path": "docs/reports/contract-validation-report.md",
"present": true,
"required": true,
"size_bytes": 1403,
"status": "present"
},
"cross_repo_release_checklist": {
"description": "Cross-repo release checklist for sanitized promotion evidence.",
"key": "cross_repo_release_checklist",
"path": "docs/CROSS_REPO_RELEASE_CHECKLIST.md",
"present": true,
"required": true,
"size_bytes": 9343,
"status": "present"
},
"project_health_report": {
"description": "Generated project health and release status report.",
"key": "project_health_report",
"path": "docs/reports/project-health-report.md",
"present": true,
"required": true,
"size_bytes": 4121,
"status": "present"
}
},
"generated_at": "2026-01-01T00:00:00Z",
"missing_artifacts": {
"optional_cross_repo": [
"benchmark-summary.json",
"regression-summary.json",
"sanitization-summary.json",
"report-contract-validation-report.md"
],
"required_local": []
},
"next_recommended_actions": [
"Render docs/reports/dashboard-health-summary.json in future dashboard/UI work as a static release-readiness widget.",
"Attach optional sanitized cross-repo benchmark, regression, sanitization, and report-contract summaries when promotion evidence is available.",
"Keep API/export contract validation and fixture generation in CI before release promotion."
],
"optional_cross_repo_artifacts": [
{
"description": "Optional sanitized benchmark promotion summary from the experiment repository.",
"key": "benchmark_summary",
"path": "benchmark-summary.json",
"present": false,
"required": false,
"status": "missing"
},
{
"description": "Optional sanitized regression promotion summary from the experiment repository.",
"key": "regression_summary",
"path": "regression-summary.json",
"present": false,
"required": false,
"status": "missing"
},
{
"description": "Optional sanitized data-handling summary from the experiment repository.",
"key": "sanitization_summary",
"path": "sanitization-summary.json",
"present": false,
"required": false,
"status": "missing"
},
{
"description": "Optional report-contract validation evidence from the experiment repository.",
"key": "report_contract_validation_report",
"path": "report-contract-validation-report.md",
"present": false,
"required": false,
"status": "missing"
}
],
"overall_status": "yellow",
"related_experiment_repo": "ProfRandom92/Comptext-Daimler-Experiment-",
"required_artifacts_present": [
"docs/reports/project-health-report.md",
"docs/reports/contract-validation-report.md",
"docs/reports/api-export-validation-report.md",
"docs/reports/contract-fixture-generation-report.md",
"docs/CROSS_REPO_RELEASE_CHECKLIST.md"
],
"safety_notes": [
"Synthetic/static metadata only; generated_at is deterministic.",
"No real Daimler data, customer payloads, secrets, cookies, tokens, raw production logs, or proprietary documents are included.",
"No live server, network access, external dependencies, or experiment-repository checkout is required.",
"The generator uses file-existence and small filesystem metadata checks only and does not read report bodies."
],
"summary_type": "dashboard_release_health",
"synthetic": true,
"target_repo": "ProfRandom92/Comptextv7"
}
66 changes: 66 additions & 0 deletions docs/reports/dashboard-health-summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Dashboard Release Health Summary

This deterministic artifact converts local project health, contract validation, API/export validation, fixture generation, and cross-repo promotion signals into compact release-readiness metadata for future dashboard/UI rendering.

## Repository overview

- target_repo: `ProfRandom92/Comptextv7`
- related_experiment_repo: `ProfRandom92/Comptext-Daimler-Experiment-`
- summary_type: `dashboard_release_health`
- generated_at: `2026-01-01T00:00:00Z`
- synthetic: `true`
- live_server_required: `false`
- network_required: `false`
- real_daimler_data_required: `false`

## Overall status

- overall_status: `yellow`
- status_basis: Missing required local Comptextv7 validation artifacts are red; complete local validation with missing optional cross-repo promotion artifacts is yellow; complete local and optional promotion artifacts are green.

## Local validation artifacts

| Artifact | Status | Notes |
| --- | --- | --- |
| `docs/reports/project-health-report.md` | present | Generated project health and release status report. |
| `docs/reports/contract-validation-report.md` | present | Contract schema validation report. |
| `docs/reports/api-export-validation-report.md` | present | Synthetic API/export contract validation report. |
| `docs/reports/contract-fixture-generation-report.md` | present | Synthetic API/dashboard fixture generation report. |
| `docs/CROSS_REPO_RELEASE_CHECKLIST.md` | present | Cross-repo release checklist for sanitized promotion evidence. |

## Optional cross-repo promotion artifacts

These sanitized promotion summaries may be copied into `docs/reports/` when available from `ProfRandom92/Comptext-Daimler-Experiment-`, but they are not required for this local dashboard summary.

| Artifact | Status | Notes |
| --- | --- | --- |
| `benchmark-summary.json` | missing | Optional sanitized benchmark promotion summary from the experiment repository. |
| `regression-summary.json` | missing | Optional sanitized regression promotion summary from the experiment repository. |
| `sanitization-summary.json` | missing | Optional sanitized data-handling summary from the experiment repository. |
| `report-contract-validation-report.md` | missing | Optional report-contract validation evidence from the experiment repository. |

## Missing artifacts

### Required local artifacts

- None.

### Optional cross-repo artifacts

- `benchmark-summary.json`
- `regression-summary.json`
- `sanitization-summary.json`
- `report-contract-validation-report.md`

## Next recommended actions

- Render docs/reports/dashboard-health-summary.json in future dashboard/UI work as a static release-readiness widget.
- Attach optional sanitized cross-repo benchmark, regression, sanitization, and report-contract summaries when promotion evidence is available.
- Keep API/export contract validation and fixture generation in CI before release promotion.

## Safety notes

- Synthetic/static metadata only; generated_at is deterministic.
- No real Daimler data, customer payloads, secrets, cookies, tokens, raw production logs, or proprietary documents are included.
- No live server, network access, external dependencies, or experiment-repository checkout is required.
- The generator uses file-existence and small filesystem metadata checks only and does not read report bodies.
Loading
Loading