Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,10 @@ jobs:
- name: MIF-validate the project's own docs (the suite documents itself)
run: |
# The suite documents itself: every doc under docs/ is a full MIF
# artifact (the project ADRs are L3 MIF, not structured-MADR). Gate each
# at the level it claims so its provenance/citations cannot rot.
# artifact. The project ADRs (docs/adr/, type: adr) are structured-MADR
# per ADR-0001 and issue #203 -- corpus.mjs carves them out here and the
# adr-smadr job below gates them instead. Gate everything else at the
# level it claims so its provenance/citations cannot rot.
# list-gated-docs.mjs fails closed (missing directory, empty result)
# so a drifted or renamed tree can't silently skip this gate; see the
# plain-redirect note in the template-validation step above.
Expand Down Expand Up @@ -147,3 +149,21 @@ jobs:
mif-level: '3'
path: skills/adr/templates
pattern: good.md
# The project's own ADRs are type: adr per ADR-0001 (issue #203) and are
# carved out of the mif-validate corpus (scripts/lib/corpus.mjs); this
# Action is their gate, in the same two modes as the template above.
- name: Validate project ADRs — structured-MADR mode (strict)
uses: modeled-information-format/structured-madr@325eafe9a17a23e716daffddac5db10ee178c08e # main: internal actions SHA-pinned (org policy; v1.2.0 left setup-node on a tag)
with:
mode: smadr
path: docs/adr
pattern: '*.md'
strict: 'true'
fail-on-error: 'true'
- name: Validate project ADRs — MIF conformance mode (level 3)
uses: modeled-information-format/structured-madr@325eafe9a17a23e716daffddac5db10ee178c08e # main: internal actions SHA-pinned (org policy; v1.2.0 left setup-node on a tag)
with:
mode: mif
mif-level: '3'
path: docs/adr
pattern: '*.md'
19 changes: 15 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
id: changelog-mif-docs
type: episodic
created: '2026-06-30T00:00:00Z'
modified: '2026-08-04T15:06:35.000Z'
modified: '2026-08-04T15:34:08.079Z'
namespace: changelog/mif-docs
title: Changelog
tags:
Expand All @@ -22,17 +22,17 @@ provenance:
'@type': Provenance
sourceType: agent_inferred
trustLevel: user_stated
agent: claude-code/claude-sonnet-5
agent: claude-code/claude-fable-5
wasAttributedTo:
'@id': https://github.com/modeled-information-format
'@type': prov:Agent
wasGeneratedBy:
'@id': urn:mif:activity:claude-code-session:b5bba701-d09b-493c-98c1-85bd98cd9eec
'@id': urn:mif:activity:claude-code-session:fa69eb8c-0e0f-4e98-847d-112c92f6177c
'@type': prov:Activity
wasDerivedFrom:
- '@id': urn:mif:release:mif-docs-v0.1.0
'@type': prov:Entity
agentVersion: 2.1.220
agentVersion: 2.1.221
citations:
- '@type': Citation
citationType: specification
Expand Down Expand Up @@ -62,6 +62,17 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Fixed

- Made the repo's own five ADRs (`docs/adr/0001`-`0005`) conform to the
`adr` genre skill they ship with (#203): each now carries `type: adr`,
a lifecycle `status:`, and the full structured-MADR frontmatter, so
audit-v2's immutable-ADR policy and the `structured-madr` oracle
routing engage on them. `scripts/lib/corpus.mjs` gained a content-based
ADR carve-out (`listAdrDocs`) that keeps `type: adr` documents out of
the `mif-validate` corpus, and the `adr-smadr` CI job now validates
`docs/adr/` in both `smadr` (strict) and `mif` (level 3) modes.

## [0.9.3] - 2026-08-04

### Added
Expand Down
49 changes: 24 additions & 25 deletions docs/adr/0001-align-adr-genre-to-structured-madr.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
---
id: adr-0001-align-adr-to-smadr
type: semantic
created: '2026-06-30T10:00:00Z'
modified: '2026-06-30T10:00:00Z'
namespace: adr/mif-docs
title: 'ADR-0001: Align the adr Genre Fully to Structured MADR'
title: Align the adr Genre Fully to Structured MADR
description: >-
Align the plugin's flagship adr genre fully to the org's canonical,
Action-validated Structured MADR format instead of decoupling with an optional
check, so ADRs never diverge from the ecosystem.
type: adr
conceptType: semantic
id: adr-0001-align-adr-to-smadr
namespace: adr/mif-docs
x-ontology:
id: mif-docs
version: '1.0.0'
uri: https://mif-spec.dev/ontologies/mif-docs
entity_type: decision-record
category: documentation-format
tags:
- adr
- structured-madr
- validation
aliases:
- ADR-0001
ontology:
'@type': OntologyReference
id: mif-docs
version: 1.0.0
uri: https://mif-spec.dev/ontologies/mif-docs
status: accepted
created: 2026-06-30
updated: 2026-06-30
author: modeled-information-format
project: mif-docs
temporal:
'@type': TemporalMetadata
validFrom: '2026-06-30T00:00:00Z'
Expand Down Expand Up @@ -66,23 +69,19 @@ relationships:
target: urn:mif:adr-0002-ontologies-separate-repo
- type: relates-to
target: urn:mif:adr-0003-attested-delivery
entity:
name: Align the adr Genre Fully to Structured MADR
entity_type: decision-record
summary: >-
The flagship adr genre aligns fully to Structured MADR; the structured-madr
Action is the authority for ADR validation in both smadr (strict) and mif
(conformance) modes, so ADRs authored by the plugin never diverge from the org
standard.
extensions:
x-adr-status: accepted
x-adr-category: documentation-format
x-superseded-from-smadr: true
x-decision-drivers:
- flagship-genre
- ecosystem-alignment
- action-validation
x-genre: adr
x-aliases:
- ADR-0001
x-superseded-from-smadr: true
x-decision-drivers:
- flagship-genre
- ecosystem-alignment
- action-validation
x-genre: adr
---

# ADR-0001: Align the adr Genre Fully to Structured MADR
Expand Down
53 changes: 26 additions & 27 deletions docs/adr/0002-host-ontologies-in-a-separate-repo.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
---
id: adr-0002-ontologies-separate-repo
type: semantic
created: '2026-06-30T10:00:00Z'
modified: '2026-06-30T10:00:00Z'
namespace: adr/mif-docs
title: 'ADR-0002: Host Ontologies in a Separate Repository'
title: Host Ontologies in a Separate Repository
description: >-
Host the MIF ontology in the org-shared ontologies repo and have the plugin
hydrate it at dev and vendor it into the release artifact, rather than
committing a copy here that would drift.
type: adr
conceptType: semantic
id: adr-0002-ontologies-separate-repo
namespace: adr/mif-docs
x-ontology:
id: mif-docs
version: '1.0.0'
uri: https://mif-spec.dev/ontologies/mif-docs
entity_type: decision-record
category: architecture
tags:
- adr
- ontology
- vendoring
aliases:
- ADR-0002
ontology:
'@type': OntologyReference
id: mif-docs
version: 1.0.0
uri: https://mif-spec.dev/ontologies/mif-docs
status: accepted
created: 2026-06-30
updated: 2026-06-30
author: modeled-information-format
project: mif-docs
temporal:
'@type': TemporalMetadata
validFrom: '2026-06-30T00:00:00Z'
Expand Down Expand Up @@ -63,25 +66,21 @@ relationships:
target: urn:mif:adr-0001-align-adr-to-smadr
- type: relates-to
target: urn:mif:adr-0003-attested-delivery
entity:
name: Host Ontologies in a Separate Repository
entity_type: decision-record
summary: >-
The MIF ontology stays in the org-shared ontologies repo; the plugin hydrates
it from a raw URL at dev time and vendors a fixed copy into the release
artifact, so there is one authoritative ontology with no committed duplicate to
drift.
extensions:
x-adr-status: accepted
x-adr-category: architecture
x-superseded-from-smadr: true
x-decision-drivers:
- shared-corpus
- drift-avoidance
- vendor-at-release
x-hydration:
- dev-sibling
- release-vendored
x-aliases:
- ADR-0002
x-superseded-from-smadr: true
x-decision-drivers:
- shared-corpus
- drift-avoidance
- vendor-at-release
x-hydration:
- dev-sibling
- release-vendored
---

# ADR-0002: Host Ontologies in a Separate Repository
Expand Down
61 changes: 30 additions & 31 deletions docs/adr/0003-attested-delivery-release-pattern.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,33 @@
---
id: adr-0003-attested-delivery
type: semantic
created: '2026-06-30T10:00:00Z'
modified: '2026-06-30T10:00:00Z'
namespace: adr/mif-docs
title: 'ADR-0003: Adopt the Attested-Delivery Release Pattern'
title: Adopt the Attested-Delivery Release Pattern
description: >-
Release the plugin with the self-contained attested-delivery pattern — a
reproducible git-archive tarball, SLSA build provenance, and fail-closed
verification before upload — so every release is independently verifiable.
type: adr
conceptType: semantic
id: adr-0003-attested-delivery
namespace: adr/mif-docs
x-ontology:
id: mif-docs
version: '1.0.0'
uri: https://mif-spec.dev/ontologies/mif-docs
entity_type: decision-record
category: supply-chain-security
tags:
- adr
- release
- attestation
- supply-chain
aliases:
- ADR-0003
ontology:
'@type': OntologyReference
id: mif-docs
version: 1.0.0
uri: https://mif-spec.dev/ontologies/mif-docs
status: accepted
created: 2026-06-30
updated: 2026-06-30
author: modeled-information-format
project: mif-docs
technologies:
- slsa
- github-actions
- sigstore
temporal:
'@type': TemporalMetadata
validFrom: '2026-06-30T00:00:00Z'
Expand Down Expand Up @@ -73,28 +80,20 @@ relationships:
target: urn:mif:adr-0002-ontologies-separate-repo
- type: realized-by
target: urn:mif:runbook-cut-attested-release
entity:
name: Adopt the Attested-Delivery Release Pattern
entity_type: decision-record
summary: >-
From v0.1.0, releases are reproducible git-archive tarballs carrying SLSA build
provenance, fail-closed verified before upload; modeled on
research-harness-template, every action SHA-pinned via the central pin-check.
extensions:
x-adr-status: accepted
x-adr-category: supply-chain-security
x-superseded-from-smadr: true
x-decision-drivers:
- supply-chain-integrity
- independent-verifiability
- fail-closed-publication
x-slsa-build-level: 3
x-signer-workflow: .github/workflows/release.yml
x-verify-command: gh attestation verify --signer-workflow
x-technologies:
- slsa
- github-actions
- sigstore
x-aliases:
- ADR-0003
x-superseded-from-smadr: true
x-decision-drivers:
- supply-chain-integrity
- independent-verifiability
- fail-closed-publication
x-slsa-build-level: 3
x-signer-workflow: .github/workflows/release.yml
x-verify-command: gh attestation verify --signer-workflow
---

# ADR-0003: Adopt the Attested-Delivery Release Pattern
Expand Down
52 changes: 30 additions & 22 deletions docs/adr/0004-node-engine-authoritative-with-parity-gate.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,29 @@
---
title: Node Engine Stays Authoritative, Convergence Proven by a Parity Gate
description: >-
The plugin's node validation engine remains the authoritative MIF conformance
gate; the mif-rs Rust engine is compared against it by a non-required nightly
parity job with an explicit expected-disagreement ledger.
type: adr
conceptType: semantic
id: adr-0004-node-engine-authoritative
type: semantic
created: '2026-07-05T12:00:00Z'
modified: '2026-07-28T22:28:30.021Z'
namespace: adr/mif-docs
title: 'ADR-0004: Node Engine Stays Authoritative, Convergence Proven by a Parity Gate'
summary: The plugin's node validation engine remains the authoritative MIF conformance gate; the mif-rs Rust engine is compared against it by a non-required nightly parity job with an explicit expected-disagreement ledger, and no engine substitution happens until that ledger is empty and the upstream capability gaps are closed.
x-ontology:
id: mif-docs
version: '1.0.0'
uri: https://mif-spec.dev/ontologies/mif-docs
entity_type: decision-record
category: architecture
tags:
- adr
- validation
- parity
- mif-rs
aliases:
- ADR-0004
status: accepted
created: 2026-07-05
updated: 2026-07-28
author: modeled-information-format
project: mif-docs
temporal:
'@type': TemporalMetadata
validFrom: '2026-07-05T00:00:00Z'
Expand Down Expand Up @@ -55,21 +66,18 @@ citations:
title: MIF — Modeled Information Format Specification
url: https://mif-spec.dev/
accessed: '2026-07-05'
ontology:
'@type': OntologyReference
id: mif-docs
version: 1.0.0
uri: https://mif-spec.dev/ontologies/mif-docs
entity:
name: Node Engine Authoritative with Parity Gate
entity_type: decision-record
extensions:
x-adr-status: accepted
x-adr-category: architecture
x-decision-drivers:
- single-authoritative-verdict
- fail-closed-determinism
- convergence-without-blocking
summary: >-
The plugin's node validation engine remains the authoritative MIF conformance
gate; the mif-rs Rust engine is compared against it by a non-required nightly
parity job with an explicit expected-disagreement ledger, and no engine
substitution happens until that ledger is empty and the upstream capability
gaps are closed.
x-aliases:
- ADR-0004
x-decision-drivers:
- single-authoritative-verdict
- fail-closed-determinism
- convergence-without-blocking
---

# ADR-0004: Node Engine Stays Authoritative, Convergence Proven by a Parity Gate
Expand Down
Loading