Files
julian 17c08e6392 chore: initial monorepo scaffold + WDS Phase 1+2 artifacts
- 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>
2026-05-27 14:34:20 +00:00

3.7 KiB

name, description, learningsFile, templates, stateFilePattern, outputFile, stateHelper, stateMetrics, reportRetentionPolicy
name description learningsFile templates stateFilePattern outputFile stateHelper stateMetrics reportRetentionPolicy
step-04-wrapup Finalize: summary, learnings, recommendations (terminal step) {output_folder}/story-automator/learnings.md ../data/wrapup-templates.md {output_folder}/story-automator/orchestration-*.md {output_folder}/story-automator/orchestration-{epic_id}-{timestamp}.md ../scripts/story-automator ../scripts/story-automator ../data/report-retention-policy.md

Step 4: Wrap-up

Goal: Generate summary, capture learnings, finalize state. Interaction mode: Structured wrap-up with recommendation output.


Do

1. Load Final State

From state document (located via {stateFilePattern}; resolved path stored as {outputFile} for this run), extract:

  • Story progress table
  • Action log
  • Session references

Calculate:

  • Stories completed vs total
  • Code review cycles
  • Escalations encountered

Use the existing state document path from execution, and derive story_range_csv from frontmatter storyRange.

Deterministic metrics:

metrics=$("{stateMetrics}" state-metrics --state "{state_document_path}")

Parallel optimization (metrics + retention policy extraction):

tmp_metrics=$(mktemp)
tmp_retention=$(mktemp)

("{stateMetrics}" state-metrics --state "{state_document_path}" > "$tmp_metrics") &
metrics_pid=$!

(awk '/^```bash/{flag=1;next}/^```/{flag=0}flag{print}' "{reportRetentionPolicy}" > "$tmp_retention") &
retention_pid=$!

wait "$metrics_pid"
wait "$retention_pid"

metrics=$(cat "$tmp_metrics")
retention_cmds=$(cat "$tmp_retention")
rm -f "$tmp_metrics" "$tmp_retention"

Optimization (data ops): If action log exceeds 200 lines, use compact summary by default.

log_block=$(awk '/^## Action Log/{flag=1;next}/^## /{if(flag){exit}}flag{print}' "{state_document_path}")
log_lines=$(printf "%s\n" "$log_block" | wc -l | tr -d ' ')
if [ "$log_lines" -gt 200 ]; then
  log_focus=$(printf "%s\n" "$log_block" | tail -n 50)
else
  log_focus="$log_block"
fi

2. Generate Summary

From {templates}, use Summary Report Template.

Fill in all stats and display to user.

3. Capture Learnings

Analyze run for patterns:

  • Common code review issues
  • Steps needing escalation
  • Timing patterns
  • What worked well

IF {learningsFile} exists: Load and merge ELSE: Create new

Append entry using Learnings Entry Template from {templates}.

4. Recommendations

From {templates}, use Recommendations Template.

Present actionable suggestions based on patterns observed.

4b. Validation Report Housekeeping

Load {reportRetentionPolicy} and apply its retention guidance when needed.

If validation report history is large, run the suggested maintenance command from that policy file.

5. Finalize State

Update state document:

  • status = 'COMPLETE'
  • completedAt = {timestamp}
  • Append final summary to action log

Display: "State document finalized."

6. Remove Marker File

Remove the active runtime marker:

"{stateHelper}" orchestrator-helper marker remove

This allows the Stop hook to stop normally after workflow completion by clearing the marker from the active runtime layout.

7. Workflow Complete

Display:

**🎉 Story Automator workflow complete!**

All stories have been processed through the build cycle.
Retrospectives were triggered automatically when each epic completed (during execution loop).

State document: {outputFile}
Learnings: {learningsFile}

Persist final state to {outputFile}.


End

Workflow terminates here. Retrospectives are now handled within the execution loop (step-03b) when each epic completes, not as a separate terminal step.