Skip to content

A plan can silently override the guidance bound into the implementing agent #1270

Description

@williamthorsen

Problem

implement-plan states one precedence rule: "The ticket's acceptance criteria are the contract; the plan is the mechanism by which they are met" (content/skills/implement-plan/SKILL.md:27). Bound guidance is a third authority with no rank in that ordering, so a plan contradicting it wins by default.

Observed on a run against williamthorsen/workshop#245: the plan's Risks section named williamthorsen-code-layout-preferences, overrode its __tests__-beside-the-code rule, and the implementing agent followed the plan. The deviation was wrong on its own terms, justifying itself by "this package's dominant layout" for two directories that were new and had none.

#1172 decided against declaring implementation-preferences in the planning agents, reasoning that the only plan-level surface the two rulebooks touch is the **Files:** block, which a coder holding the same guidance re-decides. The run shows the other direction: a plan can authorize a deviation that the coder then honors.

Proposed solution

Two parts, one change:

  • Plan-producing bodies resolve implementation-preferences, so a plan is authored against the guidance its implementer holds.
  • implement-plan's precedence statement ranks bound guidance, so a plan contradicting it is a divergence to raise rather than an instruction to follow.

Which planning bodies declare the hook, and whether the plan reviewers do, is settled in planning against #1172's rationale for excluding them.

Acceptance criteria

Must have

  • Plan-producing bodies declare the implementation-preferences guidance hook.
  • implement-plan states where bound guidance ranks against the plan and against the ticket's acceptance criteria.
  • A plan contradicting bound guidance is raised to the user rather than followed silently.
  • A test fails when a plan-producing body stops declaring the hook.
  • validate stays clean and the content-convention suites stay green.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureAdded or improved external functionalityscope:agents

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions