Edit-time record-sync nudge — the sync class (#2708) #112

Merged
bvandeusen merged 1 commits from dev into main 2026-08-16 20:09:38 -04:00
Owner

The plugin-side alternative to server-side drift flagging (decision #2707): when the file being edited is itself a recorded snippet's location, the write-path hint switches from "reuse this" to "snippet #N records this file — updating the record is part of the edit (update_snippet / verify_snippet)".

  • Server: build_write_path_hint renders exact-path hits as the SYNC class (first, unscored), returns sync_note_ids, and measures them under their own note_usage source write_path_sync — the pull-through number that says whether edit-time sync actually happens.
  • Dedup audit: sync and reuse ids live on separate per-session channels (exclude_sync_ids / exclude_ids; .sync.ids / .ids in the hook), so an early reuse hint can no longer silence the later sync nudge.
  • Plugin 0.1.31: hook sends/records the second channel; reusing-code skill gains the "[records this file] is a duty, not a menu" bullet; README + Settings copy describe the two framings.

CI green on 3162332 (run 3825).

🤖 Generated with Claude Code

The plugin-side alternative to server-side drift flagging (decision #2707): when the file being edited is itself a recorded snippet's location, the write-path hint switches from "reuse this" to "snippet #N records this file — updating the record is part of the edit (`update_snippet` / `verify_snippet`)". - Server: `build_write_path_hint` renders exact-path hits as the SYNC class (first, unscored), returns `sync_note_ids`, and measures them under their own `note_usage` source `write_path_sync` — the pull-through number that says whether edit-time sync actually happens. - Dedup audit: sync and reuse ids live on separate per-session channels (`exclude_sync_ids` / `exclude_ids`; `.sync.ids` / `.ids` in the hook), so an early reuse hint can no longer silence the later sync nudge. - Plugin 0.1.31: hook sends/records the second channel; `reusing-code` skill gains the "[records this file] is a duty, not a menu" bullet; README + Settings copy describe the two framings. CI green on 3162332 (run 3825). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
bvandeusen added 1 commit 2026-08-16 20:09:32 -04:00
feat(prior-art): edit-time record-sync nudge — the sync class (#2708)
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 11s
CI & Build / TypeScript typecheck (push) Successful in 24s
CI & Build / integration (push) Successful in 26s
CI & Build / Python tests (push) Successful in 56s
CI & Build / Build & push image (push) Successful in 43s
3162332a13
A snippet recorded AT the exact file being edited is not a reuse
suggestion — it IS the record of the file being changed. The write-path
hint now renders those as their own SYNC class: 'snippet #N records this
file — updating the record is part of the edit (update_snippet /
verify_snippet)'. Nearby and semantic hits stay the reuse menu.

The two classes dedup on separate per-session channels (exclude_ids vs
exclude_sync_ids, .ids vs .sync.ids in the hook), so a reuse hint shown
early in a session can no longer silence the record-sync nudge when the
recorded file itself is edited later. Sync surfacing is measured under
its own note_usage source (write_path_sync) — its pull-through rate is
the scoreboard for whether edit-time sync actually happens, per decision
#2707 (no forge connection; records stay current in the session that has
the context). Plugin 0.1.31.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bvandeusen merged commit 25411cf223 into main 2026-08-16 20:09:38 -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/FabledScribe#112