Concept — Schema as Contract

A deepened perspective from the gist’s comments section: the schema layer should not be mere prose instructions, but a typed + validated contract.

The Problem (raised in the comments)

The original gist suggested using prose files like CLAUDE.md / AGENTS.md as the schema. But prose is “instructions” — the Agent may not follow them, and no one catches violations. This is the under-specified aspect the pattern was called out for.

Proposal: typed + validated schema

Rather than narrative, make the schema layer machine-verifiable. The comments give an example (the SIGN spec) of its shape:

@doc WIKI-001 [std, active, agents] v1
@links WIKI-002,WIKI-003
@vocab
  derived_from  | page's claim traces to this raw source; required on every page
  supersedes    | source or page replaces an earlier one; asymmetric
  contradicts   | two claims cannot both hold; symmetric, never auto-resolved
  about         | page's subject entity; stamped at write time, not inferred at read
@def LAYERS
  raw    | immutable source documents; the only grounding authority
  wiki   | agent-written pages; derivative, never self-grounding
  schema | this document; the contract the agent operates under

Key points:

  • vocab defines relationship types (derived_from / supersedes / contradicts / about), making a claim’s grounding verifiable.
  • claims must carry grounding: every wiki claim has a derived_from edge back to raw, stamped with the write date; ungrounded claims are not allowed.
  • contradicts is symmetric and never auto-resolved: two claims cannot both be true; it is flagged but does not decide for you which is correct.
  • This is not RDF/OWL (rigorous but unfriendly to adopt, and LLM training data barely contains it so models are not good at it); it is a lightweight typed contract.

This Wiki’s Stance

This wiki’s AGENTS currently adopts a prose contract + frontmatter conventions (every page tags derived_from, trigger phrase “add to wiki”). This is workable at personal scale, but we note this perspective as a future evolution direction: for stronger guarantees, derived_from / supersedes / contradicts / about could be elevated into lint-verifiable structures.