Skip to content

v0.15.0

Latest

Choose a tag to compare

@nabsha nabsha released this 06 Aug 05:58
4b2ceae

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.md plus a versioned yarramate/rtm/v1 JSON. 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): reconcile reports 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 fail check --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 reconcile compares 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: retired with its rationale is the declared record of what was deliberately declined, and export markdown and export briefs now 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 aka list, which ask free-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 a distinctFrom claim, read symmetrically, so the dismissal survives re-running the interview.
  • Succession claims (ADR 0080): a supersedes list 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 rigid or anti-rigid, and YM413 rejects 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.