Skip to content

refactor: Extract _intake shared helper for pre-boundary intake creation#412

Merged
sahil-noon merged 4 commits into
mainfrom
260613-3xaj-extract-intake-helper
Jun 13, 2026
Merged

refactor: Extract _intake shared helper for pre-boundary intake creation#412
sahil-noon merged 4 commits into
mainfrom
260613-3xaj-extract-intake-helper

Conversation

@sahil-noon

Copy link
Copy Markdown
Collaborator

Meta

ID Type Confidence Plan Review
3xaj refactor 3.2/5.0 11/11 tasks, 17/17 acceptance ✓ ✓ 2 cycles

Pipeline: intake ✓ → apply ✓ → review ✓ → hydrate ✓ → ship → review-pr

Impact:
impl: +196/−112 (net +84)
tests: +0/−0 (net +0)
total: +196/−112 (net +84) ← excludes fab/, docs/

Summary

/fab-new Steps 0–9 form the intake creation procedure, but they were duplicated across the pre-boundary skill family via two inconsistent reuse mechanisms both pointing at fab-new.md/fab-draft as a prose delta and /fab-proceed as a subagent dispatch. This change extracts Steps 0–9 into a new internal helper _intake.md parameterized by a single {questioning-mode} knob (interactive | promptless-defer), rewiring all three consumers to thin call-sites. This completes the symmetric helper coverage across pipeline phases: _generation (artifact mechanics), _review (review mechanics), _pipeline (post-intake orchestration), and now _intake (pre-intake orchestration).

Changes

  • New internal helper src/kit/skills/_intake/SKILL.md containing the Create-Intake Procedure (Steps 0–9), parameterized by {questioning-mode}
  • fab-new.md rewired to _intake(interactive) + activate/branch tail; _intake added to helpers:
  • fab-draft.md rewired to _intake(interactive), stops at ready; momentum warning removed; _intake added to helpers:
  • fab-proceed.md reroutes the fab-new subagent dispatch to _intake(promptless-defer); state-detection/relevance-assessment retained at call-site
  • _preamble.md updated: _intake added to helpers: Allowed-values allowlist
  • New docs/specs/skills/SPEC-_intake.md; SPEC-fab-new.md, SPEC-fab-draft.md, SPEC-fab-proceed.md, SPEC-_preamble.md updated (constitution-mandated)
  • Memory reconciled: pipeline/planning-skills.md, pipeline/execution-skills.md, _shared/context-loading.md, memory-docs/templates.md, plus regenerated indexes

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Refactors the pre-boundary intake-creation flow by extracting /fab-new Steps 0–9 into a shared internal helper (_intake) and rewiring /fab-new, /fab-draft, and /fab-proceed to consume it, while updating specs and memory docs to match the new structure.

Changes:

  • Added src/kit/skills/_intake.md as the single authoritative Create-Intake Procedure (Steps 0–9), parameterized by {questioning-mode} (interactive | promptless-defer).
  • Rewired /fab-new and /fab-draft to call _intake(interactive); rewired /fab-proceed to dispatch _intake(promptless-defer) and then chain /fab-switch/git-branch for parity.
  • Updated helper allowlists, SPEC mirrors, and memory docs to reflect the new helper and updated dispatch semantics.

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/kit/skills/fab-proceed.md Reroutes create-new path to _intake and updates dispatch table + subagent dispatch prose accordingly.
src/kit/skills/fab-new.md Replaces inline Steps 0–9 with _intake(interactive) call-site; keeps activate/branch tail.
src/kit/skills/fab-draft.md Converts from “delta over fab-new” to _intake(interactive) call-site and stops at intake ready.
src/kit/skills/_srad.md Updates the promptless-dispatch carve-out cross-reference to the renamed /fab-proceed section.
src/kit/skills/_preamble.md Adds _intake to the helpers: allowed-values allowlist.
src/kit/skills/_intake.md New shared Create-Intake Procedure (Steps 0–9) with a single {questioning-mode} parameter.
fab/changes/260613-3xaj-extract-intake-helper/plan.md Tracks the change plan/acceptance for the extraction and rewires.
fab/changes/260613-3xaj-extract-intake-helper/.status.yaml Updates pipeline progress/task/acceptance metadata for this change folder.
fab/changes/260613-3xaj-extract-intake-helper/.history.jsonl Appends stage-transition history entries for apply/review/hydrate/ship/review-pr.
docs/specs/skills/SPEC-fab-proceed.md Updates spec to reflect _intake create-new dispatch and chaining changes.
docs/specs/skills/SPEC-fab-new.md Updates spec to describe fab-new as _intake call-site + retained activate/branch tail.
docs/specs/skills/SPEC-fab-draft.md Updates spec to describe fab-draft as _intake call-site that stops at ready.
docs/specs/skills/SPEC-_preamble.md Updates spec to reflect helper allowlist expansion to include _intake.
docs/specs/skills/SPEC-_intake.md New spec mirror for _intake (summary/flow/tools/bookkeeping).
docs/specs/skills.md Updates helper allowlist + mapping table + SPEC enumeration to include _intake.
docs/memory/pipeline/planning-skills.md Reconciles planning-skill memory to reflect _intake extraction and promptless dispatch reroute.
docs/memory/pipeline/index.md Updates pipeline index summary to mention _intake as the pre-boundary helper.
docs/memory/pipeline/execution-skills.md Updates orchestrator docs to reflect _intake dispatch + required /fab-switch/git-branch chaining.
docs/memory/memory-docs/templates.md Adds/updates documentation about helpers: and the “one shared helper per phase” decomposition (now including _intake).
docs/memory/memory-docs/index.md Updates index entry description to reflect the new helpers decomposition mention.
docs/memory/distribution/index.md Updates distribution index “Last Updated” date entry.
docs/memory/_shared/context-loading.md Updates helper allowlist (7 values) and mapping notes to include _intake and the symmetry table.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/kit/skills/_intake.md
Comment on lines +11 to +13
> This file defines the shared **pre-boundary** intake-creation logic used by three skills:
> `/fab-new`, `/fab-draft`, and `/fab-proceed` (its fab-new subagent dispatch). The calling skill
> (the **consumer**) binds one parameter before executing this procedure — read it from the

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Fixed — corrected the stale parenthetical: /fab-proceed now dispatches _intake directly (its create-new subagent dispatch), not /fab-new. (8840808)

Comment thread src/kit/skills/_intake.md Outdated
Comment on lines +77 to +81
| Tool | Purpose |
|------|---------|
| Read | `_generation.md`, templates, backlog, project files |
| Write | `intake.md` (via the Intake Generation Procedure) |
| Bash | `fab change new`, `fab resolve --id`/`--folder` (collision pre-check), `fab status set-change-type` (override only), `fab score`, `fab status advance`, `fab status add-issue` |

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Fixed — added _srad.md (Step 8 — both questioning modes) to the Read row of the Tools used table. (8840808)

sahil87 added 4 commits June 13, 2026 20:15
…oceed

Consolidate the pre-boundary intake creation logic (SRAD scoring, slug
validation, intake generation, branch naming) into a new `_intake.md`
helper, reducing duplication across the three planning skills and making
the shared contract explicit in specs and memory.
@sahil87 sahil87 force-pushed the 260613-3xaj-extract-intake-helper branch from fa35852 to ae2c5ed Compare June 13, 2026 14:45
@sahil-noon sahil-noon marked this pull request as ready for review June 13, 2026 14:46
@sahil-noon sahil-noon merged commit 9c52b82 into main Jun 13, 2026
3 checks passed
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.

3 participants