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
16 changes: 15 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,23 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Version

## [Unreleased]

---

## [4.2.0] — 2026-08-27

Bump category: **MINOR** — highest change since the 4.1.0 pin is a new catalogued TYPE (`STANDARD`). Parser/lint/batch-path/reg-intel fixes in the same window ride along. No migration recipe: a repository that never admits a `STANDARD` validates as it did on 4.1.0. New `error` enforcement that only names already-specified rules (`TTRS-002`, relation `from`/`to`) is grandfathered for already-admitted adopter canon per CONTRACT §10.4.

### Added

- **`STANDARD` — a new codex TYPE for a technical standard issued by a standards-developing organisation** (`notations/elements/14-codex.md` §2, §2.2). Lives in `codex/external/<jurisdiction>/` with `LAW`/`REGULATION`; internationally issued bodies use `intl` (no longer reserved). Discriminator at admission: statute → `REGULATION` (or `LAW`); org writes it for itself → `INTERNAL_STANDARD`/`POLICY`/`PRINCIPLE`; an SDO issues it → `STANDARD`. A regulation that incorporates a standard by reference stays a `REGULATION` and cites the `STANDARD`. Required fields are `jurisdiction`, `effective_date`, and `issuing_authority` (the issuing body). Permitted-TYPE lists for `REQ-003`, `TERM-002`, `COVMET-003`, `RIF-002`, `SEGMENT-002`, and `AMENDMENT-002` widen to include `STANDARD`; `PRINCIPLE` stays out of rules-in-force. `@transitrix/ingest-cli` accepts `--type STANDARD` with `--jurisdiction` and `--issuing-authority`. Purely additive: no existing field became required on `LAW`/`REGULATION`, and a repository with no `STANDARD` artefact validates as before. (transitrix-hq#318)
- **`STANDARD` — a new codex TYPE for a technical standard issued by a standards-developing organisation** (`notations/elements/14-codex.md` §2, §2.2). Lives in `codex/external/<jurisdiction>/` with `LAW`/`REGULATION`; internationally issued bodies use `intl` (no longer reserved). Discriminator at admission: statute → `REGULATION` (or `LAW`); org writes it for itself → `INTERNAL_STANDARD`/`POLICY`/`PRINCIPLE`; an SDO issues it → `STANDARD`. A regulation that incorporates a standard by reference stays a `REGULATION` and cites the `STANDARD`. Required fields are `jurisdiction`, `effective_date`, and `issuing_authority` (the issuing body). Permitted-TYPE lists for `REQ-003`, `TERM-002`, `COVMET-003`, `RIF-002`, `SEGMENT-002`, and `AMENDMENT-002` widen to include `STANDARD`; `PRINCIPLE` stays out of rules-in-force. `@transitrix/ingest-cli` accepts `--type STANDARD` with `--jurisdiction` and `--issuing-authority`. Purely additive: no existing field became required on `LAW`/`REGULATION`, and a repository with no `STANDARD` artefact validates as before. (transitrix-hq#318, #539)

### Fixed

- **`tools/lint.py` reads relation `from`/`to`.** Missing or non-string endpoints are errors; the advertised empty ArchiMate semantics pass is removed (use `@transitrix/cli --scope=repo`). (#536)
- **Document parsers reject unknown directive attributes and leftover text** on `view` / `figure`, matching `DIRECTIVE_LANGUAGE` §7 (`TTRS-002`). (#535)
- **Ingest and reg-intel batch paths no longer overwrite an unresolved flat file** when a second run has different content; identity is `run_id`. (#538)
- **`reg-intel` discovery reads `operations/config/scan-sources.yaml`**, and date checks reject impossible or unpadded ISO dates. (#537)
- **Plugin `--check` treats CRLF and LF manifests as equal**; the plugin description names the document views the skill offers. (#534)

---

Expand Down
2 changes: 1 addition & 1 deletion method/06-team-operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Deliberately **not** one-file-per-record like ADR/WI: a single file, `operations
---
### FB-0002
type: notation-gap
methodology_version: "4.1.0"
methodology_version: "4.2.0"
raised_by: modeler
date: "2026-07-27"
status: sent-upstream
Expand Down
4 changes: 2 additions & 2 deletions notations/CONTRACT.md
Original file line number Diff line number Diff line change
Expand Up @@ -912,7 +912,7 @@ Structural layout of a view document:
```yaml
notation: dgca # §1 — required header
spec_version: "0.1" # §1 — optional header
methodology_version: "4.1.0" # manifest-pinned methodology version
methodology_version: "4.2.0" # manifest-pinned methodology version
name: "Retail strategy chain" # §1.1 — required document name

view: # view identity block — id only; name lives at root per §1.1
Expand Down Expand Up @@ -1011,7 +1011,7 @@ views/
```yaml
view_id: DGCA-RETAIL-1 # canonical ID of the view being captured
generated_at: "2026-06-20T14:30:00Z" # ISO-8601 UTC timestamp — matches the file name
methodology_version: "4.1.0" # methodology version in use at generation time
methodology_version: "4.2.0" # methodology version in use at generation time
# …notation-specific element list follows (format defined per notation spec)…
```

Expand Down
4 changes: 2 additions & 2 deletions notations/COVERAGE_PROFILES.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ A profile is declared at the repository root in `transitrix.yaml` under the `cov

```yaml
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [dgca, goals, activities, capability-map]
zones: [canon, field]
coverage_profile: core # short form — name a shipped preset
Expand Down Expand Up @@ -250,7 +250,7 @@ The shipped presets (`minimal`, `core`, `full`) are *re-defined per methodology
```yaml
# transitrix.yaml
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [dgca, goals, activities, capability-map, applications]
zones: [canon, field]
# coverage_profile omitted → defaults to `full`
Expand Down
2 changes: 1 addition & 1 deletion notations/CURRENT_VERSION.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
# placeholder allowlist in scripts/check-notations.mjs. Enforced by that
# script's V1 check. See notations/CONTRACT.md §10 for the versioning and
# compatibility policy this pin follows.
methodology_version: "4.1.0"
methodology_version: "4.2.0"
2 changes: 1 addition & 1 deletion notations/MANIFEST.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ A worked example lives at `transitrix.yaml` in the [acme-corp reference repo](ht

```yaml
transitrix: 1 # manifest schema version (integer)
methodology_version: "4.1.0" # the methodology release this repo conforms to
methodology_version: "4.2.0" # the methodology release this repo conforms to
notations: [dgca, goals, action, capability-map, codex]
zones: [canon, field, codex]
coverage_profile: full # optional — see COVERAGE_PROFILES.md
Expand Down
2 changes: 1 addition & 1 deletion notations/PACKAGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ A package is declared at the repository root in `transitrix.yaml` under the `pac

```yaml
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [dgca, goals, activities, capability-map]
zones: [canon, field]
coverage_profile: core
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
notation: action
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"
id: ACTION_SCHED-LAUNCH-1
name: "Launch — scoped by root_action"
generated_at: "2026-08-25"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Its own catalogue root (MANIFEST.md §4): declares the boundary the
# uniqueness scope in IDS_AND_REFERENCES.md §4 resolves against.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [action]
zones: [canon]
coverage_profile: core
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
notation: action
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"
id: ACTION_SCHED-LAUNCH-UNSCOPED-1
name: "Launch — no root_action"
generated_at: "2026-08-25"
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/codex/standard/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Its own catalogue root (MANIFEST.md §4): declares the boundary the
# uniqueness scope in IDS_AND_REFERENCES.md §4 resolves against.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [codex]
zones: [codex]
coverage_profile: core
2 changes: 1 addition & 1 deletion notations/examples/compliance-impact/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ A compliance-impact view file carries the shared envelope (`notation:`, `spec_ve
```yaml
notation: compliance-impact
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

view:
id: COMPLIANCE_IMPACT-<NAME>-1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
notation: compliance-impact
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"
name: "Retail product — GDPR obligations"

view:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
notation: dgca
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

id: DGCA-DATA-RESIDENCY-1
name: "EU data-residency DGCA chain"
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/dgca/startup.dgca.transitrix.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
notation: dgca
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

id: DGCA-STARTUP-1
name: "Product launch — strategy chain"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
notation: dgca
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

id: DGCA-STRATEGY-2026-DGA
name: "Strategy 2026 — DGA view"
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/dgca/strategy-2026.dgca.transitrix.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
notation: dgca
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

id: DGCA-STRAT-1
name: "Strategy 2026 — DGCA chain"
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/integration-map/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ An integration-map view file carries the shared envelope (`notation:`, `spec_ver
```yaml
notation: integration-map
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

view:
id: INTEGRATION_MAP-<NAME>-1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
notation: integration-map
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"
name: "Enterprise integration landscape"

view:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
notation: integration-map
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"
name: "Attempted inline edge — invalid on purpose"

view:
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/mrd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ An MRD view file carries the shared envelope (`notation:`, `spec_version:`, `met
```yaml
notation: mrd
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

view:
id: MRD-<NAME>-1
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/mrd/incident-status.mrd.transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ notation: mrd
spec_version: "0.1"
name: "Incident status communication — MRD"
generated_at: "2026-08-04"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

view:
id: MRD-INCIDENT-STATUS-1
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/mrd/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Its own catalogue root (MANIFEST.md §4): declares the boundary the
# uniqueness scope in IDS_AND_REFERENCES.md §4 resolves against.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [mrd, requirement, stakeholder, actor]
zones: [canon]
coverage_profile: core
2 changes: 1 addition & 1 deletion notations/examples/packages/reqif-workflow/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# (packages/reqif-cli/tests/test_reqif_integrity.py Part B) stays unaffected
# by content the XML converter does not carry (see this folder's README).
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [requirement]
zones: [canon]
coverage_profile: core
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/packages/reqif/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# permitted cross-reference (Transitrix.CanonRef, reqif.md §3) something real
# to cite, plus the reqif/ package folder itself.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [requirement]
zones: [canon]
coverage_profile: core
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/relations/depends-on/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Its own catalogue root (MANIFEST.md §4): declares the boundary the
# uniqueness scope in IDS_AND_REFERENCES.md §4 resolves against.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [relation, requirement]
zones: [canon]
coverage_profile: core
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Its own catalogue root (MANIFEST.md §4): declares the boundary the
# uniqueness scope in IDS_AND_REFERENCES.md §4 resolves against.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [relation, process-blueprint]
zones: [canon]
coverage_profile: core
2 changes: 1 addition & 1 deletion notations/examples/relations/required-for/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Its own catalogue root (MANIFEST.md §4): declares the boundary the
# uniqueness scope in IDS_AND_REFERENCES.md §4 resolves against.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [relation, requirement]
zones: [canon]
coverage_profile: core
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# manifest may enclose another, which is also why this fixture moved out
# from under its parent folder.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [requirement, assertion, verification]
zones: [canon]
coverage_profile: core
2 changes: 1 addition & 1 deletion notations/examples/release-qualifiers/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# notations/examples/release-qualifiers-rule-violations/ rather than its
# parent — no manifest may enclose another.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [requirement, assertion, verification]
zones: [canon]
coverage_profile: core
2 changes: 1 addition & 1 deletion notations/examples/requirement-parent/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Its own catalogue root (MANIFEST.md §4): declares the boundary the
# uniqueness scope in IDS_AND_REFERENCES.md §4 resolves against.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [requirement]
zones: [canon]
coverage_profile: core
2 changes: 1 addition & 1 deletion notations/examples/scenarios/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ A post-reclassification scenarios view file carries no canonical content. It dec
```yaml
notation: scenarios
spec_version: "0.3"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

view:
id: SCENARIOS-2027-CUT-1
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/sdd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ An SDD view file carries the shared envelope (`notation:`, `spec_version:`, `met
```yaml
notation: sdd
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

view:
id: SDD-<NAME>-1
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/sdd/data-export.sdd.transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ notation: sdd
spec_version: "0.1"
name: "Data export capability — SDD"
generated_at: "2026-08-04"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

view:
id: SDD-DATA-EXPORT-1
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/sdd/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Its own catalogue root (MANIFEST.md §4): declares the boundary the
# uniqueness scope in IDS_AND_REFERENCES.md §4 resolves against.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [sdd, requirement, assertion]
zones: [canon]
coverage_profile: core
2 changes: 1 addition & 1 deletion notations/examples/srs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ An SRS view file carries the shared envelope (`notation:`, `spec_version:`, `met
```yaml
notation: srs
spec_version: "0.1"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

view:
id: SRS-<NAME>-1
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/srs/backup-power.srs.transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ notation: srs
spec_version: "0.1"
name: "Backup-power controller — SRS"
generated_at: "2026-08-04"
methodology_version: "4.1.0"
methodology_version: "4.2.0"

view:
id: SRS-BACKUP-POWER-1
Expand Down
2 changes: 1 addition & 1 deletion notations/examples/srs/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Its own catalogue root (MANIFEST.md §4): declares the boundary the
# uniqueness scope in IDS_AND_REFERENCES.md §4 resolves against.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [srs, requirement]
zones: [canon]
coverage_profile: core
2 changes: 1 addition & 1 deletion notations/examples/validation/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Its own catalogue root (MANIFEST.md §4): declares the boundary the
# uniqueness scope in IDS_AND_REFERENCES.md §4 resolves against.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [validation, requirement, stakeholder, actor]
zones: [canon]
coverage_profile: core
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# manifest may enclose another, which is also why this fixture moved out
# from under its parent folder.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [verification, requirement]
zones: [canon]
coverage_profile: core
2 changes: 1 addition & 1 deletion notations/examples/verification/transitrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# notations/examples/verification-reverse-trace-gaps/ rather than its
# parent — no manifest may enclose another.
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
notations: [verification, requirement]
zones: [canon]
coverage_profile: core
2 changes: 1 addition & 1 deletion notations/packages/reqif.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ This is a package, not a core notation: nothing here changes `IDS_AND_REFERENCES

```yaml
transitrix: 1
methodology_version: "4.1.0"
methodology_version: "4.2.0"
packages: [reqif]
```

Expand Down
Loading
Loading