Skip to content

feat: persist brainstorm decisions and have plan ingest them #275

Description

@blafourcade

Reported from AKEO enterprise framework feedback (training follow-up).

Problem to solve

The brainstorm → plan handoff has no durable contract, so locked brainstorm decisions are not guaranteed to reach the plan.

Verified in the code:

  • Brainstorm produces no artifact. aidd-refine:01-brainstorm output is explicitly "No code, no plan, no files. Intent only." (plugins/aidd-refine/skills/01-brainstorm/README.md). Nothing is persisted.
  • Plan does not ingest the brainstorm. aidd-dev:01-plan input is requirements (ticket URL or raw text) only — plugins/aidd-dev/skills/01-plan/actions/01-plan.md. It does not read brainstorm output.
  • No "locked decision" concept. Nothing forces the plan to honor brainstorm decisions. When the plan contradicts them and later self-corrects, that is the model improvising, not a framework guarantee.

Field symptom: a plan that reopens decisions already locked during brainstorm; it sometimes catches itself, but not reliably.

Proposed solution

Make the handoff file-based and mandatory:

  1. Brainstorm persists its locked decisions to a markdown artifact (e.g. aidd_docs/tasks/<yyyy_mm>/<date>-<feature>.brainstorm.md), in the same aidd_docs/tasks/ convention the plan already uses.
  2. Plan accepts that artifact as an input and treats its locked decisions as constraints — flagging any conflict before generating, instead of silently diverging.

Persisting the MD alone is necessary but not sufficient: the plan must also be wired to read it, otherwise the contradiction case returns.

Content type

Skill (aidd-refine:01-brainstorm, aidd-dev:01-plan)

Target tool(s)

Claude Code

Additional context

Affected files:

  • plugins/aidd-refine/skills/01-brainstorm/ (no persistence step today)
  • plugins/aidd-dev/skills/01-plan/actions/01-plan.md (inputs = requirements only)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions