KNAT Application Profile: Producer Brand
Purpose
This document defines the KNAT application profile for a Producer Brand — the engine-level authority responsible for bringing domains into existence and managing the objects within them.
The goal of this profile is to allow KNAT clients to:
- identify and locate the producer authority for a given simulation
- read its declared capabilities and operational health
- discover the physics engines it has registered with the coordinator
- observe its legitimacy regime and continuity thresholds
- receive health signals as the economic policy layer matures
This profile intentionally does not model:
- the domains the producer manages (regions, games, biologics each have their own surfaces)
- the full economic policy layer (dust lifecycle, escrow, distribution — that surface will extend this profile as the janet-producer layer matures)
- participant governance or legitimacy model internals
- world-level clock or frame scheduling (those are the world brand's surface)
Those surfaces exist elsewhere in the system.
This profile exposes the authority identity and operational health of the producer itself.
Conceptual Model
The producer sits at the top of the domain hierarchy. It is not a region, a game, or a biologic — it is the thing that makes those things possible:
Producer Brand
declares physics engines
owns economic policy
carries legitimacy regime
→ Region Brand (spatial field)
→ Game Brand (simulation sandbox)
→ Biologic Entity (actor)
A producer brand is bespoke — it is not generated from a template. Each producer is shaped to the specific world or simulation it manages. ToyTownBrand in the Toytown downstream is the canonical example: it owns the world identity, terrain and climate engine registrations, and the JTL program, alongside producers: true and physics: true capability flags.
The KNAT surface of a producer is deliberately lean. It carries the label — the stable answer to "who is handling the check?" — plus enough health signal to determine that the producer is running and honoring its constraints. The deeper economic surfaces are not yet exposed here.
Within the KNAT graph, a producer exposes two categories of surface:
Structural surfaces — established at load time, stable at runtime:
spec provenance and genome
identity human-readable title and description
capabilities what this producer brand is responsible for
regime legitimacy model type and thresholds
registered_engines coordinator-wired physics simulations
Live surfaces — updated by the runtime:
status operational health (operational, capacity, slack, maintenance, constraints)
frame current world tick
The economic policy surface — dust pool, escrow ledger, distribution policy — is not yet present. It will appear in a future extension to this profile.
Root Graph
A producer brand KNAT surface is rooted at:
/producer::<producer_id>/
Top-level families:
/producer::<producer_id>/
/spec
/engine
/identity
/capabilities
/regime
/registered_engines
/status
The view field on the snapshot indicates whether the surface is complete (full) or policy-shaped (projected). The status family is the primary surface affected by view — agents without health-read authority may receive a projected snapshot without it.
Spec Surface
Provenance of the producer spec this instance was instantiated from. Static at runtime.
/producer::<producer_id>/spec/ref
/producer::<producer_id>/spec/genome
| node | type | capabilities |
|---|---|---|
ref |
String | read |
genome |
String | read |
genome provides deterministic identity across re-instantiations of the same producer spec. Same genome, same engine, same world = identical initial state.
Engine Surface
Identity of the environment engine presenting this producer fiction. Present on all Janet brand objects exposed via KNAT.
/producer::<producer_id>/engine/name
/producer::<producer_id>/engine/version
| node | type | capabilities |
|---|---|---|
name |
String | read |
version |
String | read |
Identity Surface
Human-readable identity of this producer. Derived from the spec meta block. Static at runtime.
/producer::<producer_id>/identity/title
/producer::<producer_id>/identity/description/<lang>
| node | type | capabilities |
|---|---|---|
title |
String | read |
description/<lang> |
String | read |
description is a map of ISO 639-1 language codes to strings (e.g. en, br). Consumers should read the language code matching the observer's locale.
Capabilities Surface
Feature flags advertising what this producer is responsible for. From BrandCapabilities in janet-brand. Structural — declared by the brand author and fixed at load time.
/producer::<producer_id>/capabilities/producers
/producer::<producer_id>/capabilities/physics
/producer::<producer_id>/capabilities/governance
| node | type | capabilities | meaning when true |
|---|---|---|---|
producers |
Boolean | read | runs economic policy cycles (dust, escrow) |
physics |
Boolean | read | owns physics engine registrations |
governance |
Boolean | read | participates in legitimacy signaling |
Read capabilities first when deciding which other surfaces to subscribe to. A producer with physics: false will have an empty registered_engines map. A producer with producers: false will have no economic policy output in future.
Regime Surface
Legitimacy regime governing this producer's institutional behavior. Optional — absent for producers without a declared regime. From RegimeType and LegitimacySchema in janet-brand.
/producer::<producer_id>/regime/type
/producer::<producer_id>/regime/c_min
/producer::<producer_id>/regime/continuity_carrier
| node | type | capabilities | notes |
|---|---|---|---|
type |
String | read | regime classification |
c_min |
Float | read | minimum continuity threshold |
continuity_carrier |
String | read | named concept that must persist |
type values from RegimeType:
x1_universalist legitimacy through broad participation and inclusion
x2_stewardship_continuity legitimacy through demonstrated infrastructure survival
x3_procedural legitimacy through rule-following and formal process
x4_communitarian legitimacy through group cohesion
x5_hierarchical legitimacy through rank and assigned authority
x6_competitive legitimacy through measurable performance
c_min is the survival threshold — the minimum continuity_confidence() value below which the producer's institutional outputs are flagged. continuity_carrier is the concept that must persist (e.g. "constitutional order", "supply stability").
When regime is absent, the producer has not declared a legitimacy model. This is valid — the common producer (genome: 0000000000000000) operates without a regime.
Registered Engines Surface
Physics engine registrations declared by this producer and wired by the coordinator. These are the simulation domains under this producer's physical authority. Structural — established at startup.
/producer::<producer_id>/registered_engines/<engine_id>/engine_type
/producer::<producer_id>/registered_engines/<engine_id>/locality
/producer::<producer_id>/registered_engines/<engine_id>/fiction_prefix
/producer::<producer_id>/registered_engines/<engine_id>/enabled
| node | type | capabilities | notes |
|---|---|---|---|
engine_type |
String | read | coordinator engine selector |
locality |
String (enum) | read | where the engine runs |
fiction_prefix |
String | read | chem path prefix for outputs |
enabled |
Boolean | read |
locality values from PhysicsLocality:
internal runs in the coordinator process
external runs in a separate executor process
remote runs in executor; coordinator pushes census only
fiction_prefix is the chem path prefix where this engine's output lands. All chem keys written by a terrain_field engine for world::toytown/ will begin with world::toytown/terrain/. Use this to join engine registrations with the environment surfaces of domains they drive.
Only present when capabilities.physics is true.
Status Surface
Live operational health of this producer. From ProducerHealth in janet-brand. Present in full view; may be absent in projected view.
/producer::<producer_id>/status/operational
/producer::<producer_id>/status/capacity_utilization
/producer::<producer_id>/status/slack_available
/producer::<producer_id>/status/maintenance_required
/producer::<producer_id>/status/constraints_honored
| node | type | capabilities |
|---|---|---|
operational |
Boolean | read, subscribe |
capacity_utilization |
Float | read, subscribe |
slack_available |
Float | read |
maintenance_required |
Boolean | read, subscribe |
constraints_honored |
Boolean | read, subscribe |
Subscribe to operational and constraints_honored to receive alerts when the producer enters a degraded state. capacity_utilization and slack_available are the economic headroom indicators — they will become more meaningful as the dust lifecycle layer is exposed.
Not all producer instances populate all status fields. A minimal producer carrying only the label (no active economic policy) may omit capacity_utilization and slack_available.
Cross-Domain Joins
The producer KNAT surface is the root of the domain hierarchy.
Producer ↔ Region: A region's spec.ref traces back to the producer that authored and owns it. The fiction_prefix in registered_engines for a terrain_field or climate_field engine maps directly to the chem namespace in RegionRuntime.environment._namespace.
Producer ↔ Game: Games loaded as LoadedBrandObject trace back to the producer via their bundle's BundleId. The producer's capabilities.producers flag indicates whether economic contests (dust escrow) are available for games under this producer.
Producer ↔ World Frame: The frame field tracks the world clock. Join with the world brand's frame surface to confirm the producer is advancing in lockstep with the simulation.
Snapshot Format
The full producer KNAT snapshot is defined in defs/producers/runtime.json.
A snapshot represents all surfaces at a single frame. Consumers connecting cold receive a full snapshot before subscribing to incremental updates.
view field semantics:
"full"— all surfaces are present, includingstatus"projected"— policy-shaped;statusmay be absent;regimethreshold details may be redacted
Minimal MVP Implementation
A minimal producer KNAT implementation exposes:
spec(ref, genome)engine(name, version)identity(title)capabilities(producers, physics, governance)frame
This is the "carrying the label" surface — it answers "who is handling the check" without requiring any economic or physics wiring.
Progressive additions:
regime— legitimacy model (requires LegitimacySchema wiring)registered_engines— physics engine roster (requires PhysicsRegistration wiring)status— operational health (requires ProducerHealth integration)- (future)
finance— dust pool, escrow summary, distribution policy (requires janet-producer integration)
Example Graph
ToyTownBrand (bespoke world brand, producers + physics enabled):
/producer::toytown/
spec
ref "plantange:producers/toytown@v1"
genome "7071000000000000"
engine
name "toytown-v1"
version "0.1.0"
view "full"
identity
title "Toytown"
description
en "Single-loop train world demonstrating emergent economic and narrative behaviour."
capabilities
producers true
physics true
governance false
regime
type "x3_procedural"
c_min 0.45
continuity_carrier "constitutional order"
registered_engines
world::toytown/terrain
engine_type "terrain_field"
locality "internal"
fiction_prefix "world::toytown/terrain/"
enabled true
world::toytown/climate
engine_type "climate_field"
locality "internal"
fiction_prefix "world::toytown/climate/"
enabled true
status
operational true
capacity_utilization 0.31
slack_available 0.69
maintenance_required false
constraints_honored true
frame 4200
Common Producer (label-only, no physics, no regime):
/producer::common/
spec
ref "plantange:producers/common@v1"
genome "0000000000000000"
engine
name "janet-producer-v1"
version "1.0.0"
view "full"
identity
title "Common Producer"
description
en "A default producer to allow basic production of items without needing to define a specific producer for every item."
br "Um produtor padrão para permitir a produção básica de itens sem precisar definir um produtor específico para cada item."
capabilities
producers false
physics false
governance false
registered_engines {}
status
operational true
frame 4200
Future Extensions
When the janet-producer economic layer is exposed via KNAT, the following surfaces will extend this profile:
/producer::<id>/finance/central_pool dust available for allocation
/producer::<id>/finance/total_minted cumulative dust minted
/producer::<id>/finance/total_burned cumulative dust burned
/producer::<id>/finance/net_supply minted - burned
/producer::<id>/finance/total_escrowed dust held in escrow
/producer::<id>/finance/turn_active whether a frame is currently open
/producer::<id>/directives/<id>/kind active ProducerDirective
/producer::<id>/distribution_policy/default default distribution rule
These are intentionally excluded from the current profile.