Step 2 of milestone 410 "One owner per piece of guidance". Skills are the
part of every client package shared verbatim (Agent Skills, decision #4027),
so they state each reflex in full and name no particular client.
using-scribe gains what only the static session context said:
- a retrieved rule outranks a default habit; ask when no rule speaks to it
- log on completing a task and on hitting a problem, not only successes
- the systems_hint on an untagged record is the tagging question, answered
at the moment of work
Client-specific text leaves the skills, rewritten as the universal idea:
- using-scribe: "keep one copy" no longer names CLAUDE.md, MEMORY.md, native
auto-memory or autoMemoryEnabled; "this plugin" becomes Scribe
- reusing-code / shape-accounting: Write/Edit and Bash become editor tools
and shell edits; the prior-art "hook" becomes the prior-art hint; a plugin
version number is dropped
tests/test_guidance_ownership.py:
- test_the_skills_name_no_particular_client fails on any Claude Code path,
memory file, slash command, hook event or tool name in a skill, each
marker commented with why it is client-specific; a companion test shows
it can fail
- three registry topics for what using-scribe now owns; the loss guard
stays green
Plugin version minted.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Step 1 of milestone 410 "One owner per piece of guidance". The later steps
delete duplicate copies of agent guidance; this guard stops the last copy of
a topic going with them.
- tests/test_guidance_ownership.py holds the registry: 30 topics from the
ownership map in decision #4027, each with its owner and marker phrases,
and one definition of a delivered surface (_INSTRUCTIONS, tool docstrings,
each skill, the static context, the adapter commands, the live session
context).
- The loss guard: every topic is stated in full, with all its markers
together, on at least one delivered surface. A miss names the nearest
partial match.
- The owner column is recorded but not asserted yet; step 6 adds the
exactly-one-owner guard once the moves are done.
- test_the_loss_guard_can_fail proves split and absent markers are reported
(rule 167).
- The old DISPLACED_TOPICS list in test_instruction_surfaces_agree is folded
in, so there is one list rather than two.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>