Repository navigation
fix(#140): sync REVIEW_SPEC_HIERARCHY with AGENTS.md - #183
Conversation
REVIEW_SPEC_HIERARCHY in .fullsend/harness/review.yaml listed 8 of the 13 specification-hierarchy paths in AGENTS.md. The missing entries (git-integration.md, validation-rules.md, drafting-table-wms.md, drafting-table-ux.md, and agent-harness/) have been incomplete since the env var was introduced, and a later hierarchy addition drifted again without detection. Update the env var to the full AGENTS.md list, add a comment that the two must stay in sync, and add a spec-hierarchy-sync pre-commit hook (wired through scripts/lint.py) that asserts set equality so the next hierarchy change cannot silently drop out of review. Note: pre-commit could not fetch remote hook repositories (HTTP 403). Equivalent hooks were run via python scripts/lint.py --files on the changed files and passed. Closes #140
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Repository: redhat-et/ProtoBot/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
🤖 Review · Commit: |
|
Risk Assessment: moderate (2/5) DetailsScore unchanged from the prior assessment (2/moderate): Tier 1 metadata is identical (5 files, 4 protected config/tooling paths, no security-sensitive or dependency changes, bot author), Tier 2 git history shows low churn/fix-revert/coupling for the touched files, and Tier 3 shows the PR tightly matches its linked issue with full acceptance-criteria coverage; the single intervening follow-up commit (cosmetic parentheses removal) introduces no new protected paths or dependencies and does not move the composite off 2. Previous runRisk Assessment: moderate (2/5) DetailsBot-authored PR touching several protected config paths but with no security-sensitive files, no CI/dependency changes, reasonable test coverage, a stable/low-conflict git history for the touched files, and a PR that closely matches the scope and acceptance criteria of its linked, unlabeled issue, yielding a moderate composite risk. |
ReviewFindingsMedium
No other findings. The single follow-up commit since the prior review correctly addressed its low-severity code-style finding (the redundant parentheses around the Previous runReviewFindingsMedium
Low
Next steps:
|
|
🤖 Finished Review · ✅ Success · Started 7:27 PM UTC · Completed 7:40 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $3.29 |
Remove redundant parentheses around the default_files raw string literal for spec-hierarchy-sync in scripts/lint.py to match sibling hook entries in _REGISTRY. Note on [protected-path] finding: changes to .fullsend/harness/review.yaml and related files are intentional and central to issue #140, awaiting human approval as required by project governance. Note: pre-commit could not fetch remote hook repositories (HTTP 403). Equivalent hooks were run via python scripts/lint.py --files scripts/lint.py and passed. Addresses #183
🔧 Fix agent — iteration 1 (bot-triggered)Addressed both review findings: removed redundant parentheses around default_files for spec-hierarchy-sync in scripts/lint.py to match sibling hook definitions; retained intentional protected-path changes in .fullsend/harness/review.yaml awaiting human approval as required by project governance. Fixed (1):
Disagreed (1):
Tests: passed Decision points
Next steps:
|
|
🤖 Finished Fix · ✅ Success · Started 7:40 PM UTC · Completed 7:50 PM UTC Commit: Runtime: pi · Model: google-vertex/gemini-3.8-flash → gemini-3.8-flash · Effort: high · Cost: $0.34 |
Superseded by updated review
|
🤖 Finished Review · ✅ Success · Started 7:50 PM UTC · Completed 7:59 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $1.49 |
|
PR #183 closed issue #140 (REVIEW_SPEC_HIERARCHY drift) cleanly and the review/fix loop performed well. Timeline: a prior retro (on PR #124) filed #140; a One real inefficiency showed up upstream of PR #183, not in it: the first This is not a new finding: it's strong corroborating evidence for three already-open upstream issues in fullsend-ai/fullsend — #2379 ('Auto-retry code agent when terminated by transient LLM API errors (429)'), #6963 ('Surface code agent reasoning when a run produces no file changes'), and #7556 ('Release cadence stalled 13+ days after v0.43.0, letting already-merged 429-retry and false-success fixes recur in production' — this repo is pinned to v0.43.0 per No other gaps found. Searched for prior issues on protected-path friction (#180, open, but not implicated here — this finding was Medium severity and the human-approval gate worked as intended), cosmetic-finding fix-cycle cost (#149, open, about effort tiering — not clearly implicated since the wasted cost here was provider-side, not model-tier-related), and found none for the two near-simultaneous |
|
🤖 Finished Retro · ✅ Success · Started 8:22 PM UTC · Completed 8:29 PM UTC Commit: Runtime: claude · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $1.19 |
Summary
REVIEW_SPEC_HIERARCHYin.fullsend/harness/review.yamllisted 8 of the 13 paths in AGENTS.md's Specification document hierarchy. The gap dates from the env var's introduction in PR #124 and grew when PR #151 addeddocs/architecture/drafting-table-wms.mdwithout updating the review harness.This change:
REVIEW_SPEC_HIERARCHYto the full 13-path AGENTS.md list (git-integration.md,validation-rules.md,drafting-table-wms.md,drafting-table-ux.md, andagent-harness/were missing).spec-hierarchy-synclocal pre-commit hook (scripts/check_spec_hierarchy.py) and wires it throughscripts/lint.pyso a future hierarchy addition that is not also added toreview.yamlfails in the same change..fullsend/is inREVIEW_PROTECTED_PATHS; closer-than-usual review of this file is expected.Testing
python3 scripts/check_spec_hierarchy.pyagainst the real files (pass).bash tests/lint/test_violations.sh(23 passed), including match, order-independence, missing/extra paths, missing heading/key, and lint.py hook wiring.python3 scripts/lint.py --fileson the changed files (all applicable hooks passed, including the new hook).python3 scripts/lint.py --check-parity(pass).pre-commit runcould not fetch remote hook repositories (HTTP 403); equivalent hooks were run viascripts/lint.py.Closes #140
Post-script verification
agent/140-spec-hierarchy-sync)bd40e6ae69886064be2950e78d35b21846cdab74..HEAD)