Skip to content

Redesign as a user-global harness - #2

Merged
tylerhogarth merged 1 commit into
feat/project-scaffoldfrom
feat/global-harness
Sep 1, 2026
Merged

Redesign as a user-global harness#2
tylerhogarth merged 1 commit into
feat/project-scaffoldfrom
feat/global-harness

Conversation

@tylerhogarth

Copy link
Copy Markdown
Owner

Reworks the design at operator direction before the workspace engine is built: tod integrates at the user level rather than through a workspace directory.

Changes

  • Spec and plan (project/tod-v0.1/): integration target is now each agent's global instruction file (~/.agents/AGENTS.md per the emerging agents.md standard, ~/.claude/CLAUDE.md for Claude Code) via delimited marker blocks, with all state in ~/.tod/. The workspace concept, tod new, and all per-project files are removed; projects exist only as names in work state. Work state becomes CLI-mutated JSON (tod work, tod log, tod config) with tod status as the human view. Milestones M2–M4 re-scoped; revision log records the change.
  • Boundary (src/boundary.ts): allowlist is exactly ~/.agents/, ~/.claude/, ~/.tod/. The operator-designated extra-roots escape hatch is removed since tod never writes into project folders.
  • CLI: tod new stub deleted; help text for init/sync rewritten for the global model.
  • Docs: repo AGENTS.md safety rules and README updated to match.

Why

Per-project files would interfere with the AGENTS.md that belongs to the app being built, and a workspace directory adds a concept operators don't need. The agent harness config folders already exist on any machine where tod gets installed (the agent installed it), so a marker block there reaches every session in any folder, and project folders stay entirely the operator's own.

🤖 Generated with Claude Code

Integration moves from a workspace directory to the agent config folders:
tod appends marker blocks to ~/.agents/AGENTS.md and ~/.claude/CLAUDE.md
and keeps all state in ~/.tod/. Project-specific commands and folders are
removed; tod never writes into project folders, and the boundary module
enforces exactly three roots. Work state becomes CLI-mutated JSON with
tod work / tod log / tod config commands planned.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tylerhogarth
tylerhogarth merged commit d8b2653 into main Sep 1, 2026
1 check passed
@tylerhogarth
tylerhogarth deleted the feat/global-harness branch September 1, 2026 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant