Repository navigation
Re-pin Skill/group.md — main is red on the drift guard it just gained - #2288
Conversation
`2fbf6fce7` ("personal data out of the core's shipped content too") edited
content/ai/Skill/group.md, and #2263 landed the drift ledger pinning its
previous hash. Two parallel cleanups of the same leak, so the guard went red
on main the moment both were in.
The guard is CORRECT — this is the drift it exists to catch, and the content
change is the one we want. The ledger was simply stale by one commit.
Verified rather than assumed, and two traps on the way:
- the ledger stores a NORMALIZED hash, not a raw sha256 of the bytes, so
computing one by hand gives a value that will never match. The test's own
reported value is the authority.
- `dotnet test --no-build` reads TestData from bin/, which was 3 minutes
stale. It kept reporting the old hash after the source edit. Rebuilt, then
re-ran: AiContentPackDriftTest 15/15 green.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the content/ai drift-guard ledger to reflect the current normalized hash of content/ai/Skill/group.md, fixing the failing AiContentPackDriftTest on main after the underlying content change.
Changes:
- Re-pins the recorded
corehash forSkill/group.mdin the drift ledger (AiContentPackSync.json) so the guard matches the current file state.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Test Results (shard 0)1 201 tests 1 201 ✅ 16m 29s ⏱️ Results for commit 64454e7. |
Test Results (shard 4)2 106 tests 1 806 ✅ 8m 32s ⏱️ Results for commit 64454e7. |
Test Results (shard 3) 9 files 9 suites 6m 6s ⏱️ Results for commit 64454e7. |
Test Results (shard 1)1 880 tests 1 880 ✅ 7m 39s ⏱️ Results for commit 64454e7. |
Test Results (shard 2)3 305 tests 3 305 ✅ 9m 53s ⏱️ Results for commit 64454e7. |
main is RED
MeshWeaver.AI.Test.AiContentPackDriftTest.EveryFile_StillHashesToItsPinnedReconciliationPointfails onmain(run32897144937, head84af9fad5). A red main blocks CD, so this is a fix-forward.Cause — two parallel cleanups of the same leak
2fbf6fce7("personal data out of the core's shipped content too") editedcontent/ai/Skill/group.md. #2263 landed the drift ledger pinning that file's previous hash. Both are correct in isolation; together the ledger is stale by one commit.The guard is behaving exactly as designed — this is precisely the drift it exists to catch, and the content change is the one we want to keep. Only the pin needed updating.
Two traps on the way, worth recording
sha256sum/ Pythonhashlib) yields74f8e31c…, which will never match, and pinning it would have left main red while looking fixed. The test's own reported value is the authority.dotnet test --no-buildreadsTestData/frombin/. After editing the source JSON the bin copy was 3 minutes stale, so the run kept reporting the old hash — the same class as AGENTS.md's "--no-buildafter editing a doc / non-.csasset" trap. Rebuilt, then re-ran.Verification
AiContentPackDriftTest15/15 green after a rebuild;MeshWeaver.AI.Testbuilds0 Error(s) / 0 Warning(s)under-c Release -warnaserror. One line changed.Note for whoever is editing content/ai
The ledger must be re-pinned in the same commit as a
content/aiedit, or main goes red between the two. That is the guard working, not a false positive — but it means content edits and ledger updates cannot be split across PRs.