CapacityOS is a modular operating-system pattern for agentic work.
This repo is meant to be readable as a reusable public engine, not just as one person's live system.
CapacityOS is pre-alpha and being built in public.
Expect:
- breaking changes
- incomplete engine surfaces
- evolving schemas and examples
- active restructuring as the public engine/private layer boundary gets locked
The reusable core.
Main folders:
architecture-lock/docs/schemas/scripts/templates/tests/normalization/
This is the part that should be portable and publishable.
Curated installable or reference groupings built on top of the engine.
Main folders:
packs/examples/
Think of this layer as:
- modular domains
- modular runtime seed material
- starter setups that can be mixed, copied, or swapped
The initial starter package should include:
- the system-maintenance / system-governance domain
- at least one sample normal domain
- a small sample runtime seed
Transitional design and migration support material.
Main folder:
workbench/
This is useful while designing, migrating, or pressure-testing the system, but it is not the core reusable engine.
The real private overlay for an actual installation.
Main folder:
local/(ignored by git)
This is where real canon, real runtime, and private workspaces belong.
The intended public repo should contain:
- the reusable engine
- modular packs and starter-pack definitions
- publishable example domains and decision records
- publishable example runtime artifacts and runtime templates
- transitional workbench material only when it is useful to builders
The intended public repo should not contain:
- your real private domains
- your live private canon
- your live runtime state
- personal attachments or secrets
In this workspace that means:
local/stays ignoredpacks/describes starter-pack compositionexamples/holds publishable sample domains and runtime examplesworkbench/holds staging and migration-support materialJoeCapacityOS/is an ignored legacy reference folder, not part of the new repo root
architecture-lock/- the locked operating model and repo-shape rulesdocs/- implementation contracts and recommendation docsschemas/- canonical runtime and index schemasscripts/- deterministic tooling and validatorstemplates/- canonical engine assets such as domain and decision templatespacks/- curated starter-pack definitions and modular composition guidanceexamples/- publishable reference domains, decisions, runtime artifacts, and compiled index packetsworkbench/- plan and migration-specific material that supports design or cutover worklocal/- ignored private canon, runtime, and colocated workspacesnormalization/- normalization skills, schemas, and import rulestests/- frequent-task acceptance scenarios and result templatesnotes/- open questions, review notes, and next-session guidance
The engine should be removable from this repo and reusable elsewhere.
That means:
- the engine should not depend on your real private domains
- domains should be modular rather than hard-wired into the engine
- runtime should be modular and seedable rather than tracked as live private state
- starter packs should be composable from publishable sample assets
Treat the current JoeEA/ workspace as the source system for migration work.
Treat this repo as the reusable engine plus starter-pack and workbench material.
The locked Phase 1 model is:
containment= enginecoherence= canon via domainsflow= runtime
That means:
- tracked files define reusable engine structure
- domains live as modular canon objects
- runtime lives as modular operational objects
- the live private installation still belongs under
local/
The first public starter-pack shape should include:
- the
capacityossystem-governance domain - one normal sample domain such as
harbor-garden - the matching example decision-record collections
- a small sample runtime seed that shows intake, triage, backlog, queue, and bundle formation
See:
packs/starter/examples/domains/examples/decisions/examples/indexes/examples/runtime/
The real private system should continue to run from ignored local layers rather than from tracked example state.