Skip to content

feat(ce-ideate): mode-aware v2 ideation#588

Merged
tmchow merged 16 commits intomainfrom
tmchow/ce-ideate-v2-mode-aware
Apr 17, 2026
Merged

feat(ce-ideate): mode-aware v2 ideation#588
tmchow merged 16 commits intomainfrom
tmchow/ce-ideate-v2-mode-aware

Conversation

@tmchow
Copy link
Copy Markdown
Collaborator

@tmchow tmchow commented Apr 17, 2026

Summary

Before: ce:ideate only 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:ideate classifies 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-researcher agent 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 /tmp can ideate about code in their head; a user in a repo can ideate about an unrelated product's landing page.

  • Decision 1 picks repo-grounded vs elsewhere from prompt content, topic-repo coherence, and CWD presence (supporting evidence only).
  • Decision 2 (only if Decision 1 = elsewhere) picks software vs non-software by whether the subject is a software artifact (page, app, feature, flow, product) — even when the ideas themselves are design, copy, or UX work. Non-software is reserved for topics with no software surface at all: naming, narrative, personal decisions, non-digital business strategy.
  • Active confirmation on ambiguity. Short or conflicting prompts trigger a single blocking question before Phase 1 dispatches — cheaper than running 8-9 agents in the wrong mode.
  • Plain-language narration. The inferred approach is stated in plain English ("Treating this as a landing-page topic outside this repo"), never leaking internal taxonomy labels to the user.

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:

Option Repo mode Elsewhere mode
Refine in conversation Stay and iterate. Ending the conversation after this pick is a valid no-save exit. Same.
Open and iterate in Proof HITL review loop, sync reviewed edits back to docs/ideation/, return to menu for follow-up work. HITL review loop, exit cleanly with the Proof URL as the canonical record. No forced menu return on success.
Brainstorm a selected idea Persist, then hand off to ce:brainstormce:plance:work toward implementation. Persist, then ce:brainstorm in universal mode develops the idea into a richer artifact (brand brief, plot outline, decision framework) and ends there.
Save and end Save to docs/ideation/, exit. Save to Proof, exit.

The §6.3 guardrail "don't skip brainstorming and go straight to planning" is scoped to repo mode. Elsewhere mode has no ce:plance:work chain downstream, so ideation (or ideation + Proof iteration) is a legitimate terminal state.

External grounding

  • web-researcher agent (new) performs iterative web research and returns structured grounding: prior art, adjacent solutions, market signals, cross-domain analogies. Available to ideation and future skills.
  • Session-scoped research cache (V15). Repeated ideation runs in the same session reuse prior web-research output unless the user says 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.
  • Dispatch set is mode-aware. Repo mode and elsewhere-software dispatch context + learnings + web-research (~9 agents). Elsewhere-non-software skips learnings-researcher by default (~8 agents) because docs/solutions/ rarely transfers to naming, narrative, personal, or non-digital business topics.
  • Cost transparency. Phase 0.5 surfaces the agent count for the inferred mode before dispatch so multi-agent cost is not invisible.

Scratch-space convention

AGENTS.md inverts 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:

  • ce-ideate checkpoints + V15 web-research cache → "${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.
  • ce-work-beta codex delegation scratch → mktemp -d. Explicit rm -rf dropped; OS handles cleanup, and orphaned dirs preserve artifacts for debugging.
  • ce-plan deepen scratch (artifact-backed mode) → 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

  • Terminal-first review. Survivors are presented in-conversation with rationale, downsides, confidence, and complexity. Persistence is explicit opt-in at a single checkpoint, not an automatic side effect.
  • Reference-file loads are non-optional. Both references/post-ideation-workflow.md (the Phase 6 menu) and references/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 in SKILL.md, and defend against speed-motivated skipping. Without these, agents were improvising the menu from memory.
  • Issue-tracker mode is repo-only. Issue-tracker intent triggers a 4-frame dispatch (down from 6) and adds 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:

  • v1 on "improve this project" returned 6 survivors, 5 of which were mechanical refactor recommendations (split CLI monolith, Zod schemas, smoke tests, etc.).
  • v2 on the same prompt returned 6 survivors across product, architecture, DX, and security (content-addressed run storage, guide-derivation diff, project templates, run-feedback-as-signal, local bridge auth).
  • v2 on "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).
  • v2 on elsewhere-mode naming prompts produced angle-differentiated survivors with substantive rejection reasoning, not the default-name list the same model generates without the skill.
  • v2 on a landing-page conversion prompt (screenshot + "improve conversion") correctly routed to elsewhere-software (not non-software), used software frames, skipped the codebase scan, and wrote scratch to OS temp rather than the CWD repo.

No test suite changes (skill content is markdown). bun run release:validate passes.


Compound Engineering
Claude Code

tmchow added 3 commits April 17, 2026 01:02
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.
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/compound-engineering/skills/ce-ideate/SKILL.md Outdated
Comment thread plugins/compound-engineering/skills/ce-ideate/SKILL.md Outdated
- 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
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/compound-engineering/skills/ce-ideate/SKILL.md Outdated
- 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
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/compound-engineering/skills/ce-ideate/references/universal-ideation.md Outdated
tmchow and others added 2 commits April 17, 2026 09:08
- 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>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/compound-engineering/skills/ce-ideate/SKILL.md Outdated
Comment thread plugins/compound-engineering/skills/ce-ideate/references/web-research-cache.md Outdated
tmchow and others added 4 commits April 17, 2026 10:30
…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>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/compound-engineering/skills/ce-ideate/SKILL.md Outdated
- 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>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/compound-engineering/skills/ce-ideate/references/web-research-cache.md Outdated
…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>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/compound-engineering/skills/ce-ideate/references/web-research-cache.md Outdated
- 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>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/compound-engineering/skills/ce-ideate/references/web-research-cache.md Outdated
Comment thread plugins/compound-engineering/skills/ce-ideate/SKILL.md Outdated
- 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>
@tmchow tmchow merged commit 12aaad3 into main Apr 17, 2026
2 checks passed
@github-actions github-actions bot mentioned this pull request Apr 17, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Comment on lines +28 to +29
SCRATCH_ROOT="${TMPDIR:-/tmp}/compound-engineering/ce-ideate"
find "$SCRATCH_ROOT" -maxdepth 2 -name 'web-research-cache.json' -type f 2>/dev/null
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

tmchow added a commit that referenced this pull request Apr 17, 2026
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>
tmchow added a commit that referenced this pull request Apr 18, 2026
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>
tmchow added a commit that referenced this pull request Apr 18, 2026
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>
tmchow added a commit that referenced this pull request Apr 18, 2026
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>
tmchow added a commit that referenced this pull request Apr 18, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant