# Current Roadmap This is the live, short roadmap. Completed implementation plans and long slice history live under [`historical/`](historical/). Current architecture references: - [`wf_api_architecture.md`](wf_api_architecture.md): workflow API, server, transport, and source package boundaries. - [`project_map.md`](project_map.md): package map and entrypoints. - [`wf_cli.md`](wf_cli.md): current CLI usage. ## Current Product Shape ```text wf_cli -> local WorkflowApi or wf_transport_rpc_http.RpcWorkflowApiClient -> wf_server.WorkflowServer -> wf_api.WorkflowApi / admin surfaces -> wf_core / wf_artifacts / wf_sources_mcp ``` The durable product path is now `wf-rpc-server` plus neutral `wf_config` / `wf_server` composition. The old `wf-mcp` script remains a legacy/special-purpose MCP entrypoint and compatibility surface. ## Active Initiative: Workflow Console And Defense Demo The next product-facing push is a local-first web console and defense demo that shows the lifecycle without forcing viewers to read raw JSON. It connects to a loopback `wf-rpc-server` through JSON-RPC, displays lifecycle records and traces, and runs a prepared `lda.chat` report workflow with a typed human approval interrupt. Design contracts: - [`workflow console, agent demo, and defense presentation`](superpowers/specs/2026-07-01-workflow-console-agent-demo.md) - [`self-describing interrupt contracts`](superpowers/specs/2026-07-01-self-describing-interrupt-contracts.md) - [`workflow console lifecycle explorer`](superpowers/specs/2026-07-02-workflow-console-lifecycle-explorer.md) - [`demo autoplay and replay`](superpowers/specs/2026-07-03-demo-autoplay-replay.md) - [`defense presentation storyboard`](historical/superpowers/specs/2026-07-04-defense-presentation-storyboard-design.md) - [`adaptive presentation canvas and evidence inspector`](superpowers/specs/2026-07-05-adaptive-presentation-canvas-design.md) - [`Scene 10 guided product moment`](superpowers/specs/2026-07-09-scene-10-guided-product-moment-design.md) - [`presentation live/replay truth`](superpowers/specs/2026-07-09-presentation-live-replay-truth-design.md) - [`presentation lifecycle story expansion`](historical/superpowers/specs/2026-07-09-presentation-lifecycle-story-expansion-design.md) - [`presentation opening visuals`](superpowers/specs/2026-07-10-presentation-opening-visuals-design.md) - [`presentation evaluation and closing`](superpowers/specs/2026-07-10-presentation-evaluation-closing-design.md) Implementation order: 1. Completed: self-describing interrupt request/resume schemas are carried through core execution, persisted run inspection, and resume validation. 2. Completed: deterministic `examples/lda_report_workflow/` case study with local document, report, issue-board sources, and typed issue-review interrupt. 3. Completed: add a top-level `web/` pnpm workspace with a React/Vite console, Hono local server, Effect JSON-RPC boundary, loopback connection flow, source inventory, protocol evidence, and production static serving. Design: [`workflow console foundation`](superpowers/specs/2026-07-01-workflow-console-foundation-design.md). Implementation: [`workflow console foundation plan`](historical/superpowers/plans/2026-07-02-workflow-console-foundation.md). 4. Completed: add the generic console lifecycle explorer, exercised first through the artifact -> deployment -> run -> trace path, with interactive graph and raw RPC evidence. Design: [`workflow console lifecycle explorer`](superpowers/specs/2026-07-02-workflow-console-lifecycle-explorer.md). Implementation: [`workflow console lifecycle explorer plan`](historical/superpowers/plans/2026-07-02-workflow-console-lifecycle-explorer.md). Draft workspace inspection reuses the same shell after the first vertical path. Slice 1 is complete: the routed console now provides real-server capability discovery and read-only draft workspace inspection with desktop and mobile acceptance coverage. Implementation: [`workflow console workspace foundation plan`](historical/superpowers/plans/2026-08-04-workflow-console-workspace-foundation.md). Slice 2 is complete: the console now provides draft graph authoring through real mutation RPCs, schema-backed capability forms, route editing, validation diagnostics, operation evidence, and responsive graph-first mobile sheets. Design: [`draft authoring workbench`](superpowers/specs/2026-08-05-workflow-console-draft-authoring-workbench-design.md). Implementation: [`draft authoring workbench plan`](historical/superpowers/plans/2026-08-09-workflow-console-draft-authoring-workbench.md). Slice 3 is complete: selected capability steps now expose Setup, Inputs, and Outputs editing with canonical whole-list replacement, malformed-row repair gating, truthful graph binding summaries, and mobile mounted-inspector state preservation. Design: [`selected-step dataflow`](superpowers/specs/2026-08-09-workflow-console-selected-step-dataflow-design.md). Implementation: [`selected-step dataflow plan`](historical/superpowers/plans/2026-08-09-workflow-console-selected-step-dataflow.md). Planned authoring slices, in order: - Slice 4 is complete: the Discover capability playground resolves self-contained local JSON Schema `$ref` / `$defs` references and exposes the existing `workflow.capabilities.call` operation through a generated input form with typed output, diagnostics, bounded/redacted evidence, and durable inline failure receipts. Direct capability calls are isolated smoke tests, not persisted workflow runs: they create no workflow state, routes, run records, or trace frames. Implementation: [`capability playground plan`](historical/superpowers/plans/2026-08-11-workflow-console-capability-playground.md). - The console review remediation gate is complete. The final verified dispositions are recorded in [`workflow console review remediation`](historical/workflow-console-review-remediation.md). - Slice 5 is complete: composite input values extend canonical step-input bindings with a deliberate recursive literal/path expression model for arrays and objects. Start by exposing per-item Literal/Path controls in existing array editors, preserving order and schema-validating every element. Do not encode array assembly as synthetic targets such as `items.0`; retain the current simple path/literal bindings for ordinary fields. Design: [`composite input expressions`](superpowers/specs/2026-08-12-composite-input-expressions-design.md). Implementation: [`composite input expressions plan`](historical/superpowers/plans/2026-08-12-composite-input-expressions.md). - Slice 6: workflow contract graph. Add selectable Input, State, Output, and Outcomes projections with focused forms for workflow contracts, explicit outcomes, entry point, and final workflow output bindings. Add one backend-owned, node-scoped authoring contract inventory so workflow-scoped binding pickers can discover input, state, selected-step, and applicable runtime-context fields without high-level hardcoding or raw JSON hunting. The standalone capability playground remains literal-only until it has a real workflow scope. Design: [`workflow contract graph`](superpowers/specs/2026-08-14-workflow-console-contract-graph-design.md). - Slice 7: explicit End authoring and a typed Add step palette. End nodes are real stored steps; Input, State, Output, and Outcomes remain graph projections of workflow-level contracts rather than fake runtime steps. - Slice 8: typed forms for interrupt, condition/choose/match, subgraph, and foreach/join steps, built on the focused draft operations already exposed by the workflow API. - Slice 9: direct graph gestures. Typed handles and drag-to-connect lower through the same canonical route and binding mutations used by inspector forms; the graph never owns an independent editable document. 5. Completed: the web console can operate the prepared `examples/lda_report_workflow/` deployment through run start, typed `issue_review` interrupt, resume, trace, and final output inspection. 6. Completed: lifecycle autoplay, typed approval, issue-board output, and replay. Design: [`demo autoplay and replay`](superpowers/specs/2026-07-03-demo-autoplay-replay.md). Implementation: [`demo autoplay and replay plan`](historical/superpowers/plans/2026-07-03-demo-autoplay-replay.md). 7. Completed: React presentation mode foundation for the prepared workflow demo. Make the report workflow story primary, demote lifecycle evidence to supporting panels, and keep the layout usable on a 720p display. Decision: [`React presentation mode before Astro`](adr/0003-react-presentation-mode-before-astro.md). Design: [`React presentation mode`](superpowers/specs/2026-07-03-react-presentation-mode-design.md). Implementation: [`React presentation mode plan`](historical/superpowers/plans/2026-07-03-react-presentation-mode.md). 8. Completed: constrained demo agent that invokes one prepared recipe macro. This agent driver remains replay-only. A separate presentation runtime added live prepared-run activation in a later slice. Design: [`constrained demo agent`](superpowers/specs/2026-07-03-constrained-demo-agent-design.md). Implementation: [`constrained demo agent plan`](historical/superpowers/plans/2026-07-03-constrained-demo-agent.md). 9. Completed: implement the original 12-scene defense storyboard as a no-scroll 720p compositor. Later slices expanded and then consolidated the current deck to 13 scenes. Content and evidence freeze before chat replacement, visual polish, or motion tuning. Design: [`defense presentation storyboard`](historical/superpowers/specs/2026-07-04-defense-presentation-storyboard-design.md). Implementation: [`defense storyboard compositor plan`](historical/superpowers/plans/2026-07-04-defense-storyboard-compositor.md). 10. Completed: make the workflow execution handoff the visual center of Scenes 9 and 10. The canonical replay now drives an interpreted operation surface, persistent execution graph, typed interrupt contract, and raw evidence drawer. Design: [`workflow takes the stage`](historical/superpowers/specs/2026-07-05-workflow-takes-stage-visual-design.md). Implementation: [`workflow takes the stage plan`](historical/superpowers/plans/2026-07-05-workflow-takes-stage-visual.md). 11. Completed: replace whole-stage theme switching with one scalable Editorial Canvas and prove the reusable recursive Interactive Figure through Scene 6. Design: [`defense presentation storyboard`](historical/superpowers/specs/2026-07-04-defense-presentation-storyboard-design.md). Implementation: [`editorial canvas and Interactive Figure plan`](historical/superpowers/plans/2026-07-05-editorial-canvas-interactive-figure.md). 12. Completed: adapt the logical presentation canvas continuously from `4:3` to `16:9` and replace the resizing evidence drawer with a progress-row receipt and centered inspector. Design: [`adaptive presentation canvas and evidence inspector`](superpowers/specs/2026-07-05-adaptive-presentation-canvas-design.md). Implementation: [`adaptive presentation canvas plan`](historical/superpowers/plans/2026-07-06-adaptive-presentation-canvas.md). 13. Completed: address the presentation CodeRabbit review pass covering reducer state semantics, agent approval cleanup, discussion modal accessibility, figure validation, keyboard roving focus, and stale demo agent spec wording. Implementation: [`presentation CodeRabbit fixes`](historical/superpowers/plans/2026-07-08-presentation-coderabbit-fixes.md). 14. Completed: presentation chat uses source-owned AI Elements-style conversation, message, tool, and prompt-action primitives against existing `AgentMessagePart` / `TimelineAgent` contracts. Live AI SDK driver remains deferred; the current chat runs the deterministic timeline agent. Implementation: [`presentation AI chat surface`](historical/superpowers/plans/2026-07-09-presentation-ai-chat-surface.md). 15. Completed: schema approval surface for typed interrupt/resume decisions. Scene 10 and prepared-agent approval requests now render schema/payload approval UI instead of raw `{ "type": "object" }` as the primary product proof. Implementation: [`schema approval surface`](historical/superpowers/plans/2026-07-09-schema-approval-surface.md). 16. Completed: presentation chat now drives the prepared workflow timeline. The chat run action, schema approval submit/revision, graph, evidence, and live/replay execution all share `useDemoTimeline`; AI SDK remains a later driver for the same seam. Implementation: [`presentation chat timeline bridge`](historical/superpowers/plans/2026-07-09-presentation-chat-timeline-bridge.md). 17. Completed: guided run beat gates connect Scene 10 schema approval, chat approval, graph focus, and evidence transitions into one deterministic presenter sequence. Implementation: [`guided run beat gates`](historical/superpowers/plans/2026-07-09-guided-run-beat-gates.md). 18. Completed: Scene 10 guided product moment primes replay state for direct hashes and stages approval, resume, output, and trace as one readable product flow. Design: [`Scene 10 guided product moment`](superpowers/specs/2026-07-09-scene-10-guided-product-moment-design.md). Implementation: [`Scene 10 guided product moment plan`](historical/superpowers/plans/2026-07-09-scene-10-guided-product-moment.md). 19. Completed: presentation live/replay truth surface distinguishes reviewed replay evidence, live target readiness, live active run state, and replay fallback. Design: [`presentation live/replay truth`](superpowers/specs/2026-07-09-presentation-live-replay-truth-design.md). Implementation: [`presentation live/replay truth plan`](historical/superpowers/plans/2026-07-09-presentation-live-replay-truth.md). 20. Completed: Scene 10 now presents factual run state: workflow input, interrupt payload, operator resume decision, output, and trace frame facts. The live workflow contract supports a same-run negative outcome; the current prepared revision recording uses a separate run identity and is documented as a factual follow-up. Implementation: [`Scene 10 factual run state`](historical/superpowers/plans/2026-07-09-scene-10-factual-run-state.md). 21. Completed: presentation lifecycle story expansion splits the demo climax into prepared lifecycle, run start, typed human boundary, and resume/output/evidence scenes so Draft -> Artifact -> Deployment -> Run is visible before the run inspector details. Design: [`presentation lifecycle story expansion`](historical/superpowers/specs/2026-07-09-presentation-lifecycle-story-expansion-design.md). Implementation: [`presentation lifecycle story expansion plan`](historical/superpowers/plans/2026-07-09-presentation-lifecycle-story-expansion.md). 22. Completed: presentation demo proof composition makes scenes 9-12 factual and readable: the workflow graph reflects the prepared plan, approval shows input/interruption/decision only, and resume/output/trace expose scroll-contained proof panes. Implementation: [`presentation demo proof composition`](historical/superpowers/plans/2026-07-09-presentation-demo-proof-composition.md). 23. Future: presenter companion and defense evidence assets. 24. Add a static slide/appendix shell only after presentation mode is clear. Astro remains an option, not the default next surface. 25. Completed: presentation agent authoring story creates a canonical prepared authoring recording, Scene 7 as an authentic single-beat full-screen conversation, and Scene 8 as a 6-beat lifecycle with route-level coverage that never calls workflow authoring RPC operations during Scene 8 navigation. Implementation: [`presentation agent authoring story`](historical/superpowers/plans/2026-07-11-presentation-agent-authoring-story.md). 26. Completed: compress Scene 10 typed approval and Scene 11 resume/output/trace evidence into a decision-led, continuation-led presentation, and restore live prepared-run activation against the configured JSON-RPC target. Implementation plan: [`Scene 11-12 evidence and live activation`](historical/superpowers/plans/2026-07-11-scene-11-12-live-evidence.md). Presentation visual audit, July 11: - Baseline-good: Scenes 3, 4, and 5 are good enough for now. Do not churn them unless a later rehearsal exposes a concrete problem. - Completed: Scene 1 introduces the agent-shaped product goal through `Planner -> Tool surface -> Runner / platform`, then identifies the last role as the implemented contribution. Scene 2 remains responsible for the automation problem. Scenes 2, 6, and 7 retain their concrete focal artifacts, and Scenes 7-9 share a prepared authoring/run spine. Implementation: [`presentation opening title`](historical/superpowers/plans/2026-07-11-presentation-opening-title.md). - Completed: Scenes 10-11 now use decision-led approval, continuation-led resume/output, and compact factual trace rows so approval, resume, output, and trace remain factual without competing panels or repeated low-signal values. A healthy prepared target remains live; failed health probes switch the presentation back to the offline recording. - Completed: Scenes 12 and 13 now close with a bounded evaluation board, contribution boundary/future-work map, and canonical defense-question index. ## Completed: Presentation Recomposition And Authoring Story Scenes 7 and 8 now present an external-agent request through a scripted presentation surface and factual prepared-authoring proof. Scene 7 is one local request-to-first-turn beat; its obsolete `/handoff` route fails closed. Scene 8 keeps a persistent prepared assistant pane beside six factual phase visuals in an adaptive approximately 26/74 split. The obsolete receipt/trace modal and lower chat dock were removed. Plans: [`presentation agent authoring story`](historical/superpowers/plans/2026-07-11-presentation-agent-authoring-story.md) and [`Scene 9 assistant pane`](historical/superpowers/plans/2026-07-12-scene-9-assistant-modal.md). The staged message-box completion is recorded in [`Scene 9 staged message box`](historical/superpowers/plans/2026-07-12-scene-9-staged-message-box.md). Recommended next visual slices: 1. Completed: Opening visuals rebuilt Scenes 1 and 2 around concrete diagrams for "AI-agent pursuit -> workflow substrate" and "direct actions are not reusable automation". Design: [`presentation opening visuals`](superpowers/specs/2026-07-10-presentation-opening-visuals-design.md). Implementation: [`presentation opening visuals plan`](historical/superpowers/plans/2026-07-10-presentation-opening-visuals.md). 2. Completed: Presentation coherence pass added a 13-scene visual matrix, corrected Scene 2's direct-action metaphor into a chat/tool transcript, and marked demo beats with primary/support surface metadata so Scenes 7-11 can keep one dominant product proof at a time. Implementation: [`presentation coherence pass`](historical/superpowers/plans/2026-07-10-presentation-coherence-pass.md). 3. Completed: Scene 2 visual craft pass made the one-off side read as a chat/tool transcript and the reusable side read as a durable workflow blueprint, while preserving simple vocabulary and 720p readability. Implementation: [`Scene 2 tool-loop visual craft`](historical/superpowers/plans/2026-07-10-scene-2-tool-loop-visual-craft.md). 4. Completed: guided proof scene composition cleanup made approval, resume, output, and trace beats read as product evidence without chat competing for space. Implementation: [`guided proof scene composition cleanup`](historical/superpowers/plans/2026-07-10-guided-proof-scene-composition-cleanup.md). 5. Completed: Evidence and closing visuals make Scenes 12 and 13 readable as a defense artifact: bounded evaluation board, claim boundaries, future-work map, and canonical examiner-question index. Design: [`presentation evaluation and closing`](superpowers/specs/2026-07-10-presentation-evaluation-closing-design.md). Implementation: [`presentation evaluation and closing plan`](historical/superpowers/plans/2026-07-10-presentation-evaluation-closing.md). 6. Completed: Presentation agent authoring story rebuilds Scenes 7 and 8 as a scripted surface representing an external-agent handoff and factual prepared-authoring proof. Implementation: [`presentation agent authoring story plan`](historical/superpowers/plans/2026-07-11-presentation-agent-authoring-story.md). 7. Completed: Scene 1 now introduces the agent-shaped product goal through `Planner -> Tool surface -> Runner / platform`, then identifies the last role as the implemented contribution. Scene 2 remains responsible for the automation problem. Implementation: [`presentation opening title`](historical/superpowers/plans/2026-07-11-presentation-opening-title.md). 8. Completed: harden the live/replay defense rehearsal path with visible live start readiness, submitted and revision-requested outcome evidence, deterministic replay fallback, current deep links, and reset instructions. The live contract is same-run; the prepared revision branch uses a separate recording and is disclosed in the rehearsal log. Implementation: [`defense presentation rehearsal`](historical/superpowers/plans/2026-07-12-defense-presentation-rehearsal.md). 9. Completed: Scenes 7-9 now use one dominant factual artifact per beat on the Editorial Canvas: authoring/repair evidence, a scripted light agent chat, and a light prepared lifecycle canvas with synchronized secondary chat. Implementation: [`Scenes 7-9 editorial focal proof`](historical/superpowers/plans/2026-07-12-scenes-7-9-editorial-focal-proof.md). 10. Completed: revise the remaining visual outliers only when a screenshot identifies a concrete hierarchy, overflow, or factual-readability problem. Implementation: [`presentation follow-up visual/story pass`](historical/superpowers/plans/2026-07-13-presentation-followup-visual-story-pass.md). ## Next: Scene 7–13 Defense Recomposition The next presentation work is intentionally split into six implementation slices followed by a rehearsal gate. The broader story-flow review remains a separate activity after these surfaces are stable. 1. **Completed: Scene 8 chat entry:** replaced the standalone run button with a full-screen assistant-style chat entry. The local composer/send action reveals the first prepared authoring conversation without starting a workflow run. Implementation: [`Scene 8 chat entry`](historical/superpowers/plans/2026-07-12-scene-8-chat-entry.md). 2. **Completed: Scene 9 staged message box:** kept one message box visible across Discover, Draft, Validate, Artifact, and Deployment; Draft and Artifact Send advance the prepared lifecycle while preserving edited user turns, and Deployment Send records a truthful local run request without execution or RPC. Implementation: [`Scene 9 staged message box`](historical/superpowers/plans/2026-07-12-scene-9-staged-message-box.md). The boundary is explicit: the compact demo footer may start the prepared run from Scenes 7–11, while Scenes 9–11 own run, decision, resume, output, and trace evidence. 3. **Completed: Live/replay truth and run activation:** the compact footer rail across Scenes 7–11 exposes the prepared-run action, retries the existing health probe, starts live execution explicitly, and keeps direct links and failed services on truthful replay evidence. Scene 9 remains the semantic start of execution evidence. Implementation: [`presentation live/replay activation`](historical/superpowers/plans/2026-07-12-presentation-live-replay-activation.md). 4. **Completed: Scene 11 compression:** reduce the typed-human-boundary scene to two beats: interrupt context and approval decision. Cancellation remains a decision outcome rather than a near-duplicate presentation beat. Implementation plan: [`Scene 11 decision beat compression`](historical/superpowers/plans/2026-07-12-scene-11-decision-beat-compression.md). 5. **Completed: Scene 10 factual proof and graph composition:** the factual graph, selected input files, and proof layout are now implemented. The completed plan is [`Scene 10 factual graph and proof layout`](historical/superpowers/plans/2026-07-12-scene-10-factual-graph-and-proof-layout.md). File-preview rendering remains explicitly deferred as a separate follow-up. 6. **Completed: presentation demo-chrome ownership:** Scenes 7–11 share one route-projected footer rail for run, replay fallback, retry, paused, and terminal states. Design: [`presentation demo-chrome ownership`](superpowers/specs/2026-07-12-demo-chrome-ownership-design.md). Implementation: [`presentation demo-chrome ownership plan`](historical/superpowers/plans/2026-07-12-presentation-demo-chrome-ownership.md). 7. **Completed: visual scale and color pass:** removed unwanted blue from Scenes 2 and 13, shorten Scene 2's two-column composition, enlarge the focal diagrams in Scenes 7, 8, 12, and 13, separate Diagnose from Repair visuals, and improve Scene 1 title-box padding and contrast. Design: [`presentation visual scale and color pass`](historical/superpowers/specs/2026-07-12-presentation-visual-scale-color-pass-design.md). Implementation: [`presentation visual scale and color pass plan`](historical/superpowers/plans/2026-07-12-presentation-visual-scale-color-pass.md). 8. **Completed: defense rehearsal gate:** all 13 scenes have paired `1280x720` and `1024x768` replay captures, and the rehearsal matrix, log, and story audit are recorded. The live end-to-end path remains blocked, the prepared revision branch has a separate recorded run identity, and the full web test gate passes after route-contract stabilization. Historical implementation plan: [`defense rehearsal gate`](historical/superpowers/plans/2026-07-13-defense-rehearsal-gate.md). Route matrix: [`presentation rehearsal matrix`](runbooks/presentation-rehearsal-matrix.md); Story-flow audit: [`presentation story audit`](runbooks/presentation-story-audit.md); dated evidence: [`presentation rehearsal log`](runbooks/presentation-rehearsal-log.md). 9. **Completed: factual input file browser:** Scene 9 presents the run-selected documents as a read-only browser with selectable prepared-fixture Markdown excerpts and a separately labelled output destination. The preview states that it is not execution evidence; the UI does not claim per-file reads because the current trace recording does not expose them. 10. **Completed: presentation follow-up visual/story pass:** clarified Scene 1 and the lifecycle-to-authoring narrative, gave Scenes 7 and 8 a stronger dominant artifact, made the Scene 9 graph easier to present, and densified Evaluation and Conclusion beats without inventing evidence. The dated review records the remaining factual input-browser, live-E2E, and full screenshot-inspection follow-ups: [`presentation follow-up visual review`](runbooks/presentation-followup-visual-review.md). Implementation plan: [`presentation follow-up visual/story pass`](historical/superpowers/plans/2026-07-13-presentation-followup-visual-story-pass.md). 11. Completed: presenter speech and live documentation reconciliation. The typed catalog, live runbooks, README, and active contracts use the consolidated 13-scene story. The audience route passed the 1280x720, 1024x768, and 1920x1080 browser gate, including the six-step lifecycle, right-column discussion rail, and optional NodeUse deep link. Implementation: [`consolidated authoring story`](historical/superpowers/plans/2026-07-13-consolidated-authoring-story.md). Presentation wishlist / defense readiness: ### Completed: Simpler Speech 1. Completed: gave every beat one audience goal and one to three anchor terms, then simplified the timed presenter path through Scenes 1-8 to one suggested sentence per beat. Keep essential vocabulary such as Workflow API and lifecycle record names, while moving detailed qualification into optional notes or Q&A. The current catalog contains a 9:27 must-say path with a 500-700 word budget and a 10:42 complete-deck target. Implementation: [`defense speech simplification`](historical/superpowers/plans/2026-07-13-defense-speech-simplification.md). ### Completed: Factual Scene 8 Evidence Scene 8 now presents six factual reviewed evidence variants. Diagnose records `missing_outcome_edge` at `nodes[analyze]` in revision 3; Repair records the exact `wf draft set-route lda_report_workflow --revision 3 --step analyze --outcome ok --to __end__` command and a valid revision 4 result with zero diagnostics. Direct-hash route assertions cover the Diagnose and Repair beats. Implementation: [`Scene 8 product evidence`](historical/superpowers/plans/2026-07-13-scene-8-product-evidence.md). Design: [`defense speech and Scene 8 product evidence`](superpowers/specs/2026-07-13-defense-speech-and-scene-8-evidence-design.md). ### Completed: Distance-Readable Scene 8 Diagrams Each prepared lifecycle beat now gives its primary meaning to a large diagram: source discovery, one continuous Draft/Diagnose/Repair workflow graph, artifact freezing, and deployment binding. Exact reviewed commands, diagnostics, IDs, and counts remain available as compact secondary receipts. Dagre reserves graph ranks for route-state labels, while React Flow refits after scene-column resize. Implementation: [`authoring lifecycle diagram pass`](historical/superpowers/plans/2026-07-14-authoring-lifecycle-diagram-pass.md). - Completed: visual pass for Scenes 6, 7, and 10 fixed architecture figure scale, authoring-loop clarity, interrupt/evidence emphasis, and presenter-note treatment. Implementation: [`defense presentation visual pass`](historical/superpowers/plans/2026-07-08-defense-presentation-visual-pass.md). - Next presentation visual slices: 1. Completed: contrast and readability fix pass repaired dark-on-dark text in the Scene 7 authoring loop and the Scene 10 chat rail, and ignored local `.visual-smoke/` screenshots. Implementation: [`presentation contrast readability`](historical/superpowers/plans/2026-07-08-presentation-contrast-readability.md). 2. Completed: surface theme normalization pass made light chat, discussion modals, and Q&A branches use the same editorial presentation surface. Implementation: [`presentation surface theme normalization`](historical/superpowers/plans/2026-07-08-presentation-surface-theme-normalization.md). 3. Completed: scene composition pass expanded the positioning map, planner/runtime boundary, lifecycle rail, and Scene 10 demo graph/contract readability. Implementation: [`presentation scene composition`](historical/superpowers/plans/2026-07-08-presentation-scene-composition.md). 4. Completed: alignment/layout polish fixed Scene 6 figure dimensions, settled React Flow fitting, Scene 3 chip/evidence collision, narrow chat rail behavior, and Scene 10 smoke route. Implementation: [`presentation alignment and layout polish`](historical/superpowers/plans/2026-07-08-presentation-alignment-layout-polish.md). 5. Completed: demo climax craft pass made Scenes 9 and 10 read as one continuous product demonstration from agent handoff, to persisted run, to typed interrupt, to resume/output/evidence. Implementation: [`demo climax craft pass`](historical/superpowers/plans/2026-07-08-demo-climax-craft-pass.md). 6. Completed: demo product proof layout pass hid chat during graph-heavy beats, kept workflow graph nodes in frame, added run-proof labels inside the graph, and cleared outcome panels below the receipt row. Implementation: [`demo product proof layout`](historical/superpowers/plans/2026-07-09-demo-product-proof-layout.md). 7. Completed: demo interrupt layout focus pass made approval/interrupt beats contract-first, reduced the graph to compact context where appropriate, and removed the remaining three-column crowding. Implementation: [`demo interrupt layout focus`](historical/superpowers/plans/2026-07-09-demo-interrupt-layout-focus.md). 8. Completed: discussion craft pass replaced detached branch chips with a presenter question rail and rebuilt Q&A modals around answer, provenance, and presenter-note hierarchy. Implementation: [`presentation discussion craft`](historical/superpowers/plans/2026-07-09-presentation-discussion-craft.md). 9. Completed: discussion modal composition pass made Q&A and context-only routes stage-aware, with body/support/action regions instead of plain document cards. Implementation: [`presentation discussion modal composition`](historical/superpowers/plans/2026-07-09-presentation-discussion-modal-composition.md). 10. Completed: Scene 10 guided product moment primes replay state for direct hashes and stages approval, resume, output, and trace as one readable product flow. Design: [`Scene 10 guided product moment`](superpowers/specs/2026-07-09-scene-10-guided-product-moment-design.md). Implementation: [`Scene 10 guided product moment plan`](historical/superpowers/plans/2026-07-09-scene-10-guided-product-moment.md). 11. Completed: presentation demo proof composition makes scenes 9-12 factual and readable: the workflow graph reflects the prepared plan, approval shows input/interruption/decision only, and resume/output/trace expose scroll-contained proof panes. Implementation: [`presentation demo proof composition`](historical/superpowers/plans/2026-07-09-presentation-demo-proof-composition.md). 12. Completed: hardened the replay/live evidence handoff so the trace beat consistently renders canonical frames without stale or empty state. Implementation: [`presentation evidence handoff`](historical/superpowers/plans/2026-07-11-presentation-evidence-handoff.md). 13. Completed: deck hierarchy pass gave Scenes 1, 2, 6, 7, 8-12, and 13-14 one focal artifact per beat, reused factual authoring/demo projections, kept one editorial canvas, and froze Scenes 3-5. Implementation: [`defense deck hierarchy pass`](historical/superpowers/plans/2026-07-11-defense-deck-hierarchy-pass.md). - Presenter runbook: [`defense presentation runbook`](runbooks/defense-presentation.md) covers exact URLs, keyboard controls, live RPC/demo fallback steps, story spine, timing, and short speaker notes for what to say if the live demo fails. [`defense speech and claim audit`](runbooks/defense-speech-and-claim-audit.md) provides the current 9:27 speech plus navigation buffer, evidence qualifications, and prioritized 12-minute Q&A. Completed: [`defense story reweighting`](historical/superpowers/plans/2026-07-13-defense-story-reweighting.md) now provides a typed 39-beat presenter-note catalog, a 500-700-word must-say path, evidence warnings, and a 10:42 complete-deck timing contract. Completed: [`interactive graphs and Scenes 3-6 choreography`](historical/superpowers/plans/2026-07-13-scenes-3-6-kernel-choreography.md) adds restrained Scene 3-5 choreography, a semantic-zoom architecture map, the readable `wf_core` and NodeUse figures, and a factual prepared-run graph inspector. Completed: [`read-only presenter route`](historical/superpowers/plans/2026-07-13-read-only-presenter-route.md) provides a static speech, evidence, timing, fallback, and Q&A reader without RPC, replay, or audience-window synchronization. - Defense Q&A branch set: [`defense Q&A runbook`](runbooks/defense-qna.md) collects answers for "Where is the AI agent?", evaluation validity, security boundaries, demo reliability, and other likely examiner questions. Completed projection into `/present` discussion branches: [`defense Q&A branch projection`](historical/superpowers/plans/2026-07-08-defense-qna-branch-projection.md). - Chat surface replacement: make the prepared demo agent feel operable from a real chat surface, not from custom slide chrome. The chat should own the "run prepared agent" affordance, render tool calls/results with a standard modern AI-app vocabulary, and expose approval requests as normal chat events that can also drive presentation actions. - Completed: guided run beat gates connect Scene 10 schema approval, chat approval, graph focus, and evidence transitions into one deterministic presenter sequence. Implementation: [`guided run beat gates`](historical/superpowers/plans/2026-07-09-guided-run-beat-gates.md). - Completed: Scene 10 guided product moment removes delayed direct-link readiness and gives approval, resume, output, and trace one dominant proof surface each. Design: [`Scene 10 guided product moment`](superpowers/specs/2026-07-09-scene-10-guided-product-moment-design.md). Implementation: [`Scene 10 guided product moment plan`](historical/superpowers/plans/2026-07-09-scene-10-guided-product-moment.md). - Completed: presentation lifecycle story expansion makes the demo climax less run-only by adding explicit prepared lifecycle scenes before the run, interrupt, output, and trace proof. Design: [`presentation lifecycle story expansion`](historical/superpowers/specs/2026-07-09-presentation-lifecycle-story-expansion-design.md). Implementation: [`presentation lifecycle story expansion plan`](historical/superpowers/plans/2026-07-09-presentation-lifecycle-story-expansion.md). - Evidence assets and rehearsal timing: prepare fallback screenshots/recordings, expected run states, and a timed walkthrough checklist for a 15-minute defense. - Completed: LAN presentation synchronization pairs `/present` and `/presenter` through an ephemeral bidirectional room with uniform code/QR/URL pairing, revision-ordered location updates, reconnect behavior, and explicit presenter termination. Public-internet TLS is not part of the first slice: [`LAN presentation synchronization design`](superpowers/specs/2026-07-14-lan-presentation-sync-design.md). Implementation: [`LAN presentation synchronization plan`](historical/superpowers/plans/2026-07-14-lan-presentation-sync.md). Boundaries: this is not a production admin panel, generic visual workflow editor, scheduler, external Google Drive/mail integration, or benchmark evidence for free-form autonomous planning. ## Priority 1: Product Smoke And Status UX The platform is usable enough to test as a product. Next work should focus on clear operator feedback before adding more architecture. - Completed: `wf status` is a compact read-only target/server status command, including durable run counts and the latest run summary when available. - Completed: a real CLI smoke pass against `wf-rpc-server --config wf.config.json` is captured in [`2026-06-09 product smoke RPC CLI`](superpowers/research/2026-06-09-product-smoke-rpc-cli.md). - Completed: `wf artifact inspect` now accepts `--version` as an alias for the positional version argument. - Completed: `wf artifact delete --confirm` deletes unreferenced artifact versions and rejects versions still referenced by deployments. Implementation: [`wf artifact delete`](historical/superpowers/plans/2026-06-09-wf-artifact-delete.md). - Completed: `wf draft delete --confirm` exposes existing draft workspace deletion as a safe CLI command. Implementation: [`wf draft delete CLI/RPC`](historical/superpowers/plans/2026-06-09-wf-draft-delete-cli-rpc.md). - Completed: bounded RPC CLI smoke runbook with cleanup commands: [`RPC CLI smoke runbook`](runbooks/rpc-cli-smoke.md). - Completed: automated RPC CLI smoke example: [`RPC CLI smoke example`](historical/superpowers/plans/2026-06-09-rpc-cli-smoke-example.md). - Completed: `cap call` output is safer for humans through compact/text modes without changing default JSON semantics. Implementation: [`cap call output safety`](historical/superpowers/plans/2026-06-09-cap-call-output-safety.md). - Completed: raw JSON/YAML workflow plans can be turned into artifacts through JSON-RPC and `wf artifact create-from-plan`, allowing agent/evidence harnesses to use the product-facing CLI path. - Completed: the opencode browser-click challenge harness is local-first via `wf --config examples/browser_click_workflow/wf.config.json --local`, with optional `--start-server` / `--server-url` modes for JSON-RPC-path trials. - Completed: focused draft edit helpers are exposed through RPC/CLI, and `wf deploy create` is accepted as an alias for `wf deploy save`. Docs now distinguish draft shape from raw plan shape for agent authoring. - Completed: capability-free draft lifecycle authoring now spans the Python API, JSON-RPC, remote client, and `wf` CLI. Callers can create an empty revisioned workspace, set its entry point, and replace whole workflow schemas or outcomes without RFC 6902 patches. Implementation: [`draft workspace lifecycle authoring`](historical/superpowers/plans/2026-07-21-draft-workspace-lifecycle-authoring.md). - Completed: semantic draft edits now gate workspace and capability preflight on the expected revision, so stale callers consistently receive `revision_conflict` while the patch path retains its mutation-time race guard. Implementation: [`draft semantic revision precedence`](historical/superpowers/plans/2026-07-22-draft-semantic-revision-precedence.md). - Completed: focused draft bind and capability-step insertion now preserve nested node-local paths and project nested capability schemas through one shared bounded JSON Schema path module. CLI and agent guidance distinguish rooted bind endpoints from implied rootless map targets. Implementation: [`nested local draft bindings`](historical/superpowers/plans/2026-07-22-nested-local-draft-bindings.md). - Completed: `wf draft set-input` and `wf draft set-output` now accept `--merge`, preserving existing bindings when agents split map edits across multiple revisions. - Completed: `wf schema` now lists workflow document/component models, emits compact JSON outlines for agent discovery, and emits valid self-contained JSON Schema with `--verbose`. - Completed: `wf draft bind --from ... --to ...` composes input/state/output schema projection with step binding merge, replacing the prior narrower output-to-state helper and reducing manual draft patch repairs in agent challenge runs. - Completed: draft CLI vocabulary now uses `wf draft create --capability` and the typed `wf draft add ` command tree. All nine draft step kinds have dedicated commands; capability insertion retains schema projection, while interrupt and subgraph commands preserve their explicit boundary contracts. Generic insertion is exposed through Python and JSON-RPC with atomic incoming and outgoing route wiring. Implementation: [`generic draft step authoring`](historical/superpowers/plans/2026-07-20-generic-draft-add-step.md). - Completed: `wf draft branch` and `wf draft handle` provide atomic route editing for existing draft steps without rewriting the full routes object. - Completed: `wf draft compile` returns the compiled raw plan plus required capabilities without mutating or saving the draft workspace. - Completed: draft validation now preserves structured core validation issues and adds exact `wf draft bind` repair hints for missing state fields. - Completed: `wf explain` now covers draft/workflow validation codes such as `unknown_edge_destination`, `invalid_source_path`, and `patch_invalid`. Implementation plan: [`draft explain diagnostics`](historical/superpowers/plans/2026-06-28-explain-draft-diagnostics.md). - Completed: draft workspaces can persist invalid intermediate route states, allowing agents to add missing target steps before final validation/save. Implementation: [`invalid intermediate draft authoring`](historical/superpowers/plans/2026-06-28-draft-invalid-intermediate-authoring.md). - Completed: draft workspaces expose focused remove commands for routes, steps, and step bindings so agents can recover from bad edits without raw JSON Patch. Implementation: [`draft remove commands`](historical/superpowers/plans/2026-06-28-draft-remove-commands.md). - Completed: `wf draft set-workflow-output` and full-stack API/RPC/CLI support for editing top-level workflow output bindings. The compatibility map adapter remains available for existing callers. Implementation: [`set-workflow-output API/RPC/CLI`](historical/superpowers/plans/2026-06-29-set-workflow-output.md). - Completed: canonical workflow-output replacement now preserves ordered path/value bindings across Python, JSON-RPC, MCP, and CLI; nested input/state sources can project missing output schemas, while literals and `context.*` require declared targets. Empty replacement restores implicit same-name state fallback; compatibility `--merge --map` remains intentionally lossy. Implementation: [`atomic workflow output bindings`](historical/superpowers/plans/2026-07-23-atomic-workflow-output-bindings.md). - Completed: compatibility map merges now reject canonical input/output bindings they cannot preserve, and local or remote CLI users can export an exact draft document and revision-check its import into an existing workspace. Structurally valid imports receive fresh semantic diagnostics and remain repairable when invalid. Implementation: [`safe compatibility merges`](historical/superpowers/plans/2026-07-29-safe-compatibility-merges.md) and [`draft document transfer`](historical/superpowers/plans/2026-07-29-draft-document-transfer.md). - Completed: challenge-driven output UX polish makes `set-workflow-output` project missing top-level output schema fields from declared `input.*` and `state.*` sources, and challenge prompt templates now always include `ux_issues_found: []` so debug-profile reports do not fail by omission. - Completed: `wf draft bind` now reuses existing workflow input/state schema fields when binding to step-local inputs, avoiding redundant-schema failures found by debug challenge runs. Implementation: [`idempotent draft bind inputs`](historical/superpowers/plans/2026-06-29-idempotent-draft-bind-inputs.md). - Keep status read-only; do not mutate registry, auth, config, or stores. ## Priority 2: Durable Run/Resume Hardening The v1 durable run and resume path exists, including persisted interrupted runs, bounded trace reads, dependency revalidation, and process-rebuild resume tests. Remaining hardening should focus on correctness under real server use. - Completed: same-process `resume_run` calls are serialized per run id. Implementation: [`resume run concurrency guard`](historical/superpowers/plans/2026-06-09-resume-run-concurrency-guard.md). - Completed: store-level locking/transaction expectations are documented for current file stores and future transactional stores: [`store transaction boundary`](superpowers/specs/2026-06-09-store-transaction-boundary.md). - Completed: paged `wf run list` exposes compact persisted stopped-run summaries without trace or checkpoint state. Implementation: [`run list API/RPC/CLI`](historical/superpowers/plans/2026-06-11-run-list-api-rpc-cli.md). - Preserve existing semantics: broken pinned dependencies return blocked readiness and diagnostics; ordinary live tool/source failures are failed runs, not implicit pauses. - Active specs: - [`persisted run/resume contract`](superpowers/specs/2026-06-03-persisted-run-resume-contract.md) - [`durable workflow runs and resume`](superpowers/specs/2026-05-26-durable-workflow-runs-and-resume-design.md) ## Priority 3: Source/Auth/Config Polish Source registry, neutral MCP source config, role-specific stores, and local/dev auth admin are implemented. The next work is polish, not new broad surfaces. - Keep config bootstrap separate from mutable store-backed source registry state. - Keep auth payload values write-only; display summaries must show metadata and payload keys only. - Keep role-specific stores filesystem-only until a real SQL/secret-manager slice is planned. - New source families should follow the generic runtime source lifecycle rather than being forced through MCP `ConnectionConfig`: [`runtime source lifecycle`](superpowers/specs/2026-06-09-runtime-source-lifecycle.md). - Completed: static config `kind: "python"` sources can load trusted local `NodeSpec` registries and expose them through WorkflowServer. Implementation: [`static Python sources`](historical/superpowers/plans/2026-06-11-static-python-sources.md). - Completed: `wf config validate` preflights neutral workflow config files, including config-relative path resolution and trusted static Python source imports. MCP sources are shape-validated only; live upstream checks remain a server/status concern. - Completed: Python source operator docs and RPC integration coverage now prove `ops.py` source config, capability call, draft artifact creation, deployment, and workflow run. Runbook: [`Python source`](runbooks/python-source.md). - Completed: static source inventory providers now have an explicit `WorkflowSourceProvider.load_sources()` seam in `wf_server`, and Python source loading is behind `PythonSourceProvider`. - Completed: `wf --local --config ` now composes configured neutral server sources in-process instead of falling back to built-in static sources only. `--local` is process-local server composition, not local-only source transports or shared in-memory source sessions. - Completed: server startup policy moved to `wf_server.cli`; JSON-RPC HTTP remains in `wf_transport_rpc_http`: [`server CLI and transport boundary`](superpowers/specs/2026-06-10-server-cli-transport-boundary.md). - Next auth work: typed/discriminated auth records and source-owned auth binders (`McpAuthBinder` first) are now completed. Remaining: Google Drive MCP smoke through `https://drivemcp.googleapis.com/mcp/v1` (manual/local-only, requires Google OAuth client credentials). OAuth refresh-token support and provider profiles are now implemented. Production secret manager integration and encrypted-at-rest file format remain deferred. - Completed source auth diagnostics: `wf source diagnose ` now reports transport/auth/catalog state without exposing secret payloads. - Completed source provider docs: `docs/source_provider_guide.md` now covers MCP HTTP, MCP stdio, Python sources, auth refs, OAuth refresh-token setup, diagnostics, and the Google Drive MCP caveat. - Completed platform source policy: documented fixed-id sources such as `wf.std` and `wf.source` are platform sources. They resolve by fixed source id, do not require self-bindings, and legacy explicit self-bindings such as `wf.std=wf.std` are accepted as no-op compatibility. Deployment validation still rejects non-self platform-source bindings as stale configuration. Other `wf.*` namespaces are described by their own source docs/policies. - Completed `wf.source.read_resource`: resource refs are inert pass-by-value data using `logical_source`; explicit platform helper nodes dereference them through runtime/platform context with bounded output. - Completed source inventory CLI polish: `wf source resources` and `wf source prompts` list source-owned resource/prompt names without fetching content. - Active specs: - [`workflow config targets and sources`](superpowers/specs/2026-06-03-workflow-config-targets-and-sources.md) - [`store-backed source registry`](superpowers/specs/2026-06-03-store-backed-source-registry-design.md) - [`runtime source lifecycle`](superpowers/specs/2026-06-09-runtime-source-lifecycle.md) - [`server CLI and transport boundary`](superpowers/specs/2026-06-10-server-cli-transport-boundary.md) - [`auth/source secrets boundary`](superpowers/specs/2026-06-06-auth-source-secrets-boundary.md) ## Priority 4: MCP Package Split Finish Line `wf_sources_mcp` now owns upstream MCP source implementation pieces: ids, registry DTOs, auth/catalog stores, discovery/catalog DTOs, SDK adapter/facade, runtime pool, schema helpers, tool events, wrappers, and adapter lookup. Next split work should be selective: - Avoid new dependencies on the combined `wf_mcp` facade from durable server or transport packages. - Keep `wf_mcp` compatibility shims until callers are retired deliberately. - Move only pieces with clear package ownership. Do not move proxy/UI/App metadata support into workflow transports by accident. - MCP UI/App metadata remains source/proxy metadata only; do not advertise MCP Apps/widget support through durable workflow transports yet. ## Priority 5: Runtime/Core Polish Later Core runtime foundations for native subgraphs, concurrent foreach, lineage state, and durable stopped-run resume exist. Return here after product/server UX is stable. - Native subgraph polish: optional per-use-site child deployment overrides and clearer child trace inspection. - Concurrent foreach polish: reuse barrier/lineage machinery for future fork/gather. - Protocol-native progress: investigate MCP tasks/progress or WebSocket/SSE only after polling `wf run watch` proves insufficient. - OpenAPI sources: continue from [`openapi capability sources`](openapi_capability_source.md) when a real non-MCP source is needed. ## Recently Completed Platform Milestones - Completed: the composed Python OpenRPC contract now has a checked, transport-neutral manifest with a deterministic drift gate. Design: [`workflow contract manifest design`](superpowers/specs/2026-08-01-workflow-contract-manifest-design.md). Artifact: [`workflow-api.manifest.json`](../contracts/workflow-api.manifest.json). - Completed: `@lda/workflow-rpc` generates all 70 wire operation names plus raw parameter/result types from the checked manifest. The generated artifact has its own deterministic drift check and proves the 16 authored Effect RPCs are a subset without broadening browser authorization. - Completed: a fail-closed representative JSON Schema-to-Effect translator handles constrained primitives, objects, arrays, `anyOf`, local references, and structurally guarded recursive synthetic schemas, with representative checked-manifest coverage. Unsupported union and conditional semantics remain typed translation failures. No runtime RPC or browser authorization behavior changed; runtime TypeScript parity is not complete. - Completed: a test-only parity harness translates all 32 payload/result sides of the 16 authored Effect RPCs. Health, sources, artifacts, deployments, and run-list fixtures agree; eight bidirectional result mismatches are pinned for the current representative run inspect/start/resume interrupt fixtures and the compact run-trace envelope/frame shape. No runtime decoder or browser authorization behavior changed. - Completed: all 16 current Effect RPCs now use generated runtime decoders from the checked manifest. Run inspect/start/resume use the complete persisted interrupt contract; run trace uses the full run envelope and canonical frame identifiers. The checked generator embeds only those operation schemas and reachable components, and a 64-container guard rejects adversarial request or response nesting before recursive JSON decoding. The authored browser allowlist remains unchanged. - Completed: duplicated Effect-client operation-name unions and guards now come from the authored operation metadata registry, with every name checked against the generated 70-operation inventory. The Hono browser proxy retains an independently authored, typed 16-operation allowlist so future client expansion does not broaden browser authorization implicitly. - `WorkflowApiSurface` is the protocol-neutral workflow operation contract. - `wf_transport_rpc_http` exposes local/static and MCP-backed `WorkflowServer` over JSON-RPC HTTP. - `wf` can target local or remote workflow APIs for capability discovery, draft authoring, artifact/deployment operations, run, inspect, bounded trace, resume, and `cap call`. - Desired source registry reads, mutations, and explicit apply/reload are exposed through JSON-RPC and CLI. - Neutral `wf_config` can express MCP sources, role-specific filesystem stores, and client/server target separation. - `wf config migrate-mcp` converts legacy broker configs to neutral workflow config without mutating the original. - `McpRuntimePool` is shared for stateful upstream MCP operations and has JSON-RPC E2E coverage proving session reuse across workflow runs. - `wf run watch` provides polling-based progress UX. - CLI expected errors are compact by default; `wf --verbose ...` preserves raw tracebacks for debugging. - Completed thesis case-study evidence bundle: `examples/report_workflow/` provides a deterministic report workflow with Python source, fixture input, config, runbook, and tests. - Completed thesis system-design draft: `docs/thesis/system-design-implementation.md` now frames the platform as a formal system design/implementation report backed by `docs/thesis/evidence-index.md` and the report-workflow case study. - Completed supplemental browser-click workflow example with serial multi-node lifecycle evidence. - Completed: an opencode browser-click challenge harness captures external agent trials against the deterministic browser-click workflow example without changing product runtime code. The old staged-server modes were replaced by per-trial local configs in the generic V2 harness. - Completed: `skills/`, runbooks, and challenge prompt templates are treated as the agent instruction layer. Challenge reports now track when trials rely on product code, prior stores, adjacent attempts, or existing example solutions. - Completed: workflow/CLI agent instructions now form an explicit copyable bundle for controlled challenge profiles, use `wf schema` for public shape discovery, and avoid implementation/test-file guidance. - Completed: the generic agent challenge harness now supports data-driven manifests, layered prompts, explicit `none|skills|all|debug` profiles, one-hour hard ceilings, normalized OpenCode tool/token evidence, policy findings, and manual-audited reports. Two data-driven challenges exist: browser-click and report-workflow. The central `run_trials.py` runner accepts any challenge manifest. The `debug` profile is opt-in and captures evidence-backed UX issue reports separately from normal benchmark scoring. - Completed: report projections generate bounded Markdown and JSON reports for every V2 trial and regenerate both after audit without mutating raw evidence. Implementation: [`report projections`](historical/superpowers/plans/2026-06-23-agent-challenge-report-projections.md). - Completed: challenge trial collection now supports bounded concurrency through `run_trials.py --concurrency` and a Python matrix runner, `examples/agent_challenges/run_matrix.py`. The PowerShell matrix helper now delegates to the Python runner. - Completed: shared agent challenge evaluation runbook documents trial execution, instruction profiles, manual audit, and the distinction between evaluation validity and policy coverage: [`agent challenge evaluation`](runbooks/agent-challenge-evaluation.md). - Completed: challenge matrix operations now have compact OpenCode thread titles, policy handling for canonical skill-document reads, and a central `summarize_trials.py` command for audited result tables. - Completed: agent challenge results now record OpenCode session metadata and resume commands, so incomplete provider runs can be continued without mutating original raw evidence. - Completed: canonical TOML path strings are the emitted workflow path form. Paths now serialize as `"input.text"`, `"state.echoed"`, and `"message"` (local). Structural `{"root": "input", "parts": ["text"]}` path objects remain accepted and are now advertised in generated schemas as an input form. - Completed: challenge-driven CLI UX fixes now provide exact available deployment binding suggestions, reject bare `--bind-output` state targets before RPC with compact guidance, and accept `wf schema --full` as an alias for `--verbose`. - Completed: `wf draft bind` with `--from local.x --to output.y` now lowers through state atomically (projecting into both state_schema and output_schema), and validation repair hints cover undeclared workflow input source paths. Implementation plan: [`bind repair hints`](historical/superpowers/plans/2026-06-29-draft-bind-repair-hints.md). - Completed: capability-backed draft creation now auto-binds required inputs only; optional inputs are surfaced in wrapper-hint notes for explicit binding. Implementation plan: [`required-only wrapper inputs`](historical/superpowers/plans/2026-06-29-required-only-wrapper-inputs.md). - Completed: `wf draft set-input` rejects `local.x` targets before RPC and shows the equivalent bare-target mapping. - Completed: `wf draft add capability --route` errors include declared outcomes and direct add/remove repair guidance. - Completed: repeated idempotent `wf draft bind input/state -> local` behavior is covered by regression tests. - Completed: capability-aware canonical step-input replacement now supports structured assembly, literals, explicit null, fan-out, whole-payload projection, local/remote CLI modes, JSON-RPC, and MCP. Compatibility map merge remains available but intentionally lossy. Implementation plan: [`atomic step input bindings`](historical/superpowers/plans/2026-07-22-atomic-step-input-bindings.md). - Completed: capability-aware canonical step-output replacement now preserves ordered repeated-source fan-out, projects missing state schemas atomically, and is available through Python, JSON-RPC, MCP, and local/remote CLI modes. Compatibility map merges remain available but inherently lossy. Implementation plan: [`atomic step output bindings`](historical/superpowers/plans/2026-07-23-atomic-step-output-bindings.md). - Completed: capability-step creation now accepts metadata and ordered path/literal inputs, while focused presence-aware updates can clear selected metadata or atomically replace canonical inputs without changing `use`, routes, or outputs. Python, JSON-RPC, MCP, and local/remote CLI surfaces are aligned. Implementation plan: [`capability step updates`](historical/superpowers/plans/2026-07-26-capability-step-update.md). Agent evaluation cohort status and policy: - Treat trials collected while product code, prompts, fixtures, harness logic, or workspace isolation were changing as formative evaluation. Preserve them as qualitative evidence linking observed agent failures to product/harness fixes, but do not pool their timing, token, or success metrics with a frozen cohort. - Completed: the primary longitudinal campaign now has N=3 per cell / 36 manually audited trials across two challenges, two models, and `none|skills|all` profiles. The explicit cohort manifest, aggregate Markdown, and SVG/PDF figures live in `docs/thesis/`. - The 36 trials span repository snapshots and a base-prompt change before the third wave. Treat the aggregate as longitudinal product/prompt engineering evidence, not as a frozen model comparison or causal profile experiment. - Keep product code, challenge prompts, supplied skill bundle, model variants, timeout, concurrency, fixtures, and enabled tool set fixed if a future controlled cohort is collected. Record the product baseline and rendered prompt hashes with every result. - Keep manual audit authoritative for final pass/fail/invalid interpretation. Automatic policy findings remain review inputs, not bespoke exceptions or final benchmark outcomes. Planned challenge-driven UX follow-ups: - Composite binding and data shaping is now tracked as console authoring Slice 5 above. It covers mixed literal/path arrays as well as the underlying model needed later to map state fields into structured objects such as `report`. ## Historical References - [`wf_api extraction roadmap`](historical/superpowers/plans/2026-06-01-wf-api-extraction-roadmap.md) - [`source registry next slices`](historical/superpowers/plans/2026-06-03-source-registry-next-slices.md) - [`MCP source connection seam`](historical/superpowers/plans/2026-06-07-mcp-source-connection-seam.md) - [`MCP runtime RPC session reuse E2E`](historical/superpowers/plans/2026-06-08-mcp-runtime-rpc-session-reuse-e2e.md)