Expand description
Schema-as-artifact type format.
Serde-based, YAML-authorable type definitions.
Structs§
- DueAxis
- A type’s declared due axis (first-author-path plan 08): which
of its fields carry deadline semantics, so the engine’s due-brief
(
memstead due) can render “what is due next” without knowing any domain vocabulary. Validated at schema load:date_fieldmust be a date-typed metadata field of the type,status_fieldan enum-typed one, everyopen_valuesentry a member of that enum, andlead_section(optional — rendered as “what must happen first”) a declared section key. The axis is rendering-only: it never enforces anything (constraints own enforcement) and the engine never advances a date (the agent loop is the runtime). - Exemplar
- One canonical exemplar entity for a type — a complete entity in the mem markdown shape: title, metadata overrides, section bodies, and relationship entries with placeholder targets. Engine-validated at schema install/seal through the real create path, so it can never teach a shape the validator would refuse.
- Exemplar
Relation - One relationship entry on an
Exemplar. - Metadata
Field Def - A metadata (frontmatter) field.
- Must
Reach - One reachability obligation on a type definition. The obligated
entity must reach at least one non-stub entity whose type is in
terminal_types, walking edges whose rel-type is inrelationships(an inline relation set), indirection, withinmax_depthhops when bounded. Evaluated on the health sweep only (constraintsaxis), never on the write path — no single write completes a transitive absence. The incoming direction withmax_depth: 1covers the required-incoming-edge case. - Required
Outgoing - One outgoing-edge requirement block on a type definition. Lists one
or more relationship names and a cardinality constraint they must
jointly satisfy. The schema author groups multiple alternative
relationships into a single block when “any of these” satisfies the
rule (e.g.
[CHOSEN, REJECTED]together withat_least_onewould require at least one outgoing edge across both names — but the planning schema lists each as its own block instead, so each block gets its own warning entry). - Section
Def - A section within an entity (e.g. “Claim”, “Evidence”).
- Signal
Def - One declared aggregate signal on a type definition. This wave
ships one kind,
edge_load: count the edges of a named rel-type set, in a named direction, on entities of this type, optionally restricted to edges whose counterpart entity holds a named enum value. Thresholds map counts to levels; below the first threshold the served level isnone. Values are computed at read time in O(degree), never stored, never part of_hash; a signal may not reference another signal, and nothing multiplies, averages, or decays — a count and a threshold are the whole vocabulary. - Signal
Threshold - One threshold step of a signal declaration.
- Table
Format - The table contract of a format-declared section:
columnspins header names and order;column_patternsmaps column name → regex per cell (implicitly anchored). Column-count enforcement is ours by decision — GFM silently pads/truncates short or long rows, so a row with the wrong cell count is our refusal, not the parser’s. - Type
Definition
Enums§
- Constraint
Def - One declared keep-health constraint on a type — the constraint
vocabulary (agent-toolbox plan 07). Declarations travel sealed with
the schema package and are rendered on the
memstead_schemaresponse at BOTH verbosity levels (a hidden legality condition is a defect class of its own). Thekindtag is closed: an unknown kind fails deserialization, so no declaration can load and be silently ignored. Forms land vertically — a form is only declarable once the engine evaluates it. - Constraint
Severity - Uniform severity for the constraint vocabulary — one model across
every constraint form, never five ad-hoc ones.
warnproduces a health finding only;blockadditionally refuses at write time (and still surfaces pre-existing violations in health). Severity applies to every write surface uniformly — operator-mode bypasses allowlists, never validation. - Field
Type - Filterable
- Propagation
Direction - Traversal direction for
ConstraintDef::StatusPropagation. - Reach
Direction - Walk direction for
MustReach— wire literalsout/in, matching the store’s relationship rendering andmemstead_search’sdirectionparameter. - Required
Cardinality - Required-cardinality variants.
AtLeastOneis the only variant shipped initially;ExactlyOneis the obvious next variant but is not yet wired. - Serialization
- Signal
Kind - Closed signal-kind vocabulary. Adding a member is a format-generation event.
- Signal
Level - Signal levels — deliberately NOT
ConstraintSeverity: a signal level is the output of a threshold, not the severity of a violation.warnparticipates inhealth --strictlike a warn-tier constraint finding;noticenever does — that is the whole difference between the two.
Functions§
- derive_
section_ key - Derive the storage key a
## Headingline resolves to.