---
estimated_steps: 6
estimated_files: 1
skills_used: []
---

# 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.

**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.

Steps:
1. SSH to ub01, read `frontend/src/pages/TechniquePage.tsx` lines 315-365 to see existing metadata panel structure
2. After the `prompt_hashes` conditional block (around line 358) and before the closing `</div>` of `version-metadata__grid`, add a new conditional block checking `"git_commit_sha" in versionDetail.pipeline_metadata`. Render it as a `version-metadata__item` with key label "Commit" and value in a `<code>` element with monospace font styling (reuse existing `version-metadata__hash-value` class or apply inline). Show first 7 chars: `String(versionDetail.pipeline_metadata.git_commit_sha).slice(0, 7)`
3. Run `cd frontend && npm run build` to verify zero TypeScript errors

## Inputs

- ``frontend/src/pages/TechniquePage.tsx` — existing version metadata panel (lines 315-365)`
- ``backend/pipeline/stages.py` — T01 output confirming `git_commit_sha` key name in pipeline_metadata dict`

## Expected Output

- ``frontend/src/pages/TechniquePage.tsx` — version metadata panel includes conditional render of git_commit_sha as "Commit" row with monospace-styled 7-char hash`

## Verification

ssh ub01 'cd /vmPool/r/repos/xpltdco/chrysopedia/frontend && npm run build 2>&1 | tail -5'
