Conversation
Captures the v2 design for ce:ideate that expands the skill beyond repo-grounded ideation to also support elsewhere mode (greenfield product, business model, design/UX/naming, personal decisions). Key v2 additions documented: - Two-decision mode classifier (repo vs elsewhere; software vs not) with active confirmation on ambiguity - New web-researcher agent (Sonnet, phased search budget) reused across modes, with sidecar cache for session-scoped reuse - Two new always-on frames: cross-domain analogy, constraint-flipping - Mode-determined persistence defaults (Proof for elsewhere, docs/ideation/ for repo); terminal-first opt-in save - Orchestrator-side single best-effort retry around proof skill, with explicit fallback menu on persistent failure - Two auto-compact checkpoints (after Phase 2 raw candidates, before Phase 4 survivors) to bound mid-session loss
Adds a research agent that returns structured external grounding (prior art, adjacent solutions, market signals, cross-domain analogies) for use by ideation and planning skills.
Upgrades ce:ideate to classify topic mode (repo-grounded vs elsewhere; software vs non-software) and route to the appropriate grounding and facilitation path. Introduces six mode-symmetric generation frames, an adversarial critique with survivor rubric, a session-scoped web-research cache, and a terminal-first review loop so refinement happens in conversation before any persistence.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a5c63738f6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Narrow elsewhere-non-software routing so Phase 1 learnings + web-research still run - Use fully-qualified compound-engineering:research:web-researcher agent identifier - Preserve per-run scratch directory so V15 cache reuse works across run-ids
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 22b48a9617
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Add caller-aware Proof return rule so §6.1 Brainstorm continues into ce:brainstorm after a successful Proof save instead of bouncing to the Phase 6 menu - Carry Phase 6.5 Proof Failure Ladder forward into elsewhere-non-software runs; wire universal-ideation.md Save-and-end to the fallback so local-save recovery stays reachable
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 78b980474f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Rewrite §5.2 caller-aware return rule to branch on §6.1 (continue into brainstorm), §6.3 (exit cleanly), and default (menu) - Update §6.3 to end cleanly after successful Proof or file save instead of looping back to the Phase 6 menu
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3c9f59dd4f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- universal-ideation.md: add Grounding freshness rule to re-dispatch Phase 1 agents when intake materially refines topic (mirrors SKILL.md Phase 0.4) - universal-ideation.md: expand Brainstorm option to persist ideation per Phase 6.1 contract (save + Explored marker + caller-aware return + Proof failure ladder) before handing off to ce:brainstorm Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… Proof - Reorder wrap-up options: Refine (1) → Open and iterate in Proof (2) → Brainstorm (3) → Save and end (4). Refine is cheapest/reversible; Save and end is terminal. - Restore Open and iterate in Proof as a menu option. This invokes §5.2 HITL review (save to Proof + iterate via comments + sync reviewed edits back to docs/ideation/ in repo mode). The v2 redesign had folded this into Save and end; it was a useful standalone path that users relied on. - Drop End in conversation only to stay within the 4-option AskUserQuestion cap. Refine covers the walk-away path in practice; the free-text escape hatch remains. - Renumber subsections §6.1-§6.4 to match the new menu order; §6.5 Proof Failure Ladder unchanged. Update §5.2 caller-aware return rules accordingly (§6.2 returns to menu; §6.3 continues to brainstorm handoff; §6.4 exits cleanly). - Mirror the reorder and § references in references/universal-ideation.md for the elsewhere-non-software path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 736b3af8ee
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…t menu improvisation
Agents were glossing over the "read references/post-ideation-workflow.md" line and improvising the Phase 6 menu from memory, producing options ("Something else", "Refine the list") that aren't in the spec. Same risk on the elsewhere-non-software routing to universal-ideation.md.
Both load instructions now explicitly state:
- the load is non-optional
- what lives in the reference file that does not live in SKILL.md (specific menu options, frames, rubric)
- the failure mode (improvising from memory degrades subsequent steps)
- defense against speed-motivated skipping ("'quickly' means fewer Phase 2 sub-agents, not skipping references")
No behavior change when the reference is loaded; this change targets the skip-the-load failure mode specifically.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…n non-software mode, de-jargon user-facing copy
Three linked fixes for observed misbehavior when ideating about a landing page from a different system:
1. Decision 2 (software vs non-software) now classifies by subject, not by where the ideas will land. Topics about a software artifact (page, app, feature, flow, product) are elsewhere-software even when the ideas are copy, UX, CRO, pricing, or visual-design work. Non-software is reserved for topics with no software surface at all (naming, narrative, personal, non-digital business). Added disambiguating examples.
2. Learnings-researcher is now skipped by default in elsewhere-non-software. The CWD repo's docs/solutions/ almost always contains engineering patterns that do not transfer to naming/narrative/personal/non-digital-business topics; running it wastes tokens and risks polluting generation. Updated Phase 1 dispatch, Cost Transparency examples (now 8 agents in non-software default), and the universal-ideation.md header.
3. User-facing mode statement no longer leaks internal taxonomy labels. The template now uses plain language ("Treating this as a topic in this codebase", "...as a product/software topic outside this repo", "...as a [naming|narrative|business|personal] topic") with plain-language correction hints ("actually this is outside the repo", "actually this is about a software product"), never "elsewhere-non-software" or "repo-grounded".
Together these make ideation of a sign-up page in an unrelated CWD both classify correctly (elsewhere-software, so software frames run) and narrate clearly to the user.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…nvention to default OS temp
AGENTS.md Scratch Space rule is inverted. The previous rule defaulted scratch to .context/ and treated OS temp as the exception; it caused ce-ideate to pollute whatever CWD happened to be, even when the ideation topic was unrelated to that repo (e.g., ideating about another system's landing page while CWD was image-sprout).
New rule:
- Default: OS temp — covers most scratch, including per-run throwaway (mktemp -d) AND cross-invocation reusable (stable "${TMPDIR:-/tmp}/compound-engineering/<skill>/<run-id>/" prefix). Regardless of whether a repo is present or whether other skills may read the files.
- Exception: .context/ — only when the artifact is genuinely bound to the CWD repo AND meets one of: user-curated (TODO database, optimization log); repo+branch-inseparable (branch-specific resume state); or path-is-core-UX (surfaced back to user as part of skill output).
- "Shared between skills" alone is not sufficient justification — stable OS-temp prefixes handle coordination equally well.
Migrations applied:
- ce-ideate: checkpoints A/B and V15 web-research cache now live in "${TMPDIR:-/tmp}/compound-engineering/ce-ideate/<run-id>/". Added explicit Phase 1 pre-resolution step so the agent captures the absolute path once via bash and uses it for all Write/Read calls (unresolved shell strings would break with non-shell tools).
- ce-work-beta codex-delegation: per-run throwaway, switched to mktemp -d. Dropped explicit rm -rf cleanup since OS handles it; leaving files preserves artifacts for debugging.
- ce-plan deepen (artifact-backed mode): per-run throwaway, switched to mktemp -d. Sub-agents receive the absolute path explicitly. Dropped explicit cleanup.
Kept on .context/: ce-optimize (per-spec persistent state across sessions; user-curated), ce-review (path is surfaced as core UX), todo-create/triage/resolve todos/ database (user-manipulated per-repo TODOs).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- ce-ideate SKILL.md: make Phase 2 dispatch count mode-conditional (4 sub-agents in issue-tracker mode, 6 otherwise) to resolve the contradiction between the Phase 2 intro and the issue-tracker override at line 254 - ce-ideate SKILL.md: fix Phase 0.5 Cost Transparency arithmetic — issue-tracker mode trades 6 ideation for 4 AND adds 1 issue-intelligence agent, so the net is -1 (baseline 8), not +1 - ce-ideate SKILL.md: add explicit "Repo mode, issue-tracker intent" example in the cost-transparency list Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3cdef56be1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- ce-work-beta codex-delegation: replace $SCRATCH_DIR shell-variable references in Step A codex-exec, Step B poll, and cleanup blocks with the <scratch-dir> placeholder convention used elsewhere in the workflow. Separate Bash tool calls start fresh shells, so a shell-local var from setup would expand empty and break result detection. Added explicit substitution notes above the affected blocks. - ce-ideate Phase 0.2 Routing Rule: align the elsewhere-non-software grounding narration with the Phase 1 default (user-context synthesis + web-research; learnings skipped for non-software). Previous wording still listed learnings as part of the default dispatch, contradicting the skip rule added in an earlier round. - universal-ideation.md Grounding freshness: fix the stale "user-context synthesis + learnings + web-research" listing to match the new non-software default. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 87988fa3b9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…here mode can end naturally The default flow was biased toward "ideate -> brainstorm -> plan -> implement," which only fits repo mode. In elsewhere modes the user is typically done after ideation (possibly + Proof iteration); there is no ce:plan -> ce:work chain downstream, and forcing continuation produces decision fatigue after the user already got what they came for. Three linked changes: 1. Scope §6.3's "don't skip brainstorming and go straight to planning" guardrail to repo mode. In elsewhere modes, ideation (or ideation + Proof iteration) is a legitimate terminal state; brainstorming is optional deeper development of one idea. 2. Make §5.2 + §6.2 post-Proof behavior mode-aware. Repo mode returns to the Phase 6 menu on every status as before (user may still want to brainstorm toward a plan or keep refining in the repo). Elsewhere mode exits cleanly on successful Proof return — the artifact lives at docUrl, and forcing another menu choice is friction. Only aborted returns to the menu in both modes. 3. Rewrite the Brainstorm option description in universal-ideation.md to set correct expectations: "go deeper on one idea through dialogue," with an explicit note that this is not the first step of an implementation chain and ce:brainstorm in universal mode develops the idea into a richer artifact (brand brief, plot outline, decision framework) and ends there. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e51dccb51
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- web-research-cache.md: replace ls glob with find to avoid non-zero exit on first-run (no cache files). find exits 0 with empty output on no match, so the reuse-check step no longer risks aborting Phase 1. - web-research-cache.md: differentiate cache keys by full mode variant (repo | elsewhere-software | elsewhere-non-software). Cross-sub-mode reuse was possible because both elsewhere variants collapsed to a single "elsewhere" key; reclassification between them on the same topic hash would hit stale cross-domain cache. - post-ideation-workflow.md + universal-ideation.md: make the no-save exit path legible from the menu itself without adding a 5th option. Refine's label now explicitly says "(or stop here - no save)", a note below each 4-option list points out the two no-save paths (pick Refine and stop, or use the question tool's free-text escape), and §6.1 Refine notes that ending after (or without) refinement is a valid no-save exit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cba78af0b1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- web-research-cache.md: repo-mode cache key discriminator is now a hashed, stable identifier — `git remote get-url origin` → `git rev-parse --show-toplevel` → cwd, hashed to a short sha256 prefix. Basename-only identifiers collided across unrelated repos sharing names (app, frontend) under the shared OS-temp scratch root. Clarified that normalization applies to focus hint and topic text, not the raw discriminator input. - ce-ideate SKILL.md: Phase 2 dispatch now gates the 4-agent issue-tracker mode on both issue-tracker intent AND usable themes returned by issue-intelligence. When intent triggered but signal was insufficient (Phase 1 insufficient-issue-signal fallback), dispatch the 6-agent default. Updated the Phase 0.5 cost-transparency example to note the insufficient-signal fallback case. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: da89df04cf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| If the user confirms or selects "elsewhere," still run Decision 2 to choose between elsewhere-software and elsewhere-non-software. | ||
|
|
||
| **Routing rule.** When Decision 2 = non-software, still run Phase 1 Elsewhere-mode grounding (user-context synthesis + web-research by default; skip phrases honored). Learnings-researcher is skipped by default in this mode — the CWD's `docs/solutions/` rarely transfers to naming, narrative, personal, or non-digital business topics; see Phase 1 for the full rationale. Then load `references/universal-ideation.md` and follow it in place of Phase 2's software frame dispatch and the Phase 6 menu narrative. This load is non-optional — the file contains the domain-agnostic generation frames, critique rubric, and wrap-up menu that replace Phase 2 and the post-ideation menu for this mode, and none of those details live in this main body. Improvising from memory produces the wrong facilitation for non-software topics. Do not run the repo-specific codebase scan at any point. The §6.5 Proof Failure Ladder in `references/post-ideation-workflow.md` still applies — load and follow it whenever a Proof save (the elsewhere-mode default for Save and end) fails, so the local-save fallback path stays reachable in non-software elsewhere runs. |
There was a problem hiding this comment.
Align non-software routing with global scan guidance
This new non-software rule forbids running the repo scan, but the skill still has a global core principle that says to scan the codebase first for ideation runs; the two directives now conflict and can cause mode-misrouted behavior (either unnecessary repo scanning for elsewhere topics or skipping intended non-software flow). Please make the scan requirement explicitly mode-conditional so elsewhere runs have a single unambiguous instruction set.
Useful? React with 👍 / 👎.
| SCRATCH_ROOT="${TMPDIR:-/tmp}/compound-engineering/ce-ideate" | ||
| find "$SCRATCH_ROOT" -maxdepth 2 -name 'web-research-cache.json' -type f 2>/dev/null |
There was a problem hiding this comment.
Scope cache reuse to a real session boundary
The reuse lookup scans every run directory under a shared OS-temp root without any session discriminator, but the workflow describes this as session-scoped reuse; this means a later invocation can silently reuse stale research from an older session when keys match, skipping fresh web grounding. Add a session partition (path/key) or age gate before accepting a cached match as reusable.
Useful? React with 👍 / 👎.
Upstream PR #588 added mode-aware v2 ideation with a new web-researcher agent and restructured post-ideation-workflow. Files included several stale refs from the pre-rename era: - agents/research/web-researcher.md was introduced without ce- prefix; renamed file to ce-web-researcher.md, updated frontmatter name, and fixed its in-prose skill refs (ce:brainstorm, ce:plan, and the stray compound-engineering:ce-ideate) to match our naming convention - ce-ideate/SKILL.md: /ce:ideate -> /ce-ideate, and all compound- engineering:research:<agent> refs simplified to <category>:ce-<agent> - ce-ideate/references/universal-ideation.md: ce:ideate, ce:brainstorm, ce:plan, ce:work refs updated to hyphenated form - README.md: ce-web-researcher added to Research agent table alongside our existing ce- prefixed agents Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Upstream PR #588 added mode-aware v2 ideation with a new web-researcher agent and restructured post-ideation-workflow. Files included several stale refs from the pre-rename era: - agents/research/web-researcher.md was introduced without ce- prefix; renamed file to ce-web-researcher.md, updated frontmatter name, and fixed its in-prose skill refs (ce:brainstorm, ce:plan, and the stray compound-engineering:ce-ideate) to match our naming convention - ce-ideate/SKILL.md: /ce:ideate -> /ce-ideate, and all compound- engineering:research:<agent> refs simplified to <category>:ce-<agent> - ce-ideate/references/universal-ideation.md: ce:ideate, ce:brainstorm, ce:plan, ce:work refs updated to hyphenated form - README.md: ce-web-researcher added to Research agent table alongside our existing ce- prefixed agents Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Upstream PR #588 added mode-aware v2 ideation with a new web-researcher agent and restructured post-ideation-workflow. Files included several stale refs from the pre-rename era: - agents/research/web-researcher.md was introduced without ce- prefix; renamed file to ce-web-researcher.md, updated frontmatter name, and fixed its in-prose skill refs (ce:brainstorm, ce:plan, and the stray compound-engineering:ce-ideate) to match our naming convention - ce-ideate/SKILL.md: /ce:ideate -> /ce-ideate, and all compound- engineering:research:<agent> refs simplified to <category>:ce-<agent> - ce-ideate/references/universal-ideation.md: ce:ideate, ce:brainstorm, ce:plan, ce:work refs updated to hyphenated form - README.md: ce-web-researcher added to Research agent table alongside our existing ce- prefixed agents Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Upstream PR #588 added mode-aware v2 ideation with a new web-researcher agent and restructured post-ideation-workflow. Files included several stale refs from the pre-rename era: - agents/research/web-researcher.md was introduced without ce- prefix; renamed file to ce-web-researcher.md, updated frontmatter name, and fixed its in-prose skill refs (ce:brainstorm, ce:plan, and the stray compound-engineering:ce-ideate) to match our naming convention - ce-ideate/SKILL.md: /ce:ideate -> /ce-ideate, and all compound- engineering:research:<agent> refs simplified to <category>:ce-<agent> - ce-ideate/references/universal-ideation.md: ce:ideate, ce:brainstorm, ce:plan, ce:work refs updated to hyphenated form - README.md: ce-web-researcher added to Research agent table alongside our existing ce- prefixed agents Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Upstream PR #588 added mode-aware v2 ideation with a new web-researcher agent and restructured post-ideation-workflow. Files included several stale refs from the pre-rename era: - agents/research/web-researcher.md was introduced without ce- prefix; renamed file to ce-web-researcher.md, updated frontmatter name, and fixed its in-prose skill refs (ce:brainstorm, ce:plan, and the stray compound-engineering:ce-ideate) to match our naming convention - ce-ideate/SKILL.md: /ce:ideate -> /ce-ideate, and all compound- engineering:research:<agent> refs simplified to <category>:ce-<agent> - ce-ideate/references/universal-ideation.md: ce:ideate, ce:brainstorm, ce:plan, ce:work refs updated to hyphenated form - README.md: ce-web-researcher added to Research agent table alongside our existing ce- prefixed agents Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Before:
ce:ideateonly worked well when the topic was the current codebase. Non-code prompts (naming, pricing, narrative, personal decisions) got forced through software-flavored frames and produced generic output. Scratch state polluted whatever repo happened to be in CWD, and the post-ideation menu assumed every run would continue into a software-implementation chain.After:
ce:ideateclassifies the subject of ideation in two steps (repo-grounded vs elsewhere, then software vs non-software) and routes each mode to the right facilitation path. Six mode-symmetric frames replace the software-only set. Persistence, brainstorm handoff, and post-Proof behavior are all mode-aware — elsewhere ideation can terminate cleanly without forcing users past their natural stopping point. A new plugin-wide scratch-space rule defaults to OS temp so ideation scratch no longer lands inside an unrelated CWD repo.The new
web-researcheragent and the scratch-space convention inversion ship in the same PR because mode-aware elsewhere ideation depends on both: without external grounding there is nothing to replace the codebase scan, and without the scratch migration, writing.context/into an unrelated repo during elsewhere-mode ideation is the canonical bad UX.Mode classification
Classification runs on the subject of ideation, not the environment. A user in
/tmpcan ideate about code in their head; a user in a repo can ideate about an unrelated product's landing page.Phase 6 handoff menu
The post-ideation wrap-up offers 4 options: Refine, Open and iterate in Proof, Brainstorm, Save and end. Behavior is mode-aware:
docs/ideation/, return to menu for follow-up work.ce:brainstorm→ce:plan→ce:worktoward implementation.ce:brainstormin universal mode develops the idea into a richer artifact (brand brief, plot outline, decision framework) and ends there.docs/ideation/, exit.The §6.3 guardrail "don't skip brainstorming and go straight to planning" is scoped to repo mode. Elsewhere mode has no
ce:plan→ce:workchain downstream, so ideation (or ideation + Proof iteration) is a legitimate terminal state.External grounding
web-researcheragent (new) performs iterative web research and returns structured grounding: prior art, adjacent solutions, market signals, cross-domain analogies. Available to ideation and future skills.re-research. Cache keys differentiate by full mode variant (repo/elsewhere-software/elsewhere-non-software) so software and non-software research cannot cross-reuse on the same topic hash.docs/solutions/rarely transfers to naming, narrative, personal, or non-digital business topics.Scratch-space convention
AGENTS.mdinverts the plugin-wide Scratch Space rule: default to OS temp; use.context/only when justified. The previous rule defaulted to.context/, which caused ideation scratch to land inside whatever CWD repo the user happened to be in, even when the topic was unrelated to that repo.The new rule allows
.context/only when the artifact is genuinely bound to the CWD repo AND is user-curated, repo+branch-inseparable, or has a path that is core UX.Migrations applied:
"${TMPDIR:-/tmp}/compound-engineering/ce-ideate/<run-id>/". Phase 1 pre-resolves the absolute path once via bash so Write/Read tools always receive resolved paths.mktemp -d. Explicitrm -rfdropped; OS handles cleanup, and orphaned dirs preserve artifacts for debugging.mktemp -d. Sub-agents receive the absolute path as an argument.Kept on
.context/:ce-optimize(per-spec persistent state across sessions),ce-review(artifact path is surfaced as core UX), todo-create/triage/resolve (per-repo TODO database that users inspect directly).Design notes
references/post-ideation-workflow.md(the Phase 6 menu) andreferences/universal-ideation.md(non-software facilitation) carry load instructions that explicitly state the load is non-optional, name what lives in the reference that does not live inSKILL.md, and defend against speed-motivated skipping. Without these, agents were improvising the menu from memory.issue-intelligence-analyst, for a net of 8 agents. The Phase 0.5 cost line reflects this explicitly.Testing
Tested end-to-end by running v1 (pre-branch) and v2 (this branch) against a real repo (
~/Code/image-sprout, a Svelte + TypeScript image-generation tool) with identical prompts, plus v2 on non-software prompts and a landing-page conversion prompt:"improve this project"returned 6 survivors, 5 of which were mechanical refactor recommendations (split CLI monolith, Zod schemas, smoke tests, etc.)."vision-scale product expansion ideas"for the same repo produced genuine product reframings (Brand-Kit Mode, Evaluator-Loop Mode, MCP-server mode, Guide Version Control, pluggable output destinations).No test suite changes (skill content is markdown).
bun run release:validatepasses.