simic

Simic

Counterfactual Generative Morphogenesis

New neural structure is generated from the live state of a host network — not selected from a fixed menu of human-authored blueprints — then causally screened against doing nothing. Measured counterfactuals instead of a reward function.

Project status

Pre-implementation bootstrap. The design is complete and locked — HLD v4.1, Namespec 1.0 — and a Python scaffold exists, but there is no functional code yet. First engineering work is Phase A: Namespec, Leyline contracts, and dependency boundaries. Nothing on this site describes a running system or a measured result.

The idea

Growing a neural network at runtime raises four questions that existing systems tend to blur together: what new structure to add, whether it is structurally sound, whether it actually helps, and who gets to decide. Simic separates those concerns constitutionally.

Structure is designed from live host telemetry; verified and canonicalised; compiled without semantic change; tested in flash-cloned counterfactual branches that share an identical future with the mainline; and admitted only if it beats a mandatory no-op alternative under a provider-blind judge. Everything — including failures, rejected pools, and no-op wins — is retained as history.

Admitted structure is never permanent by default: it matures behind the host, blends in reversibly, must keep earning its tenancy, and is sedated or lysed when it no longer does.

The loop, in one block

Task and data stream
        ↓
Tolaria trains the Kasmina host
        ↓
Nissa publishes one canonical TelemetryEnvelope
        ├──→ Narset  decides whether and where to commission growth
        └──→ Momir   receives the same uncaptioned evidence directly
        ↓
Tamiyo authorises strategic resources
        ↓
Narset emits a narrow GrowthIntent — the assignment brief
        ↓
Leyline and Kasmina deterministically resolve the legal GrowthRequest
        ↓
Sarpadia may supply temporary bootstrap ancestry or ordinary precedent
        ↓
Momir designs → Elesh conforms → Tezzeret compiles
        ↓
Urabrask specifies QA; Tolaria executes the tests
        ↓
Urabrask certifies the evidence
        ↓
Augustin judges candidate versus no-op
        ↓
Kasmina embodies an admitted growth
        ↓
Emrakul later removes what no longer earns its place
        ↓
Every success, failure, abstention and lineage is retained in Sarpadia
        ↓
Oona reveals the complete account
The ordinary host-training loop and the growth loop share one execution reality. Source: docs/design/01-claim.md §1.

Why counterfactuals, not a reward function

Paired branches start from one snapshot and run over identical futures, so ordinary-training variance cancels and the difference between branches is the intervention effect. That converts credit assignment into supervised learning: ranking over measured pools, per-step classification against counterfactual labels, and explicit adjudication rules. The genuinely irreducible reinforcement learning shrinks to strategic allocation and tactical timing.

The counterfactual apparatus is therefore not overhead wrapped around a policy learner — it is the machine that manufactures the supervision signal. That choice was forced by a documented record, which is the subject of Why this design looks like this.

Guarantees

The constitution defines 45 blocking invariants, cited throughout the design as INV-nn. The spine:

Fourteen domains, one sentence

Authority is split across fourteen bounded domains with deliberately vivid codenames. The names are not decoration: they act as an architecture linter, because a subsystem acting contrary to its verb is exercising authority it must not have.

Nissa observes and reports. Tamiyo plans. Narset commissions and acts. Momir designs. Elesh conforms. Tezzeret compiles. Urabrask tests the compiled result in Tolaria. Augustin judges the resulting evidence under Leyline. Kasmina embodies the admitted growth. Emrakul destroys what no longer earns continued tenancy. Sarpadia retains every precedent. Oona reveals the account.

The canonical sentence — docs/design/02-constitution.md §5.3

The architecture deliberately resembles a newsroom, because both must keep observation, assignment, authorship, standards, production, fact-checking, publication judgement and archive on separate desks. The load-bearing routing rule:

Nissa sends the photograph directly to the designer. Narset sends only the assignment brief.

Read the architecture →

What this is not

The initial implementation does not attempt:

The first defensible claim is narrower:

Given a typed insertion contract and a measured host deficit, can the system generate, verify, compile, causally screen, and safely integrate a useful constrained growth more quickly and reliably than comparable online construction, retrieval, random search, analytic construction, or static over-provisioning?

docs/design/01-claim.md §4

A negative generative result remains scientifically useful if the architecture cleanly shows that some simpler alternative dominates at the tested scale.

Where the design lives

The canonical authority is the HLD chapter set in the repository, not this site. Paths below are references into the repository.

Repository map
PathContents
docs/design/00-INDEX.mdEntry point to the HLD chapter set, with reading paths
docs/design/01-claim.mdExecutive summary, problem statement, goals, non-goals, the first defensible claim
docs/design/02-constitution.mdNaming constitution and the 45 blocking invariants
docs/design/03-principles.mdDesign principles and the architectural smell catalogue
docs/design/04-architecture.mdSystem context, planes, and the control hierarchy
docs/adr/Architecture decision records
docs/product/Product workspace — vision, roadmap, metrics, decisions
src/simic/Target code layout: one package per domain (scaffold only, today)

Implementation follows Phases A–K, defined in docs/design/programme/phases.md. Python is the working language. The project is licensed Apache-2.0.