Files
lda-wf/docs/historical/superpowers/plans/2026-06-14-thesis-system-design-doc.md
T

17 KiB

Historical: This plan has been completed. The Big Doc lives at docs/add/system-design-implementation.md.

Thesis System Design Document Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal: Produce a formal thesis-style system design and implementation document grounded in the current codebase, tests, diagrams, and reproducible evidence.

Architecture: The document should lead with concepts, then support them with verified implementation facts. Claims must be backed by code paths, tests, smoke output, or the runnable case-study bundle; do not invent product properties from aspirational roadmap text.

Tech Stack: Markdown with Pandoc-compatible frontmatter, Mermaid diagrams, PowerShell generation script in docs/add/generate.ps1, pytest docs smoke tests, ruff, basedpyright.


Dependency

This plan should run after the completed case-study evidence plan archived at docs/historical/superpowers/plans/2026-06-14-thesis-case-study-evidence.md or after an equivalent report-workflow example exists at examples/report_workflow/.

If examples/report_workflow/README.md does not exist, stop and implement the evidence plan first.

Files

  • Create: docs/add/system-design-implementation.md — the formal thesis/system-design document.
  • Create: docs/add/evidence-index.md — concise map from thesis claims to code/tests/docs evidence.
  • Modify: docs/add/diagrams.md — add stable Mermaid diagrams used by the Big Doc.
  • Modify: docs/add/thesis-outline.md — mark which sections have been transferred to the Big Doc.
  • Modify: docs/project_map.md — link the Big Doc and evidence index from the docs map.
  • Modify: docs/current_roadmap.md — mark the Big Doc draft completed.
  • Modify or create: tests/docs/test_big_doc_links.py — smoke-test links to key evidence files.

Claim Verification Rule

Every factual claim in docs/add/system-design-implementation.md must be traceable to one of:

  • a source file under src/
  • a test under tests/
  • a runnable example under examples/report_workflow/
  • an existing live architecture doc such as docs/source_architecture.md
  • a smoke/runbook file that states it is current

Use these commands before drafting implementation claims:

rg 'class WorkflowArtifact|class WorkflowDeployment|class WorkflowRun' src/wf_artifacts -n
rg 'class WorkflowApi|WorkflowServer|WorkflowSourceProvider|CapabilitySource' src -n
rg 'McpRuntimePool|StatefulMcpRuntime|McpSourceClient' src/wf_sources_mcp src/wf_mcp -n
rg 'PythonSourceConfig|wf_sources_python|load_sources' src tests -n
rg 'next_actions|diagnostics|validate_deployment|validate_draft' src/wf_api src/wf_cli tests -n

Do not cite old plans in docs/historical/** as current behavior unless the text explicitly says the citation is historical motivation.

Task 1: Build an Evidence Index

Files:

  • Create: docs/add/evidence-index.md

  • Step 1: Create the evidence index

Create docs/add/evidence-index.md with this structure:

# Thesis Evidence Index

This file maps thesis claims to implementation evidence. It is not prose for the
final report; it is a guardrail against unsupported claims.

## Core Workflow Lifecycle

Claim: The platform separates mutable drafts, immutable artifacts, deployments,
runs, and traces.

Evidence:

- `src/wf_artifacts/models.py` — artifact/deployment models.
- `src/wf_artifacts/runs/` — run records and run store.
- `src/wf_api/service.py` — facade for workflow lifecycle operations.
- `tests/wf_api/test_artifact_api.py`
- `tests/wf_api/test_run_api.py`

## Source Provider Boundary

Claim: Workflow execution consumes source-provided capabilities without making
the core runtime MCP-specific.

Evidence:

- `src/wf_platform/sources.py` — neutral source DTOs and source policy.
- `src/wf_server/config.py` — server composition for configured sources.
- `src/wf_sources_mcp/` — MCP source family.
- `src/wf_sources_python/` — Python source family.
- `docs/source_architecture.md`

## Agent-Operable Surface

Claim: External agents can operate the workflow lifecycle through stable CLI/API
surfaces.

Evidence:

- `src/wf_cli/`
- `src/wf_transport_rpc_http/`
- `tests/wf_cli/`
- `tests/wf_transport_rpc_http/`
- `docs/wf_cli.md`

## Validation And Diagnostics

Claim: Validation and diagnostics make failed workflow states repairable.

Evidence:

- `src/wf_artifacts/validation.py`
- `src/wf_api/next_actions.py`
- `src/wf_api/source_admin.py`
- `tests/artifacts/test_validation.py`
- `tests/wf_api/test_source_admin_api.py`

## Stateful MCP Source Correctness

Claim: MCP-backed sources can preserve stateful sessions across workflow calls.

Evidence:

- `src/wf_sources_mcp/runtime/`
- `src/wf_sources_mcp/client/`
- `tests/wf_sources_mcp/test_runtime.py`
- `tests/wf_transport_rpc_http/test_mcp_backed_server_rpc.py`

## Python Source Case Study

Claim: The source-provider model is not MCP-only.

Evidence:

- `examples/report_workflow/`
- `src/wf_sources_python/`
- `tests/examples/test_report_workflow_example.py`
- `tests/wf_sources_python/test_loader.py`

## Limitations

Claim: This is a prototype platform substrate, not a finished automation product.

Evidence:

- `docs/add/thesis-outline.md`
- `docs/current_roadmap.md`
- absence of scheduler/visual-editor/secret-manager production packages in
  current source tree.
  • Step 2: Verify evidence paths exist

Run:

Test-Path docs/add/evidence-index.md
Test-Path src/wf_artifacts/models.py
Test-Path src/wf_platform/sources.py
Test-Path src/wf_sources_mcp/runtime
Test-Path src/wf_sources_python
Test-Path examples/report_workflow

Expected: all commands print True. If examples/report_workflow prints False, stop and implement the case-study evidence plan first.

  • Step 3: Commit evidence index

Run:

git add docs/add/evidence-index.md
git commit -m "docs: add thesis evidence index"

Expected: commit succeeds.

Task 2: Add Stable Mermaid Diagrams

Files:

  • Modify: docs/add/diagrams.md

  • Step 1: Add workflow core diagram

Append this section to docs/add/diagrams.md:

## Workflow Core

```mermaid
flowchart LR
  Input[Input Schema] --> NodeUse[Node Use]
  NodeSpec[NodeSpec Contract] --> NodeUse
  NodeUse --> Outcome[Declared Outcome]
  Outcome --> Edge[Graph Edge]
  NodeUse --> StateWrite[State Write]
  StateWrite --> Reducer[Reducer]
  Reducer --> State[Workflow State]
  NodeUse --> Trace[Trace Frame]
  Interrupt[Interrupt] --> RunState[Stopped Run State]
  RunState --> Resume[Resume]
```
  • Step 2: Add platform domain diagram

Append this section to docs/add/diagrams.md:

## Platform Domain

```mermaid
flowchart LR
  Draft[Draft Workspace] --> DraftValidation[Draft Validation]
  DraftValidation --> Artifact[Workflow Artifact]
  Artifact --> Deployment[Workflow Deployment]
  SourceInventory[Source Inventory] --> DeploymentValidation[Deployment Validation]
  Deployment --> DeploymentValidation
  DeploymentValidation --> Run[Workflow Run]
  Run --> RunRecord[Run Record]
  Run --> Trace[Trace Slice]
  RunRecord --> Resume[Resume]
  DeploymentValidation --> Diagnostics[Repairable Diagnostics]
```
  • Step 3: Add source provider diagram

Append this section to docs/add/diagrams.md:

## Source Provider Boundary

```mermaid
flowchart LR
  Config[Workflow Config Sources] --> Server[WorkflowServer Composition]
  Server --> Builtin[Platform Sources]
  Server --> MCP[MCP Source Provider]
  Server --> Python[Python Source Provider]
  Builtin --> Inventory[CapabilitySource Inventory]
  MCP --> Inventory
  Python --> Inventory
  Inventory --> API[Workflow API Surface]
  API --> Runtime[Workflow Runtime]
```
  • Step 4: Commit diagrams

Run:

git add docs/add/diagrams.md
git commit -m "docs: add thesis diagrams"

Expected: commit succeeds.

Task 3: Draft the Formal Big Doc

Files:

  • Create: docs/add/system-design-implementation.md

  • Step 1: Create frontmatter and introduction

Create docs/add/system-design-implementation.md with this frontmatter and opening:

---
title: "Design and Implementation of lda.chat"
subtitle: "Infrastructure for AI Agents to Author and Execute Workspace Workflows"
author: "draft"
date: "2026-06-14"
lang: "en-US"
documentclass: report
papersize: a4
fontsize: 10pt
toc: true
toc-depth: 2
numbersections: true
geometry:
  - top=30mm
  - bottom=30mm
  - left=32mm
  - right=32mm
mainfont: "Libertinus Serif"
sansfont: "Libertinus Sans"
monofont: "Libertinus Mono"
mathfont: "Libertinus Math"
colorlinks: true
linkcolor: "MidnightBlue"
urlcolor: "MidnightBlue"
toccolor: "MidnightBlue"
keywords:
  - workflow
  - agents
  - source providers
  - JSON-RPC
  - MCP
  - Python sources
header-includes:
  - \usepackage{graphicx}
  - \usepackage{booktabs}
  - \usepackage{hyperref}
  - \usepackage{hyperxmp}
  - \usepackage[dvipsnames]{xcolor}
  - \usepackage{fancyhdr}
  - \pagestyle{fancy}
  - \fancyhead[L]{\small lda.chat}
  - \fancyhead[R]{\small\leftmark}
  - \fancyfoot[C]{\thepage}
  - \setlength{\parskip}{0.6em}
  - \setlength{\parindent}{0pt}
  - \setkeys{Gin}{width=\linewidth,height=0.55\textheight,keepaspectratio}
  - \renewcommand{\arraystretch}{1.3}
  - \hypersetup{pdfauthor={lda.chat}, pdftitle={Design and Implementation of lda.chat}}
---

# Introduction

External LLM agents are useful workflow authors and operators, but durable
workspace automation needs a typed execution substrate. This report describes
the design and implementation of `lda.chat`, a prototype platform where agents
can author, validate, execute, and inspect reusable workspace workflows without
making the LLM itself responsible for runtime state, validation, source binding,
or persistence.

The central claim is that agent-facing workflow automation should separate
planning from execution. The LLM or human author can propose and revise workflow
structure, while the platform owns artifacts, deployments, runs, source
inventory, validation diagnostics, traces, and resumability.
  • Step 2: Add the required section skeleton

Append these headings to docs/add/system-design-implementation.md:


# Problem Statement And Requirements

# Positioning And Related Systems

# Conceptual Model

# System Architecture

# Implementation

# Case Study: Deterministic Report Workflow

# Evaluation

# Limitations

# Future Work

# Conclusion

# Appendices
  • Step 3: Fill sections from the outline

Use docs/add/thesis-outline.md as the source for section content. Copy ideas, not whole notes. Required rules:

  • Keep package names secondary to concepts.

  • Include the main architecture Mermaid diagram in # System Architecture.

  • Include workflow lifecycle and source provider diagrams where they explain the text.

  • Include the report-workflow example in # Case Study.

  • Keep long command transcripts in # Appendices.

  • Include no claim about production secret management, production reliability, broad user study, full MCP frontend, MCP widget proxying, visual editor, or scheduler.

  • Step 4: Insert claim references

Add short parenthetical evidence references in prose, using this style:

(Evidence: `src/wf_artifacts/models.py`, `tests/wf_api/test_run_api.py`.)

Minimum required evidence references:

  • workflow lifecycle models/tests

  • source provider boundary

  • JSON-RPC/CLI surface

  • Python source case study

  • MCP stateful runtime tests

  • validation/diagnostics tests

  • Step 5: Commit Big Doc draft

Run:

git add docs/add/system-design-implementation.md
git commit -m "docs: draft thesis system design document"

Expected: commit succeeds.

Files:

  • Create: tests/docs/test_big_doc_links.py

  • Modify: docs/project_map.md

  • Modify: docs/current_roadmap.md

  • Step 1: Add docs link test

Create tests/docs/test_big_doc_links.py with this test module:

from __future__ import annotations

from pathlib import Path


ROOT = Path(__file__).resolve().parents[2]


def test_big_doc_links_case_study_and_evidence_index() -> None:
    doc = (ROOT / "docs" / "add" / "system-design-implementation.md").read_text(
        encoding="utf-8"
    )

    assert "examples/report_workflow" in doc
    assert "docs/add/evidence-index.md" in doc or "evidence-index.md" in doc


def test_project_map_links_big_doc() -> None:
    project_map = (ROOT / "docs" / "project_map.md").read_text(encoding="utf-8")

    assert "system-design-implementation.md" in project_map
    assert "evidence-index.md" in project_map


def test_big_doc_keeps_mcp_as_source_family() -> None:
    doc = (ROOT / "docs" / "add" / "system-design-implementation.md").read_text(
        encoding="utf-8"
    )

    assert "MCP" in doc
    assert "source family" in doc
    assert "product identity" in doc
  • Step 2: Update project map

In docs/project_map.md, add a docs/add entry:

- `docs/add/system-design-implementation.md` — formal thesis/system-design draft.
- `docs/add/evidence-index.md` — claim-to-evidence map for the thesis draft.

Place it near existing docs/add or architecture document entries.

  • Step 3: Update roadmap

In docs/current_roadmap.md, add:

- Completed thesis system-design draft: `docs/add/system-design-implementation.md`
  now frames the platform as a formal system design/implementation report backed
  by `docs/add/evidence-index.md` and the report-workflow case study.
  • Step 4: Run docs tests

Run:

uv run pytest tests/docs/test_big_doc_links.py -q

Expected: 3 passed.

  • Step 5: Commit docs links

Run:

git add tests/docs/test_big_doc_links.py docs/project_map.md docs/current_roadmap.md
git commit -m "docs: link thesis system design draft"

Expected: commit succeeds.

Task 5: Generate HTML/PDF Smoke Outputs

Files:

  • Read: docs/add/generate.ps1

  • Generate locally: docs/add/system-design-implementation.html

  • Generate locally: docs/add/system-design-implementation.pdf

  • Step 1: Generate HTML

Run from docs/add:

.\generate.ps1 -type html -- system-design-implementation.md -o system-design-implementation.html

Expected: command exits 0 and creates docs/add/system-design-implementation.html.

  • Step 2: Generate PDF

Run from docs/add:

.\generate.ps1 -type pdf -- system-design-implementation.md -o system-design-implementation.pdf

Expected: command exits 0 and creates docs/add/system-design-implementation.pdf.

  • Step 3: Decide whether generated files are tracked

Check .gitignore and current tracking:

git ls-files docs/add/*.pdf docs/add/*.html
git status --short docs/add

If generated HTML/PDF are already tracked in this folder, add them. If not tracked or ignored, leave them uncommitted and mention generation success in the report.

  • Step 4: Commit generated outputs only if tracked

If tracked outputs changed, run:

git add docs/add/system-design-implementation.html docs/add/system-design-implementation.pdf
git commit -m "docs: generate thesis system design outputs"

If files are ignored/untracked, do not commit this task.

Task 6: Final Verification And Archive Plan

Files:

  • Verify all changed files.

  • Move this plan to historical after completion.

  • Step 1: Run docs tests

Run:

uv run pytest tests/docs tests/examples -q

Expected: all selected docs/example tests pass.

  • Step 2: Run ruff on tests

Run:

uv run ruff check tests/docs tests/examples

Expected: All checks passed!

  • Step 3: Run typecheck on tests

Run:

uv run basedpyright --level error tests/docs tests/examples

Expected: 0 errors.

  • Step 4: Run whitespace check

Run:

git diff --check

Expected: no whitespace errors. CRLF warnings on Windows are acceptable.

  • Step 5: Archive this plan

Move this file to:

docs/historical/superpowers/plans/2026-06-14-thesis-system-design-doc.md

Commit:

git add docs/superpowers/plans/2026-06-14-thesis-system-design-doc.md docs/historical/superpowers/plans/2026-06-14-thesis-system-design-doc.md
git commit -m "docs: archive thesis system design plan"

Expected: commit succeeds.

Self-Review Checklist

  • The Big Doc is thesis/system-design-first, not a presentation deck.
  • The Big Doc cites code/tests/examples for implementation claims.
  • MCP is described as a source family, not product identity.
  • Google Drive MCP is not required for thesis-critical evidence.
  • Diagrams appear before package-heavy implementation detail.
  • Limitations are explicit and not hidden in future work.
  • Long command transcripts are in appendices or linked runbooks.
  • No current docs introduce wf.std=wf.std deployment self-bindings.