- Nx 22.7 monorepo (pnpm 11.1, TypeScript 5.9, Node 24) - apps/api: NestJS 11 (CJS conforme CODING-RULES.md PGD-DB-004) - apps/web: React 19 + Vite 8 (ESM) - libs/shared/api-interface: Zod contract base - Docker Compose dev: Postgres 18, Valkey 8, MinIO, Mailpit - WDS artifacts: - design-artifacts/A-Product-Brief/ (5 docs canônicos + 16 dialogs) - design-artifacts/B-Trigger-Map/ (hub + 4 personas + feature impact) - Stack canon: STACK.md v2.2 + CODING-RULES.md v2.0 + brand.md - AGENTS.md + README.md como entrada para devs/agentes Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5.4 KiB
name, description, nextStep, stateTemplate, outputFolder, outputFile, buildStateDoc, agentConfigPrompts, agentConfigPresets
| name | description | nextStep | stateTemplate | outputFolder | outputFile | buildStateDoc | agentConfigPrompts | agentConfigPresets |
|---|---|---|---|---|---|---|---|---|
| step-02a-preflight-config | Configure agents and execution settings, then create state document | ./step-02b-preflight-finalize.md | ../templates/state-document.md | {output_folder}/story-automator | {outputFolder}/orchestration-{epic_id}-{timestamp}.md | ../scripts/story-automator | ../data/agent-config-prompts.md | ../data/agent-config-presets.json |
Step 2a: Pre-flight Configuration
Goal: Configure agents and execution settings, then create the orchestration state document. Interaction mode: Guided configuration (collaborative inputs, deterministic state creation).
Prerequisites
- Step 2 completed.
- Variables available:
epic_id,epic_name,range_json,stories_json,selected_count,custom_instructions.
Do
1. Configure Execution Preferences
PREREQUISITE: Step 2 (preflight) MUST be complete. The Complexity Matrix MUST have been displayed. If not, STOP and complete step 2 first.
**Execution Settings:**
1. **Skip the 'automate' step (test automation)?** [N]o (default) / [Y]es
2. **Max parallel sessions?** (tmux sessions running concurrently, default: 1)
Enter choices (e.g., `N 1` or `Y 3`):
Wait.
Store responses as skip_automate (true/false) and max_parallel (integer).
2. Configure Agent (Complexity-Aware)
Using the complexity data from stories_json, present agent configuration options that reference the actual complexity breakdown.
2a. Check for Saved Presets
presets_result=$("{buildStateDoc}" agent-config list --file "{agentConfigPresets}")
preset_count=$(echo "$presets_result" | jq -r '.count')
Store preset_count — this determines whether [L]oad option appears in the menu.
2b. Present Complexity-Based Agent Options
Display prompts from {agentConfigPrompts}, selecting the appropriate table variant:
- If
skip_automateis false: show table WITHautocolumn - If
skip_automateis true: show table WITHOUTautocolumn - If
preset_count > 0: include [L]oad saved option - If
preset_count == 0: omit [L] option
Wait.
2c. Handle Selection
- IF S: Build
agent_config_jsonfrom defaults (no save prompt). - IF U or C: Follow Uniform/Custom prompts from
{agentConfigPrompts}, buildagent_config_json, then proceed to 2d (Save Prompt). - IF L: Follow Load Saved Preset prompt from
{agentConfigPrompts}. Load preset config asagent_config_json(no save prompt).
# Example shape with complexity-based config (auto column included when not skipped)
agent_config_json='{
"complexityBased": true,
"low": {"create":{"primary":"...","fallback":"..."},"dev":{...},"auto":{...},"review":{...}},
"medium": {"create":{...},"dev":{...},"auto":{...},"review":{...}},
"high": {"create":{...},"dev":{...},"auto":{...},"review":{...}},
"auto": {"skip": $skip_automate}
}'
Store:
agent_config_json= full config objectprimary_agent= default primary (for backwards compatibility)
2d. Save Prompt (U/C only)
Only when user chose [U]niform or [C]ustom, follow the Save Configuration prompt from {agentConfigPrompts}:
# If user provides a name:
"{buildStateDoc}" agent-config save --file "{agentConfigPresets}" --name "$save_name" --config-json "$agent_config_json"
3. Review
Display configuration summary:
- Epic and story range
- Custom instructions (if any)
- Agent configuration
- Execution settings
Pause for confirmation before starting execution.
3b. Confirm Autonomous Start (Optional Checkpoint)
Before creating state and launching autonomous phases, confirm:
Proceed with autonomous execution after preflight? [Y/n]
Wait.
- If
Y/Enter: continue. - If
n: return to Step 1 (settings) for adjustments.
4. Create State Document
From {stateTemplate}:
- Generate:
orchestration-{epic_id}-{timestamp}.md - Fill frontmatter with all config
- Initialize story progress table
- Set status: "READY"
- Save to
{outputFolder}
Deterministic creation:
agent_cmd="claude --dangerously-skip-permissions"
if [ "$primary_agent" = "codex" ]; then agent_cmd="codex exec --full-auto"; fi
config_json=$(jq -n \
--arg epic "$epic_id" \
--arg epicName "$epic_name" \
--argjson storyRange "$(echo "$range_json" | jq '.storyIds')" \
--arg status "READY" \
--arg currentStory "null" \
--arg currentStep "preflight" \
--arg aiCommand "$agent_cmd" \
--arg customInstructions "$custom_instructions" \
--argjson overrides "{\"skipAutomate\":$skip_automate,\"maxParallel\":$max_parallel}" \
--argjson agentConfig "$agent_config_json" \
'{epic:$epic,epicName:$epicName,storyRange:$storyRange,status:$status,currentStory:null,currentStep:$currentStep,aiCommand:$aiCommand,customInstructions:$customInstructions,overrides:$overrides,agentConfig:$agentConfig}'
)
state_result=$("{buildStateDoc}" build-state-doc --template "{stateTemplate}" --output-folder "{outputFolder}" --config-json "$config_json")
state_path=$(echo "$state_result" | jq -r '.path')
Display: "State document created."
Record: state_path is the resolved {outputFile} for this run.
5. Auto-Proceed to Finalize
Persist any preflight notes to {outputFile}, update frontmatter (append step-02-preflight and step-02a-preflight-config, set lastUpdated).
Then
→ Load, read entire file, and execute {nextStep}