Campaign 7 — Core SYSTEM.yaml rollout
Purpose
Make the estate reconstructable from small repository-local declarations plus one portfolio graph. This first wave covers 25 repositories, 6 connected components, and 28 explicit cross-repository edges.
The objective is not to freeze architecture prematurely. It is to make current authority, interfaces, dependencies, and uncertainty inspectable before deeper integration or refactoring work.
Authority split
- Each repository's
SYSTEM.yamlowns that repository's precise boundary. projects/estate/core-system-graph.yamlowns the portfolio-level projection.projectsis not a runtime dependency.kb-contractsremains limited to shared knowledge interoperability; it does not become a general estate schema registry.- Viewer, documentation, routing, and MCP repositories remain projections or access adapters rather than alternative truth stores.
Components
| Component | Repositories |
|---|---|
portfolio-control | 1 |
knowledge-fabric | 6 |
operations-loop | 4 |
accounting-flow | 4 |
poverty-research-flow | 7 |
web-factory | 3 |
Interface vocabulary
Interface identifiers use <kind>:<stable-name>@<major> where a version exists.
Examples:
contract:kb.chunk-set@1artifact:acct.professional-pack@1catalog:kb.context-routing@1protocol:mcp.matias-context@1publication:web.poverty-atlas@1
These names identify seams, not shared runtime imports.
Rollout rules
- Do not invent commands. Empty
canonical_commandsplus an explicit verification unknown is better than a false command. upstreamanddownstreamdescribe operational or artifact relationships, not the control-plane relationship toprojects.- Proposed edges remain proposed until repository inspection or a successful integration check supplies stronger evidence.
- Generated paths describe outputs, caches, or publication builds; they do not imply those paths should be committed.
- A repository may remain an isolated component. Connectivity is informative, not a reason to create artificial dependencies.
- Renames do not change stable
repo.*identifiers or declaration IDs. - After every repository PR merges, update
rollout_statusand reconcile local declarations against this projection.
Validation
make system-check
make system-generate
make system-all
system-check validates node identity, registry membership, system membership, edge endpoints, interface compatibility, and graph/list symmetry.
Known limits
- Runtime commands and generated paths are metadata-only for several repositories and are explicitly marked as unknown.
- The graph does not execute remote repositories or validate production deployments.
repo.atlas-siteremains the stable estate ID although the current GitHub repository isatlas-pobreza-docs.- This first wave excludes historical, frozen, superseded, standalone, and institutional-knowledge repositories; later waves can add them without changing these stable IDs.