Skip to content

inception(Phase 12): drop explore mode in research; finalise start-epic#277

Open
leeovery wants to merge 22 commits into
idea/inception-pr-11-migrationfrom
idea/inception-pr-12-drop-explore
Open

inception(Phase 12): drop explore mode in research; finalise start-epic#277
leeovery wants to merge 22 commits into
idea/inception-pr-11-migrationfrom
idea/inception-pr-12-drop-explore

Conversation

@leeovery
Copy link
Copy Markdown
Owner

Summary

Phase 12 of the inception/discovery-map initiative — removes the vestigial open-mode (e/explore) research path now that every epic carries a populated discovery map (Phase 11). Research is always scoped to a named map item; topic decomposition belongs to inception, not research.

  • /start-epic Step 3 collapses to a single yes/no "Optional Import" question, then Step 4 invokes workflow-inception-entry directly. references/route-first-phase.md is deleted.
  • workflow-research-entry drops the explore-vs-specific menu and the no-topic-epic deferred branch. Caller always supplies a topic; gather-context.md section A becomes a thin pass-through.
  • workflow-research-process/file-strategy.md collapses to one-topic-one-file regardless of work_type. epic-session.md drops the "multi-file" prose.
  • workflow-knowledge/SKILL.md and workflow-research-entry/invoke-skill.md drop residual exploration.md / "open exploration" examples.

Legacy research/exploration.md files continue to work — Phase 11 registered them as inception items named "Exploration" with source: migration-seeded; downstream phases treat them as a regular research artefact.

Out of scope

  • Migrating legacy exploration.md files (handled by Phase 11).
  • Removing surfaced_topics / gap_topics arrays from manifests.
  • Documentation updates (Phase 13).
  • Renaming legacy exploration topics (blocked by editing-rules matrix).
  • Converging epic-session.md and feature-session.md (topic-splitting + topic-awareness are epic-only and worth keeping separate).

Test plan

  • node --test tests/scripts/test-discovery-for-*.cjs tests/scripts/test-discovery-utils.cjs tests/scripts/test-refinement-session.cjs tests/scripts/test-workflow-manifest.cjs — 237/237 passing
  • for f in tests/scripts/test-migration-*.sh; do bash \"$f\"; done — all 38 migration test files passing
  • for f in tests/scripts/test-knowledge*.sh; do bash \"$f\"; done — 201/201 passing
  • Cross-reference sweep: grep -rn 'route-first-phase\\|open exploration\\|exploration_mode\\|e/explore' skills/ tests/ — zero hits
  • Manual smoke: /start-epic on a fresh epic shows the new two-choice import menu; n/no proceeds straight to inception
  • Manual smoke: /continue-epic on a research-routed map item invokes workflow-research-entry with the topic; gather-context jumps to section B (no explore-vs-specific prompt)
  • Manual smoke: legacy exploration topic on a migrated epic still works (renders as "Exploration", uses existing research/exploration.md)
  • Manual smoke: /start-feature import flow unaffected (still loads collect-import.md)

🤖 Generated with Claude Code

leeovery and others added 22 commits May 12, 2026 21:48
…te-first-phase

Step 3's c/continue + i/import menu becomes an inline yes/no import question.
Inception is unconditionally next, so the three-way phase menu is gone.
collect-import.md is unchanged (still called from start-feature too).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…pic always required

Caller always supplies a topic now (inception map item, continue-epic bridge,
or direct-entry). Step 1's no-topic-epic branch is gone; gather-context.md
section A collapses to a thin pass-through; invoke-skill.md drops the leftover
"open exploration" example.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…opic-one-file

Single rule for all work types — research lives in `{topic}.md`. The work_type
read is gone (not needed) and the multi-file/exploration.md branch is gone
(topic-splitting handles thread divergence in epics). Updated the Step 2
signpost in SKILL.md to match.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…om epic-session

Drop the "multi-file" prose — sessions are per-topic for all work types now.
session-loop.md was already clean (the "Explore"/"explored" words there are
plain English verbs for the conversation rhythm, not the removed mode).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace the example chunk's `exploration` topic with a generic name so the
output reference doesn't suggest `exploration.md` is canonical naming for
new epics.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Compliance fix — menus must lead with a question or contextual label inside
the dot frame before listing options.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…hes in Step 1

The feature/cross-cutting and epic branches do the same thing now — both set
resolved_filename = {topic}.md and proceed to Step 2. Collapse to a single
Otherwise branch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…se 10 parity)

Phase 10's direct-entry flow ships r/research by having continue-epic invoke
research-entry topic-less, and the entry skill prompts the user for a topic.
discussion-entry still does this; the earlier Phase 12 commit removed the
matching branch from research-entry on the false assumption that callers
always pass a topic. They don't — continue-epic's `r`/`research` invocation
omits $2.

Restore the branch (modeled on discussion-entry's pattern) and revert the
topic-resolution line so an epic with no $2 stays unset instead of falling
back to $1 = work_unit.

The OLD explore-vs-specific menu stays gone — the no-topic-epic path now
asks a single question, not a two-step routing menu.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…her-context

Phase 10 added Section F as a defensive ensure-inception-item call for the
old no-topic-epic path that bypassed Step 2. With the restored no-topic
branch routing through Step 2, every path now hits ensure-inception-item
before gather-context ever loads — Section F was a guaranteed no-op.

Per CLAUDE.md: don't keep fallbacks for scenarios that can't happen.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… table

The Phase | Invoke table was vestigial from when Step 4 routed to one of
several phase-entry skills. After Phase 12 inception is always next, so the
table collapses to a single line.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…laim

File strategy no longer depends on work_type post-Phase-12 — it's one-topic-
one-file for all types. The remaining work_type-driven divergence is session
behaviour (topic-splitting is epic-only).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… to 'Inception'

Generic naming was vestigial from when Step 4 routed to one of several
phase-entry skills. After Phase 12 the destination is always inception, so
the step name and marker should reflect that. Marker width unchanged
(49 visual chars).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…bles

Both research-entry and discussion-entry had inaccurate Feature pipeline
rows. Features can enter research independently of import (via r/research in
research-gating.md) and discussion can have research before it. Re-aligned
the Feature rows with the cross-cutting pattern.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… single-topic session

route-session.md only branched on feature/epic; cross-cutting fell through
with no session loaded — a real breakage for cross-cutting research. Fold
cross-cutting into the feature branch (both want single-topic, no splitting).
Added a one-line gloss to each branch to make the rationale obvious.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Added a project-wide exclusion to INDEX.md and explicit out-of-scope lines
to phases 13 and 16 (the docs/cleanup phases most likely to be tempted).
The HTML visualisation is large, already out of sync, and gets its own
dedicated refresh effort after the initiative merges.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The Step 0.3 intro previewed Steps 1, 2, and 4 but skipped the new Step 3
(optional import). Surfacing the import option in the preview means the
user isn't surprised when the import question appears.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…This Skill Needs'

The list said work_type is 'epic or feature' but cross-cutting work units
also reach research-process. Updated to reflect the just-fixed route-session
behaviour (cross-cutting shares the single-topic session with feature).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…tion A

The 'The user invoked /workflow-*-entry epic {wu} without a topic' prose in
research-entry and discussion-entry was both factually wrong (these skills
are user-invocable: false — the user can't invoke them) and verbose backstory
Claude doesn't need at execution time. Stripped to the H4 condition plus the
prompt and action.

Same principle elsewhere I'd just added:
- route-session.md branches lose their per-branch glosses; Claude routes on
  work_type alone.
- gather-context.md drops Section A (which only duplicated Step 1's filename
  assignment); B–E relettered to A–D.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…mport branch

Missed in the earlier lean-pass — the source=import branch still carried a
sentence explaining what imports do and why the branch skips Steps 2-4.
Backstory Claude doesn't need at execution time. Strip to just the action
and routing arrow.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…Phase 17

Phase 17 doc records the conversation that snowballed out of Phase 12 review:
project-level imports, inception extending to features, universal inception,
conversation-first entry, non-user-invocable start-* skills. Nothing has
been decided — the doc captures the journey, the latest tentative landing,
and the open structural questions, so the thinking doesn't evaporate before
the next round of design discussion.

INDEX.md gains the Phase 17 row, an Exploratory status legend entry, and the
dependency-diagram extension. Branch slug and PR are left TBD because the
design hasn't settled enough to commit to a shape.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ives, reinforce in-flux framing

Adds a refinement section distinguishing brand-new-work entry (where inception
classification adds value) from within-epic direct-entry (continue-epic
r/research and d/discuss — where shape is already known and routing through
classification would be friction). The skill-level structures supporting
within-epic direct-entry — research-entry no-topic branch, discussion-entry
no-topic branch, workflow-bridge rows — likely survive Phase 17, narrowing
the actual scope of change.

Reinforces the "nothing decided, direction may change completely" framing in
the heads-up and NOT-decided sections to make sure later readers don't treat
the current sketch as committed.

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