Tianyi Cui 9e2833d15a fix review findings: drop the false "closing ACP connection" whenIdle() example 3 месяцев назад
..
agent 9e2833d15a fix review findings: drop the false "closing ACP connection" whenIdle() example 3 месяцев назад
agent-loop c44ae5570c fix review findings: whenIdle() is observation, not the teardown await 3 месяцев назад
session d6a2ab30c8 feat(types): brand bash ids + stop brand erosion; extract Branded to dsh-brand 3 месяцев назад
system-prompt d02e9f1bd6 Reorganize packages into a modular hierarchy 3 месяцев назад
tools d02e9f1bd6 Reorganize packages into a modular hierarchy 3 месяцев назад
README.md 5024cd5757 Document the package hierarchy and finalize the RFC 3 месяцев назад

README.md

core/ — product API spine

The packages every harness build is assembled from: the session log, the system-prompt assembly, the tool registry, the agent vocabulary, and the one concrete loop that drives them. These are product packages — the stable surface plugins and consumers build against.

Package Role ctx key
session/ Event-sourced session log + in-memory store ctx.sessions
system-prompt/ Prompt-section + tool-schema assembly registry ctx.systemPrompt
tools/ Tool registry + tools/execute waterfall ctx.tools
agent/ Agent interface, registry, agent/* event vocabulary ctx.agents
agent-loop/ The concrete loop plugin: ReactLoopAgent + the loop driver ctx.agentLoop

agent-loop is the one concrete implementation of the agent seam and lives here because it is the harness's default product loop; everything else in core/ is interface/vocabulary. Plugins depend on the agent vocabulary, never on agent-loop directly, so the loop stays swappable.