ChaseOS Core

Open SourceArchitect and Engineer

A standalone, MIT-licensed governance framework for agent systems: approval-gated writes, fail-closed authority, and decision routing that picks a human, deterministic code, an ML model or a generative agent before it picks a provider.

Outcome

Installable from PyPI as chaseos-core and usable inside any Python project. ChaseOS is the framework's own proving ground — the same package is the substrate the wider system runs on, so the governance model is demonstrated in production rather than described in a README.

Media

  • The ChaseOS Core authority pipeline: a request is routed by modality, checked by the approval gateway, executed within a bounded write scope and recorded as evidence, with a deny path when no gateway is bound
    The authority pipeline. A request is routed by modality, gated, bounded and evidenced — and with no authority provider bound it denies rather than proceeds. Canonical knowledge is reached only through an explicit promotion gate, never by direct agent writeback.
  • Runtime workers — Chaser Agent, third-party runtimes, MCP servers, an operator control plane and your own runtime — send task packets inward across a single authority boundary into ChaseOS Core, which applies modality routing, a gate check, the approval gateway, write scope and evidence before a proposal is accepted, denied, or promoted to canonical knowledge
    Runtime topology. Core is not an agent — it is the layer above them. Runtimes declare a profile and propose by default; authority is granted by Core, never by one runtime asserting it to another.
  • ChaseOS Core banner showing the ChaseOS mark with the tagline: governed, local-first framework for hybrid-intelligence systems
    MIT licensed, approval-gated, fail-closed — the three properties the framework is built to guarantee.

Case study

The problem

Agent frameworks compete on capability: more tools, more autonomy, more things the model is allowed to do. That leaves the harder question unanswered — not whether a system can perform an action, but whether it was permitted to, who is accountable for it, and what evidence survives afterwards. Once agents can write to durable memory, the failure mode is rarely dramatic. It is quiet corruption: a plausible inference gets written down, read back later as fact, and within weeks the knowledge base holds confident claims nobody verified and nobody can trace.

Authority as the engineered property

Core treats capability as assumed and authority as the thing being designed. Every gated operation resolves through a single port, and the resolution order ends in a deny-by-default fallback — so an installation with no authority provider registered refuses gated work instead of silently permitting it. A misconfiguration produces a denial, not an accident. The cost is real and stated plainly in the docs: a fresh install cannot perform gated operations until you supply a policy.

Deciding who acts, before deciding which model

The decision router asks which kind of actor should own a step — a human, deterministic code, an ML model, or a generative agent — before any provider is chosen. Action classes such as money movement, access control, identity and canonical transitions cannot be delegated to a generative model: the router blocks routes that try. Generative steps must declare a cost ceiling and explicitly opt into bounded nondeterminism; ML steps must declare model version, evaluation reference and drift status. Inspection derives the full approval plan without dispatching anything, so a route can be checked in CI or a pull request without touching production authority.

Truth is promoted, never written

Captured material lands in quarantine and becomes canonical only by passing an explicit promotion gate with provenance and a review decision. Agents produce candidates; candidates become knowledge through a gate. Provenance is enforced rather than assumed — content without a traceable source cannot be promoted — which closes the obvious hole of an agent that is allowed to write, writing something unattributable.

Open framework, private instance

The split is enforced rather than encouraged. Core is the public MIT layer: contracts, governance, fail-closed adapters, a lean CLI. Credentials, live runtime state and personal content live in a separate private instance and never enter the public tree — a publication standard backed by a repo-safe secret audit that reports credential-shaped strings without ever emitting their values. The proprietary enforcement engine is a registered implementation behind the port, which is why the open half can be inspected, forked and extended without the closed half.

Governing agent runtimes, not being one

Core is not an agent. It is the layer above them: the runtimes that do the work — an agent harness, a coding assistant, an MCP server, a bot acting as an operator control plane — are workers, and Core is where their authority is defined, checked and recorded. Each declares a profile rather than describing itself in prose, and the default posture is proposer rather than actor: credential values, private memory mutation, host mutation and external publication are refused unless explicitly granted. The rule that makes a fleet survivable is that a target runtime does not gain authority because another runtime mentions it. Authority comes from the workflow manifest, the role card and the approval gate — never from the request — so if one runtime instructs another, that instruction is data, not permission. Work crosses as a task packet carrying its own authority, and a handoff is explicitly not an approval: credentials never transfer, and stale context is revalidated before anything acts on it. What Core ships here is the contracts and the Gate port, not working adapters for specific third-party runtimes; Chaser Agent is the reference consumer built to these principles.

Proven on ChaseOS itself

ChaseOS is the framework's first and most demanding consumer: the same published package is the substrate the wider control plane runs on. That is the practical case study — the governance model is not a proposal, it is the thing already carrying real multi-agent work. Because Core is a standalone dependency rather than an extract, anyone building their own agent system can adopt the same boundaries without adopting ChaseOS.

Built to be verified, not trusted

Continuous integration runs the test suite across Python 3.11 and 3.12, a lint gate scoped to defect-class rules rather than style, and a job that installs the built wheel outside the source tree and asserts the packaged policy data actually loads — a guard added after a real defect where the published package installed cleanly but shipped none of its manifests. Five runnable examples double as executable documentation: they assert the framework's own guarantees, including that no provider enables a write capability by default, so a claim in the docs cannot quietly stop being true.

Where it is now

Published on PyPI and installable with pip. Alpha and pre-1.0: Core ships no workflow manifests, so workflow execution escalates rather than running, and gated operations deny until an authority provider is registered. Both are deliberate, and both are stated in the README rather than discovered later. Architecture decision records document why the seams sit where they do.

Technology

  • Python 3.11+
  • MIT licence
  • PyPI
  • Ports and adapters
  • YAML policy manifests

What's shipped inside it

  • The single seam every authority question resolves through, so a runtime's permissions are checked in one auditable place. Registering your own provider replaces the policy without touching call sites.

  • How a runtime declares what it is and what it may do. Anything outside the declaration is forbidden, and credential values, memory mutation, host mutation and external publication are refused by default.

  • The unit of work that crosses between runtimes, carrying its own authority rather than assuming it. Handoffs are data, not approval: credentials never transfer and stale context is revalidated before acting.

  • Inspection-only routing that picks a human, deterministic code, an ML model or a generative agent per step and derives the approval plan without dispatching anything.

  • Provider manifests describing each capability's action type and safety level as data. Read-only by default — no write or external-egress capability is enabled out of the box.

  • Third-party runtime adapters

    Planned

    Core ships adapter specifications as worked examples of the contract, not working integrations. Chaser Agent is the reference consumer built to these principles; other runtimes referenced in the docs are interoperability targets and not ChaseOS projects.

Scope and boundaries

Alpha and pre-1.0. Core ships no workflow manifests, so workflow execution escalates rather than running, and it deliberately denies gated operations until an authority provider is registered. It is not a production autonomy runtime, a hosted service, or a model.

← All projects

I take on a small number of projects at a time.

Available for selected agentic AI, automation, full-stack product and technical architecture work.

Work with mechase [at] chaseintech.com