Files
chungyeong 711d61d245 docs(plan): DR-3 — Temporal deferred to v1.0 multi-tenant ADR; v0.2 PR #2/#3 sequenced
Adds DR-3 to the v4 r1 plan and rewires §1 + §23 to reflect that the v0.x
release line ships zero Temporal code.

Rationale (DR-3 detail in §22):
- v3 and early v4 r1 drafts had Temporal as the canonical durable-workflow
  layer (M5-Py). For 1-user 1-machine CLI/REPL/web-GUI workloads, the same
  durability guarantee is reachable with (1) LangGraph AsyncPostgresSaver
  (already in deps after v0.2 PR #1) + (2) RunPhaseRow / LlmCallRow state
  machine per-commit (already in models) + (3) sweep_orphan_runs at startup
  (already in recovery.py).
- Temporal server + worker + deterministic-workflow rules are weight without
  proportional payoff at this scale. The decision becomes meaningful only
  when v1.0 introduces multi-tenant / multi-machine fanout.
- temporalio NOT added to my-deepagent/pyproject.toml. No apps/worker/.

Patches:
- §1.7 (new): "Workflow Orchestration: NOT USED in v0.x. Deferred to v1.0
  multi-tenant ADR (DR-3)." Explains the LangGraph + DB + sweep replacement
  path and points at §23 for the v0.2 sequencing.
- §22 DR-3 (new): full decision record with rationale, scope, and the
  supersede statement against earlier "M5-Py: Temporal worker NEXT" wording.
- §23 v4 kickoff matrix:
  - v0.2 PR #1 row → DONE (e21a524).
  - v0.2 PR #2a (new): LangGraph AsyncPostgresSaver engine wiring.
  - v0.2 PR #2b (new): `mydeepagent runs resume <id>` real implementation.
  - v0.2 PR #3 (new): FastAPI + SSE + minimal Web GUI.
  - M5-Py → DEFERRED to v1.0+ per DR-3.
  - M8-Py → absorbed into v0.2 PR #3 (no separate apps/api dir; FastAPI
    lives inside my-deepagent/src/my_deepagent/api/).

Open question (recorded in DR-3): v1.0 ADR will compare Temporal vs Hatchet
vs in-house Postgres-based workflow runner.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 21:46:01 +09:00
..