Repository navigation
feat(smartqa): verdict UI and cited evidence (CHE-1649) [squash] - #225
Draft
congvc-bot-x99[bot] wants to merge 16 commits into
Draft
congvc-bot-x99[bot] wants to merge 16 commits into
congvc-bot-x99[bot] wants to merge 16 commits into
Conversation
added 12 commits
October 21, 2026 18:56
# Conflicts: # .github/tests/test_runner_routing.py # .github/workflows/ci.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Status
Current candidate: PR #225 is OPEN/draft on
mainat8c7eb1e2323b981db0ed900f492d359768445a35. Branch:agent/x99-codex-sol/ac21610a5784. Base and currentmain:4728e50fa4243c643262d4f6f3359474618179fe.GitHub readback at 06:55 ICT on October 24, 2026 reports
mergeable=MERGEABLEandmergeStateStatus=UNSTABLE.The checks show:
QUEUED: one Python 3.12 job and one Frontend tests and production build job.IN_PROGRESS: one Python 3.12 job, What's New entry, one Frontend tests and production build job, and both Build and smoke-test Python packages jobs.SUCCESS: none.QUEUEDandIN_PROGRESSare not PASS. No hosted check has PASS on this head. Sol reconciles before any fresh independent different-lab review and exact-head OCR.S1 Batch Discovery Correction — head
8c7eb1e2323b981db0ed900f492d359768445a35POST /api/chats/resultsreturns compact results to a visible signed-in caller. The route passesrecord_reads=Falseto_attach_results.The helper keeps
record_reads=Trueby default. Detail and update reads still record explicit link shares.The regression checks the share table,
scope=available, and by-link screenshot access for a non-owner. The batch read adds norun_link_sharesrow. The run stays out ofscope=available, and the screenshot request returns 404.Behavioral RED and GREEN
The same focused command ran before and after the fix:
RED before the production fix: exit 1. The assertion observed
shares == 1, expected0. Pytest reported1 failed, 8 warnings in 0.60s.GREEN after the fix: exit 0. Pytest reported
1 passed, 8 warnings in 0.65s.Two earlier test-harness attempts were not behavioral evidence. The first used a passing fixture without an evidence URL and failed at
assert screenshot_url. The next edit failed collection with a syntax error. I fixed both before the valid RED run. I did not count either attempt as RED.Adjacent validation on CPython 3.13.12:
Result:
63 passed, 8 warnings in 16.34s.UV_PROJECT_ENVIRONMENT=/tmp/multica-task-526948190/uv-env UV_CACHE_DIR=/tmp/multica-task-526948190/uv-cache uv run --locked --group dev ruff format --check apps/admin_console/routers/chats.py tests/unit/admin_console/test_chat_api.pyreports2 files already formatted.UV_PROJECT_ENVIRONMENT=/tmp/multica-task-526948190/uv-env UV_CACHE_DIR=/tmp/multica-task-526948190/uv-cache uv run --locked --group dev ruff check apps/admin_console/routers/chats.py tests/unit/admin_console/test_chat_api.pyreportsAll checks passed!.git diff --checkpasses.The changed files are
apps/admin_console/routers/chats.pyandtests/unit/admin_console/test_chat_api.py.CHE-1649 remains
in_progress, Sol-assigned. Keep the PR draft. Stop before ready or merge.This fix resolves S1. S2 remains open/non-blocking/unwaived. Existing manual/live gates remain BLOCKED/NOT-RUN. All existing Conditions below remain in force.
Previous Status Snapshot — exact head
a60a17f05948d0b829c6912f8f04af08cc89a268Current candidate: PR #225 is OPEN/draft on
mainata60a17f05948d0b829c6912f8f04af08cc89a268. Branch:agent/x99-codex-sol/ac21610a5784. Base and currentmain:4728e50fa4243c643262d4f6f3359474618179fe.GitHub readback at 05:40 ICT on October 24, 2026 reports
mergeable=trueandmergeStateStatus=UNSTABLE. Five hosted checks pass on this exact head: both frontend jobs, both package-smoke jobs and What's New. Both Python 3.12 jobs remain PENDING. PENDING is not PASS. Fresh independent different-lab review and exact-head OCR remain pending. Sol reconciles before dispatch.Merge commit
a60a17f05948d0b829c6912f8f04af08cc89a268has parentsb47bcc061e03f6068779b675a32051e0555cfac3and4728e50fa4243c643262d4f6f3359474618179fe. Theortmerge completed without conflicts. Relative tob47bcc061e03f6068779b675a32051e0555cfac3, the merge changes onlytests/unit/admin_console/test_host_agent_api.py(27 insertions, 13 deletions).Focused local validation used CPython 3.13.12 and passed:
UV_PROJECT_ENVIRONMENT=/tmp/multica-task-1210360155/uv-env UV_CACHE_DIR=/tmp/multica-task-1210360155/uv-cache PYTHONDONTWRITEBYTECODE=1 uv run --locked --group dev python -m pytest -p no:cacheprovider -q tests/unit/admin_console/test_host_agent_api.py::test_real_host_socket_close_enters_grace_and_expires_once→2 passed, 8 warnings in 1.82s. A first system-Python attempt did not collect becauselangchain_corewas unavailable. This was a collection failure, not behavioral RED. This is a pure main merge, so we claim no new behavioral RED/GREEN. Historical test-first records below remain intact.Cleanup removed the task-owned uv environment/cache (about 1.2 GiB and 43 MiB) and pytest fixtures (804 KiB).
df -B1 /mnt/ssd2showed 67,090,866,176 bytes available before validation and 71,556,820,992 after cleanup. The apparent increase is 4,465,954,816 bytes. Shared-host activity prevents attribution of that delta to this cleanup alone.Writing receipt: All 8 advisories are true positives in preserved historical text: 4 semicolon flags, 1 passive-voice flag and 3 synonym-rotation flags. We retain them to preserve historical evidence wording.
CHE-1649 remains
in_progress, Sol-assigned. Keep the PR draft. Stop before ready or merge. QA admission and manual/live gates remain BLOCKED/NOT-RUN. Actual 200% zoom/F6, manual keyboard/screen-reader, duplicate-navigation, Keep/Change/Remove and authenticated-live-baseline gates remain open. No accessibility waiver applies. Pixel-diff automation remains NOT-RUN/deferred under the existing contract. Required comparable PNGs and manual review are not waived.Previous Status Snapshot — exact head
b47bcc061e03f6068779b675a32051e0555cfac3Previous candidate, superseded by merge commit
a60a17f05948d0b829c6912f8f04af08cc89a268: PR #225 was OPEN/draft onmainatb47bcc061e03f6068779b675a32051e0555cfac3. Branch:agent/x99-codex-sol/ac21610a5784. Base and currentmainat that readback:cfc51c4c68cc84dec8c8d5576d79bc90622727dc.GitHub readback at 18:03 ICT on October 23, 2026 reported
mergeable=trueandmergeable_state=unstable. One frontend check passed. Six checks remained PENDING: both Python 3.12 jobs, the other frontend job, both package-smoke jobs and What's New. PENDING was not PASS. Prior independent verdict and OCR evidence covered earlier heads only. That head needed a fresh independent different-lab delta review and exact-head OCR. Sol was to reconcile before dispatching the existing verifier.CHE-1649 remained
in_progress, Sol-assigned. The PR stayed draft. QA was not run, the resource was not accessed and admission was not claimed. Cheese's separate route-record reply did not include the required X99 route details. Actual 200% zoom/F6, manual keyboard/screen-reader, duplicate-navigation, Keep/Change/Remove and authenticated-live-baseline gates remained open. No accessibility waiver applied. Pixel-diff automation remained NOT-RUN/deferred under the existing contract. Required comparable PNGs and manual review were not waived.Superseded status snapshot — exact to `eef03b723be7c9aa194a04f229fa788abb64d3c0` only
Current candidate: PR #225 is OPEN/draft on
mainateef03b723be7c9aa194a04f229fa788abb64d3c0. Branch:agent/x99-codex-sol/ac21610a5784. Base:4492602a4969e3f1189c45908b9b94dc76f5a764.Sol refreshed GitHub at 17:07 ICT on October 23, 2026. All 7 hosted check runs report SUCCESS: both Python 3.12 jobs, both frontend jobs, both package-smoke jobs and What's New. GitHub reads CLEAN. x99-claude-opus (Anthropic,
claude-opus-5-5[1m]) independently signed NO CODE BLOCKER foraa5799a2a2580f8d3d05cbe8cd0213b60e4af86c..eef03b723be7c9aa194a04f229fa788abb64d3c0in comment01a16832-73aa-77e5-a56b-2c447f8e7ec9. The author is x99-codex-luna-2 (OpenAI). OCR ran inside that review, delegation lane, one file; O1 is P3/non-blocking. This is not code acceptance, a ready transition or merge authority. CHE-1649 remainsin_progress, Sol-assigned. Keep the PR draft. Stop before ready or merge.Opus independently observed the optional root-API negative control RED for the intended reason:
--root-api-negative-controlfailed atpreview-path.test.mjs:138:32,1 !== 0, withchrome-headless-shell155.0.8059.79. The ordinary preview-path check passed at both/and/preview/pr/70/. A separate Chrome for Testing attempt stopped atPage.navigatebefore assertions and stays NOT-RUN, not RED. Sol reconciles these reviewer receipts; Sol does not claim a local rerun.The candidate is not ready for Cheese. Required manual keyboard/screen-reader, actual 200% zoom/F6, duplicate-navigation, Keep/Change/Remove and authenticated-live-baseline evidence remain incomplete. Luna remains the QA executor; Sol verifies admission. Cheese/congvc owns the protected browser/auth resource, and dev team coordinates the existing owner action. Visual pixel diff remains NOT-RUN under the contract's permitted deferred automation; comparable PNGs and handwritten Keep/Change/Remove review remain required. No accessibility waiver applies. The historical evidence below retains its original revision scope and is not an exact-head local rerun claim.
Historical status at aa5799a — not the current candidate
PR #225 is OPEN/draft on
mainataa5799a2a2580f8d3d05cbe8cd0213b60e4af86c, branchagent/x99-codex-sol/ac21610a5784, base4492602a4969e3f1189c45908b9b94dc76f5a764. GitHub readsUNSTABLEandMERGEABLE. The earlier exact-head readback at 14:58 ICT on October 23, 2026 reports 1 PASS and 6 PENDING. The What's New entry passed. The other six checks were PENDING, not PASS. The later exact-head readback at 15:10 ICT on October 23, 2026 reports 3 PASS and 4 PENDING. Both Python 3.12 and both frontend checks are PENDING, not PASS. Both package checks and the What's New entry passed. CHE-1649 remainsin_progress, Sol-assigned. This candidate is not code-accepted. Keep the PR draft. Stop before ready or merge.Conditions
design/smartqa-verdicts/rev-5/C.html@775e7e72ce0d6058f697b814b0095f6940a28ce8.Change
eef03b723be7c9aa194a04f229fa788abb64d3c0changes onlyapps/showcase_ui/scripts/preview-path.test.mjs. It checks that the page-level verdict precedes the timeline at both/and/preview/pr/70/. The HTTP, scoped SSE, WebSocket, image and path-isolation checks remain unchanged. No application or design source changed in that delta.mainat4492602a4969e3f1189c45908b9b94dc76f5a764with merge commiteb71b71bd3bb29c87bb61c0ad70b24dbc0c276ee. The current resync mergesmainatcfc51c4c68cc84dec8c8d5576d79bc90622727dcin merge commitb47bcc061e03f6068779b675a32051e0555cfac3, whose parents areeef03b723be7c9aa194a04f229fa788abb64d3c0andcfc51c4c68cc84dec8c8d5576d79bc90622727dc. We did not rebase or force-push. We made no conflict adaptations in the earlier resync.d1ec5eee0732c240d521b92908fbb67eafd02dd8on base4492602a4969e3f1189c45908b9b94dc76f5a764. This resync merged the currentmainsquash commit from PR ci(runners): replace Blacksmith routing (CHE-1922) [squash] #226 directly. The merge kept current versions and did not restore older copied files..github/tests/test_runner_routing.pyand.github/workflows/ci.yml. We kept currentmainversions in both files. This removes only the obsolete apt-install-count assertion and equivalent multi-line Chrome-export spelling..github/workflows/whats-new.ymlmerged without conflict. Git mergedtests/unit/test_workflow_runner_policy.pyautomatically. The final routing regression still checks owner/fork routing, frontend-only browser routing, the Chrome path and sandbox protections. No application behavior or design changed.Evidence
Preview-path correction — head
eef03b723be7c9aa194a04f229fa788abb64d3c0aa5799a2a2580f8d3d05cbe8cd0213b60e4af86c: both frontend jobs failednpm run test:preview-pathat line 124. Actual:step-row. Expected:verdict-card. The obsolete assertion required the verdict inside the timeline.120331947862reportsTOTAL: 2480 SUCCESS, production and Docker-input build success, and preview-path PASS for both/and/preview/pr/70/. Each path reportsroot API escapes=0; requests=40. Sol read the exact-head metadata and log. This is hosted evidence, not a local rerun by Sol.Browser command timed out: Page.navigate. Those attempts are not behavioral RED/GREEN evidence. The hosted green used Chrome 156.--root-api-negative-controlinvocation remains NOT-RUN, not waived. A successful normal path does not prove that the injected escape still produces the intended failure.01a167e5-115c-718b-89cd-24aca26ddb59covers its named delta ataa5799a2a2580f8d3d05cbe8cd0213b60e4af86c, not the preview-path correction or current merge head. The exact-head review was pending at this earlier snapshot. The current head needs a fresh delta/OCR review.Current main resync — head
b47bcc061e03f6068779b675a32051e0555cfac3.github/tests/test_runner_routing.py(add/add) and.github/workflows/ci.yml(content). We kept currentmainversions in both files. Git merged the workflow-policy test automatically..github/workflows/whats-new.ymlhad no conflict. OpenCV library provisioning, Chrome export and sandboxed X99 routing remain present. The merge changed no behavior, so no behavioral red/green applies.python3 .github/tests/test_runner_routing.py -v— 3 tests, OK.UV_CACHE_DIR=/tmp/che-1649-pr225-followup-evidence/uv-cache uv run pytest -q tests/unit/test_workflow_runner_policy.py— 9 passed, 7 warnings.UV_CACHE_DIR=/tmp/che-1649-pr225-followup-evidence/uv-cache uv run ruff format --check .— 922 files already formatted.UV_CACHE_DIR=/tmp/che-1649-pr225-followup-evidence/uv-cache uv run ruff check .— all checks passed.apps/showcase_ui/,npm test -- --watch=false --browsers=ChromeHeadlessNarrow,ChromeHeadlessWide— TOTAL: 2480 SUCCESS.npm run test:docker-build-inputs— Docker frontend copied-input build passed.npm run build -- --output-path=/tmp/che-1649-pr225-followup-evidence/eef03b72-prod-build— production bundle built successfully.npm run test:smartqa-help— 1 passed.node scripts/check-whats-new-entry.mjs cfc51c4c68cc84dec8c8d5576d79bc90622727dc b47bcc061e03f6068779b675a32051e0555cfac3— passed. The frontend suite's pretest What's New tests reported 17 passed.npm run test:preview-pathtimed out atPage.navigatebefore assertions (exit 1). This is not behavioral RED evidence. At 18:03 ICT, one frontend check passed and six checks remained PENDING. PENDING is not PASS.0.155.1and taskworkspace-write. We attach exact command logs and readbacks to the CHE-1649 reconciliation comment.Historical evidence — scoped to the revisions named below
Python format correction — head
aa5799a2a2580f8d3d05cbe8cd0213b60e4af86cruff format --checkcommand failed onapps/admin_console/services/qa_results.py,tests/unit/admin_console/test_preview_routes.py, andtests/unit/admin_console/test_qa_results.py(exit 1).ruff formatchanged only these files. The same check passed afterward (exit 0).uv run ruff format --check .passed:922 files already formatted(exit 0).uv run pytest -q tests/unit/admin_console/test_preview_routes.py tests/unit/admin_console/test_qa_results.py— 68 passed, 8 warnings.uv run pytest -q tests/unit/admin_console/test_chat_api.py tests/unit/admin_console/test_failure_ledger_api.py tests/unit/agents/test_flash_runner.py tests/unit/graph/test_checkpoints.py tests/unit/admin_console/test_drain.py— 213 passed, 8 warnings.CHROME_BIN=/usr/bin/google-chrome npm test -- --watch=false --browsers=ChromeHeadlessNarrow,ChromeHeadlessWide— 2,480 SUCCESS.npm run buildpassed.npm run test:docker-build-inputspassed and reportedDocker frontend copied-input build passed.npm run test:smartqa-helppassed: 1 test, 0 failures.v22.23.1. The workflow sets Node22.22.3.Docker-stage input correction — head
aa5799a2a2580f8d3d05cbe8cd0213b60e4af86c6549c2924b3444d6d0c25e8d459f470975301362. Fromapps/showcase_ui/,npm run test:docker-build-inputsfailed withENOENTforapps/showcase_ui/docs/smartqa-verdicts.md(exit 1).aa5799a2a2580f8d3d05cbe8cd0213b60e4af86c, the same command from the same package passed. Angular generated the production bundle, and the harness reportedDocker frontend copied-input build passed(exit 0).aa5799a2a2580f8d3d05cbe8cd0213b60e4af86c,npm run test:smartqa-helppassed: 1 test, 0 failures (exit 0).Exact-head local
git diff --checkpasses. At the prior89206d6d9736806d374d5c323f56ae57cbeec32fcorrection, the first post-commit test invocation used the repository root. It failed because the root has nopackage.json. The corrected commands ran fromapps/showcase_ui/and passed. The Docker-input check runs the production Angular build using staged Docker inputs.On prior head
89206d6d9736806d374d5c323f56ae57cbeec32f, the coordinator's exact-head snapshot at 14:07 ICT on October 23, 2026 showed 1 PASS (What's New entry) and 6 PENDING. The earlier PENDING result was not PASS. The dev team's subsequent readback at 14:32 ICT found 3 PASS and 4 FAIL. What's New entry and both package checks passed. Both Python 3.12 checks and both Frontend tests and production build checks failed. The later readback supersedes the earlier pending status.The PR-description linter retains three synonym-rotation advisories. All are false positives.
fixesdescribes B4 route remediation, whilecorrectionnames separate passes.eraserefers to sibling result data, whileremoverefers to UI elements.terminaterefers to live polling, whilestoprefers to the PR gate.Historical workflow correction and CI snapshot — head
6549c2924b3444d6d0c25e8d459f470975301362We observed behavioral regressions red before the workflow correction and green with the same commands afterward.
Exact-head local checks passed:
tests/unit/test_startup_budget.py(3 passed, 7 warnings), targeted Ruff lint and format checks,scripts/check_dependency_sources.py, andgit diff --check. We read back the red/green raw outputs from their task-owned logs.I ran the single foreground
gh pr checks 225 -R cheese-work/artemis --watchcall on head6549c2924b3444d6d0c25e8d459f470975301362. The call completed. This table records the push and pull-request runs separately:ruff format --check .found three files to reformat:apps/admin_console/services/qa_results.py,tests/unit/admin_console/test_preview_routes.py, andtests/unit/admin_console/test_qa_results.py. The deterministic test step did not run. This correction does not classify these failures as unrelated or change those files.Build frontend from Docker stage inputsfailed becauseapps/showcase_ui/docs/smartqa-verdicts.mdwas missing. The correction described in this historical snapshot did not change application files.On prior head
489ee7d1b609e1607b44517b398ecfcb04716e5e, GitHub cancelled seven jobs after 24 hours waiting for runners. The jobs ran no steps. This was scheduling failure, not a test verdict. This new head executed checks. The hosted failures above remain open and unwaived.The failures above are the historical
6549c2924b3444d6d0c25e8d459f470975301362snapshot. They remain recorded and unwaived. They are not current-head results. Published PR #226's seven PASS checks establish source availability only, not independent acceptance of #226 or this candidate.Historical UI review and correction record — prior heads, retained
B4/N6 correction and N7 capture refresh — head
489ee7d1b609e1607b44517b398ecfcb04716e5eStatus
PR #225 is OPEN/draft on
mainat489ee7d1b609e1607b44517b398ecfcb04716e5e. GitHub readsUNSTABLE. GitHub reports seven hosted checks as QUEUED. None is PASS. CHE-1649 remainsin_progress, Sol-assigned. Sol reconciles before fresh independent verification and exact-head OCR. No reviewer dispatch occurs in this correction pass. Stop before ready or merge.Conditions
design/smartqa-verdicts/rev-5/C.html@775e7e72ce0d6058f697b814b0095f6940a28ce8. No design edits.Corrections
a89defe043afb20a873aa8e71fc8bbe75e0d160cwere PR regressions. This candidate fixes them while retaining QA authorization and per-session visibility. Preview reads only fixture data. It produces no host/device/provider effects.238px. The 390px and 800px layouts and controls remain.a89defe043afb20a873aa8e71fc8bbe75e0d160c) and after (489ee7d1b609e1607b44517b398ecfcb04716e5e) use the same committed runner, fixture, and viewport settings. Initial captures retain natural scroll. Focused evidence captures are separate.0b57aaa36a6a4565dfd43b2dd1cbc920167ae5badescription placed the B1 budget at the first pending result. The current rule starts the budget only after the relevant turn is terminal.a89defe. This evidence does not classify those three as unrelated.Test Evidence
Behavioral B4 red on
a89defe043afb20a873aa8e71fc8bbe75e0d160cand green on489ee7d1b609e1607b44517b398ecfcb04716e5eused the same command:Red:
3 failed, 77 passed, 8 warnings, 5 errors. Green:87 passed, 8 warnings. The CHE-1649 correction return includes the raw logs as individual attachments. The complete pack remains at the same-X99 fallback path below.Behavioral N6 red/green used the same runner and fixture from
apps/showcase_ui. Only the UI build and output label differ:Red on the
a89defebuild: exit 1. The index measured56.0625pxand the evidence image77.640625px, below the200pxminimum. Green on the489ee7dbuild: exit 0. Both measure238px. Raw logs are in the attached pack.2480 SUCCESS.213 passed, 8 warnings.87 passed, 8 warnings.1test.17tests. The exact-head entry check passed.3 failed, 261 passed, 9 warningson this head.11 failed, 246 passed, 9 warnings, 5 errorsona89defe.1 failed, 210 passed, then passed twice with211 passed, 8 warnings. This historical flake remains separately disclosed.Refreshed UI Review Pack
The issue correction return attaches the compact index, runtime receipt, B4/N6 logs, checksums, and selected 390/1440px initial-detail screenshots. The full
review-pack-b4-n6.tar.gzarchive was not attached after its upload failed. Its SHA-256 isda4eac3bcffb20b1229eb50f24fc9331365765de667d8f6e3c7ca48b6121d167. Same-X99 fallback:/tmp/che-1649-pr225/review-pack-b4-n6.tar.gz.before-runs-initial-*.pngafter-runs-initial-*.pngbefore-run-detail-initial-*.pngafter-run-detail-initial-*.pngbefore-run-detail-selected-evidence-focused-*.pngafter-run-detail-selected-evidence-focused-*.pngAt the initial 390 × 844 view,
scrollTopis 0. “Mong đợi” and “Thực tế” are visible. The focused capture is not substituted for the initial view. Visual pixel diff is NOT-RUN. The authenticated live baseline, actual 200% zoom/F6, manual keyboard and screen-reader checks, manual duplicate-navigation review, and Keep/Change/Remove review remain NOT-RUN. Automated geometry and the accessibility tree are not manual verification. F6 and one polite verdict announcement remain requirements.The runtime readback records X99 Codex
0.155.1. The task ran inworkspace-write. The capture runner, fixture, per-capture measurements, full exact-head check logs, and checksums are in the attached pack.Previous correction record — head
c1c6016309a686e61b40449a9d95a6eecbeb0e3cStatus
PR #225 is OPEN and draft on
main, branchagent/x99-codex-sol/ac21610a5784. GitHub reads headc1c6016309a686e61b40449a9d95a6eecbeb0e3cas MERGEABLE. Seven checks are PENDING, not PASS. CHE-1649 remainsin_progressand Sol-assigned. Stop before ready or merge.Corrections
Test Evidence
Focused frontend behavioral red:
npm run test --ignore-scripts -- --watch=false --include=src/app/components/run-chat/run-chat.component.spec.ts --include=src/app/components/run-library/run-library.component.spec.ts— 20 failed, 298 passed. The same command turned green with 318 passed. The CHE-1649 correction return carries both raw logs.Affected backend behavioral red:
UV_CACHE_DIR=/tmp/che-1649-uv-cache uv run pytest -q tests/unit/admin_console/test_qa_results.py tests/unit/admin_console/test_chat_api.py— 3 failed, 51 passed. The same command turned green with 54 passed, 8 warnings. The CHE-1649 correction return carries both raw logs.On the exact head, the full frontend suite passed 2,480 tests. The Part A baseline passed 213 tests with 8 warnings. Affected backend tests passed 54 tests with 8 warnings. The production build passed. The help-route test passed. What's New tests passed 17 tests, and the exact-head What's New entry check passed. The synthetic screenshot test passed.
The earlier reviewer-reported baseline first had 1 failed and 210 passed, then passed twice with 211 passed and 8 warnings.
The reviewer reported one isolated drain-test failure as a flake.
This historical disclosure does not classify B4 route/preview failures or the three repeated eight-file failures as unrelated.
The current exact-head Part A baseline passed 213 tests with 8 warnings.
Refreshed UI Review Pack
design/smartqa-verdicts/rev-5/C.html@775e7e72ce0d6058f697b814b0095f6940a28ce8.docs/ux/CHE-1649.yml.0b57aaa36a6a4565dfd43b2dd1cbc920167ae5bac1c6016309a686e61b40449a9d95a6eecbeb0e3cred2-runs-390.pnggreen-runs-390.pngred2-runs-800.pnggreen-runs-800.pngred2-runs-1440.pnggreen-runs-1440.pngred2-run-detail-390.pnggreen-run-detail-390.pngred2-run-detail-800.pnggreen-run-detail-800.pngred2-run-detail-1440.pnggreen-run-detail-1440.pngred2-run-detail-selected-evidence-390.pnggreen-run-detail-selected-evidence-390.pngThe automated capture audit passed at 390, 800, and 1440 px. It found no horizontal overflow. The 390 px detail observation records
Agent chưa ghi kết quả nàoclipped under the navigation. This geometry observation is not a manual F6 check. The Keep/Change/Remove manual review is NOT-RUN. Actual 200% browser zoom, manual keyboard and screen-reader checks, manual duplicate-navigation review, and the authenticated live baseline remain unverified. F6 and one polite verdict announcement remain requirements, not waivers. Automated geometry and the accessibility tree do not count as manual verification.The
correction2-lint.jsonartifact was not found in the searched task paths. It was not reconstructed.Historical Record
Use the previous PR description below only as historical evidence for head
0b57aaa36a6a4565dfd43b2dd1cbc920167ae5ba.Status
Published implementation head:
0b57aaa36a6a4565dfd43b2dd1cbc920167ae5baon branchagent/x99-codex-sol/ac21610a5784, based onmain. PR #225 is OPEN and draft. CHE-1649 remainsin_progressand Sol-assigned. Sol must reconcile this candidate and dispatch fresh, independent, different-lab code verification. The exact-head OCR receipt is also pending. Do not mark ready or merge.Conditions
design/smartqa-verdicts/rev-5/C.html @ 775e7e72ce0d6058f697b814b0095f6940a28ce8.docs/ux/CHE-1649.yml.Change
display_labelsthrough the existing backend result response. Preservecatalog_key, machine values, classification and persistence semantics. Do not add a frontend label catalog./sessions/:idflow: verdict rail, evidence inspector, step index and responsive stack. The selected step remains first in real DOM order.sequenceDiagram participant History as RunLibraryComponent participant Client as RunsService participant Route as /api/chats/results participant Results as qa_results History->>Client: poll session IDs Client->>Route: POST compact result request Route->>Results: load result metadata Results-->>Route: values and display labels Route-->>Client: pending/final result state Client-->>History: update cards History->>History: continue until pending resolvesEvidence
main. The approved design merge SHA is775e7e72ce0d6058f697b814b0095f6940a28ce8. PR feat(smartqa): verdict UI and cited evidence (CHE-1649) [squash] #225 usesmainas its base. PR feat(smartqa): verdict UI and cited evidence (CHE-1649) [squash] #225 remains OPEN and draft at the published head above.0.155.1, qualified forworkspace-writeunder CHE-735.git diff --checkpasses.backend-s1-red.logfailed on missingdisplay_labels.frontend-red-final.logshows B1 (expected poll 42, observed 41), B2 (polling stopped at 3) and S6 (expected pending, observed legacy).s2-lineheight-red.log,s9-s10-red-final.logandphone-width-red-exact.logshow further behavioral failures. The historical red command line is NOT-CAPTURED. It is not reconstructed. Assertions without observed behavioral red remain retrospective.npm run test --ignore-scripts -- --watch=false—2468 SUCCESSacross ChromeHeadless 800/1440 px.211 passed, 8 warnings.39 passed, 8 warningsafter the backend added Vietnamese labels.ARTEMIS_BUILD_SHA=0b57aaa36a6a4565dfd43b2dd1cbc920167ae5ba npm run build— PASS.node scripts/check-whats-new-entry.mjs 775e7e72ce0d6058f697b814b0095f6940a28ce8 0b57aaa36a6a4565dfd43b2dd1cbc920167ae5bapasses.npm run test:whats-newpasses 17 tests.npm run test:smartqa-helppasses 1 test.Superseded evidence from the earlier PR body
3c9e580e3aab5441f92c01b1e487eb8d2a69615a. The correction commit above replaces it.congvc-devmerged PR design(smartqa-verdicts): rev-5 — C evidence inspector [squash] #220 at 09:18 ICT on 21 October 2026.775e7e72ce0d6058f697b814b0095f6940a28ce8is onorigin/main.344145317857eda0f0d83bde8c07b77128cff09a,yaml.safe_load, admission structure assertions andgit diff --checkpassed.RunLibraryComponent rows renders the backend result and opens the exact cited turn and stepregression failed becauseRunsService.chat('chat-root')was never called. It printedTOTAL: 2 FAILED, 150 SUCCESSat 12:22 ICT on 21 October 2026. The same RunLibrary spec printedTOTAL: 152 SUCCESSat 12:42 ICT. The historical red command line isNOT-CAPTURED.Expected 471 to be 260andTOTAL: 1 FAILED, 69 SUCCESSat 13:16 ICT. The same test printedTOTAL: 70 SUCCESSat 13:18 ICT../node_modules/.bin/ng test --watch=false --browsers=ChromeHeadlessNarrow,ChromeHeadlessWide --include=src/app/components/run-chat/run-chat.component.spec.ts --include=src/app/components/run-library/run-library.component.spec.ts --include=src/app/components/run-view/run-view.component.spec.ts. It printed656 SUCCESSat head3c9e580e3aab5441f92c01b1e487eb8d2a69615a.ARTEMIS_BUILD_SHA=3c9e580e3aab5441f92c01b1e487eb8d2a69615a npm run build. It passed on that old head. The earlier Part A baseline printed210 passed, 8 warnings. The current211 passed, 8 warningsresult supersedes it.uv sync --dev --locked && uv run pytest -q tests/unit/admin_console/test_chat_api.py tests/unit/admin_console/test_failure_ledger_api.py tests/unit/agents/test_flash_runner.py tests/unit/graph/test_checkpoints.py tests/unit/admin_console/test_drain.py.3c9e580e3aab5441f92c01b1e487eb8d2a69615a. It captured only its committed head after screenshots and only the admission-head baseline before screenshots. The current pack refreshes the same run-history/detail and before/after captures. The old visual diff wasNOT-RUN (CHE-1485 Layer B pending).preview: not available. The UI change preserved the sheet's nameddata-testidhooks.Finding dispositions
catalog_keyand machine values remain unchanged.evidence.turn_id. The recorded red run failed on an earlier label assertion, so no red test reached the identity assertion.UI review pack — head
0b57aaa36a6a4565dfd43b2dd1cbc920167ae5badesign/smartqa-verdicts/rev-5/C.html@775e7e72ce0d6058f697b814b0095f6940a28ce8.docs/ux/CHE-1649.yml.run-history-1440-before.pngrun-history-1440-after.pngrun-history-800-before.pngrun-history-800-after.pngrun-history-390-before.pngrun-history-390-after.pngrun-detail-1440-before.pngrun-detail-1440-after.pngrun-detail-800-before.pngrun-detail-800-after.pngrun-detail-390-before.pngrun-detail-390-after.pngrun-detail-390-focused-before.pngrun-detail-390-focused-after.pngselected-step-evidence,evidence-index,evidence-image,other-evidence-steps.run-history-navigation,run-history-controls,run-history-list,run-card-identity,run-card-actions,run-header-controls,run-header-facts,run-turn-history,run-step-timeline,run-chat-composer— present.run-card-verdict,run-card-result-state,run-card-evidence,run-verdict,selected-step-evidence,run-decisive-evidence-link,run-active-hint,run-blocked-actions,run-detail-content— match the sheet intent.in_progressand Sol-assigned.Closes CHE-1649