Skip to content

FE-835: Orchestrator demo seeds from plan fixtures#192

Merged
kostandinang merged 3 commits into
mainfrom
ka/fe-835-orchestrator-demo-seeds
Jun 10, 2026
Merged

FE-835: Orchestrator demo seeds from plan fixtures#192
kostandinang merged 3 commits into
mainfrom
ka/fe-835-orchestrator-demo-seeds

Conversation

@kostandinang

@kostandinang kostandinang commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Reverse the three brunch cook plan fixtures (parallel-utils, layered-todo, resilient-pipeline) into completed-spec fixtures seeded into the intent-graph DB, so the orchestrator can be driven end-to-end SPEC → plan (build-architect, FE-829) → cook — not just from a hand-authored plan.yaml.

  • Reverses each plan.yaml into a reviewable SPEC.md/PLAN.md + an *-spec seed scenario (npm run seed -- <name>-spec); adds a blank *-kickoff for live-driving the interview.
  • closed-spec-builder.ts: content-agnostic four-phase interview replay (grounding → design → requirements → criteria) with a per-turn impact spread.
  • Spec graphs are observer-faithful — grounding/design provenance, constraints, and verifying criteria only; no requirement→requirement execution order (plan truth the architect re-derives downstream).
  • Adds an ORCHESTRATOR.md runbook.

How to seed them

Each fixture is registered as a completed-spec scenario. Seed one by name, which prints the new project id:

npm run seed -- parallel-utils-spec      # or layered-todo-spec / resilient-pipeline-spec

Use <name>-kickoff (e.g. parallel-utils-kickoff) instead to seed a blank spec and drive the four-phase interview live from scratch.

To drive the full SPEC → plan → cook loop for all three (build-architect re-derives the slice DAG the fixtures hand-author):

for s in parallel-utils-spec layered-todo-spec resilient-pipeline-spec; do
  id=$(npm run seed -- "$s" | grep -oE 'project [0-9]+' | grep -oE '[0-9]+' | tail -1)
  echo "$s → spec $id"
  npx tsx src/server/cli.ts plan "$id"                                    # architect emits plan.yaml
  npx tsx src/server/cli.ts cook "$(pwd)" --spec="$id" --policy=parallel  # add --petrinaut-stream to watch live
done

These are greenfield specs (cook runs in empty per-slice worktrees). See ORCHESTRATOR.md §7 for the full runbook.

Verification

npm run verify (check + test + build); in-memory seed asserts four phases closed, policy-valid edges, and zero requirement→requirement depends_on.

@cursor

cursor Bot commented Jun 9, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Changes are documentation and dev/demo fixture seeding with no production runtime or auth paths; main risk is fixture graph drift vs. architect behavior, covered by existing verify/seed assertions.

Overview
Reverses the three orchestrator cook demos (parallel-utils, layered-todo, resilient-pipeline) into fixture-level SPEC.md / PLAN.md and DB seed scenarios so demos can run SPEC → brunch planbrunch cook instead of only hand-authored plan.yaml.

Adds closed-spec-builder.ts to replay a full four-phase, all-closed interview from an arbitrary knowledge graph (per-item grounding/design turns with impact, accepted requirements/criteria reviews, policy-checked edges). cook-fixture-specs.ts maps each reversed fixture into that graph and registers *-spec scenarios (plus blank parallel-utils-kickoff); scenarios.ts exposes them via npm run seed.

Seeded graphs are observer-faithful: provenance, constraints, and verifies only—no requirement→requirement execution depends_on, so the round-trip exercises the build-architect re-deriving fan-out, joins, gates, and halt shapes from content.

ORCHESTRATOR.md documents cook/Petrinaut workflows and the seed → plan → cook loop for all three specs.

Reviewed by Cursor Bugbot for commit 7cd7da7. Bugbot is set up for automated code reviews on this repo. Configure here.

@kostandinang kostandinang force-pushed the ka/fe-829-build-architect branch from fcfc8b2 to 1b8115e Compare June 10, 2026 07:56
@kostandinang kostandinang force-pushed the ka/fe-835-orchestrator-demo-seeds branch from 2802d71 to 7d4a35e Compare June 10, 2026 07:58

kostandinang commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@kostandinang kostandinang self-assigned this Jun 10, 2026
@kostandinang kostandinang requested a review from lunelson June 10, 2026 08:26
@kostandinang kostandinang force-pushed the ka/fe-829-build-architect branch from 1b8115e to a165763 Compare June 10, 2026 09:20
@kostandinang kostandinang force-pushed the ka/fe-835-orchestrator-demo-seeds branch from 7d4a35e to 5799649 Compare June 10, 2026 09:21

@cursor cursor Bot 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 5799649. Configure here.

Comment thread src/server/fixtures/closed-spec-builder.ts
lunelson
lunelson previously approved these changes Jun 10, 2026

@lunelson lunelson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This looks useful for getting the demo path closer to the real SPEC → plan → cook flow.

One thing I’d keep an eye on: src/server/fixtures/closed-spec-builder.ts is fixture code, but it now knows how to replay a full four-phase interview using many of the same DB primitives as the product flow. That seems fine for seeding, but I’d avoid letting it become a second “interview implementation” that future tests or features quietly depend on. The boundary is clear in the comments today; just calling it out because this helper is now fairly capable.

Base automatically changed from ka/fe-829-build-architect to main June 10, 2026 12:36
@kostandinang kostandinang dismissed lunelson’s stale review June 10, 2026 12:36

The base branch was changed.

kostandinang and others added 3 commits June 10, 2026 14:41
Reverse the three brunch cook plan fixtures (parallel-utils, layered-todo,
resilient-pipeline) into completed-spec fixtures seeded into the intent-graph
DB, so the orchestrator runs end-to-end SPEC -> plan (build-architect) -> cook,
not just from a hand-authored plan.yaml. Graphs are observer-faithful: only
grounding/design provenance, constraints, and verifying criteria -- no
requirement->requirement execution order (plan truth the architect re-derives).
Adds an ORCHESTRATOR.md runbook.

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Mirror the grounding ladder: after design elicitation turns, insert a
propose_phase_closure proposal turn before user confirmation instead of
reusing the last ask_question-style turn as the phase outcome proposal.

Co-authored-by: Cursor <cursoragent@cursor.com>
@kostandinang kostandinang force-pushed the ka/fe-835-orchestrator-demo-seeds branch from b886e83 to 7cd7da7 Compare June 10, 2026 12:42
@kostandinang kostandinang requested a review from lunelson June 10, 2026 12:44
@kostandinang kostandinang added this pull request to the merge queue Jun 10, 2026
Merged via the queue into main with commit ae64031 Jun 10, 2026
6 checks passed
@kostandinang kostandinang deleted the ka/fe-835-orchestrator-demo-seeds branch June 10, 2026 12:55
@kostandinang kostandinang mentioned this pull request Jun 10, 2026
3 tasks
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.

2 participants