Skip to content

Commit 8b475d4

Browse files
committed
Record verified admin dashboard RF3 and browser evidence
1 parent 8f81c7c commit 8b475d4

4 files changed

Lines changed: 43 additions & 15 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Public HTTP admission reserves capacity before JSON deserialization and shares a
4747

4848
## Administration console
4949

50-
The runtime console is served at `/admin` on each database HTTP endpoint, for example `http://localhost:5101/admin` with the local Aspire profile. Connect with a persisted administrator API key, then enter the tenant, database and atomic partition key when browsing collections, queues or published blob metadata. The read-only console shows physical canonical/replica/backup file lengths, node status, admission occupancy and measured process HTTP throughput. It never receives or acknowledges queue messages, and credentials remain only in tab memory. See [AdminDashboard](docs/Features/AdminDashboard.md) for the contract and exact GitHub evidence: its real RF3 API/native browser cases pass; retained screenshots, complete workflow and numeric coverage gates remain pending.
50+
The runtime console is served at `/admin` on each database HTTP endpoint, for example `http://localhost:5101/admin` with the local Aspire profile. Connect with a persisted administrator API key, then enter the tenant, database and atomic partition key when browsing collections, queues or published blob metadata. The read-only console shows physical canonical/replica/backup file lengths, node status, admission occupancy and measured process HTTP throughput. It never receives or acknowledges queue messages, and credentials remain only in tab memory. See [AdminDashboard](docs/Features/AdminDashboard.md) for exact GitHub evidence: 13 dashboard unit cases pass on each OS, RF3 passes 36/36 including the real Chrome flow, and retained desktop/mobile images are visually reviewed. The complete workflow still fails independently owned recovery/comparison gates; numeric coverage remains unqualified.
5151

5252
## .NET client
5353

‎docs/Architecture.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# KeyLoad architecture and ownership map
22

3-
The additive [AdminDashboard](Features/AdminDashboard.md) slice under [ADR-051](ADR/ADR-051-admin-dashboard.md) hosts the runtime read-only console in `src/KeyLoad.Server/Features/AdminDashboard/Assets/`, with shared Abstractions DTOs, Core catalog/queue readers, matching Client SDK and UnitTests/IntegrationTests slices. It borrows the existing unique Orleans request/read actors and node-local administration; physical observations are explicitly per node. The public benchmark `site/` remains its own surface. Source and desktop/mobile visual review are present; exact-SHA GitHub qualification remains pending.
3+
The additive [AdminDashboard](Features/AdminDashboard.md) slice under [ADR-051](ADR/ADR-051-admin-dashboard.md) hosts the runtime read-only console in `src/KeyLoad.Server/Features/AdminDashboard/Assets/`, with shared Abstractions DTOs, Core catalog/queue readers, matching Client SDK and UnitTests/IntegrationTests slices. It borrows the existing unique Orleans request/read actors and node-local administration; physical observations are explicitly per node. The public benchmark `site/` remains its own surface. Exact-SHA dashboard unit/RF3/native browser cases pass and retained desktop/mobile images are visually reviewed; complete recovery/comparison and numeric coverage qualification remains open.
44

55
```mermaid
66
flowchart LR

‎docs/Features/AdminDashboard.md‎

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# AdminDashboard
22

3-
Status: source implemented and desktop/mobile design manually inspected; exact-SHA GitHub runtime/browser/coverage qualification pending. ADR-051 remains Accepted. Owner: KeyLoad lead. User request: attractive runtime administration with sizes, throughput, tables/collections, queues and files.
3+
Status: source delivered; exact-SHA dashboard unit, RF3 API and native Chrome cases pass, and retained desktop/mobile screenshots are visually reviewed. Complete recovery/comparison and numeric coverage gates remain open; ADR-051 remains Accepted. Owner: KeyLoad lead. User request: attractive runtime administration with sizes, throughput, tables/collections, queues and files.
44

55
This is the durable requirements and acceptance contract. Architecture and the ordered agent implementation contract are in [ADR-051](../ADR/ADR-051-admin-dashboard.md). Root-level brainstorm, acceptance and plan files are local task scaffolding under the repository ignore policy; delivery evidence belongs here and in `docs/implementation/status.json`.
66

@@ -80,12 +80,18 @@ Manual exception: subjective visual polish is inspected via desktop/mobile scree
8080

8181
REQ/AC-AD-001..007 map to ADR-051 and tasks AD-C (shared integration), AD-B (backend), AD-U (UI), AD-T (tests) and AD-J (lead review/delivery). The requirement table and criterion-to-test matrix identify the automated owning suites. The subjective design exception requires desktop and mobile visual review; no functional or numeric gate is waived.
8282

83-
Latest RF3 candidate: exact `aed338c6435d6edc411049e2a4052cddab5bb285`, [CI run 37038422388](https://github.com/managedcode/KeyLoad/actions/runs/37038422388). All 6 AdminDashboard API cases and the complete native Chrome case passed, zero skipped. This qualifies real catalog/document/queue browsing, JSON text safety, desktop/mobile overflow, persisted revocation/expiry, disconnect/reconnect, one concurrent refresh, reduced motion and background suspension through actual Docker/Aspire RF3. Downloaded reports confirm 805/805 unit tests, including 13/13 dashboard cases, on all three operating systems. RF3 overall is 35/36 because an independently owned leader-loss restart scenario fails at Aspire node2 startup. Retained browser images still await TASK-AD-T3 below.
83+
Verified source: `8f81c7c5bef169bb5709e9695c6662002b96ea69`, [CI run 37039965957](https://github.com/managedcode/KeyLoad/actions/runs/37039965957). The lead inspected downloaded TUnit reports and actual browser images; zero dashboard cases were skipped. Solution Release build, formatter, governance and all 118 source-owned analyzer tests pass on Linux, macOS and Windows.
8484

85-
Earlier exact `1bee2609ff0de620640f304e2e42eb2859716646`, [CI run 37036628601](https://github.com/managedcode/KeyLoad/actions/runs/37036628601), passed 805/805 unit tests, including 13/13 dashboard cases, on all three OSes with zero skipped. It exposed the empty AST projection in the browser; the standard wildcard repair and exact seeded-row assertion now pass. Independent EventStreams canonical-JSON oracle repairs also pass in the latest RF3 candidate. Complete recovery, fault, comparison and numeric coverage qualification remains open; successful feature cases do not close those gates.
85+
| Exact-source receipt | Result | Evidence |
86+
|---|---|---|
87+
| Dashboard unit, Linux | 13/13; full unit 805/805 | [verify job 110947385090](https://github.com/managedcode/KeyLoad/actions/runs/37039965957/job/110947385090), artifact 11242626726 |
88+
| Dashboard unit, macOS | 13/13; full unit 805/805 | [verify job 110947384936](https://github.com/managedcode/KeyLoad/actions/runs/37039965957/job/110947384936), artifact 11242846364 |
89+
| Dashboard unit, Windows | 13/13; full unit 801/805 | [verify job 110947384996](https://github.com/managedcode/KeyLoad/actions/runs/37039965957/job/110947384996), artifact 11242507999 |
90+
| Actual Docker/Aspire RF3 | 36/36, including 6 dashboard API cases and the complete native Chrome case | [RF3 job 110947384866](https://github.com/managedcode/KeyLoad/actions/runs/37039965957/job/110947384866), [artifact 11242571382](https://github.com/managedcode/KeyLoad/actions/runs/37039965957/artifacts/11242571382) |
91+
| Subjective desktop/mobile design | Lead visually reviewed genuine connected RF3 images at 1440×900 and 390×900 | Same RF3 artifact, `artifacts/qualification/admin-dashboard/desktop.png` and `mobile.png` |
8692

87-
The previous exact `b533c80a128a85c6e2072de3bc011a09d4a97cc7`, [CI run 37032546228](https://github.com/managedcode/KeyLoad/actions/runs/37032546228), exposed slash-equivalent routes and fixture epoch/time defects; those repairs are now qualified by the latest candidate. Native logging lifecycle and complete 50-tool discovery regressions also pass in the latest candidate. Actual receipts are retained under ignored `artifacts/qualification/admin-dashboard/37036628601/`.
93+
The RF3 cases prove actual .NET/official MCP agreement, catalog/document/queue browsing, JSON text safety, viewport overflow protection, persisted revocation/expiry, disconnect/reconnect, one concurrent refresh, reduced motion and background suspension. TASK-AD-T3 anchors the existing native screenshot output to the repository root without changing capture, assertions or workflow semantics; both PNGs are now retained and the subjective design exception has its required evidence. Local copies and reports are under ignored `artifacts/qualification/admin-dashboard/37039965957/`.
8894

89-
TASK-AD-T3 preserves AC-AD-006/007: exact `aed338c6435d6edc411049e2a4052cddab5bb285`, [CI run 37038422388](https://github.com/managedcode/KeyLoad/actions/runs/37038422388), passed all 6 API cases and the complete native Chrome case, zero skipped. Screenshots were written relative to the test process working directory and missed the checkout-root upload glob. One worker owns only AdminBrowserAssertions.cs and uses the existing shared FindRepositoryRoot helper for the same evidence directory. Capture, viewport, assertion, test command and workflow semantics stay unchanged; ADR-051 remains sufficient. Actual downloaded desktop/mobile PNGs and lead visual review are required before the subjective artifact criterion closes. RF3 overall is 35/36 due to an independently owned leader-loss restart failure.
95+
The complete workflow concludes **failure**. Windows has four independent comparison-host startup timeouts: `AcHost003MissingSettingsReportFirstRequiredEndpoint`, `AcHost003InvalidDimensionsFailBeforeRequiredSettingsOrClients`, `AcHost003CommandLineOverridesInvalidEnvironmentDimension` and `AcHost003FirstEndpointAdvancesToSecondRequiredEndpoint`. Recovery is 119/121 on Linux/macOS and 118/121 on Windows; comparison-smoke also fails. These independently owned gates remain open. Passing RF3 does not establish endurance, power-loss durability or production readiness. Root numeric coverage thresholds remain mandatory, but no MTP/TUnit collector or baseline is configured, so no numeric coverage pass is claimed. No local tests were executed. ADR-051 stays Accepted until all required qualification is complete.
9096

91-
The earlier exact `49a5b6054843800e20e333ddaa28fa96d79dd294`, [CI run 37029344985](https://github.com/managedcode/KeyLoad/actions/runs/37029344985), stopped before runtime tests at compiler/analyzer errors; later source fixes compile. Downloaded candidate receipts are retained under ignored `artifacts/qualification/admin-dashboard/37032546228/`. Root thresholds require numeric coverage, but no MTP/TUnit collector or baseline is configured: coverage remains an open gate. No local tests were executed. ADR-051 remains Accepted while required qualification is incomplete.
97+
Repair traceability: [run 37032546228](https://github.com/managedcode/KeyLoad/actions/runs/37032546228) exposed slash-equivalent routes and fixture epoch/time defects; [run 37036628601](https://github.com/managedcode/KeyLoad/actions/runs/37036628601) exposed empty query projection; [run 37038422388](https://github.com/managedcode/KeyLoad/actions/runs/37038422388) passed the browser but did not retain its images. The final source qualifies those repairs, native logging lifecycle, the independent 50-tool discovery oracle and canonical EventStreams expectations. Earlier compiler failures and cancelled runs are not passing evidence.

‎docs/implementation/status.json‎

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1220,16 +1220,38 @@
12201220
"tests/KeyLoad.UnitTests/Features/AdminDashboard/",
12211221
"tests/KeyLoad.IntegrationTests/Features/AdminDashboard/"
12221222
],
1223-
"manualDesignReview": "desktop_1280x720_and_mobile_390x844_disconnected_real_shell_inspected_2026_10_02_only_subjective_design",
1223+
"manualDesignReview": "connected_real_RF3_desktop_1440x900_and_mobile_390x900_PNGs_downloaded_and_lead_reviewed_2026_10_02_subjective_design_only",
12241224
"localTestsExecuted": false,
1225-
"qualification": "all_6_RF3_admin_API_and_complete_native_Chrome_pass_all_OS_unit_steps_pass_retained_PNG_and_full_recovery_fault_comparison_coverage_gates_pending",
1225+
"qualification": "13_dashboard_unit_cases_pass_each_OS_36_of_36_RF3_including_6_admin_API_and_native_Chrome_pass_no_skips_retained_PNGs_reviewed_complete_recovery_comparison_numeric_coverage_open",
12261226
"coverage": "required_thresholds_preserved_collector_and_actual_result_not_yet_available",
12271227
"candidateRun": {
1228-
"id": 37038422388,
1229-
"sha": "aed338c6435d6edc411049e2a4052cddab5bb285",
1230-
"url": "https://github.com/managedcode/KeyLoad/actions/runs/37038422388",
1231-
"conclusion": "RF3_failure_35_of_36_all_7_dashboard_API_and_browser_pass_no_skips_independent_node2_leader_restart_failure_PNG_root_fix_pending",
1232-
"artifacts": "artifacts/qualification/admin-dashboard/37038422388/"
1228+
"id": 37039965957,
1229+
"sha": "8f81c7c5bef169bb5709e9695c6662002b96ea69",
1230+
"url": "https://github.com/managedcode/KeyLoad/actions/runs/37039965957",
1231+
"conclusion": "failure",
1232+
"buildFormatGovernanceAnalyzers": "pass_all_three_OS_118_analyzer_tests_each",
1233+
"dashboardUnit": "13_of_13_each_OS_no_skips",
1234+
"fullUnit": "linux_805_of_805_macos_805_of_805_windows_801_of_805_four_independent_comparison_host_timeouts",
1235+
"rf3": {
1236+
"jobId": 110947384866,
1237+
"passed": 36,
1238+
"total": 36,
1239+
"skipped": 0,
1240+
"dashboardApiPassed": 6,
1241+
"nativeBrowserPassed": 1,
1242+
"artifactId": 11242571382
1243+
},
1244+
"unitArtifactIds": {
1245+
"linux": 11242626726,
1246+
"macos": 11242846364,
1247+
"windows": 11242507999
1248+
},
1249+
"remainingGates": "independent_recovery_comparison_endurance_fault_and_numeric_coverage",
1250+
"artifacts": "artifacts/qualification/admin-dashboard/37039965957/",
1251+
"browserImages": [
1252+
"docker-rf3/artifacts/qualification/admin-dashboard/desktop.png",
1253+
"docker-rf3/artifacts/qualification/admin-dashboard/mobile.png"
1254+
]
12331255
},
12341256
"baselineRun": {
12351257
"id": 37028314087,

0 commit comments

Comments
 (0)