Skip to content

Trailer Vocabulary

TrailerRequiredSemantics
Lore-id:Auto-generatedStable atom identity (8-char hex)
Constraint:NoRules that shaped this decision and may still be active
Rejected:NoAlternatives evaluated and dismissed. Format: alternative | reason
Confidence:NoAuthor’s assessment: low, medium, high
Scope-risk:NoBlast radius: narrow, moderate, wide
Reversibility:Noclean, migration-needed, irreversible
Directive:NoForward-looking instructions for future modifiers
Tested:NoWhat was verified and how
Not-tested:NoWhat was not verified and why
Supersedes:NoLore-id of atom this decision replaces
Depends-on:NoLore-id of atom this decision requires
Related:NoLore-id of atom with a general relationship
ValueMeaning
lowHypothesis or first attempt. No verification performed. “I believe this is correct but haven’t confirmed.”
mediumLocally verified or based on documentation. Tested in development but not production-like environments.
highThoroughly tested (CI, staging, or production). Based on extensive domain knowledge or verified against requirements.
ValueMeaning
narrowIsolated to a single function, component, or file. No external callers affected.
moderateAffects a module or has known consumers. Blast radius is bounded and enumerable.
wideAffects cross-cutting concerns, public APIs, data schemas, or shared infrastructure. Callers may be unbounded or unknown.
ValueMeaning
cleanCan be reverted with git revert. No side effects beyond source code.
migration-neededRevert requires a data migration, config change, infrastructure update, or external coordination.
irreversibleCannot be fully undone: data deletion, published artifacts, external API calls, or contractual/compliance changes.

Constraints are immutable within their commit (per git’s design). Lifecycle is managed through the Supersedes: mechanism:

  1. Commit A introduces Constraint: Auth service does not support introspection with Lore-id: a1b2c3d4
  2. Six months later, commit B adds introspection support. Its trailers include Supersedes: a1b2c3d4
  3. lore constraints src/auth/ now filters out commit A’s constraint by default

No mutation needed. The append-only log is preserved. Lifecycle is achieved through chaining, not editing.

If commit A had 3 constraints and only 1 is obsolete, commit B can supersede the entire atom and carry forward the still-valid constraints:

Supersedes: a1b2c3d4
Constraint: Auth service rate-limits introspection to 10 req/s
Constraint: Must not add latency to non-expired-token paths

Supersession is at the atom level, not the individual trailer level.

Directives support an optional inline expiry hint:

Directive: [until:auth-v3] Do not narrow error handling without verifying upstream
Directive: [until:2026-06] Maintain Python 3.8 compatibility
Directive: Error handling is intentionally broad (all 4xx)
  • The [until:...] prefix is optional metadata, not enforced by the protocol
  • lore stale parses [until:...] hints and flags directives whose condition appears met
  • A directive without [until:...] is permanent until superseded
  • Directives can also be retired via the Supersedes: mechanism