Skip to content

fix(rules): glass-halo-bidirectional — DeepSeek migration xref (B-0533 Slice A proof-of-concept)#3544

Merged
AceHack merged 1 commit into
mainfrom
fix/b0533-slice-a-lior-dead-xrefs-otto-cli-2026-05-15
May 15, 2026
Merged

fix(rules): glass-halo-bidirectional — DeepSeek migration xref (B-0533 Slice A proof-of-concept)#3544
AceHack merged 1 commit into
mainfrom
fix/b0533-slice-a-lior-dead-xrefs-otto-cli-2026-05-15

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 15, 2026

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

  • Diff is 1 file, 1 logical change
  • Path verified: file exists at new location on origin/main
  • CI green
  • Auto-merge arms

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

… (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>
Copilot AI review requested due to automatic review settings May 15, 2026 18:20
@AceHack AceHack enabled auto-merge (squash) May 15, 2026 18:20
@AceHack AceHack merged commit 892dbb4 into main May 15, 2026
23 checks passed
@AceHack AceHack deleted the fix/b0533-slice-a-lior-dead-xrefs-otto-cli-2026-05-15 branch May 15, 2026 18:21
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 migrated memory/persona/deepseek/conversations/... path.
  • Adds an inline provenance note recording the migration date and PR reference.

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