Skip to content

Re-pin Skill/group.md — main is red on the drift guard it just gained - #2288

Merged
rbuergi merged 1 commit into
mainfrom
fix/repin-group-skill
Aug 25, 2026
Merged

rbuergi merged 1 commit into
mainfrom
fix/repin-group-skill

Conversation

@rbuergi

@rbuergi rbuergi commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

main is RED

MeshWeaver.AI.Test.AiContentPackDriftTest.EveryFile_StillHashesToItsPinnedReconciliationPoint fails on main (run 32897144937, head 84af9fad5). 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") edited content/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

  1. The ledger stores a NORMALIZED hash, not a raw sha256 of the file bytes. Computing one by hand (sha256sum / Python hashlib) yields 74f8e31c…, which will never match, and pinning it would have left main red while looking fixed. The test's own reported value is the authority.
  2. dotnet test --no-build reads TestData/ from bin/. 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-build after editing a doc / non-.cs asset" trap. Rebuilt, then re-ran.

Verification

AiContentPackDriftTest 15/15 green after a rebuild; MeshWeaver.AI.Test builds 0 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/ai edit, 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.

`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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 core hash for Skill/group.md in 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.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 5)

   10 files  +   10     10 suites  +10   7m 4s ⏱️ + 7m 4s
1 301 tests +1 301  1 300 ✅ +1 300  1 💤 +1  0 ❌ ±0 
1 302 runs  +1 302  1 301 ✅ +1 301  1 💤 +1  0 ❌ ±0 

Results for commit 64454e7. ± Comparison against base commit 22f895e.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 0)

1 201 tests   1 201 ✅  16m 29s ⏱️
    9 suites      0 💤
    9 files        0 ❌

Results for commit 64454e7.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 4)

2 106 tests   1 806 ✅  8m 32s ⏱️
    9 suites    300 💤
    9 files        0 ❌

Results for commit 64454e7.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 3)

    9 files      9 suites   6m 6s ⏱️
1 823 tests 1 819 ✅ 4 💤 0 ❌
2 353 runs  2 349 ✅ 4 💤 0 ❌

Results for commit 64454e7.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 1)

1 880 tests   1 880 ✅  7m 39s ⏱️
   10 suites      0 💤
   10 files        0 ❌

Results for commit 64454e7.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 2)

3 305 tests   3 305 ✅  9m 53s ⏱️
    8 suites      0 💤
    8 files        0 ❌

Results for commit 64454e7.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results

    55 files  +    55      55 suites  +55   55m 46s ⏱️ + 55m 46s
11 616 tests +11 616  11 311 ✅ +11 311  305 💤 +305  0 ❌ ±0 
12 147 runs  +12 147  11 842 ✅ +11 842  305 💤 +305  0 ❌ ±0 

Results for commit 64454e7. ± Comparison against base commit 22f895e.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants