Two arcs land together: requirements capture and traceability, then the ontology-mapping work on subject identity.
Requirements and traceability
yarramate export rtm(ADR 0071) derives a requirements traceability matrix as a bundle:RTM.mdplus a versionedyarramate/rtm/v1JSON. Rows carry motivation lineage, realizers with status, evidence verdicts, attestation state, and a source citation per cell. Requirements nothing realizes appear as explicit gaps rather than silence.- Stale attestations (ADR 0074):
reconcilereports a sign-off whose attested wording changed in a commit after the sign-off date. Outside git, on a shallow clone, or against an untracked file it degrades to a plain note, never a guess. It does not failcheck --strict, deliberately: gating on staleness would reward backdating. - Value-bearing evidence (ADR 0075): a constraint may declare an expected observation, evidence providers may report observed values, and
reconcilecompares them and renders both sides of a disagreement. This is the first mechanism that catches a contradiction between a rule and reality rather than between two references. - First-class non-goals (ADR 0073): a goal, outcome, or requirement authored
status: retiredwith its rationale is the declared record of what was deliberately declined, andexport markdownandexport briefsnow render those under a Non-goals heading instead of burying them. design --facilitate(ADR 0072) renders the interview in plain language for stakeholder workshops. The JSON envelope is identical with or without the flag.
Subject identity
- Alternative labels and near-duplicate detection (ADRs 0076, 0077). Concepts gain an
akalist, whichaskfree-text seeding matches. A new hygiene question reports subjects that look like two names for one thing, using a deterministic lexical and structural signal with no model and no network. A false positive is dismissed by recording adistinctFromclaim, read symmetrically, so the dismissal survives re-running the interview. - Succession claims (ADR 0080): a
supersedeslist records that a subject took over from others, so rename, split, and merge stop erasing history. Cardinality carries the shape, which is why there is one predicate rather than three. - Profile rigidity (ADR 0078) borrows OntoClean's meta-property: kinds may declare
rigidoranti-rigid, andYM413rejects a rigid kind specializing an anti-rigid one. Five core kinds are annotated anti-rigid; the rule is opt-in and fires only on annotations an author wrote. - Conservative extension (ADR 0079) states and tests the property that makes profile extension safe: loading an extension adds subjects, it never changes verdicts about subjects you already had.
Guidance
docs/MODEL-REVIEW.md gives reviewers six admission tests for whether a distinction earns its place in a model. The shipped skill gains references/modelling-patterns.md, six named patterns harvested from practice rather than invented. The README now leads with the human reader and gives agents their own section.
Compatibility
Additive minor. The shipped catalogue moves 0.5 to 0.7 and gains subjects-near-duplicate, so a model that previously reported the interview complete may show an open question if it contains near-duplicate subjects. That is the honest-reopen discipline of ADR 0063; answer it by merging the duplicates or recording a distinctFrom dismissal.
No existing model becomes invalid. Every new diagnostic (YM310, YM311, YM312, YM313, YM413, YM504) fires only on fields a model must first author, so anything that compiles today still compiles.
Verify: 438 tests across 41 files, self-check clean at 207 concepts and 293 relationships.