Skip to content

adr: L2 harness runtime — self-built thin run-loop, no agent framework#33

Open
cyber-ayi wants to merge 1 commit into
mainfrom
ops/adr-l2-harness-runtime
Open

adr: L2 harness runtime — self-built thin run-loop, no agent framework#33
cyber-ayi wants to merge 1 commit into
mainfrom
ops/adr-l2-harness-runtime

Conversation

@cyber-ayi

Copy link
Copy Markdown
Collaborator

Resolves the ROADMAP harness runtime decision-gate. Operator-acked 2026-06-25 across a multi-agent third-party harness-selection review (vendor sources discounted; synthetic-pollution cross-verified).

Decision

Self-built thin TypeScript run-loop over the shipped harness/bridge/ contract. No agent framework adopted. Reuse at the library level where it pays (memory: Letta/Mem0), never a runtime that owns the cognition loop.

Common death-knell across every candidate: L3 brain is external Python over the JSON-Schema seam ⇒ a framework's LLM-orchestration value is bypassed (dead weight); general harnesses additionally carry cognition that invades the self-built L3.

Rejected (third-party audited)

Candidate Why not
ElizaOS bus-factor≈1, history-rewrite, memory-poisoning fund-theft (arXiv 2503.16248), SDNY class action 1:26-cv-3238; memory not cleanly extractable
Mastra 226 transitive deps + telemetry + open-core ee/ + 2026-06 supply-chain poisoning; durable-workflow survivor mismatches a single-chain loop
Inngest AgentKit half-dormant; empty shell without LLM; durable-exec lives in inngest core below it
Vercel AI SDK / VoltAgent / OpenAI Agents JS LLM-orchestration is the whole value; TS side calls no LLM → dead weight
LangGraph.js graph over-abstraction for a single-chain loop; heavy @langchain/core
OpenClaw over-heavy multi-channel assistant; star-inflation + plugin-security doubts
hermes-agent brain-internal monolith, can't degrade to pure executor; collapses adr-0006 TS-L2 seam
AgentScope / LangGraph-py collapses adr-0006 (executor falls to Python)

Files

  • decisions/adr-pending-a36d1d8e-l2-harness-runtime.md (numbered on merge by adr-assign)
  • exploration/prior-art-l2-l3.md — L2 portion resolved → this ADR (L3 survey stays T4 input)
  • ROADMAP.md — L2 row + harness runtime gate updated

Gateway/SDK decision (Matrix + mautrix-go) lands in a separate PR.

🤖 Generated with Claude Code

Resolve the ROADMAP `harness runtime` decision-gate (operator-acked
2026-06-25, multi-agent third-party harness-selection review).

- decisions/adr-pending-a36d1d8e-l2-harness-runtime.md — self-built thin TS
  run-loop over the shipped Bridge; full rejected-alternatives audit covering
  ElizaOS / Mastra / AgentKit / Vercel AI SDK / VoltAgent / OpenAI Agents JS /
  LangGraph.js / OpenClaw / hermes-agent / AgentScope+LangGraph-py. Reuse at the
  library level (memory), never a runtime that owns the cognition loop.
- exploration/prior-art-l2-l3.md — L2 runtime portion marked resolved → this ADR
  (L3 cognition survey stays input to T4).
- ROADMAP.md — L2 row + `harness runtime` gate updated; supersedes the old
  ElizaOS/OpenClaw/Hermes lean.

Session-Id: 019f02bb-6523-7115-a7b6-3fe0adfdda4c
Agent: cc-rc-bot

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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