v3.0.0
v3.0.0 — M1: Minimal Local Source-Code Workflow
Goal: A minimally usable local-mode flow where a user can register an action from YAML, link a git repository resource to a project, and run a plan end-to-end (plan use → plan execute → plan diff → plan apply) with a sandboxed workspace and tool-based change capture.
Acceptance Criteria
agents action create --config action.yamlsuccessfully creates and persists an action record to SQLiteagents resource add git-checkoutregisters a git-checkout resourceagents project createandagents project link-resourcelink resources to projectsagents plan usecreates a plan record with correct state machine transitionsagents plan execute <plan_id>invokes the actor-based LLM path, producing tool invocations and a ChangeSetagents plan diff <plan_id>shows pending changes in the sandboxagents plan apply <plan_id>merges sandbox changes into the target repository with a git commit- Git worktree sandbox creates isolated working directory
- Changes in sandbox do not affect original until Apply
- Post-apply commit exists in target repository
- Test coverage >= 97%
Technical Criteria
- Plan and Action records persist to SQLite database with Alembic migrations.
- Execute/apply runs via actor-based LLM path (not hardcoded).
- ChangeSet built from tool invocations (not parsed from LLM output).
- Git worktree sandbox creates isolated working directory.
- Changes in sandbox do not affect original until Apply.
- Domain models use Pydantic v2 with frozen=True.
- Test coverage remains >= 97%.
100% Completed