Parent: #103
Context
The runtime package effort needs a crisp boundary before implementation starts.
The motivating product story is that a user should be able to install @tnezdev/agentic, initialize a workspace, add a runtime, and run the workspace:
agentic runtime add local
agentic runtime init local
agentic runtime run <target>
At the same time, core Agentic should remain runtime-agnostic. It should not become the model loop, terminal UI, scheduler, daemon, deployment system, or session store.
Goal
Write the design boundary for runtime packages: what core owns, what runtime packages own, how the CLI discovers/delegates to them, and what minimum shared types/config are required.
Questions to settle
- What is the minimal runtime package manifest shape?
- What commands does core implement directly versus delegate?
- What is the config shape for installed/enabled runtimes?
- How does
agentic runtime add local resolve to @tnezdev/agentic-runtime-local?
- What package manager behavior is acceptable for install (
bun, npm, pnpm) in the first slice?
- Should runtime commands be capability-based rather than assuming every runtime supports
start, stop, deploy, etc.?
- What shared
RuntimeContext does a runtime package receive?
- How does the local runtime see personas, workflows, skills, artifacts, memory, and config?
- Where do lightweight invocation records fit, if at all?
- What explicit non-goals keep core from becoming a harness?
Expected design stance
Start from these assumptions unless the design discovers a reason to change them:
- Public runtime names are targets like
local and later cloudflare.
- Pi is the implementation detail for the local runtime, not the public runtime name.
- Core owns CLI front door, workspace conventions, primitive APIs, and runtime package discovery/delegation.
- Runtime packages own harness/platform integration.
- Core does not own harness sessions.
- Runtime invocation metadata is allowed; a full
session primitive is not part of the first slice.
Deliverable
A design note, issue comment, or checked-in artifact that future implementation issues can point to.
The deliverable should include at least:
- Proposed runtime package manifest/interface.
- Proposed
agentic runtime ... command behavior.
- Proposed runtime config shape.
- Core/runtime responsibility table.
- Explicit non-goals.
- Open questions deferred to local runtime implementation.
Non-goals
- Do not implement the runtime CLI here.
- Do not create the local runtime package here.
- Do not design Cloudflare deeply here.
- Do not add a session primitive here.
Acceptance
Parent: #103
Context
The runtime package effort needs a crisp boundary before implementation starts.
The motivating product story is that a user should be able to install
@tnezdev/agentic, initialize a workspace, add a runtime, and run the workspace:At the same time, core Agentic should remain runtime-agnostic. It should not become the model loop, terminal UI, scheduler, daemon, deployment system, or session store.
Goal
Write the design boundary for runtime packages: what core owns, what runtime packages own, how the CLI discovers/delegates to them, and what minimum shared types/config are required.
Questions to settle
agentic runtime add localresolve to@tnezdev/agentic-runtime-local?bun,npm,pnpm) in the first slice?start,stop,deploy, etc.?RuntimeContextdoes a runtime package receive?Expected design stance
Start from these assumptions unless the design discovers a reason to change them:
localand latercloudflare.sessionprimitive is not part of the first slice.Deliverable
A design note, issue comment, or checked-in artifact that future implementation issues can point to.
The deliverable should include at least:
agentic runtime ...command behavior.Non-goals
Acceptance