Skip to content

Commit 585f095

Browse files
committed
docs: clarify Code surfaces and filesystem-first mode
1 parent 2e59a90 commit 585f095

1 file changed

Lines changed: 21 additions & 3 deletions

File tree

README.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,31 @@ Use `a3s code` when you want a ready interactive coding agent in a terminal.
4646
Use the A3S Code SDKs when you are building your own harness, IDE extension,
4747
server worker, workflow runner, or product UI.
4848

49+
## Core Surfaces
50+
51+
A3S Code is deliberately split into surfaces so products can adopt the runtime
52+
without inheriting the terminal UX:
53+
54+
| Surface | What you use | What it gives you |
55+
| --- | --- | --- |
56+
| Runtime sessions | Rust core, Node.js SDK, Python SDK | `send`, `run`, `stream`, direct tools, cancellation, persistence, verification, lifecycle cleanup. |
57+
| Filesystem-first agents | `AGENTS.md`, `agent.acl`, `.a3s/agents/`, `.a3s/skills/`, AgentDir | Git-reviewable instructions, model policy, worker roles, reusable skills, directory-scoped tools, and schedules. |
58+
| Terminal app | `a3s code` from the `a3s` CLI | Ready TUI with streamed events, tool activity, approvals, memory/git/file panels, and session controls. |
59+
| Host extension points | Typed stores, workspaces, providers, hooks, MCP/AHP, command registry | Product-specific storage, sandboxing, tools, controls, observability, and slash-command behavior without forking the loop. |
60+
4961
## Capability Map
5062

5163
| Area | Current capability |
5264
| --- | --- |
5365
| Agent API | `Agent` and `AgentSession` expose `send`, `run`, `stream`, object-shaped requests, explicit-history calls, attachments, direct tool calls, run state, cancellation, persistence, and lifecycle cleanup. |
66+
| Agent loop | Streaming text/tool events, tool-call repair, bounded parse-error recovery, compaction, planning modes, budget guards, active-tool state, and deterministic direct calls. |
5467
| Config | ACL config files or inline ACL source; provider/model selection; skill and agent directories; storage, search, MCP, and delegation settings. |
5568
| LLM clients | Built-in Anthropic, OpenAI-compatible, and Zhipu-compatible clients, plus `SessionOptions::with_llm_client(...)` for host-supplied clients. |
56-
| Tools | Files, search, shell, git, web fetch/search, batch, structured output, programmatic tool calling, skills, MCP tools, and task delegation. |
69+
| Tools | Files, search, shell, git, web fetch/search, batch, structured output, programmatic QuickJS tool calling, skills, MCP tools, and task delegation. |
5770
| Commands | Built-in slash commands and a host command registry for product-specific `/command` handlers; the TUI layers its own terminal commands over the same session path. |
58-
| Filesystem-first | `AGENTS.md`, `.a3s/agents/`, `.a3s/skills/`, AgentDir `instructions.md`, `agent.acl`, `tools/`, and `schedules/` make agent behavior reviewable as files. |
71+
| Filesystem-first | `AGENTS.md`, `.a3s/agents/`, `.a3s/skills/`, AgentDir `instructions.md`, `agent.acl`, `tools/`, and `schedules/` make agent behavior reviewable, diffable, and reusable as files. |
5972
| Context | Project instructions, prompt slots, filesystem context, recent-file/ripgrep providers, memory recall, skills, MCP, and run observations. |
60-
| Safety | Permission policies, human confirmation, workspace path checks, tool timeouts, sandbox handle for `bash`, security providers, and prompt boundary injection. |
73+
| Safety | Permission policies, human confirmation, workspace path checks, tool timeouts, sandbox handle for `bash`, security providers, prompt boundary injection, and redaction-aware logging paths. |
6174
| Delegation | Built-in worker roles, custom Markdown/YAML agents, `task`, `parallel_task`, automatic delegation controls, and subagent task tracking. |
6275
| Orchestration | Programmable fan-out, pipelines, resumable checkpoints, workflow phases, loop caps, and shared workflow budget ledgers. |
6376
| Serving | `serveAgentDir` / `serve_agent_dir` load AgentDir schedules as full harness turns with stable `schedule:<name>` sessions. |
@@ -115,6 +128,11 @@ A3S Code treats durable agent behavior as files before APIs. The point is not
115128
magic discovery; it is code review. Roles, schedules, reusable skills, runtime
116129
policy, and worker definitions can live beside the repository they operate on.
117130

131+
This is the mode to reach for when agent behavior should survive a process,
132+
move with a repository, and be reviewed like normal engineering work. The SDK
133+
can still construct everything programmatically; filesystem-first is the
134+
portable source-of-truth form.
135+
118136
```text
119137
repo/
120138
├── AGENTS.md # project instructions loaded into context

0 commit comments

Comments
 (0)