Skip to content

Codify priority of correctness over convenience in agent guidance #490

Description

@williamthorsen

Problem

Shared agent guidance does not codify a design-priority rule for ranking design options. Without one, agents (and reviewers checking their work) tend to lean on convenience considerations — diff size, files touched, blast radius, consistency with existing code — and underweight the correctness considerations that decide whether the design is right (behavioral correctness, API quality, architectural soundness, testability, maintainability). This biases the codebase toward decisions that are easy to make but hard to live with.

Context

The principle has emerged repeatedly in conversation and is captured in personal user memory ("Correctness over convenience"), but it does not propagate to the shared @codeassembly/agents skills installed for any consumer of the package. The principle reinforces — but does not replace — the existing "push back on questionable legacy" guidance.

The codebase already follows a clean SSOT-with-pointers pattern in packages/agents/content/skills/_data/ (e.g., recommendation-gradient.md, naming-conventions.md): each principle owns its own file, and consuming skills hold thin pointers. This ticket follows the same pattern.

Solution

Add one new SSOT file and four thin cross-references:

  1. New filepackages/agents/content/skills/_data/design-priorities.md. Sections: rule of thumb (one-liner, "prioritize the right decision over the most convenient one"), two-bucket framing with named criteria in each bucket (correctness: behavioral correctness, API quality, architectural soundness, testability, maintainability; convenience: level of effort, blast radius, consistency with existing code, scope minimization), a summary paragraph that does the application work, a why section, a before/after example showing a convenience-led ranking re-weighted to a correctness-led ranking, and a reconciliation note pointing to "push back on questionable legacy."
  2. Pointer in recommendation-gradient.md — short "Ranking criteria" section with the rule inline and a link to design-priorities.md.
  3. Pointer in software-engineering/SKILL.md — brief "Design evaluation" subsection linking to design-priorities.md.
  4. Pointer in design-and-plan/SKILL.md — single sentence in Phase 3 (Converge on a design), co-located with the existing recommendation-gradient reference.
  5. Pointer in plan/SKILL.md — single sentence in the Guidance section.

Out of scope: ~/.agents/AGENTS.md (already in personal memory), superpowers:brainstorming (external plugin), and codifying "push back on questionable legacy" as a sibling file (separate decision).

Acceptance criteria

  • _data/design-priorities.md exists with: rule of thumb, two named buckets (correctness, convenience) with criteria, application paragraph, why, before/after example, and reconciliation note
  • Before/after example concretely shows a convenience-led ranking re-weighted to a correctness-led ranking
  • recommendation-gradient.md has a "Ranking criteria" section pointing to design-priorities.md
  • software-engineering/SKILL.md has a "Design evaluation" pointer
  • design-and-plan/SKILL.md Phase 3 has a pointer
  • plan/SKILL.md Guidance section has a pointer
  • All cross-references render correctly (relative paths resolve)

Metadata

Metadata

Labels

featureAdded or improved external functionalityscope:agents

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions