Repository navigation
feat(design-buddy): SOLID/DRY/YAGNI design-quality norms (DN-7/8/9) - #19
Merged
Merged
Conversation
Introduce three design-quality Norms into the portable governance seed so the proposer proposes with them in mind, the adversary grills against them, and the plan-review gate flags violations: - DN-2 relabeled "Reuse over rebuild (DRY)" - DN-7 Right-sized design (YAGNI) - DN-8 Sound structure (SOLID) - DN-9 staff-engineer check: these heuristics are subordinate to scalability, maintainability, and performance; a recorded trade-off is compliance, not a waiver, and a dogmatic objection is itself dismissable. Wired through adversary + proposer agents, the plan-review criteria, and the impl-plan step rules. Bumped 2.0.0 -> 2.1.0 across all three tool manifests; principles.md kept byte-identical across the three skills; README governance updated to DN-1..9. Plugin + marketplace validators (incl. --self-test) pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YBBgRjacyqBoku22xhb4wM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Upgrades the
design-buddyplugin's portable governance seed with explicit SOLID / DRY / YAGNI design-quality principles, so the debate and plan gates grill a design's shape — not just its groundedness. These are Norms (DN-*, addressed-or-waived at a gate), never Floor rules — matching their conditional nature.DN-2relabeled "Reuse over rebuild (DRY)" — surfaces the existing reuse norm as the DRY expression it already was.DN-7Right-sized design (YAGNI) — least mechanism that satisfies the requirement; no speculative abstraction/option/extension the change didn't ask for.DN-8Sound structure (SOLID) — one clear responsibility per new/changed unit, stable seams, applied only to the seams the change touches (bounded by DN-7).DN-9the staff-engineer check — DN-2/7/8 are subordinate to scalability, maintainability, and performance; when a heuristic conflicts with a higher quality the quality wins and the trade-off is recorded (compliance, not a waiver); the litmus is what would a staff engineer optimizing this system's long-term health do?, so a dogmatic objection (premature abstraction as SOLID, a DRY merge coupling unrelated call-sites, YAGNI starving a stated scalability need) is itself dismissable.Threaded through the full flow: the adversary grills against DN-2/7/8/9 (without dogma), the proposer right-sizes proactively, the plan-review criteria flag YAGNI/SOLID/DRY as
WARNING(never a BLOCKER — DN-9), and the impl-plan step rules bar smuggling "while we're here" generality into a step the design didn't decide.principles.mdis kept byte-identical across all three skills (validator-enforced). Version bumped 2.0.0 → 2.1.0 across the Claude Code, Cursor, and Codex manifests. README §Governance updated toDN-1..9. All norm text stays tool-neutral (origin-leak guard clean).Test plan
python3 plugins/design-buddy/scripts/validate.py --self-test— passespython3 plugins/design-buddy/scripts/validate.py— passes (byte-identity of the threeprinciples.md, origin-leak guard, manifest fields, semver)python3 scripts/validate_manifests.py --self-test— passes (7 scenarios)python3 scripts/validate_manifests.py— passes (2 plugins registered per tool, membership parity)🤖 Generated with Claude Code
https://claude.ai/code/session_01YBBgRjacyqBoku22xhb4wM
Generated by Claude Code