Parent
Refs #3803
Agent Brief
Type: Feature
Summary: The instruction-placement delta skill persists its diff spine in the artifact-protocol baselines slot, and records declined findings on the marketplace finding-suppression surface, replacing its ephemeral state-key mechanism.
Amended 2026-09-06. The original brief asked for a single move: put the baseline in the artifact-protocol baselines slot "the same way the overengineering delta skill uses", and expect a declined finding to survive into another worktree from there. Verification of the first attempt (#3833) established that the sibling plugin does not work that way, and that the destination cannot satisfy the durability requirement. Overengineering keeps its baseline branch-keyed in the memory tier for the diff spine, and records declined findings against the marketplace contract in docs/conventions/finding-suppression/README.md, saying so directly in plugins/overengineering/reference/consumer-config.md: "The entry format is the marketplace's finding-suppression contract, not this plugin's." The baselines slot lives in the memory tier, and docs/conventions/topic-docs/README.md states that a memory document is visible "only in the checkout that wrote it", marks a sibling worktree invisible, and forbids carrying this file class across with .worktreeinclude ("never baselines or raw scratch"). Routing declines into the baselines slot would therefore fail the durability criterion under every default configuration, and would mint a third mechanism for suppression, which is the breach this issue exists to remove. The criteria below split the two concerns accordingly.
Current behavior:
The instruction-placement delta skill stores its previous-run baseline under an ephemeral state key. The sibling overengineering delta skill splits the same state across two homes: a branch-keyed baseline in the artifact-protocol baselines slot for the diff spine, and declined findings on the tracked finding-suppression surface. Two ways of persisting the same kind of state, which is the silent second way the reuse-or-replace discipline forbids. A practical consequence: declined findings do not survive a move to a different worktree, so a re-run resurrects findings the operator already dismissed.
Desired behavior:
The delta skill becomes an artifact-protocol participant for its diff spine, and a finding-suppression consumer for operator judgment. The diff spine is written to and read from the baselines slot the protocol defines, branch-keyed, the same slot and the same way the overengineering delta skill uses it. Declined findings are recorded on the tracked .claude/<surface-name>.md surface the finding-suppression contract defines, so git carries them between checkouts. A finding declined on one branch and committed is still declined when the skill runs from another worktree whose branch carries that commit. The ephemeral state key is removed, not left in place as a fallback.
Key interfaces:
- The delta skill's diff-spine read and write — moves from the state-key mechanism to the artifact-protocol baselines slot, branch-keyed.
- The delta skill's declined-finding read — moves from the state-key mechanism to the finding-suppression surface.
- The realign skill's decline write — currently writes
declined only into the branch-scoped findings artifact; must also record the decline on the finding-suppression surface, since realign is where an operator's decline originates.
- The plugin's own surface name under the finding-suppression contract — new, following the naming the contract prescribes.
- The skill's own artifact-protocol reference document — new, describing which slots the skill uses and what it stores in them, in the shape the other protocol participants use.
Acceptance criteria:
Out of scope:
- Changing what the delta skill detects, its noise budget, or its report shape.
- Changing the overengineering delta skill.
- Changing the artifact protocol itself, or the finding-suppression contract itself.
Blocked by
None
Parent
Refs #3803
Agent Brief
Type: Feature
Summary: The instruction-placement delta skill persists its diff spine in the artifact-protocol baselines slot, and records declined findings on the marketplace finding-suppression surface, replacing its ephemeral state-key mechanism.
Current behavior:
The instruction-placement delta skill stores its previous-run baseline under an ephemeral state key. The sibling overengineering delta skill splits the same state across two homes: a branch-keyed baseline in the artifact-protocol baselines slot for the diff spine, and declined findings on the tracked finding-suppression surface. Two ways of persisting the same kind of state, which is the silent second way the reuse-or-replace discipline forbids. A practical consequence: declined findings do not survive a move to a different worktree, so a re-run resurrects findings the operator already dismissed.
Desired behavior:
The delta skill becomes an artifact-protocol participant for its diff spine, and a finding-suppression consumer for operator judgment. The diff spine is written to and read from the baselines slot the protocol defines, branch-keyed, the same slot and the same way the overengineering delta skill uses it. Declined findings are recorded on the tracked
.claude/<surface-name>.mdsurface the finding-suppression contract defines, so git carries them between checkouts. A finding declined on one branch and committed is still declined when the skill runs from another worktree whose branch carries that commit. The ephemeral state key is removed, not left in place as a fallback.Key interfaces:
declinedonly into the branch-scoped findings artifact; must also record the decline on the finding-suppression surface, since realign is where an operator's decline originates.Acceptance criteria:
.claude/<surface-name>.mdsurface conforming todocs/conventions/finding-suppression/README.md, with the plugin's surface name registered the way the contract requires./skill-quality:checkpasses for every instruction-placement skill the change touches.markdownlintpasses on the changed files.Out of scope:
Blocked by
None