diff --git a/.gsd/milestones/M006/slices/S03/S03-PLAN.md b/.gsd/milestones/M006/slices/S03/S03-PLAN.md index db395d8..5dcfc2b 100644 --- a/.gsd/milestones/M006/slices/S03/S03-PLAN.md +++ b/.gsd/milestones/M006/slices/S03/S03-PLAN.md @@ -17,7 +17,7 @@ Steps: - Estimate: 30m - Files: docker/Dockerfile.api, docker-compose.yml, backend/config.py, backend/pipeline/stages.py - Verify: ssh ub01 'cd /vmPool/r/repos/xpltdco/chrysopedia/backend && python -c "from pipeline.stages import _capture_pipeline_metadata; import json; m = _capture_pipeline_metadata(); assert \"git_commit_sha\" in m, f\"missing key: {m.keys()}\"; print(json.dumps(m, indent=2))"' -- [ ] **T02: Display commit SHA in frontend version metadata panel** — Add a conditional render of `git_commit_sha` in the version metadata panel on TechniquePage.tsx. The panel already renders model, captured_at, and prompt_hashes — add a new item for the commit hash using monospace font. +- [x] **T02: Added "Commit" row to version metadata panel on TechniquePage — renders abbreviated 7-char git SHA using existing hash-value monospace styling, hidden when SHA is "unknown"** — Add a conditional render of `git_commit_sha` in the version metadata panel on TechniquePage.tsx. The panel already renders model, captured_at, and prompt_hashes — add a new item for the commit hash using monospace font. **Important context for executor:** The canonical codebase is on ub01 at `/vmPool/r/repos/xpltdco/chrysopedia`. SSH with `ssh ub01` to edit files and build. The frontend is at `frontend/` in that repo. diff --git a/.gsd/milestones/M006/slices/S03/tasks/T01-VERIFY.json b/.gsd/milestones/M006/slices/S03/tasks/T01-VERIFY.json new file mode 100644 index 0000000..6f77786 --- /dev/null +++ b/.gsd/milestones/M006/slices/S03/tasks/T01-VERIFY.json @@ -0,0 +1,18 @@ +{ + "schemaVersion": 1, + "taskId": "T01", + "unitId": "M006/S03/T01", + "timestamp": 1774869874431, + "passed": false, + "discoverySource": "task-plan", + "checks": [ + { + "command": "ssh ub01 'cd /vmPool/r/repos/xpltdco/chrysopedia/backend", + "exitCode": 2, + "durationMs": 6, + "verdict": "fail" + } + ], + "retryAttempt": 1, + "maxRetries": 2 +} diff --git a/.gsd/milestones/M006/slices/S03/tasks/T02-SUMMARY.md b/.gsd/milestones/M006/slices/S03/tasks/T02-SUMMARY.md new file mode 100644 index 0000000..38e4e77 --- /dev/null +++ b/.gsd/milestones/M006/slices/S03/tasks/T02-SUMMARY.md @@ -0,0 +1,74 @@ +--- +id: T02 +parent: S03 +milestone: M006 +provides: [] +requires: [] +affects: [] +key_files: ["frontend/src/pages/TechniquePage.tsx"] +key_decisions: ["Filter out 'unknown' SHA from display — no value in showing a placeholder to users"] +patterns_established: [] +drill_down_paths: [] +observability_surfaces: [] +duration: "" +verification_result: "Ran npm run build (tsc + vite) in the frontend directory on ub01 — zero TypeScript errors, clean production build with 46 modules transformed." +completed_at: 2026-03-30T11:25:43.661Z +blocker_discovered: false +--- + +# T02: Added "Commit" row to version metadata panel on TechniquePage — renders abbreviated 7-char git SHA using existing hash-value monospace styling, hidden when SHA is "unknown" + +> Added "Commit" row to version metadata panel on TechniquePage — renders abbreviated 7-char git SHA using existing hash-value monospace styling, hidden when SHA is "unknown" + +## What Happened +--- +id: T02 +parent: S03 +milestone: M006 +key_files: + - frontend/src/pages/TechniquePage.tsx +key_decisions: + - Filter out 'unknown' SHA from display — no value in showing a placeholder to users +duration: "" +verification_result: passed +completed_at: 2026-03-30T11:25:43.662Z +blocker_discovered: false +--- + +# T02: Added "Commit" row to version metadata panel on TechniquePage — renders abbreviated 7-char git SHA using existing hash-value monospace styling, hidden when SHA is "unknown" + +**Added "Commit" row to version metadata panel on TechniquePage — renders abbreviated 7-char git SHA using existing hash-value monospace styling, hidden when SHA is "unknown"** + +## What Happened + +Edited frontend/src/pages/TechniquePage.tsx on ub01, inserting a new conditional block in the version-metadata__grid after the existing prompt_hashes section. The block checks for git_commit_sha key in pipeline_metadata, filters out the "unknown" fallback, and renders a "Commit" label with the first 7 characters of the SHA inside a code tag using the existing version-metadata__hash-value class for consistent monospace styling. Build passes cleanly. + +## Verification + +Ran npm run build (tsc + vite) in the frontend directory on ub01 — zero TypeScript errors, clean production build with 46 modules transformed. + +## Verification Evidence + +| # | Command | Exit Code | Verdict | Duration | +|---|---------|-----------|---------|----------| +| 1 | `ssh ub01 'cd /vmPool/r/repos/xpltdco/chrysopedia/frontend && npm run build 2>&1 | tail -5'` | 0 | ✅ pass | 5000ms | + + +## Deviations + +Added a filter for !== "unknown" — showing a literal "unknown" string in the UI is meaningless, so the SHA only renders when a real commit hash was captured at build time. + +## Known Issues + +None. + +## Files Created/Modified + +- `frontend/src/pages/TechniquePage.tsx` + + +## Deviations +Added a filter for !== "unknown" — showing a literal "unknown" string in the UI is meaningless, so the SHA only renders when a real commit hash was captured at build time. + +## Known Issues +None.