Substrate Definition Artifact
Path:
config/domains/<domain_id>/cortices/<cortex-id>.md
Conceptual note:
- This file is the Domain Bundle serialization artifact for one substrate definition.
- In current bundle versions that substrate definition is represented using
kind: cortex.
Required Fields
Section titled “Required Fields”| Field | Type | Notes |
|---|---|---|
kind |
string | Must be cortex in the current artifact version. |
id |
string | Must match the root reference id. |
builder-id |
string | Builder identity for substrate launch and synthesis resolution. |
role |
string | Example: comms, memory, internal. |
lamina |
string | Leaf lamina identifier, for example SensoryCortexLamina. |
description |
string | Human-readable summary. |
launch |
mapping | Runtime launcher configuration. |
Comms-specific required fields (role: comms):
| Field | Type | Notes |
|---|---|---|
channel |
string | Example: cli. |
protocol |
string | Example: request-response. |
requires-session-id |
bool | Session requirement flag. |
Required Launch Fields
Section titled “Required Launch Fields”| Field | Type | Notes |
|---|---|---|
launch.launcher |
string | Current MVP value is inprocess. |
launch.target.module-path |
string | Python module import path. |
launch.target.symbol-name |
string | Callable symbol to invoke. |
Optional Fields
Section titled “Optional Fields”| Field | Type | Notes |
|---|---|---|
modulation |
mapping | Modulator overrides and request semantics. |
metadata |
mapping | Additional runtime or operational metadata. |
Naming Policy
Section titled “Naming Policy”All markdown keys in this artifact are kebab-case.
- Use
builder-id, notbuilder_id. - Use
module-path, notmodule_path. - Use
requires-session-id, notrequires_session_id.
Value exceptions:
- Python import and symbol values are not reformatted.
- Free-form downstream payloads inside
metadataand modulatorconfigmay use snake_case when required by external systems.