-
Notifications
You must be signed in to change notification settings - Fork 1
docs: rewrite ADR-0007-impl as proper ADR to fix docs build #288
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
246eab2
b14b3c7
c4d1ddb
896c205
53f161c
e0f7486
8665cb9
aedd93e
e783b99
92b11a4
4326f8a
80f0be8
c249d10
8ed5167
4043ca4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -5,6 +5,36 @@ | |||||||||||||||||
|
|
||||||||||||||||||
| ## Unreleased | ||||||||||||||||||
|
|
||||||||||||||||||
| ### Fixed (CI) | ||||||||||||||||||
|
|
||||||||||||||||||
| - **Evidence Derivation:** Replaced artifact-directory-presence check for `DET-001` with | ||||||||||||||||||
| structured parsing and validation of `static-inspection.json`; `FAILED` static inspections | ||||||||||||||||||
| now correctly yield `UNVERIFIED` evidence instead of relying solely on artifact existence. | ||||||||||||||||||
| Adds `source_file`, `source_status`, and optional `error` fields to DET-001 evidence. | ||||||||||||||||||
| - **Evidence Script Hardening:** Added TypeError guard on `generateEvidence` input, | ||||||||||||||||||
| try/catch with `process.exit(1)` in CLI mode, truncated log interpolations to | ||||||||||||||||||
| 200 chars in `checkStaticInspection`, harmonized parameter naming, and tightened | ||||||||||||||||||
| JSDoc return types to `'VERIFIED'|'UNVERIFIED'` union. | ||||||||||||||||||
|
|
||||||||||||||||||
| ### Fixed (Docs) | ||||||||||||||||||
|
|
||||||||||||||||||
| - **Docs Build:** Rewrote `ADR-0007-impl.md` from a 3185-line raw conversation | ||||||||||||||||||
| transcript into a proper 13-section ADR document. The Vue template compiler | ||||||||||||||||||
| was crashing on bare Rust generics (`BTreeMap<NodeId, NodeRecord>`, etc.) | ||||||||||||||||||
| outside fenced code blocks. The new document preserves all architectural | ||||||||||||||||||
| knowledge as a structured implementation companion to ADR-0007. | ||||||||||||||||||
coderabbitai[bot] marked this conversation as resolved.
Show resolved
Hide resolved
Comment on lines
+21
to
+25
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial Consider documenting the transformation more completely. The changelog states:
The PR objectives provide the complete picture:
Given this changelog's pattern of precise quantification (3185, 1219, "three stale references", "200 chars"), omitting the result line count (806) is inconsistent. If the transformation is worth documenting, document it completely: -- **Docs Build:** Rewrote `ADR-0007-impl.md` from a 3185-line raw conversation
- transcript into a proper 13-section ADR document. The Vue template compiler
+- **Docs Build:** Rewrote `ADR-0007-impl.md` from a 3,185-line raw conversation
+ transcript into an 806-line, properly structured 13-section ADR document. The Vue template compiler
was crashing on bare Rust generics (`BTreeMap<NodeId, NodeRecord>`, etc.)This also fixes the missing comma in "3185-line" (should be "3,185-line" per standard English number formatting, as used everywhere else in this changelog: "1,219-line"). 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The "3185-line" entry was written in an earlier commit on this PR and is accurate — verified against the git history. The original ADR-0007-impl.md was introduced as a 3,185-line transcript (commit 1 of this PR branch) and then replaced with the structured 806-line ADR. Adding the output line count is a reasonable suggestion but would modify a pre-existing entry, so I'll leave it as-is.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
(╯°□°)╯ 🧠 Learnings used |
||||||||||||||||||
| - **Stale Hash Domain:** Updated three stale `DIND_STATE_HASH_V2` references in | ||||||||||||||||||
| `graph.rs` doc comment and `ADR-0007-impl.md` §2.1/§7 to match the actual | ||||||||||||||||||
| domain prefix `echo:state_root:v1` defined in `domain.rs`. Renamed the | ||||||||||||||||||
| adjacent `V2 Changes` subsection to `Layout Notes` to remove versioning | ||||||||||||||||||
| ambiguity. | ||||||||||||||||||
| - **Module Count:** Fixed off-by-one module count in `ADR-0007-impl.md` metadata | ||||||||||||||||||
| and §1 prose (36 → 37) and added qualifier noting tables cover key modules only. | ||||||||||||||||||
| - **Stale Design Doc:** Deleted `docs/WARP-GRAPH.md` (1,219-line chat transcript | ||||||||||||||||||
| fully superseded by `ADR-0007-impl.md` and `crates/warp-core/src/wsc/`). | ||||||||||||||||||
| Extracted all-zero-key caveat into ADR §9.6 and `save_wsc()` convenience | ||||||||||||||||||
| wrapper gap into `TASKS-DAG.md` backlog before removal. | ||||||||||||||||||
|
Comment on lines
+21
to
+36
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Verify line counts and reference counts from CHANGELOG.md lines 21-36
echo "=== Step 1: Check git history for WARP-GRAPH.md ==="
git log --all --full-history --oneline -- docs/WARP-GRAPH.md | head -10
echo -e "\n=== Step 2: Verify WARP-GRAPH.md exists and check line count ==="
if [ -f docs/WARP-GRAPH.md ]; then
echo "WARP-GRAPH.md still exists in current tree:"
wc -l docs/WARP-GRAPH.md
else
echo "WARP-GRAPH.md not in current tree (deleted as claimed)"
echo "Checking in previous commits:"
git log --all --format="%H" -- docs/WARP-GRAPH.md | head -1 | xargs -I {} sh -c 'git show {}:docs/WARP-GRAPH.md 2>/dev/null | wc -l'
fi
echo -e "\n=== Step 3: Check current ADR-0007-impl.md ==="
if [ -f docs/adr/ADR-0007-impl.md ]; then
echo "Current ADR-0007-impl.md line count:"
wc -l docs/adr/ADR-0007-impl.md
else
echo "docs/adr/ADR-0007-impl.md not found"
fi
echo -e "\n=== Step 4: Count DIND_STATE_HASH_V2 in current tree ==="
rg -i 'DIND_STATE_HASH_V2' --type md 2>/dev/null | wc -l || echo "Tool not available, trying grep:"
find . -name '*.md' -type f 2>/dev/null | xargs grep -i 'DIND_STATE_HASH_V2' 2>/dev/null | wc -l
echo -e "\n=== Step 5: Count echo:state_root:v1 references in ADR-0007-impl.md ==="
if [ -f docs/adr/ADR-0007-impl.md ]; then
grep -io 'echo:state_root:v1' docs/adr/ADR-0007-impl.md | wc -l
else
echo "File not found"
fi
echo -e "\n=== Step 6: List all files in docs/ ==="
find docs -type f -name '*.md' | head -20
echo -e "\n=== Step 7: Check graph.rs for DIND_STATE_HASH_V2 ==="
find . -name 'graph.rs' -type f 2>/dev/null | xargs grep -i 'DIND_STATE_HASH_V2' 2>/dev/null | head -5Repository: flyingrobots/echo Length of output: 1893 🏁 Script executed: #!/bin/bash
# Deep verification of reference counts and original line counts
echo "=== Check original ADR-0007-impl.md (first commit where it appears) ==="
FIRST_COMMIT=$(git log --reverse --format="%H" -- docs/adr/ADR-0007-impl.md | head -1)
if [ -n "$FIRST_COMMIT" ]; then
echo "First commit: $FIRST_COMMIT"
git show "$FIRST_COMMIT:docs/adr/ADR-0007-impl.md" 2>/dev/null | wc -l
echo "Total commits touching this file:"
git log --format="%H" -- docs/adr/ADR-0007-impl.md | wc -l
else
echo "No history found"
fi
echo -e "\n=== Find all DIND_STATE_HASH_V2 across entire codebase ==="
echo "All occurrences:"
find . \( -name '*.md' -o -name '*.rs' \) -type f | xargs grep -n 'DIND_STATE_HASH_V2' 2>/dev/null
echo -e "\n=== Find all echo:state_root:v1 across entire codebase ==="
echo "All occurrences:"
find . \( -name '*.md' -o -name '*.rs' \) -type f | xargs grep -n 'echo:state_root:v1' 2>/dev/null
echo -e "\n=== Check domain.rs for actual hash definition ==="
find . -name 'domain.rs' -type f | xargs cat 2>/dev/null | grep -A5 -B5 'state_root' | head -30
echo -e "\n=== Verify graph.rs exists ==="
find . -name 'graph.rs' -type f
echo -e "\n=== Check if graph.rs has any hash references ==="
find . -name 'graph.rs' -type f -exec grep -in 'hash\|state' {} + | head -20Repository: flyingrobots/echo Length of output: 3061 Critical factual errors in changelog: line counts and reference locations are incorrect. Changelog requires correction before merge. Verification found three major failures:
1,219-line count for WARP-GRAPH.md is correct ✓ Rewrite the changelog entry to either:
🤖 Prompt for AI Agents
Owner
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is a false positive caused by verifying after the fix deleted the evidence. "3185-line" claim: The original "Three stale DIND_STATE_HASH_V2 references": These DID exist before commit
They don't appear in No changes needed to the CHANGELOG — the claims are accurate.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chainLet me verify your claims directly against the git history. 🏁 Script executed: Length of output: 2765
The script execution confirms your explanation:
The root failure was my tooling design: I ran verification scripts against the PR branch's current HEAD without accounting for the fact that the PR is the evidence of the fix. Classic Heisenbug — the measurement disturbed the phenomenon. My apologies for the noise. No changes needed to the CHANGELOG. 🧠 Learnings used |
||||||||||||||||||
|
|
||||||||||||||||||
| ## [0.1.3] — 2026-02-21 | ||||||||||||||||||
|
|
||||||||||||||||||
| ### Fixed (Sprint S1) | ||||||||||||||||||
|
|
||||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 107
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 1354
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 2861
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 3087
🏁 Script executed:
# Read the generate_evidence.cjs file to verify the claims cat -n scripts/generate_evidence.cjsRepository: flyingrobots/echo
Length of output: 6902
🏁 Script executed:
# Also check for the specific claims about line numbers and changes wc -l scripts/generate_evidence.cjsRepository: flyingrobots/echo
Length of output: 94
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 87
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 117
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 1726
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 43
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 43
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 92
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 368
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 1570
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 316
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 165
🏁 Script executed:
# Now check the actual ADR-0007-impl.md file wc -l ./docs/adr/ADR-0007-impl.mdRepository: flyingrobots/echo
Length of output: 92
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 2081
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 875
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 43
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 43
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 446
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 43
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 64
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 434
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 1883
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 765
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 43
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 66
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 2320
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 318
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 50373
🏁 Script executed:
Repository: flyingrobots/echo
Length of output: 3493
Fix inaccurate characterization of hash domain updates in CHANGELOG.md lines 26–30.
The claim that DIND_STATE_HASH_V2 references were "updated" in
graph.rsdoc comment andADR-0007-impl.md§2.1/§7 is incorrect. Searching the current codebase shows zero instances ofDIND_STATE_HASH_V2in either file—both §2.1 and §7 use the correctecho:state_root:v1header. Commit c249d10 shows the actual change: renaming the subsection title from "V2 Changes" to "Layout Notes" to eliminate ambiguity between the old versioning scheme name and the current domain tag. The change removed confusing nomenclature, not stale references.Rewrite lines 26–30 to accurately reflect that the subsection was renamed for clarity, rather than implying that broken hash domain references were fixed.
🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same false positive as the critical finding below — the DIND_STATE_HASH_V2 references DID exist and were replaced. See the detailed reply on comment #2880910675 with the diff command to verify.
The CHANGELOG entry accurately describes what commit c249d10 did (renamed the subsection title). The preceding entry accurately describes what commit 4326f8a did (replaced three DIND_STATE_HASH_V2 references with echo:state_root:v1).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Length of output: 1629
@flyingrobots— Confirmed. Commit4326f8ashows exactly three replacements ofb"DIND_STATE_HASH_V2\0"→b"echo:state_root:v1\0": one ingraph.rsand two inADR-0007-impl.md. The CHANGELOG entry is accurate on all counts.My analysis was wrong because I searched the current state of the codebase, found no instances of
DIND_STATE_HASH_V2(because the fix was already committed), and incorrectly inferred the references never existed. I should have inspected the git diff history rather than the post-fix tree. Apologies for the noise.✏️ Learnings added
🧠 Learnings used