- conforms_to::[[Conviction Form Contract]]
- in_practice_domain::[[eOS Continuum]]
- authored_by::[[Christopher Allen]]
- has_lifecycle::[[Seed Stage]]↗
- has_curation::[[Working Draft]]↗
eOS-Harness Composes With Adjacent Tools, Not Against Them
The eOS-Harness platform is positioned to compose with the broader agent ecosystem rather than to replace pieces of it: composition is deliberately additive, with the platform filling the runtime-primitive gap and the rest of the stack continuing to serve its own concerns from outside. The runtime adds the runtime-primitive set that current agent platforms rebuild from external glue (the eight runtime primitives, grounded in the platform-vs-glue diagnostic Conviction); LLM providers, vector stores, REST and GraphQL endpoints, message buses, higher-level orchestration libraries, and observability backends continue to operate from adjacent positions, composed with rather than replaced by the platform.
Why it is held
The five categories of adjacent layers each operate at a different concern from the runtime's runtime primitives. LLM providers serve language reasoning -- the agent's "brain" -- which is fundamentally a stateless per-call concern that the runtime's stateful per-operation envelope is not designed to provide. Vector databases and embedding stores serve similarity-lookup over very large corpora, which is a search-index concern that scales orthogonally to the platform's coherence-domain commitment. External data sources (REST, GraphQL, message buses, file systems) serve outbound data integration, which is by definition outside the platform's coherence boundary. Higher-level orchestration libraries serve prompt construction, retry logic, output parsing, and tool selection -- the harness's responsibilities, which the runtime explicitly does not assume. Observability stacks serve operational visibility across processes and machines, which the runtime feeds with event-log streams and metrics endpoints rather than competing with at the dashboard layer.
The platform-vs-glue distinction is specifically about runtime-level guarantees -- atomicity, capability separation, persistent state, hot reload, sandboxed code load, atomic event notification, multi-agent coherence, direct state introspection. Each of those is a primitive that current platforms rebuild from external infrastructure (databases for state, queues for atomicity, identity middleware for boundaries, distributed locks for coordination, webhooks for notifications). The diagnostic claim names what cannot be replaced by external glue. It does not name a position about the entire agent stack. The five adjacent categories above are not runtime primitives in that sense; they serve concerns that are not runtime-level guarantees and that external infrastructure handles correctly because the concerns were designed for that infrastructure's shape.
The framing matters because compete-against positioning shrinks the platform's addressable surface in two ways. First, it implies replacement: positioning the platform as "an LLM platform alternative" or "a vector database alternative" or "an orchestration framework" miscommunicates what the platform provides and asks adopters to make a much larger commitment than the runtime-primitive position requires. Second, it invites the project to absorb adjacent functionality into the runtime, which both bloats the platform beyond its load-bearing claim and erodes the substitution-fungibility that makes the harness's tool-set composable. A runtime that has folded an LLM provider into itself is not a tool the harness can swap out; a runtime that ships its own vector store competes with adjacent vector stores on a non-platform dimension. Composition-over-competition keeps the platform's claim sharp.
The migration story is the practical consequence: adopters do not rewrite their stack to use the platform. They add the runtime where the platform gap is -- typically the place where their current platform is rebuilding atomicity / capability separation / persistent state / coherent multi-agent semantics from external glue and incurring the integration-bug cost. Other parts of the stack remain. The runtime composes alongside the LLM provider the team already chose, the vector store they already index against, the orchestrator they already use, the observability backend they already trust. Incremental migration is the adoption shape, not stack-replacement.
What it asks
Honoring this Conviction asks the project to defend the additive-composition framing against pulls toward broader replacement positioning.
- Architectural Decisions evaluating platform-vs-adjacent boundaries surface the cost of crossing them. A Decision proposing to bring adjacent functionality into the runtime (embed an LLM provider as a runtime primitive; build vector indexing as a runtime-level service; ship an orchestration library as part of the platform; bundle an observability dashboard with the runtime) needs to name explicitly what runtime-primitive claim the move serves and what it costs in scope clarity. The default disposition is to keep adjacent functionality outside the platform; trading it requires the runtime-primitive case to be made.
- Workstream scoping uses the platform-vs-adjacent boundary as a filter. When a workstream proposes a capability, the scoping question is whether the capability is a runtime primitive (belongs inside, in the Convictions that ground the platform's primitive set and downstream platform-level workstreams) or an adjacent integration (belongs outside, in harness-side workstreams or as adapters). Workstreams that propose adjacent functionality framed as platform (e.g., "let's add LLM integration as a runtime primitive") need rescoping; workstreams that propose platform functionality framed as adjacent (e.g., "let's use Redis for cross-agent state") need the runtime-primitive evaluation the diagnostic Conviction names.
- Communication preserves the additive-positioning framing. When the platform is communicated to potential adopters, the load-bearing detail is that the platform fills the runtime-primitive gap without asking adopters to replace adjacent layers. Documentation describing it as "an agent platform" or "an LLM application framework" or "a complete agent stack" has lost the additive framing. The held framing is more specific: the runtime is a platform the harness drives, one tool in the harness's tool-set alongside LLMs and other services, providing the runtime-primitive set that adjacent tools structurally cannot.
- Cross-project routing recognizes adjacent-tool integrations as workstream-internal concerns. When a workstream proposes integrating with an LLM provider, a vector store, an external API, or an orchestration library, the integration is an adapter the workstream owns, not a platform-level extension that requires graph-level Conviction or Decision authorship. The platform-level surface is the runtime's primitive set; adapters to adjacent layers compose on the harness side.
- The MVA's demonstrations exercise composition with at least one adjacent layer. The atomic-operation demo provides an opportunity to show the runtime composing with an adjacent layer -- e.g., an LLM call wrapped in an atomic envelope, where the failure path demonstrates rollback when the LLM returns content that fails downstream validation. The composition demonstration is not a separate phase; it is the platform's primitive set behaving correctly when an adjacent tool participates in an operation.
Drift recognition
The Conviction has weakened when the project's outputs frame the platform as a competitor to adjacent ecosystem layers, or absorb adjacent functionality into the platform without surfacing the cost.
- Comparative-positioning material that frames the platform as a replacement. Documentation, comparative tables, or pitch material that positions the platform against LangChain, AutoGen, Pinecone, OpenAI's platform, or similar adjacent-layer products as direct competitors has lost the additive framing. The held position is that the comparison surface is at the runtime-primitive level versus other runtime platforms; not at the platform-product level versus orchestration frameworks or vector stores. Mislocated comparative positioning miscommunicates the platform's claim to potential adopters.
- BACKLOG accretion of adjacent-functionality tasks without scoping evaluation. When workstream backlogs grow to include "build our own LLM-call abstraction layer", "build our own vector indexing primitive", "build our own orchestration framework", "build our own observability dashboard" without questioning whether the capability belongs in the platform or in the harness-side adapter layer, the scoping check (the second What It Asks bullet) has stopped firing. The pattern across many sessions of pulling adjacent functionality into the platform erodes the additive framing cumulatively.
- Architectural Decisions absorbing adjacent functionality into the runtime. A Decision that embeds an LLM provider as a runtime-level primitive, fuses orchestration logic into runtime code, ships vector-store integration as a platform-level service, or bundles observability infrastructure with the runtime needs the runtime-primitive case explicitly made. Absent that case, the absorption erodes the additive framing because the platform becomes a less-substitute-fungible tool in the harness's tool-set and competes on dimensions where its platform claim is not load-bearing.
- Documentation framing the platform as a complete agent platform. Documentation that describes it as "everything you need to build agents" or "an integrated agent platform" or "batteries-included agent infrastructure" has shifted the held position. The held position is more specific: the platform is the runtime-primitive piece of the agent infrastructure stack; the rest of the stack is adjacent and external. The framing distinction is load-bearing for the additive-composition story.
- Cumulative cross-session drift. No single session breaks this Conviction; the pattern across sessions does. If three or four consecutive sessions land work that quietly absorbs adjacent functionality into the platform, frames the platform as a competitor in adjacent product categories, or describes the runtime as a complete agent stack, the project has drifted from holding the Conviction even though no individual change was the breaking point.
Sources
- The project's agent-runtime value-proposition draft, Section 11 ("Integration with the broader agent ecosystem"), Draft v2 dated 2026-04-25. Carries the additive-composition framing verbatim ("The runtime composes with rather than competes against") and enumerates the five adjacent categories: LLM providers, vector databases and embedding stores, external data sources (REST/GraphQL/message buses/file systems), higher-level orchestration libraries and frameworks, and observability stacks. The section's closing ("The composition story is deliberately additive: the runtime fills the platform gap that current platforms paper over, without asking you to rewrite the parts that already work. Migration to the runtime can proceed incrementally -- start with one workflow, validate the platform's behavior, add more.") is preserved in the Conviction's Why It Is Held closing paragraph because it ties the additive framing to the migration shape adopters experience. Cited by path; not authored as a Reference node per the URL-resolvability principle in the Reference Form Contract.
Relations
-
conforms_to::[[Conviction Form Contract]]
- Conviction-form node in the eOS-DeepContext graph. Exercises the Contract's Stance plus Why It Is Held plus What It Asks plus Drift Recognition body shape. The filename uses declarative SVO comma-form held-stance shape per the Contract's recommended forms.
-
in_practice_domain::[[eOS Continuum]]
- The additive-composition framing scopes how the eOS-Harness MVA and its downstream future workstreams relate to the broader agent ecosystem. The MVA's demos can compose with adjacent layers (LLM calls inside atomic envelopes; vector-store lookups inside agent operations) without expanding the platform's claim; the same composition shape applies to downstream workstreams (HTTP listener composing with web infrastructure; agent identity composing with external auth providers; state introspection composing with observability stacks).
-
grounded_in::[[Agent Runtimes Require Native Primitives, Not External Glue]]
- The platform-vs-glue meta-Conviction. The additive-composition framing depends on that distinction being precisely about runtime-level guarantees, not about the entire agent stack. That Conviction names what the platform must provide as primitives (the runtime-level guarantees agent infrastructure requires); this Conviction names what the platform explicitly does not need to provide (adjacent layers serving different concerns -- LLM reasoning, vector search, external data, harness-side orchestration, observability). The two Convictions form a coherent boundary: one names the inside of the platform; the other names the outside. Without the diagnostic Conviction's runtime-primitive position, the additive framing reduces to "we don't replace adjacent tools because we don't have to"; with it, the framing becomes "we don't replace adjacent tools because they serve different concerns from the runtime-primitive set the platform is positioned to deliver".
-
contrasts_with::[[Agent Harnesses Drive the Runtime, Not the Reverse]]
- The pair sits at adjacent positions in the runtime's relational positioning. The contrasting Conviction names the harness-runtime relationship (the runtime is one tool in the harness's tool-set, alongside LLMs and other callable services); this Conviction names the runtime-ecosystem relationship (the runtime is additive to the broader stack, alongside LLM providers, vector stores, orchestrators, observability). Together they establish the runtime's position: not a host the agent lives inside, and not a replacement for the agent ecosystem. The two Convictions are reciprocal framings of the same architectural commitment.
-
contrasts_with::[[eOS-Harness Is the Wrong Runtime Platform Without Platform-Pain]]
- The pair sits at adjacent positions in scope-of-applicability framing. The anti-pitch Conviction names workloads where the platform's primitives offer no value; this Conviction names ecosystem layers where the platform offers no replacement. Together they bound the platform's claim from two directions: the anti-pitch from the workload side (which workloads the platform is right for); this Conviction from the ecosystem side (which adjacent layers the platform composes with rather than replacing). Both keep the platform's positioning sharp by naming what the project is not.
-
informs_downstream::[[eOS-Harness Minimum Viable Architecture]]
- The MVA's scope is bounded by this Conviction: capabilities that are adjacent to the platform (LLM integration, vector-store integration, external-API integration, orchestration-library integration, observability integration) are workstream-internal adapter concerns, not platform-level extensions; future MVA-downstream workstreams (HTTP listener, agent identity, event dispatch, state introspection) build the platform side, with adjacent integrations as adapters owned by the workstream.