1d0dfb273bd63a94b0e6a269127fa6da5e18a628
plan.md v4 r1 patches (per plan-v4-draft.md §0/§1/§2/§3/§8.5/§18/§22/§23):
- §0 header: v3 r13 → v4 r1 + note explaining the language migration. v3 CC
counter frozen at CC-39; v4 begins its own series (DR-1 below).
- §1 Stack Decisions: full rewrite for Python (uv / pydantic v2 /
pydantic-settings / SQLAlchemy 2 async + aiosqlite / typer + prompt_toolkit
/ structlog / FastAPI + sse-starlette).
- §2 Directory Layout: collapse v3 multi-package monorepo → single
`my-deepagent/` project. TS `apps/`, `packages/`, `tests/`, `scripts/` are
gone after `0e61b2d`.
- §3 doctor: 13-check (Node/pnpm/Docker/Drizzle) → 8-check (python/uv/git/
workspace_root/config+governance/openrouter_api_key/openrouter_ping+pricing
upsert/disk+sqlite integrity).
- §8.5 OpenRouter Adapter: full rewrite. v3 marker-extraction HTTP adapter
(CC-39) is superseded by the deepagents 0.6.1 multi-turn tool-using agent
driven by `my_deepagent.session.build_agent`. Native write_file/read_file/
bash via LocalShellBackend; SafetyShellMiddleware enforces destructive
command + deny-path policy; ArtifactWatcherMiddleware observes artifact
writes; CostMiddleware records usage. Known v0.1.0 limits documented:
usage_metadata empty on OpenRouter-forwarded responses, Anthropic-via-
OpenRouter tool_calls.args ValidationError requires DeepSeek workaround.
- §18 Errors: add `token_budget_exceeded` and `tool_quota_exceeded` under
human_required.
- §22 Decision Log: add DR-1 "v3 → v4 major bump" with rationale, scope,
recovery path (pre-python-rewrite tag at c9fed71).
- §23 Kickoff Order: v3 historical order preserved + v4 Python step matrix
showing Step 0~12 + Step 15 DONE, Step 13/14 (tmux/TUI recovery) DEFERRED.
§4~§17 (DB schema, enums, hashing, template/persona/binding, session
runtime, prompt envelope, artifact schema registry, run events, fake
adapter, state machines, approval state, run engine + Temporal contract,
WriteSet/worktree, SSE contract) are language-neutral domain spec and remain
unchanged for the Python implementation.
.gitignore: re-add `node_modules/` (legacy Node tree kept ignored until
`rm -rf` cleanup outside git).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
Python
91.6%
JavaScript
4.8%
CSS
2.1%
HTML
1.4%