Status: implemented for the local CLI slice, with local hosting now in scope
This document records the current product slice for Agentic Harness. It is a
roadmap/status document, not the user guide. For commands to run today, start
with ../README.md or agentic-harness guide.
The focus is local and sandboxed coding-agent creation plus loopback local hosting, not deployment.
- The acceptance criteria describe the intended local CLI slice.
- Items marked as non-goals should stay out of this slice even if related deployment features exist elsewhere.
- Release-facing evidence for what is already implemented lives in
feature-status.md.
- No external hosting workflow.
- No deployment wizard.
- No production release automation.
- No Cloudflare, InsForge, or other deploy target work.
- No requirement that users hand-write Rust SDK code for every new agent shape.
Agentic Harness should let users start from an operator flow, not from SDK memorization. The CLI and TUI should install the right project context, then let Claude Code, Codex, Cursor, or Wind Server help the user author reusable agent templates.
The SDK remains the runtime foundation. Most users should reach it through generated templates, template packs, and assisted setup.
For users who do write Rust directly, the SDK should expose a compact
agentic_harness::prelude::* import for the stable agent-authoring surface.
agentic-harness guide is the short start-here command for this flow. It prints
the ordered path from install to LLM setup, template authoring, start coding,
and result inspection; --json exposes the same steps to software agents.
Agentic Harness needs a first-class sandbox setup path for coding agents. The first version should support:
- local checkout execution as the default sandbox,
- a remote sandbox connector path through
SessionEnv, - HTTP SessionEnv endpoint setup for remote command and file operations,
- clear sandbox status in
doctor, - a TUI setup step that asks where code should run,
- a smoke check that runs a harmless command in the selected environment.
The sandbox setup should answer:
- Where will the agent read and edit files?
- Where will shell commands run?
- What credentials are required?
- Can the environment run
pwd, list files, and execute a test command? - What should the user or agent fix if the check fails?
Acceptance criteria:
agentic-harness doctorreports sandbox readiness.agentic-harness doctor --jsonexposes required checks, optional checks, fixes, readiness, and next command without requiring output scraping.- The TUI has a
Set up sandboxworkflow. - Local checkout works without credentials.
- Local sandbox operations can show status, execute a command, read files, write files, list directories, sync files, show logs, and clean up paths.
agentic-harness sandbox exec --jsonexposes command, exit code, stdout, and stderr as structured output for agents and TUI panels.agentic-harness sandbox status --jsonexposes target, cwd, endpoint, capabilities, smoke result, and recent logs for agents and TUI panels. For configured HTTP SessionEnv endpoints, the smoke result comes from a remotepwdand directory-list probe rather than config presence alone.agentic-harness sandbox logs --jsonexposes ordered log entries for richer TUI log panels and software agents.- Remote sandbox setup produces a connector file or clear agent instructions, including named Vercel Sandbox, Daytona, and E2B setup paths.
- Remote sandbox setup can store an endpoint and run
sandbox exec,read,write,ls, andrmthrough the HTTP SessionEnv protocol. - No deployment target is configured as part of this flow.
Agentic Harness needs a local-only hosting path so users and software agents can run native Rust agents over HTTP without choosing a deployment provider.
The first version should support:
- loopback-only address configuration in
.agentic-harness/hosting.toml, - a short
agentic-harness host --workspace <path>start command, - a
--devmode that reuses the watch/reload development server, - structured
agentic-harness hosting status --jsonoutput, - dashboard and TUI panels that show the local base URL and next commands,
- explicit separation from InsForge, Cloudflare, or other external hosting.
Acceptance criteria:
agentic-harness setup hosting --workspace . --addr 127.0.0.1:3583writes local hosting config.agentic-harness hosting status --workspace . --jsonexposesbaseUrl,healthUrl,agentsUrl, and capabilities for serve, dev reload, JSON invoke, and SSE.agentic-harness dashboard --jsonincludeslocalHosting.agentic-harness tui --plainshows local hosting commands.- Local hosting remains loopback-only and does not configure deployment.
The TUI should become the main human entrypoint. Long commands can remain for automation, but humans should be able to use numbered screens.
Expected top-level shape:
Agentic Harness
Project: ./my-agent
Status: Ready
Sandbox: Local checkout
1. Start coding
2. Create or install template
3. Set up LLM authoring environment
4. Set up sandbox
5. Run agent
6. Check setup
Interaction requirements:
- Pressing a top-level number opens a second screen with multiple concrete choices.
- Every screen supports
bfor back andqfor quit. - Every action shows the command it is about to run.
- Setup screens show status before asking for new input.
- Failed checks show the next corrective command.
- Deployment entries should not appear in this slice.
Acceptance criteria:
agentic-harness,agentic-harness wizard,agentic-harness tui, oragentic-harness uiopens the TUI in a TTY.agentic-harness wizard --workspace ./my-agent --plain,agentic-harness tui --workspace ./my-agent --plain, andagentic-harness ui --workspace ./my-agent --plainprint the same menu map for automation against the selected workspace.- The wizard opens with a status panel for workspace readiness, sandbox target, template counts, recent sandbox logs, and the next step.
- Current-workspace wizard actions run against the selected
--workspacepath instead of always assuming.. - Second-level selection screens include contextual panels for coding LLM availability, latest results, template JSON previews, registry data, LLM authoring setup, sandbox status, sandbox log views, example manifests, readiness, and next fixes.
- Second-level selection screens preview the exact workspace-aware command for each option before it runs, so users can choose by number instead of pasting a long command.
- The sandbox selection screen shows smoke status and the latest sandbox log entry, not only the configured target.
agentic-harness dashboard --workspace . --plainshows readiness, templates, template-authoring briefs, the latest coding-run loop status, sandbox status, recent logs, and next commands.agentic-harness dashboard --workspace . --jsonexposes the same readiness, template, latest-run, sandbox, log, and next-command data for software agents. Sandbox smoke status comes from the configured sandbox target and endpoint, not a hard-coded local checkout probe.- Short aliases
agentic-harness statusandagentic-harness checkcover the common dashboard and doctor paths. - The TUI includes template, LLM environment, sandbox, run, and doctor flows.
- The start-coding screen exposes a direct LLM-backed coding option such as
agentic-harness code --llm auto. - Template flows include a preview step before validation or installation.
- The TUI does not require users to paste long commands for the common path.
Users should be able to start from a template and run a coding agent with one short command.
Target command:
agentic-harness codeThe command should:
- Detect the current project.
- If no agent project exists, offer to create one from a coding template.
- If no model or LLM authoring environment is configured, route to setup.
- If no sandbox is configured, default to local checkout and offer remote setup.
- Run
doctor. - Inspect the repository status and root files.
- Prepare deterministic plan steps from the prompt, repository context, patch inputs, and check commands.
- Start the coding agent with a prompt collected from the user and the plan.
- Apply prepared unified-diff patches when provided.
- Apply a unified diff returned by the agent as
generatedPatchwhen present. - Optionally launch a real coding LLM CLI with
--llmand a generated.agentic-harness/runs/<id>/coding-brief.mdso Codex, Claude Code, Cursor, or Wind Server can edit files directly before checks. Codex should usecodex execwith the brief on stdin; Claude Code should use non-interactive print mode with edit permissions; Cursor should usecursor agent --print --trust --force. - Run explicit
--testcommands or detected local checks, syncing the workspace into the configured remoteSessionEnvsandbox before the check phase when the sandbox target is not local. - If checks fail, call the coding agent once with
repairAttemptandfailedChecks, apply any repairgeneratedPatch, and rerun checks. - Optionally commit successful changes with an explicit message.
- Optionally open a pull request with
gh pr create --fill. - Write
.agentic-harness/runs/latest.mdand.agentic-harness/runs/latest.jsonwhen no custom summary path is provided. - Record a coding loop timeline with statuses for inspect, plan, edit, test, summarize, commit, and pull-request phases.
- Include next commands for inspect, dashboard, and rerun in Markdown and JSON summaries.
- Let the user inspect the latest result with
agentic-harness inspect.
Non-interactive form:
agentic-harness code --workspace ./my-agent --prompt "Fix the failing tests"
agentic-harness inspect --workspace ./my-agent
agentic-harness code --workspace ./my-agent \
--prompt "Fix the failing tests" \
--llm codex \
--test "cargo test"
agentic-harness code --workspace ./my-agent \
--prompt "Fix the failing tests" \
--test "cargo test" \
--summary .agentic-harness/runs/last.md
agentic-harness code --workspace ./my-agent \
--prompt "Apply the patch" \
--apply ./change.patch \
--test "cargo test" \
--commit "Apply generated fix"
agentic-harness code --workspace ./my-agent \
--prompt "Open the PR" \
--apply ./change.patch \
--test "cargo test" \
--commit "Apply generated fix" \
--prAcceptance criteria:
- A fresh user can run one command and reach a working coding-agent loop.
- The coding template is the default for software work.
- The flow uses existing templates and setup checks instead of asking the user to manually wire the SDK.
- Non-interactive no-prompt runs use an actionable default coding brief instead of a vague inspection-only fallback.
- The loop passes repository inspection context and check commands into the coding agent.
- Repository inspection includes workspace instruction files such as
AGENTS.mdandCLAUDE.md, detected project manifest files, git diff stat, and git changed-file context. - The loop passes
plannedStepsinto the coding agent and records the plan in the run summary. - The loop can apply prepared patches before running checks.
- The loop can apply an agent-generated
generatedPatchbefore running checks. - The loop can launch the selected Claude Code, Codex, Cursor, or Wind Server CLI with a generated coding brief, let it edit the workspace directly, then run checks and record the LLM result in Markdown and JSON summaries.
- The loop syncs workspace files into a configured non-local sandbox before executing remote checks.
- The loop can pass failed check output back to the coding agent once, apply a repair patch, and rerun checks.
- The loop can create an explicit git commit after successful checks.
- The loop can open a pull request after successful checks and commit setup.
- The loop can execute checks and save Markdown or JSON run summaries for later review by humans or software agents, including default latest-run summaries for no-flag coding runs.
agentic-harness inspect --workspace <path>reads the latest Markdown summary, and--jsonreads the latest structured summary.- The run summary includes project context and a changed-files section derived from git status and applied patch metadata.
- The Markdown and JSON run summaries include a coding loop timeline that shows whether inspect, plan, edit, test, summarize, commit, and pull-request phases completed, skipped, failed, or produced an artifact.
- The Markdown and JSON run summaries include next commands for inspecting the result, opening the dashboard, and rerunning the loop from the same workspace.
- The Markdown and JSON run summaries include sandbox target, endpoint, and local-vs-remote check mode so agents can tell where verification ran.
- The Markdown and JSON run summaries expose files edited by an external coding LLM inside the LLM result, not only in the global changed-files section.
- The Markdown and JSON run summaries expose parsed JSON
agentResultseparately from raw stdout so agents can read fields such assummaryandgeneratedPatchwithout scraping terminal output. - The loop prints progress for inspect, plan, agent, patch, repair, check, commit, PR, and summary stages without corrupting stdout agent results.
agentic-harness doctor --jsonandagentic-harness smoke --jsonexpose Claude Code, Codex, Cursor, and Wind Server CLI availability and readiness before a user triesagentic-harness code --llm auto, including auth or keychain blockers when the binary exists but cannot run.- Failures return actionable setup steps.
If someone wants an agent to use Agentic Harness, the first step should be setting up their coding LLM environment. The LLM then helps create or refine the agent template.
Supported environments:
- Claude Code
- Codex
- Cursor
- Wind Server
Target command:
agentic-harness setup llm
agentic-harness template author code-review \
--env codex \
--prompt "Create a code-review agent template" \
--open
agentic-harness template author code-review \
--env codex \
--prompt "Create a code-review agent template" \
--jsonExpected sub-options:
1. Claude Code
2. Codex
3. Cursor
4. Wind Server
5. Detect automatically
auto should probe the local PATH for claude, codex, cursor, and
wind-server in that order, then fall back to Codex if none are installed.
The setup should install or print:
- project instructions for Agentic Harness template authoring,
- a template-authoring skill under
.agents/skills, - examples of valid template packs,
- validation commands,
- the expected generated project shape.
After setup, a user should be able to ask their coding LLM:
Create an Agentic Harness template for a code-review agent that can inspect a
repository, run tests, summarize risks, and return a structured review result.
The LLM should know how to create:
agentic-template.toml,- templated Rust source files,
AGENTS.md,- roles,
- skills,
- sample payloads,
- validation instructions.
Acceptance criteria:
agentic-harness setup llmcan install instructions for each supported LLM environment.- The installed instructions teach the LLM to create reusable templates, not one-off SDK snippets.
- The installed authoring context includes at least one valid reference template
pack under
.agentic-harness/template-examples/that passesagentic-harness template validate. agentic-harness doctorcan detect whether the LLM authoring environment is installed.agentic-harness template authorcreates an LLM handoff brief that points to the installed authoring skill, lists the required validate, preview, install, scaffold, and doctor commands, and includes the local CLI path as a fallback whenagentic-harnessis not on PATH. The brief explicitly tells the LLM to create a template pack without editing Agentic Harness SDK or CLI crates.agentic-harness template author --jsonexposes the brief path, selected LLM open command, validation commands, next scaffold command, and generated-agent doctor check as structured data for software agents and TUI panels.agentic-harness template author --openruns the selected Claude Code, Codex, Cursor, or Wind Server command from the target workspace only after preflighting LLM readiness, then streams live output while the LLM creates./<template>from the generated brief.- After
--openreturns, the CLI validates the generated./<template>pack and reports the template path so users can immediately install or scaffold it. agentic-harness template author --open --jsonkeeps stdout parseable for software agents by streaming live LLM output to stderr and returning final JSON withopenedandpostOpenValidationfields.- Users can create new templates without opening SDK docs first.
Templates should be installable, inspectable, and reusable. Built-in templates are only the starting point; the default library should include practical software-agent shapes such as coding, code review, test repair, repository analysis, triage, data, and support agents.
Proposed template shape:
template-name/
agentic-template.toml
files/
Cargo.toml.hbs
src/main.rs.hbs
AGENTS.md.hbs
.agentic-harness/roles/coder.md
.agents/skills/coding/SKILL.md
examples/
payload.json
prompts/
authoring-notes.md
Target commands:
agentic-harness template list
agentic-harness templates ls --verbose
agentic-harness templates ls --json
agentic-harness template install ./template-name --scope user
agentic-harness tpl add ./template-name --scope user
agentic-harness template import ./template-name --scope team
agentic-harness template validate ./template-name
agentic-harness templates check ./template-name
agentic-harness new ./my-agent --template template-nameAcceptance criteria:
- Templates can be loaded from built-ins or local folders.
- Templates can be imported into and exported from the local workspace registry.
- Templates can be installed into workspace, user, or team scopes and scaffolded back by name from each scope.
- Short aliases such as
tpl create,templates ls,tpl preview, andtemplates checkwork for the common human path. - Template packs carry version metadata that appears in verbose registry lists.
- Template packs are available through
template list --jsonwith source scope, version, validity, and registry counts for agents and future TUI panels. - Template packs are searchable with
template searchandtpl findacross built-in, workspace, user, and team scopes, with JSON output for agents. - Individual templates are available through
template show --jsonwith metadata, files, validity, and the next scaffold command for preview panels. - Template validation catches missing manifest, missing files, invalid package names, and missing sample payloads.
- The TUI can create, install, validate, and use templates, including choosing workspace, user, or team registry scope for install/import flows.
- LLM-authored templates are normal template packs that work without the LLM after they are created.
- Define template pack format and validation.
- Add LLM environment setup for Claude Code, Codex, Cursor, and Wind Server.
- Add sandbox setup and sandbox readiness checks.
- Upgrade the TUI around template, LLM setup, sandbox, run, and doctor flows.
- Add
agentic-harness codeas the one-command start coding path. - Add
agentic-harness guideas the one-command start-here path. - Add distribution basics: version output, a local install script, a Homebrew
formula, binary package staging, changelog, one-command
agentic-harness smoke --json, and clean-machine smoke-test checklist.
This slice is complete when a new user can:
- Run
agentic-harness guideor the TUI. - Set up their coding LLM environment.
- Ask that LLM to create a custom Agentic Harness template.
- Validate and install the template.
- Start a coding agent from that template.
- Inspect the result through dashboard/log output.
- Run the agent locally or in a configured sandbox.
No deployment path is required for this definition of done. Distribution packaging is allowed because it installs the local tool; it does not add an application deployment path.
The public docs for this slice should answer:
- how a user starts from a fresh checkout,
- which command checks readiness,
- where coding-run artifacts are written,
- how local and remote sandbox execution differ,
- which targets are runtime targets and which are build boundaries,
- which checks must pass before release.