fix(rules): glass-halo-bidirectional — DeepSeek migration xref (B-0533 Slice A proof-of-concept)#3544
Merged
AceHack merged 1 commit intoMay 15, 2026
Conversation
… (B-0533 Slice A proof-of-concept) First instance of B-0533 Slice A (per-persona PR batches updating dead xrefs to migrated §33 files). DeepSeek was migrated via PR #3507 (22 files) to memory/persona/deepseek/conversations/; this rule still cited the pre-migration docs/research/ path. Proof-of-concept: smallest viable batch (1 file, 1 path). Establishes the pattern + the inline annotation convention ("archive migrated YYYY-MM-DD via PR #NNNN"). Remaining DeepSeek dead xrefs (deferred to follow-up PRs): - memory/feedback_carved_sentence_fixed_point_stability_soul_executor_bayesian_inference_aaron_2026_04_30.md (lines 580, 1225) - docs/backlog/P3/B-0203-... (lines 36, 430) - docs/backlog/P3/B-0202-... (lines 62, 444) - docs/backlog/P1/B-0463-... (lines 95, 97) Plus full per-persona batches for Amara (~10), Lior, Alexa, Kestrel, Ani — all tracked in B-0533. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates a stale cross-reference in the glass-halo bidirectional rule to point at the post-§33 DeepSeek conversation-archive location, aligning .claude/rules/** with the DeepSeek archive migration (per B-0533 Slice A POC).
Changes:
- Replaces the old
docs/research/...citation with the migratedmemory/persona/deepseek/conversations/...path. - Adds an inline provenance note recording the migration date and PR reference.
3 tasks
AceHack
added a commit
that referenced
this pull request
May 15, 2026
…worktree-contention caught + rescued (#3546) - PR #3541 (1807Z) + PR #3540 (B-0533 row) + PR #3544 (Slice A POC) all merged - Establishes inline-annotation convention: (... ; archive migrated YYYY-MM-DD via PR #NNNN) - Mid-tick scope correction: Lior was 0 (false positive); pivoted to DeepSeek - Peer-Otto worktree-contention caught: cfbc2c5 (B-0534 row) preserved on rescue branch - 6-tick parallel-audit pattern continues Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 tasks
AceHack
added a commit
that referenced
this pull request
May 15, 2026
Completes B-0533 Slice A baseline cleanup. Following the scanner (PR #3548) empirical baseline of 10 dead xrefs, updates all live-nav references to migrated §33 archive files. Mapping: docs/research/<basename> → memory/persona/<persona>/conversations/<basename> Files updated (6 files, 10 line-edits): Riven (1): - docs/backlog/P1/B-0159-refresh-github-worldview-cross-cutting-claudeai-2026-05-01.md:135 (PR #3529 fixed line 17; this completes the second reference at line 135) DeepSeek (9): - docs/backlog/P1/B-0463-wallet-immune-system-vaccine-spread-poucc-spec.md:95, :97 (hkt-clifford-e8 + immune-system files) - docs/backlog/P3/B-0202-...md:62, :444 (claudeai-tinygrad-uop file; ×2 occurrences) - docs/backlog/P3/B-0203-...md:36, :430 (claudeai-tinygrad-uop file; ×2 markdown-link occurrences; relative path also updated to ../../../memory/persona/deepseek/...) - memory/feedback_carved_sentence_*.md:580, :1225 (deepseek-csap-architecture-review-verbatim file; ×2 occurrences) - memory/feedback_dbsp_zsets_*.md:55 (claudeai-tinygrad-uop file; 1 occurrence) Verification: `bun tools/hygiene/audit-section-33-migration-xrefs.ts` returns "Dead xrefs found: 0" after these edits. Composes with: - B-0533 (parent row) - B-0533 Slice A POC (PR #3544 — established the pattern) - B-0533 Slice B.1 (PR #3548 — the scanner that surfaced 10/10) - PR #3529 (narrow Codex P2 fix that missed B-0159:135) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 tasks
AceHack
added a commit
that referenced
this pull request
May 15, 2026
* feat(b-0533): Slice B.3 + B.4 — --enforce flag + gate.yml wiring Completes B-0533 mechanization. Scanner now supports --enforce flag (exit 1 if dead xrefs found, exit 0 otherwise). New gate.yml job lint-section-33-migration-xrefs runs the scanner in --enforce mode on every PR. With baseline = 0 (PR #3552 cleanup landed) the new gate fires only when a future migration leaves dead xrefs in live-nav surfaces — the catch-once-then-lint pattern completing for the §33 migration class. Sibling of lint-archive-header-section33 (B-0036): same shape, different failure-class. Both catch §33-discipline violations at PR time before merge. Changes: - tools/hygiene/audit-section-33-migration-xrefs.ts: - Add --enforce CLI flag - Add exit code 1 when dead xrefs found and --enforce set - Update header comment with new exit-code semantics - .github/workflows/gate.yml: - Add lint-section-33-migration-xrefs job after lint-archive-header-section33 - Same install.sh + bun pattern as sibling job - Header comment cites empirical baseline (10) + full lineage Discipline arc complete: | Tick | Slice | PR | |------|-------|----| | 1749Z | Catch | #3529 | | 1807Z | Row | #3540 | | 1820Z | Slice A POC | #3544 | | 1833Z | Slice B.1 scanner | #3548 | | 1844Z | Slice A baseline | #3552 | | 1848Z | Slice B.3 + B.4 (this) | (new) | Remaining: Slice B.2 (test file with DST fixtures) — optional, scanner logic is simple enough that the end-to-end gate.yml job acts as integration test. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(B-0533): dynamically detect root .md files in audit-section-33 scanner ROOT_MD was hard-coded to 4 files; readdirSync now discovers all repo-root *.md files so CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md, SUPPORT.md are protected by the enforced gate. Resolves Copilot P1 thread on PR #3555. Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
First instance of B-0533 Slice A — per-persona PR batches updating dead xrefs to migrated §33 files.
DeepSeek's archive was migrated via PR #3507 to `memory/persona/deepseek/conversations/`; `.claude/rules/glass-halo-bidirectional.md` still cited the pre-migration `docs/research/` path.
Why single-file proof-of-concept
Smallest viable batch to establish the pattern + the inline annotation convention. The rest of DeepSeek (4 more files, 6 line-edits) defers to follow-up PRs — keeps blast radius minimal + reviewable.
Annotation convention established
`memory/persona//conversations/` + inline note: `(... ; archive migrated YYYY-MM-DD via PR #NNNN)`
This preserves migration provenance at the citation site, not just in git log.
Test plan
Branch name note
Branch was named `fix/b0533-slice-a-lior-dead-xrefs` based on initial plan (Lior, 2 dead xrefs) but turned out Lior had 0 real dead xrefs in live-nav surfaces — my earlier rough scan was less precise. Pivoted to DeepSeek single-file POC mid-tick. Branch name preserved for trace continuity.
🤖 Generated with Claude Code