Thoughtware

Three rings of a cognitive unit

Identity, policy, and environment separate what makes a cognitive unit the same cognitive unit, what callers may override, and what the runtime supplies, so versioning arguments have a place to land.

9 min read

Cover for Three rings of a cognitive unit

Two engineers argue about "changing AssessMealPracticality." One edited the template wording. One swapped the default model. One pointed logs at a new sink. Each believes the others changed "the cognitive unit." Each is talking about a different ring, and until the rings are named, evidence, cost attribution, and substitution rules stay confused.

Everything a cognitive unit can carry belongs to one of three rings. Knowing which ring a change belongs to settles most design arguments before they start. The same vocabulary prevents a policy experiment from silently becoming an identity change, or environment wiring from leaking into a contract reviewers thought was portable.

Helpful context: What is a cognitive unit introduces the contract. A contract, not a prompt shows how rings appear in reviewable specs. This page classifies what inside that contract moves together and what does not.

The three rings

Identity holds the name, decision sentence, and template body. Change any of these and you have a different cognitive unit. Yesterday's evaluation figures no longer describe what is running. Policy holds defaults the cognitive unit declares and a caller may override: model, result shape, sampling, cache key, evaluation suite. These are recommendations, not hard rules. Environment holds destinations, logging, process budget, and cache store. The cognitive unit neither knows nor cares, like a function that does not know which machine it runs on.

Three fields are required in a declaration: name, decides, and body. Result shape, purity level, model defaults, sampling, cache, and the suite pointer are optional with defaults. Nothing from the environment ring appears in the declaration, by design. Portability requires that logging and store wiring stay outside the contract reviewers read.

For AssessMealPracticality, the core judgment is assessing meal fit. The inner validation ring handles schema plus allergy flags from deterministic code. The outer orchestration concern is the agent selecting which evenings need assessment, which is the agent's job, not extra decisions inside the cognitive unit.

ChangeRingConsequence
Clarify "busy evening" in the templateIdentityNew version, rebuild suite baseline
Caller selects a cheaper model for bulk evalPolicyRemeasure if consequence is high
Logs routed to a new observability stackEnvironmentNo cognitive unit identity change
Provider updates weights under same version labelSubstrateScheduled remeasure, treat as identity event

Silent model upgrades under an unchanged provider version number change implementation without a declaration. Scheduled evaluation stands between that event and unnoticed regression. The three rings give you vocabulary for the incident postmortem: "We changed policy at the call site" versus "identity moved without a version bump."

Evidence and versioning

Evaluation binds to identity. When suite results publish for AssessMealPracticality@v2, those figures describe a specific decision and template pairing. Changing the template without versioning identity lies to every downstream consumer, even if the model name on the invoice stayed the same. Policy overrides require remeasurement when consequence is high. A bulk eval run that selects a cheaper model for screening may be fine, but the same model swap on a supplier payment gate is a reliability experiment that belongs in the record. Environment changes, by contrast, do not trigger suite rebuilds. If every log routing change forces a cognitive unit version bump, teams stop versioning honestly.

Model vendors update weights, safety layers, and decoding defaults under stable product names. That change is not environment, it affects behaviour. Treating silent substrate drift as an identity-adjacent event means scheduling remeasurement, publishing figures, and updating warranty language. Teams that classify substrate change as "just policy" learn the hard way when abstention rates shift and nobody can correlate the change to a version bump. Ring vocabulary gives incident response a checklist: did identity move, did policy override at the call site, did environment change, or did substrate drift under unchanged labels?

Published suite figures state which identity version and which policy defaults they assume. Warranty language is how downstream teams know when remeasurement is mandatory, not optional hygiene. Identity changes bump the major or minor semantic version depending on team policy, but must bump something evaluators can track. Policy-only changes may patch semantic version if suites still pass under declared overrides, and release notes document whether remeasurement is required.

Evidence dies when the template changes when identity moves without a version bump. Ring discipline prevents silent invalidation: identity changes get a new semantic version, new suite baselines, and published diffs. Policy changes get call-site annotations and selective remeasurement. Reviewers approving a template tweak ask: "Is this identity or policy?" If the reviewer cannot answer, the team has not internalised rings yet.

Substitution and libraries

Libraries of cognition depend on ring discipline. Substitution rules say: swap implementation behind a stable name when suites pass. That works only when identity is stable and policy overrides are declared. If every model swap is treated as environment, libraries become copy-paste prompt repos with semantic versioning theatre.

When AssessMealPracticality v2 ships in the meal-planning domain library, consumers know exactly which ring moved. Template rewrite? Identity event, rebuild baselines. Default model change in library policy? Policy event, remeasure if consequence is high. Logging change? Environment, no consumer action. When two teams share a domain library, ring discipline prevents fork drift. One team edits the template (identity). Another team changes default sampling (policy). Without ring vocabulary, both edits land in the same pull request comment thread and nobody knows which warranty broke.

Most design arguments dissolve once a change is placed in the right ring.

The cognitive unit · Ch. 2

Rings in practice

Identity changes are new versions with new baselines. Policy overrides stay visible at the call site so cost and reliability choices remain attributable. Environment stays out of the contract so cognitive units remain portable across services and teams.

Environment leakage happens when log configuration, cache store URLs, or feature flags appear in cognitive unit declarations "for convenience." The cognitive unit becomes untestable in isolation and non-portable across services. Environment belongs in deployment manifests and runtime injection, never in the contract reviewers treat as the judgment specification.

Ring vocabulary in PR descriptions teaches the taxonomy: "Identity: clarifies busy-evening definition in template. Policy: default model for bulk eval. Environment: n/a." Reviewers learn the classification. Within a quarter, most versioning arguments shrink to classification disputes rather than ownership disputes. Domain library teams own identity for published cognitive units. Agent teams own call-site policy overrides. Platform teams own environment. Escalation paths when rings conflict are documented up front, otherwise every model swap becomes a three-team argument.

Automated checks can flag identity-ring files changed without a semantic version bump, lint policy overrides at call sites, and fail CI when environment leaks into declaration files. Mechanical enforcement teaches rings faster than documentation alone.

The quick reference: Identity means name, decides, template, version together. Policy means model, sampling, cache, suite defaults, override at call site with attribution. Environment means logs, stores, budgets, never in the declaration. When in doubt, ask which warranty breaks if this merges without notice. Ring classification is a five-minute habit that prevents five-day versioning arguments.

What to do next

Every proposed change classifies as identity, policy, or environment before merging. Identity moves require a version bump, new suite records, and published figures. Policy overrides surface at call sites for cost and reliability attribution. Environment wiring stays out of the cognitive unit declaration entirely.

See evidence dies when the template changes for what happens when identity moves without notice.

Read next: A contract, not a prompt.