docs: complete lifecycle diagram pass

This commit is contained in:
lda
2026-07-14 02:01:13 +07:00 Verified
parent 90b446aea8
commit 5ba9e55f92
4 changed files with 45 additions and 31 deletions
+10
View File
@@ -376,6 +376,16 @@ Implementation:
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:
@@ -47,7 +47,7 @@
- Consumes: `Extract<ReviewedAuthoringEvidence, { readonly kind: "draft" | "diagnostic" | "repair" }>` from `reviewed-authoring-evidence.ts`.
- Produces: `AuthoringWorkflowDiagram({ mode, evidence })`, with `mode: "draft" | "diagnostic" | "repair"` and an accessible region named `authoring workflow diagram`.
- [ ] **Step 1: Write failing graph continuity tests**
- [x] **Step 1: Write failing graph continuity tests**
Create tests that render all three modes and assert the same node identities plus mode-specific route state:
@@ -76,7 +76,7 @@ it("restores analyze.ok without retaining the missing-route marker", () => {
});
```
- [ ] **Step 2: Run the focused test and verify RED**
- [x] **Step 2: Run the focused test and verify RED**
Run:
@@ -86,7 +86,7 @@ pnpm --dir web --filter @lda/console test -- src/presentation/authoring/Authorin
Expected: FAIL because `AuthoringWorkflowDiagram` does not exist.
- [ ] **Step 3: Implement the React Flow projection**
- [x] **Step 3: Implement the React Flow projection**
Use fixed logical node positions so all three beats preserve spatial continuity. Let React Flow own viewport scaling and connector rendering.
@@ -129,11 +129,11 @@ Render a large warning annotation in the space between `analyze` and `END` only
Add a comment explaining that stable positions preserve visual continuity between beats.
- [ ] **Step 4: Run tests and verify GREEN**
- [x] **Step 4: Run tests and verify GREEN**
Run the focused test command from Step 2. Expected: PASS.
- [ ] **Step 5: Commit the workflow diagram**
- [x] **Step 5: Commit the workflow diagram**
```bash
git add web/apps/console/src/presentation/authoring/AuthoringWorkflowDiagram.tsx web/apps/console/src/presentation/authoring/AuthoringWorkflowDiagram.test.tsx
@@ -152,7 +152,7 @@ git commit -m "feat: add continuous authoring workflow diagram"
- Consumes: `Extract<ReviewedAuthoringEvidence, { readonly kind: "inventory" | "artifact" | "deployment" }>` directly.
- Produces: `AuthoringLifecycleDiagram({ evidence })` with `data-lifecycle-diagram` equal to `inventory`, `artifact`, or `deployment`.
- [ ] **Step 1: Write failing mapping tests**
- [x] **Step 1: Write failing mapping tests**
```tsx
it("shows configured sources feeding the discovered capability", () => {
@@ -180,7 +180,7 @@ it("maps every requirement to a concrete source and one deployment", () => {
});
```
- [ ] **Step 2: Run tests and verify RED**
- [x] **Step 2: Run tests and verify RED**
Run:
@@ -190,7 +190,7 @@ pnpm --dir web --filter @lda/console test -- src/presentation/authoring/Authorin
Expected: FAIL because the component does not exist.
- [ ] **Step 3: Implement three semantic mappings**
- [x] **Step 3: Implement three semantic mappings**
Render large, fixed structures with semantic HTML instead of a graph engine:
@@ -209,11 +209,11 @@ export const AuthoringLifecycleDiagram = ({ evidence }: Props) => {
Use Lucide `Database`, `Braces`, `LockKeyhole`, `Cable`, and `PlayCircle` icons as supporting symbols. Use visible arrows only for real directional relationships. Artifact requirements remain visually connected to the artifact; Deployment uses three horizontal requirement-to-source rows converging on one deployment identity.
- [ ] **Step 4: Run tests and verify GREEN**
- [x] **Step 4: Run tests and verify GREEN**
Run the focused test command from Step 2. Expected: PASS.
- [ ] **Step 5: Commit the lifecycle mappings**
- [x] **Step 5: Commit the lifecycle mappings**
```bash
git add web/apps/console/src/presentation/authoring/AuthoringLifecycleDiagram.tsx web/apps/console/src/presentation/authoring/AuthoringLifecycleDiagram.test.tsx
@@ -232,7 +232,7 @@ git commit -m "feat: add authoring lifecycle transformation diagrams"
- Consumes: diagram components from Tasks 1 and 2.
- Produces: every evidence variant as `diagram + compact receipt`, while retaining existing region names and exact evidence text.
- [ ] **Step 1: Add failing composition tests**
- [x] **Step 1: Add failing composition tests**
Extend the table-driven test to assert each result's diagram kind:
@@ -255,7 +255,7 @@ it.each([
Also retain the existing factual assertions for IDs, revisions, diagnostic code/path, source requirements, bindings, and zero diagnostics.
- [ ] **Step 2: Run tests and verify RED**
- [x] **Step 2: Run tests and verify RED**
Run:
@@ -265,7 +265,7 @@ pnpm --dir web --filter @lda/console test -- src/presentation/authoring/Authorin
Expected: FAIL because no primary diagram wrapper exists.
- [ ] **Step 3: Recompose each result**
- [x] **Step 3: Recompose each result**
Keep `ResultHeader`, but replace full-body list layouts with:
@@ -286,7 +286,7 @@ Draft, Diagnose, and Repair use `AuthoringWorkflowDiagram`. Inventory, Artifact,
Do not duplicate reviewed evidence into local constants.
- [ ] **Step 4: Run focused authoring tests**
- [x] **Step 4: Run focused authoring tests**
```bash
pnpm --dir web --filter @lda/console test -- src/presentation/authoring/AuthoringWorkflowDiagram.test.tsx src/presentation/authoring/AuthoringLifecycleDiagram.test.tsx src/presentation/authoring/AuthoringPhaseVisual.test.tsx src/presentation/authoring/PreparedAuthoringLifecycleScene.test.tsx
@@ -294,7 +294,7 @@ pnpm --dir web --filter @lda/console test -- src/presentation/authoring/Authorin
Expected: PASS.
- [ ] **Step 5: Commit the composition**
- [x] **Step 5: Commit the composition**
```bash
git add web/apps/console/src/presentation/authoring/AuthoringPhaseVisual.tsx web/apps/console/src/presentation/authoring/AuthoringPhaseVisual.test.tsx
@@ -313,7 +313,7 @@ git commit -m "refactor: make lifecycle diagrams primary"
- Consumes: `authoring-result__diagram`, `authoring-result__receipt`, `authoring-workflow-diagram`, and lifecycle mapping class contracts.
- Produces: unclipped 1280x720 and 1024x768 layouts with large labels and secondary technical evidence.
- [ ] **Step 1: Write failing CSS contract tests**
- [x] **Step 1: Write failing CSS contract tests**
Add assertions that the diagram owns flexible height, the receipt cannot dominate, and narrow layouts preserve horizontal readability:
@@ -330,7 +330,7 @@ expect(css).toContain(".authoring-workflow-diagram .react-flow__node");
expect(css).toContain("@media (prefers-reduced-motion: reduce)");
```
- [ ] **Step 2: Run CSS tests and verify RED**
- [x] **Step 2: Run CSS tests and verify RED**
```bash
pnpm --dir web --filter @lda/console test -- src/presentation/presentation-css.test.ts
@@ -338,7 +338,7 @@ pnpm --dir web --filter @lda/console test -- src/presentation/presentation-css.t
Expected: FAIL because the new selectors do not exist.
- [ ] **Step 3: Implement the visual hierarchy**
- [x] **Step 3: Implement the visual hierarchy**
Use a vertical result composition: compact header, flexible diagram, compact receipt. Target these presentation sizes:
@@ -354,7 +354,7 @@ At container widths below 1050px, keep workflow graphs horizontal in a contained
Disable edge animation and all diagram transitions under both `prefers-reduced-motion: reduce` and the presentation's existing motion-disabled selector.
- [ ] **Step 4: Run focused and route tests**
- [x] **Step 4: Run focused and route tests**
```bash
pnpm --dir web --filter @lda/console test -- src/presentation/presentation-css.test.ts src/presentation/authoring src/presentation/PresentationRoute.test.tsx
@@ -362,7 +362,7 @@ pnpm --dir web --filter @lda/console test -- src/presentation/presentation-css.t
Expected: PASS.
- [ ] **Step 5: Commit the visual hierarchy**
- [x] **Step 5: Commit the visual hierarchy**
```bash
git add web/apps/console/src/presentation/presentation.css web/apps/console/src/presentation/presentation-css.test.ts
@@ -383,7 +383,7 @@ git commit -m "style: clarify lifecycle diagrams at presentation distance"
- Consumes: final rendered Scene 8 visuals.
- Produces: truthful short presenter wording and completed roadmap state.
- [ ] **Step 1: Run complete verification**
- [x] **Step 1: Run complete verification**
```bash
pnpm --dir web --filter @lda/console test -- src/presentation
@@ -393,7 +393,7 @@ pnpm --dir web --filter @lda/console build
Expected: all tests pass, typecheck is clean, and build succeeds with only the known chunk-size warning.
- [ ] **Step 2: Capture and inspect browser screenshots**
- [x] **Step 2: Capture and inspect browser screenshots**
Capture these routes at 1280x720:
@@ -414,7 +414,7 @@ Also capture Discover, Diagnose, and Deployment at 1024x768. For each screenshot
- methods, IDs, and commands remain selectable and visible;
- no old per-child reveal produces black or missing tiles.
- [ ] **Step 3: Audit the Scene 8 speech against the visuals**
- [x] **Step 3: Audit the Scene 8 speech against the visuals**
Read the six short statements under Scene 8 in `docs/runbooks/defense-speech-and-claim-audit.md`. Keep them unchanged unless a statement no longer points to the dominant visual. If Diagnose needs adjustment, prefer:
@@ -424,11 +424,11 @@ Read the six short statements under Scene 8 in `docs/runbooks/defense-speech-and
Do not add more technical clauses. Update `presentation-rehearsal-matrix.md` so its primary visual names are `source capability map`, `workflow graph`, `broken route`, `restored route`, `versioned artifact`, and `deployment binding map`.
- [ ] **Step 4: Update roadmap and archive the plan**
- [x] **Step 4: Update roadmap and archive the plan**
Add one completed roadmap entry linking the design and historical plan. Move the active plan to the historical path after all verification passes.
- [ ] **Step 5: Review and commit documentation**
- [x] **Step 5: Review and commit documentation**
Run:
@@ -32,12 +32,12 @@ can be shown after selecting replay with the runbook's session-storage switch.
| `architecture/api` | JSON-RPC handles transport concerns and delegates to WorkflowApi rather than owning domain behavior. | Architecture API node | Client operations | hidden | replay-only; Thesis System Architecture; `docs/project_map.md`; `docs/source_architecture.md` | `architecture/api` |
| `architecture/runtime` | Server composition supplies stores, provider projections, and the runtime while the core remains independent of MCP and Python behavior. | Runtime/providers focus | Architecture overview | hidden | replay-only; Thesis System Architecture; `docs/project_map.md`; `docs/source_architecture.md` | `architecture/runtime` |
| `agent-handoff/request` | I will now show a prepared demonstration built on this platform. The chat is a presentation interface, not the autonomous planner evaluated by the thesis. The chat translates a report request into the same public lifecycle operations an external agent could call. This prepared path demonstrates product behavior and recorded evidence, not a fresh model-performance result. | Agent request surface | Workflow substrate framing | hidden | replay-only; Constrained demo agent and prepared replay recipe | `agent-handoff/request` |
| `prepared-lifecycle/discover` | It inspects sources, capabilities, and schemas rather than guessing at hidden interfaces. | Prepared lifecycle: discovery | Capability/schema evidence | hidden | replay-only; `examples/lda_report_workflow`; deployment inspect replay evidence | `prepared-lifecycle/discover` |
| `prepared-lifecycle/draft` | Focused operations modify mutable authoring state before execution. | Prepared lifecycle: draft | Workflow definition | hidden | replay-only; `examples/lda_report_workflow`; deployment inspect replay evidence | `prepared-lifecycle/draft` |
| `prepared-lifecycle/diagnose` | Revision 2 is valid; this prepared fault injection, not an accidental discovery, runs `wf draft remove-route lda_report_workflow --revision 2 --step analyze --outcome ok`, producing invalid revision 3 and `missing_outcome_edge`. | Diagnostic receipt | Draft authoring surface | hidden | replay-only; reviewed prepared authoring evidence | `prepared-lifecycle/diagnose` |
| `prepared-lifecycle/repair` | The existing `wf draft set-route lda_report_workflow --revision 3 --step analyze --outcome ok --to __end__` command repairs the route removal and produces valid revision 4. | Repair guidance | Diagnostic receipt | hidden | replay-only; reviewed prepared authoring evidence | `prepared-lifecycle/repair` |
| `prepared-lifecycle/artifact` | It saves the validated plan as immutable artifact lda_report_case_study version 1. | Prepared lifecycle: artifact | Lifecycle state | hidden | replay-only; `examples/lda_report_workflow`; deployment inspect replay evidence | `prepared-lifecycle/artifact` |
| `prepared-lifecycle/deployment` | Deployment binds and validates three local sources; execution starts in the next scene. | Prepared lifecycle: deployment | Binding/readiness evidence | hidden | replay-only; `examples/lda_report_workflow`; deployment inspect replay evidence | `prepared-lifecycle/deployment` |
| `prepared-lifecycle/discover` | It inspects sources, capabilities, and schemas rather than guessing at hidden interfaces. | Source-to-capability map | Compact inventory receipt | hidden | replay-only; `examples/lda_report_workflow`; deployment inspect replay evidence | `prepared-lifecycle/discover` |
| `prepared-lifecycle/draft` | Focused operations modify mutable authoring state before execution. | Editable workflow graph | Draft revision receipt | hidden | replay-only; `examples/lda_report_workflow`; deployment inspect replay evidence | `prepared-lifecycle/draft` |
| `prepared-lifecycle/diagnose` | Revision 2 is valid; this prepared fault injection, not an accidental discovery, runs `wf draft remove-route lda_report_workflow --revision 2 --step analyze --outcome ok`, producing invalid revision 3 and `missing_outcome_edge`. | Workflow graph with missing route | Typed diagnostic receipt | hidden | replay-only; reviewed prepared authoring evidence | `prepared-lifecycle/diagnose` |
| `prepared-lifecycle/repair` | The existing `wf draft set-route lda_report_workflow --revision 3 --step analyze --outcome ok --to __end__` command repairs the route removal and produces valid revision 4. | Workflow graph with restored route | Focused repair receipt | hidden | replay-only; reviewed prepared authoring evidence | `prepared-lifecycle/repair` |
| `prepared-lifecycle/artifact` | It saves the validated plan as immutable artifact lda_report_case_study version 1. | Validated-draft-to-artifact map | Source-requirement receipt | hidden | replay-only; `examples/lda_report_workflow`; deployment inspect replay evidence | `prepared-lifecycle/artifact` |
| `prepared-lifecycle/deployment` | Deployment binds and validates three local sources; execution starts in the next scene. | Requirement-to-source binding map | Runnable deployment receipt | hidden | replay-only; `examples/lda_report_workflow`; deployment inspect replay evidence | `prepared-lifecycle/deployment` |
| `run-from-deployment/input` | The deployment receives selected local documents and an issue-board path. | Workflow input panel | Prepared deployment | hidden | live-capable; `workflow.runs.start` replay evidence | `prepared-lifecycle/deployment` |
| `run-from-deployment/operation` | The public workflow.runs.start operation validates the deployment and input, creates a persisted Run, and begins the reusable graph. | Start operation | Workflow graph | hidden | explicit run; `workflow.runs.start` replay evidence | `run-from-deployment/operation` |
| `run-from-deployment/graph` | The graph reads documents, analyzes them, builds a report, drafts proposed issues, and pauses at a declared review interrupt before issue-board changes. | Workflow graph | Run operation receipt | hidden | live-capable; `workflow.runs.start` replay evidence | `run-from-deployment/operation` |
@@ -4377,6 +4377,10 @@
white-space: normal;
}
.authoring-result--repair .authoring-result__prior > span {
white-space: nowrap;
}
.authoring-result--repair [data-result-primary="true"] .authoring-result__rows {
grid-template-columns: minmax(12rem, 1.4fr) repeat(2, minmax(6rem, 0.6fr));
}