dev → main: by-name canon matching resolves (#6477), five unused Vue components removed (#6480) #217

Merged
bvandeusen merged 2 commits from dev into main 2026-10-26 17:49:07 -04:00
Owner
  • #6477 "The proposer's reference basis matches a common word in any body, in any project" (cdb71e6). A body counts as using a canon by name only when the name can resolve to it:

    • same project;
    • not a name the file defines itself;
    • no generic verb, with or without a leading underscore;
    • a bare lowercase word only where it is called.

    Go and eight other common languages join the family maps, so their canons stop reading as "unknown, no gate". A re-read now replaces a row's machine-written reference edges (_PROPOSER_VERSION 7). Migration 0125 deletes the stored cross-project reference edges.

  • #6480 "Six Vue components nothing imports" (0b98a3a). HistoryPanel, InlineAssistPanel, NoteCard, WorkspaceNoteEditor and WorkspaceTaskPanel are removed. SearchBar.vue stays as the recorded home of snippet #2961.

Dev CI run 9906 is green on all six jobs. Merged on the operator's request.

🤖 Generated with Claude Code

- **#6477 "The proposer's reference basis matches a common word in any body, in any project"** (cdb71e6). A body counts as using a canon by name only when the name can resolve to it: - same project; - not a name the file defines itself; - no generic verb, with or without a leading underscore; - a bare lowercase word only where it is called. Go and eight other common languages join the family maps, so their canons stop reading as "unknown, no gate". A re-read now replaces a row's machine-written reference edges (`_PROPOSER_VERSION` 7). Migration 0125 deletes the stored cross-project reference edges. - **#6480 "Six Vue components nothing imports"** (0b98a3a). HistoryPanel, InlineAssistPanel, NoteCard, WorkspaceNoteEditor and WorkspaceTaskPanel are removed. SearchBar.vue stays as the recorded home of snippet #2961. Dev CI run 9906 is green on all six jobs. Merged on the operator's request. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
bvandeusen added 2 commits 2026-10-26 17:49:00 -04:00
HistoryPanel, InlineAssistPanel, NoteCard, WorkspaceNoteEditor and
WorkspaceTaskPanel had no importer, lazy import or global registration
anywhere in frontend/src. The features they served were replaced; token
sweeps kept restyling them because they match a glob. The two doc comments
that named HistoryPanel.vue now name VersionHistorySection.vue, the note
history that is live.

SearchBar.vue stays: it is the recorded home of snippet #2961 "SearchBar -
the search input recipe", and the two live search boxes are judged variants
of it. Deleting it would leave the recipe pointing at nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(6477): a body uses a canon by name only when the name can resolve to it
CI & Build / Python lint (push) Successful in 2s
CI & Build / Plugin hooks (push) Successful in 13s
CI & Build / TypeScript typecheck (push) Successful in 43s
CI & Build / integration (push) Successful in 1m36s
CI & Build / Python tests (push) Successful in 2m7s
CI & Build / Build & push image (push) Successful in 42s
cdb71e64c4
The proposer's reference basis, and every uses edge it writes, counted any
word-bounded mention of a canon's symbol. Three holes made that wrong at
scale (snippet #5448, symbol `file`, held 2,161 uses edges):

- Go, Rust, Kotlin, Swift, Dart, C, C#, Ruby and PHP were outside the
  language-family maps, so their canons read as "unknown, no gate" and were
  matched in every Python, TS and CSS body.
- Canons in other projects were matched by name, though one repo never
  calls a function defined in another's.
- A plain word (`file`, `seen`) or a module's own helper (`_run`) matched
  wherever it appeared.

names_canon is now the one by-name test, used by match_canon,
reference_canons and the write-path hint: same project, not a name the file
defines itself (unless the canon is recorded there), no generic verb with or
without a leading underscore, and a bare lowercase word only where it is
called. The write path keeps the payload's own names in play, since a
redefinition of a pulled canon is the copy it exists to flag.

Repair: record_uses only adds, so replace_reference_uses now makes a row's
machine-written reference edges exactly what the current rule finds,
leaving judged and hook edges alone. _PROPOSER_VERSION 7 re-reads every row
on its project's next refresh. Migration 0125 deletes the cross-project
reference edges already stored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bvandeusen merged commit f4eb535285 into main 2026-10-26 17:49:07 -04:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/FabledGrimoire#217