cad-planner: inject a standing 'separation of concerns' principle into plan stage #32

Closed
opened 2026-07-21 21:57:03 +00:00 by crenshawdev · 1 comment
crenshawdev commented 2026-07-21 21:57:03 +00:00 (Migrated from github.com)

Summary

The planner (cad-planner, "plan stage two") should carry a standing design principle: prefer surgical separation of concerns. Tiny single-purpose increments that are easy to debug, easy to fix, and easy to compose. When two responsibilities differ on the axes that matter (trigger, size, lifecycle, failure/resume, freshness), plan them as separate tasks sharing a common core rather than one task with a mode flag.

Why

This is a recurring, cross-project planning bias, not a per-phase decision. Today the only way to get it in front of cad-planner is to restate it in every .planning/phases/<N>/CONTEXT.md, because cad-planner reads only the phase goal and CONTEXT.md and loads no project-level conventions doc. There is no config knob for custom planner guidance either. So the principle either gets repeated by hand each phase or silently dropped.

What to change

Add the principle to cad-planner's standing methodology (agents/cad-planner.md), so every plan gets it automatically with no per-phase repetition. Consider whether it belongs as a general planning heuristic (goal-backward task breakdown already lives there) rather than a hard rule, so it nudges the decomposition without forcing splits that do not earn themselves.

Optional follow-up worth considering separately: a supported "project conventions / principles" injection seam that rides the cad-planner dispatch prompt (like the existing <recalled_memory> block), so a project can add its own standing planner guidance without editing the agent file. That would generalize this beyond one baked-in principle.

Note

Editing the installed plugin under plugins/cache/cadence/cadence/<version>/ is wiped on the next plugin update, which is why this needs to land upstream here rather than as a local cache patch.

## Summary The planner (cad-planner, "plan stage two") should carry a standing design principle: prefer surgical separation of concerns. Tiny single-purpose increments that are easy to debug, easy to fix, and easy to compose. When two responsibilities differ on the axes that matter (trigger, size, lifecycle, failure/resume, freshness), plan them as separate tasks sharing a common core rather than one task with a mode flag. ## Why This is a recurring, cross-project planning bias, not a per-phase decision. Today the only way to get it in front of cad-planner is to restate it in every `.planning/phases/<N>/CONTEXT.md`, because cad-planner reads only the phase goal and CONTEXT.md and loads no project-level conventions doc. There is no config knob for custom planner guidance either. So the principle either gets repeated by hand each phase or silently dropped. ## What to change Add the principle to cad-planner's standing methodology (`agents/cad-planner.md`), so every plan gets it automatically with no per-phase repetition. Consider whether it belongs as a general planning heuristic (goal-backward task breakdown already lives there) rather than a hard rule, so it nudges the decomposition without forcing splits that do not earn themselves. Optional follow-up worth considering separately: a supported "project conventions / principles" injection seam that rides the cad-planner dispatch prompt (like the existing `<recalled_memory>` block), so a project can add its own standing planner guidance without editing the agent file. That would generalize this beyond one baked-in principle. ## Note Editing the installed plugin under `plugins/cache/cadence/cadence/<version>/` is wiped on the next plugin update, which is why this needs to land upstream here rather than as a local cache patch.
crenshawdev commented 2026-07-23 13:36:01 +00:00 (Migrated from github.com)

Delivered in v1.2.0 (SOC-01). cad-planner now carries a standing separation-of-concerns nudge — a heuristic, not a hard rule — that prefers small single-purpose tasks over a shared core and splits responsibilities differing on trigger, size, lifecycle, failure-resume, freshness, or ownership. It applies to every plan with no per-phase restatement and never forces a split that does not earn itself. Shipped in #34, tag v1.2.0.

Delivered in v1.2.0 (SOC-01). `cad-planner` now carries a standing separation-of-concerns nudge — a heuristic, not a hard rule — that prefers small single-purpose tasks over a shared core and splits responsibilities differing on trigger, size, lifecycle, failure-resume, freshness, or ownership. It applies to every plan with no per-phase restatement and never forces a split that does not earn itself. Shipped in #34, tag v1.2.0.
Sign in to join this conversation.
No description provided.