diff --git a/CHANGELOG.md b/CHANGELOG.md index 8676f438..cd20a931 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,17 +6,41 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Version --- -## [Unreleased] +## [7.0.0] — 2026-09-26 + +Bump category: **MAJOR**. ACTION numeric lower bounds now apply to 7.0.0 +catalogues. Follow the [6.0 → 7.0 migration](migrations/6.0-to-7.0/); +values and historical diagnostics are never silently rewritten. Methodology, +CLI and editor packages keep independent release identities. + +### Added + +- Shared requirement-chain and release-report contracts, including evidence and + verification distinctions. (#617) +- Authored numeric risk degrees on an adopter-defined scale; existing qualitative + inputs remain valid. No calculator or universal scoring formula is required. (#625) +- Read-only document provenance checker and versioned result contract. (#621) +- Bounded requirement-language advisories and recurring activity guidance. (#622, #619) +- Examples for numerical risk scoring, shared business processes, actor boundaries, + legal identity and application hosting. (#609–#613) +- Desktop model setup, repository change-history and ADR applicability guides. + (#608, #614–#616, #623) ### Changed -- Define versioned diagnostic identities for canonical ACTIONs, schema shapes, - supported view forms and assertion-gap reports. Preserve schedule-view codes - and retired CODEX identities. The new ACTION numeric lower bounds target the - next major release, **7.0.0**, with a [compatibility and migration contract](migrations/6.0-to-7.0/); - current release pins are unchanged. +- Versioned ACTION/schema diagnostic identities preserve schedule codes and retired + CODEX meanings. Negative duration, duration_days, labor_cost, resources_cost, + effort and score are errors from 7.0.0; zero remains valid. (#618) +- Clarify frequent repository releases, empty-zone placeholders, pagination + reference boundaries and recurring activities. (#605–#607, #620) +- Manifest pins and ingest coverage presets consistently target 7.0.0. + +### Fixed + +- The 1.0→2.0 migration postcheck accepts preserved inline goals/actions without + forcing optional promotion; Python 3 with PyYAML is required for that check. (#624) -## [6.0.0] — Unreleased +## [6.0.0] — 2026-09-18 Bump category: **MAJOR**. Knowledge supersession now enforces errors on admitted objects that the 5.1.0 linter accepted, including the published `KS-019` diff --git a/method/06-team-operations.md b/method/06-team-operations.md index 2c328d4c..b3261051 100644 --- a/method/06-team-operations.md +++ b/method/06-team-operations.md @@ -110,7 +110,7 @@ Deliberately **not** one-file-per-record like ADR/WI: the journal is a single fi --- ### FB-0002 type: notation-gap -methodology_version: "6.0.0" +methodology_version: "7.0.0" raised_by: modeler date: "2026-07-27" status: sent-upstream diff --git a/migrations/6.0-to-7.0/README.md b/migrations/6.0-to-7.0/README.md index a8ceb9ad..b8e6e315 100644 --- a/migrations/6.0-to-7.0/README.md +++ b/migrations/6.0-to-7.0/README.md @@ -1,8 +1,7 @@ # Diagnostic compatibility — methodology 6.0 → 7.0 This migration contract is for catalogue maintainers and validator implementers. -The target **7.0.0** is unreleased; this document does not change the current -release or any manifest pin. It defines the next-major boundary for the ACTION +The target **7.0.0** introduces the release boundary. It defines the next-major boundary for the ACTION numeric restrictions in [24-action.md](../../notations/elements/24-action.md) §6–6.1. Adding diagnostic identities for already-invalid structures does not itself change their validity. Rejecting previously accepted numbers does. @@ -135,3 +134,28 @@ they are not claims about a subsequently published or installed validator. These gaps require validator follow-through. The contract and examples do not claim runtime conformance, and a source merge alone does not close the gaps. + + +## Executable migration + +Node.js 20+ is required. The read-only postcheck additionally uses Python 3 with +PyYAML, as does the repository linter. The codemod changes only the root manifest +pin from 6.0.0 to 7.0.0, preserving comments, newlines and all model bytes. It does +not correct numbers or rewrite diagnostic history. Review the six fields above +before applying the pin; if the postcheck reports a negative value, the author +must correct it or defer the upgrade. A pin change alone is not model acceptance. + +```sh +node migrations/6.0-to-7.0/codemod.mjs --dry-run /path/to/model +node migrations/6.0-to-7.0/codemod.mjs /path/to/model +node migrations/6.0-to-7.0/validate.mjs /path/to/model +``` + +The postcheck reads YAML in declared canon/field/codex zones and an existing +root views directory. It checks canonical ACTIONs and inline action collections +in action and DGCA-family views; malformed YAML and symlinks cannot pass silently. +It is a numeric migration check, not complete schema, relation, admission or +rendering validation. Historical copies within those roots are reported for +review, never altered. Exit 1 reports model findings; exit 2 reports invocation, +manifest or scan failures. Re-run the full validators against the release's tool +versions before admitting the upgrade. diff --git a/migrations/6.0-to-7.0/check-action-numbers.py b/migrations/6.0-to-7.0/check-action-numbers.py new file mode 100644 index 00000000..9ea2a9d8 --- /dev/null +++ b/migrations/6.0-to-7.0/check-action-numbers.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python3 +"""Read-only ACTION numeric boundary check for migration operators (Python + PyYAML).""" +import math +from pathlib import Path +import sys +try: + import yaml +except ImportError: + print("Python 3 with PyYAML is required", file=sys.stderr) + sys.exit(2) + +FIELDS = ('duration', 'duration_days', 'labor_cost', 'resources_cost', 'effort', 'score') +class Loader(yaml.SafeLoader): + pass + +def mapping(loader, node, deep=False): + seen = set() + for key_node, _ in node.value: + if key_node.tag == 'tag:yaml.org,2002:merge': + continue + key = loader.construct_object(key_node, deep=deep) + if key in seen: + raise ValueError('duplicate YAML key: ' + str(key)) + seen.add(key) + loader.flatten_mapping(node) + return yaml.SafeLoader.construct_mapping(loader, node, deep=deep) +Loader.add_constructor(yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, mapping) + +def main(): + root = Path(sys.argv[1]).resolve() + manifest = yaml.load((root / 'transitrix.yaml').read_text(), Loader=Loader) + if not isinstance(manifest, dict) or manifest.get('methodology_version') != '7.0.0': + raise ValueError('expected methodology_version: "7.0.0"; run the documented pin migration first') + zones = manifest.get('zones') + if not isinstance(zones, list) or not zones or any(z not in ('canon', 'field', 'codex') for z in zones): + raise ValueError('manifest zones must be a nonempty list of canon/field/codex') + errors, files, actions = [], 0, 0 + roots = [root / z for z in dict.fromkeys(zones)] + if (root / 'views').exists(): + roots.append(root / 'views') + def check(record, label): + nonlocal actions + actions += 1 + if not isinstance(record, dict): + errors.append(label + ': ACTION must be a mapping'); return + for field in FIELDS: + if field not in record: + continue + value = record[field] + if value is None and field in ('duration', 'duration_days'): + continue + if type(value) not in (int, float) or not math.isfinite(value) or (field == 'score' and value != int(value)): + errors.append(label + '.' + field + ': SCHEMA_INVALID numeric type') + elif value < 0: + errors.append(label + '.' + field + ': ACTION-011 negative value; author correction required') + for zone in roots: + if not zone.is_dir() or zone.is_symlink(): + raise ValueError('missing or symlinked scan root: ' + str(zone)) + for path in sorted(zone.rglob('*')): + if path.is_symlink(): + raise ValueError('symlink requires explicit review: ' + str(path)) + if not path.is_file() or path.suffix.lower() not in ('.yaml', '.yml'): + continue + files += 1 + label = str(path.relative_to(root)) + try: + doc = yaml.load(path.read_text(), Loader=Loader) + if not isinstance(doc, dict): + raise ValueError('expected YAML mapping') + notation = doc.get('notation') + if notation in ('action', 'activity') and str(doc.get('id', '')).startswith(('ACTION-', 'ACTIVITY-')): + check(doc, label) + if notation in ('action', 'activities', 'dgca', 'dga', 'fgca', 'fga', 'actions-tree'): + for key in ('actions', 'activities'): + if key in doc: + if not isinstance(doc[key], list): + errors.append(label + '.' + key + ': expected array') + else: + for i, action in enumerate(doc[key]): + check(action, label + '.' + key + '[' + str(i) + ']') + except (ValueError, yaml.YAMLError, OSError) as error: + errors.append(label + ': ' + str(error)) + for error in errors: + print(error, file=sys.stderr) + print(f'{files} YAML files read; {actions} ACTION records checked; {len(errors)} errors.') + print('Numeric migration checks only. Run the owning notation and whole-model validators; retain historical diagnostics.') + return 1 if errors else 0 +try: + sys.exit(main()) +except (OSError, ValueError, yaml.YAMLError) as error: + print(str(error), file=sys.stderr); sys.exit(2) diff --git a/migrations/6.0-to-7.0/codemod.mjs b/migrations/6.0-to-7.0/codemod.mjs new file mode 100644 index 00000000..46d4de96 --- /dev/null +++ b/migrations/6.0-to-7.0/codemod.mjs @@ -0,0 +1,29 @@ +#!/usr/bin/env node +// Only the manifest pin is mechanical. ACTION values and diagnostic history are never rewritten. +import { readFileSync, writeFileSync } from 'node:fs'; +import { join, resolve } from 'node:path'; + +const args = process.argv.slice(2); +if (args.some(a => a.startsWith('--') && a !== '--dry-run') || args.filter(a => !a.startsWith('--')).length > 1) { + console.error('Usage: node codemod.mjs [--dry-run] [target-dir]'); + process.exit(2); +} +try { + const file = join(resolve(args.find(a => !a.startsWith('--')) ?? '.'), 'transitrix.yaml'); + const text = readFileSync(file, 'utf8'); + const lines = text.match(/^methodology_version:.*$/gm) ?? []; + const pin = /^methodology_version: (["']?)(6\.0\.0|7\.0\.0)\1([ \t]*(?:#.*)?)(\r?)$/; + if (lines.length !== 1 || !pin.test(lines[0])) { + console.error('Manual intervention: expected one top-level 6.0.0 or 7.0.0 methodology_version pin.'); + process.exit(1); + } + const next = text.replace(/^methodology_version:.*$/m, line => line.replace(pin, (_, quote, version, comment, cr) => `methodology_version: ${quote}7.0.0${quote}${comment}${cr}`)); + const changed = next !== text; + if (changed && !args.includes('--dry-run')) writeFileSync(file, next); + if (changed) console.log('transitrix.yaml: methodology_version 6.0.0 -> 7.0.0 (1 field)'); + console.log(`1 file scanned; ${changed ? 1 : 0} file${changed ? '' : 's'} ${args.includes('--dry-run') ? 'would change' : 'changed'}.`); + console.log('Pin update only: complete the manual compatibility review and run validate.mjs.'); +} catch (error) { + console.error(error.message); + process.exit(2); +} diff --git a/migrations/6.0-to-7.0/fixtures/after/canon/ACTION-EXAMPLE-1.yaml b/migrations/6.0-to-7.0/fixtures/after/canon/ACTION-EXAMPLE-1.yaml new file mode 100644 index 00000000..57c82eaf --- /dev/null +++ b/migrations/6.0-to-7.0/fixtures/after/canon/ACTION-EXAMPLE-1.yaml @@ -0,0 +1,5 @@ +notation: action +id: ACTION-EXAMPLE-1 +name: Preserve authored numeric values +duration: 0.5 +score: 0 diff --git a/migrations/6.0-to-7.0/fixtures/after/transitrix.yaml b/migrations/6.0-to-7.0/fixtures/after/transitrix.yaml new file mode 100644 index 00000000..58a3931d --- /dev/null +++ b/migrations/6.0-to-7.0/fixtures/after/transitrix.yaml @@ -0,0 +1,4 @@ +transitrix: 1 +methodology_version: "7.0.0" +zones: [canon] +notations: [action] diff --git a/migrations/6.0-to-7.0/fixtures/before/canon/ACTION-EXAMPLE-1.yaml b/migrations/6.0-to-7.0/fixtures/before/canon/ACTION-EXAMPLE-1.yaml new file mode 100644 index 00000000..57c82eaf --- /dev/null +++ b/migrations/6.0-to-7.0/fixtures/before/canon/ACTION-EXAMPLE-1.yaml @@ -0,0 +1,5 @@ +notation: action +id: ACTION-EXAMPLE-1 +name: Preserve authored numeric values +duration: 0.5 +score: 0 diff --git a/migrations/6.0-to-7.0/fixtures/before/transitrix.yaml b/migrations/6.0-to-7.0/fixtures/before/transitrix.yaml new file mode 100644 index 00000000..8d12c4fa --- /dev/null +++ b/migrations/6.0-to-7.0/fixtures/before/transitrix.yaml @@ -0,0 +1,4 @@ +transitrix: 1 +methodology_version: "6.0.0" +zones: [canon] +notations: [action] diff --git a/migrations/6.0-to-7.0/validate.mjs b/migrations/6.0-to-7.0/validate.mjs new file mode 100644 index 00000000..9b20c26d --- /dev/null +++ b/migrations/6.0-to-7.0/validate.mjs @@ -0,0 +1,11 @@ +#!/usr/bin/env node +// Read-only, release-specific numeric preflight; not whole-model certification. +import { spawnSync } from 'node:child_process'; +import { fileURLToPath } from 'node:url'; +const args = process.argv.slice(2); +if (args.length > 1 || args.some(a => a.startsWith('--'))) { + console.error('Usage: node validate.mjs [target-dir]'); process.exit(2); +} +const result = spawnSync('python3', [fileURLToPath(new URL('./check-action-numbers.py', import.meta.url)), args[0] ?? '.'], { stdio: 'inherit' }); +if (result.error || result.signal) { console.error(result.error?.message ?? result.signal); process.exit(2); } +process.exit(result.status ?? 2); diff --git a/notations/CONTRACT.md b/notations/CONTRACT.md index ed6bf14c..786d00f5 100644 --- a/notations/CONTRACT.md +++ b/notations/CONTRACT.md @@ -982,7 +982,7 @@ Structural layout of a view document: ```yaml notation: dgca # §1 — required header spec_version: "0.1" # §1 — optional header -methodology_version: "6.0.0" # manifest-pinned methodology version +methodology_version: "7.0.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 @@ -1081,7 +1081,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: "6.0.0" # methodology version in use at generation time +methodology_version: "7.0.0" # methodology version in use at generation time # …notation-specific element list follows (format defined per notation spec)… ``` diff --git a/notations/COVERAGE_PROFILES.md b/notations/COVERAGE_PROFILES.md index 0906ea11..40e8fdf2 100644 --- a/notations/COVERAGE_PROFILES.md +++ b/notations/COVERAGE_PROFILES.md @@ -24,7 +24,7 @@ A profile is declared at the repository root in `transitrix.yaml` under the `cov ```yaml transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [dgca, goals, activities, capability-map] zones: [canon, field] coverage_profile: core # short form — name a shipped preset @@ -250,7 +250,7 @@ The shipped presets (`minimal`, `core`, `full`) are *re-defined per methodology ```yaml # transitrix.yaml transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [dgca, goals, activities, capability-map, applications] zones: [canon, field] # coverage_profile omitted → defaults to `full` diff --git a/notations/CURRENT_VERSION.yaml b/notations/CURRENT_VERSION.yaml index b5ac540b..68d7d266 100644 --- a/notations/CURRENT_VERSION.yaml +++ b/notations/CURRENT_VERSION.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" diff --git a/notations/MANIFEST.md b/notations/MANIFEST.md index 9e4e0ade..fa3145fe 100644 --- a/notations/MANIFEST.md +++ b/notations/MANIFEST.md @@ -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: "6.0.0" # the methodology release this repo conforms to +methodology_version: "7.0.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 diff --git a/notations/PACKAGES.md b/notations/PACKAGES.md index 6a94cb6d..fa30dc19 100644 --- a/notations/PACKAGES.md +++ b/notations/PACKAGES.md @@ -20,7 +20,7 @@ A package is declared at the repository root in `transitrix.yaml` under the `pac ```yaml transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [dgca, goals, activities, capability-map] zones: [canon, field] coverage_profile: core diff --git a/notations/elements/14-codex.md b/notations/elements/14-codex.md index abdd68e5..bbf92396 100644 --- a/notations/elements/14-codex.md +++ b/notations/elements/14-codex.md @@ -1,8 +1,8 @@ --- title: "Codex — external & internal authority artefacts" -version: "0.4" +version: "0.5" author: "Valerii Korobeinikov" -last_updated: "2026-08-27" +last_updated: "2026-09-26" status: "draft" --- diff --git a/notations/elements/25-nodes.md b/notations/elements/25-nodes.md index 3228c3bf..a1d601f8 100644 --- a/notations/elements/25-nodes.md +++ b/notations/elements/25-nodes.md @@ -1,8 +1,8 @@ --- title: "Nodes — infrastructure node primitive" -version: "0.1" +version: "0.2" author: "Valerii Korobeinikov" -last_updated: "2026-06-28" +last_updated: "2026-09-26" status: "draft" --- diff --git a/notations/elements/26-technology-services.md b/notations/elements/26-technology-services.md index f4983e6c..01e62485 100644 --- a/notations/elements/26-technology-services.md +++ b/notations/elements/26-technology-services.md @@ -1,8 +1,8 @@ --- title: "Technology Services — platform-level service primitive" -version: "0.1" +version: "0.2" author: "Valerii Korobeinikov" -last_updated: "2026-06-28" +last_updated: "2026-09-26" status: "draft" --- diff --git a/notations/elements/27-verification.md b/notations/elements/27-verification.md index 198a102a..496e2804 100644 --- a/notations/elements/27-verification.md +++ b/notations/elements/27-verification.md @@ -1,8 +1,8 @@ --- title: "Verification — REQUIREMENT verification claim" -version: "0.5" +version: "0.6" author: "Valerii Korobeinikov" -last_updated: "2026-09-24" +last_updated: "2026-09-26" status: "draft" --- diff --git a/notations/examples/action/root-action-scope/scoped.action.transitrix.yaml b/notations/examples/action/root-action-scope/scoped.action.transitrix.yaml index 963e2b73..ddcab363 100644 --- a/notations/examples/action/root-action-scope/scoped.action.transitrix.yaml +++ b/notations/examples/action/root-action-scope/scoped.action.transitrix.yaml @@ -1,6 +1,6 @@ notation: action spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: ACTION_SCHED-LAUNCH-1 name: "Launch — scoped by root_action" generated_at: "2026-08-25" diff --git a/notations/examples/action/root-action-scope/transitrix.yaml b/notations/examples/action/root-action-scope/transitrix.yaml index 50b15a70..626b8cee 100644 --- a/notations/examples/action/root-action-scope/transitrix.yaml +++ b/notations/examples/action/root-action-scope/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [action] zones: [canon] coverage_profile: core diff --git a/notations/examples/action/root-action-scope/unscoped.action.transitrix.yaml b/notations/examples/action/root-action-scope/unscoped.action.transitrix.yaml index e69f6555..ca988b1a 100644 --- a/notations/examples/action/root-action-scope/unscoped.action.transitrix.yaml +++ b/notations/examples/action/root-action-scope/unscoped.action.transitrix.yaml @@ -1,6 +1,6 @@ notation: action spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: ACTION_SCHED-LAUNCH-UNSCOPED-1 name: "Launch — no root_action" generated_at: "2026-08-25" diff --git a/notations/examples/actor-boundaries/transitrix.yaml b/notations/examples/actor-boundaries/transitrix.yaml index c494b243..f4c94dc2 100644 --- a/notations/examples/actor-boundaries/transitrix.yaml +++ b/notations/examples/actor-boundaries/transitrix.yaml @@ -1,6 +1,6 @@ # Synthetic catalogue; see README.md. transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [actor] zones: [canon] coverage_profile: core diff --git a/notations/examples/actor-legal-identity/transitrix.yaml b/notations/examples/actor-legal-identity/transitrix.yaml index c494b243..f4c94dc2 100644 --- a/notations/examples/actor-legal-identity/transitrix.yaml +++ b/notations/examples/actor-legal-identity/transitrix.yaml @@ -1,6 +1,6 @@ # Synthetic catalogue; see README.md. transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [actor] zones: [canon] coverage_profile: core diff --git a/notations/examples/codex/standard/transitrix.yaml b/notations/examples/codex/standard/transitrix.yaml index 5af1618c..12a57611 100644 --- a/notations/examples/codex/standard/transitrix.yaml +++ b/notations/examples/codex/standard/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [codex] zones: [codex] coverage_profile: core diff --git a/notations/examples/compliance-impact/README.md b/notations/examples/compliance-impact/README.md index 9cdd8c56..b0248716 100644 --- a/notations/examples/compliance-impact/README.md +++ b/notations/examples/compliance-impact/README.md @@ -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: "6.0.0" +methodology_version: "7.0.0" view: id: COMPLIANCE_IMPACT--1 diff --git a/notations/examples/compliance-impact/retail-gdpr.compliance-impact.transitrix.yaml b/notations/examples/compliance-impact/retail-gdpr.compliance-impact.transitrix.yaml index 7e6ae604..d0667d3f 100644 --- a/notations/examples/compliance-impact/retail-gdpr.compliance-impact.transitrix.yaml +++ b/notations/examples/compliance-impact/retail-gdpr.compliance-impact.transitrix.yaml @@ -1,6 +1,6 @@ notation: compliance-impact spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" name: "Retail product — GDPR obligations" view: diff --git a/notations/examples/dgca/action-scoped-delivery-2026.dgca.transitrix.yaml b/notations/examples/dgca/action-scoped-delivery-2026.dgca.transitrix.yaml index 4ee80122..5f0801ec 100644 --- a/notations/examples/dgca/action-scoped-delivery-2026.dgca.transitrix.yaml +++ b/notations/examples/dgca/action-scoped-delivery-2026.dgca.transitrix.yaml @@ -1,6 +1,6 @@ notation: dgca spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: DGCA-DELIVERY-1 name: "Delivery chain 2026 — action-scoped" diff --git a/notations/examples/dgca/constraint-driven.dgca.transitrix.yaml b/notations/examples/dgca/constraint-driven.dgca.transitrix.yaml index 4f0a6a16..4c766e82 100644 --- a/notations/examples/dgca/constraint-driven.dgca.transitrix.yaml +++ b/notations/examples/dgca/constraint-driven.dgca.transitrix.yaml @@ -1,6 +1,6 @@ notation: dgca spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: DGCA-DATA-RESIDENCY-1 name: "EU data-residency DGCA chain" diff --git a/notations/examples/dgca/goal-link-duplicate-warning.dgca.transitrix.yaml b/notations/examples/dgca/goal-link-duplicate-warning.dgca.transitrix.yaml index d850ed6c..c5ddb612 100644 --- a/notations/examples/dgca/goal-link-duplicate-warning.dgca.transitrix.yaml +++ b/notations/examples/dgca/goal-link-duplicate-warning.dgca.transitrix.yaml @@ -1,6 +1,6 @@ notation: dgca spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: DGCA-DUPLICATE-GOAL-LINK-1 name: "Goal link duplication — DGCA-021 demonstration" diff --git a/notations/examples/dgca/goal-scoped-projection-omitted-goals.dgca.transitrix.yaml b/notations/examples/dgca/goal-scoped-projection-omitted-goals.dgca.transitrix.yaml index 424dce6b..287461b3 100644 --- a/notations/examples/dgca/goal-scoped-projection-omitted-goals.dgca.transitrix.yaml +++ b/notations/examples/dgca/goal-scoped-projection-omitted-goals.dgca.transitrix.yaml @@ -1,6 +1,6 @@ notation: dgca spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: DGCA-PROJECTION-OMIT-1 name: "Goal-scoped projection with omitted goals" description: >- diff --git a/notations/examples/dgca/startup.dgca.transitrix.yaml b/notations/examples/dgca/startup.dgca.transitrix.yaml index 655f3008..64c1b1c5 100644 --- a/notations/examples/dgca/startup.dgca.transitrix.yaml +++ b/notations/examples/dgca/startup.dgca.transitrix.yaml @@ -1,6 +1,6 @@ notation: dgca spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: DGCA-STARTUP-1 name: "Product launch — strategy chain" diff --git a/notations/examples/dgca/strategy-2026-dga.dgca.transitrix.yaml b/notations/examples/dgca/strategy-2026-dga.dgca.transitrix.yaml index 95642bf2..9a3edcca 100644 --- a/notations/examples/dgca/strategy-2026-dga.dgca.transitrix.yaml +++ b/notations/examples/dgca/strategy-2026-dga.dgca.transitrix.yaml @@ -1,6 +1,6 @@ notation: dgca spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: DGCA-STRATEGY-2026-DGA name: "Strategy 2026 — DGA view" diff --git a/notations/examples/dgca/strategy-2026.dgca.transitrix.yaml b/notations/examples/dgca/strategy-2026.dgca.transitrix.yaml index c33be88f..3ab5f936 100644 --- a/notations/examples/dgca/strategy-2026.dgca.transitrix.yaml +++ b/notations/examples/dgca/strategy-2026.dgca.transitrix.yaml @@ -1,6 +1,6 @@ notation: dgca spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: DGCA-STRAT-1 name: "Strategy 2026 — DGCA chain" diff --git a/notations/examples/integration-map/README.md b/notations/examples/integration-map/README.md index cd123ae5..02c6961c 100644 --- a/notations/examples/integration-map/README.md +++ b/notations/examples/integration-map/README.md @@ -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: "6.0.0" +methodology_version: "7.0.0" view: id: INTEGRATION_MAP--1 diff --git a/notations/examples/integration-map/enterprise.integration-map.transitrix.yaml b/notations/examples/integration-map/enterprise.integration-map.transitrix.yaml index 66524053..2152bc04 100644 --- a/notations/examples/integration-map/enterprise.integration-map.transitrix.yaml +++ b/notations/examples/integration-map/enterprise.integration-map.transitrix.yaml @@ -1,6 +1,6 @@ notation: integration-map spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" name: "Enterprise integration landscape" view: diff --git a/notations/examples/integration-map/rule-violations/attempted-inline-edge.integration-map.transitrix.yaml b/notations/examples/integration-map/rule-violations/attempted-inline-edge.integration-map.transitrix.yaml index 11a56983..3fef5302 100644 --- a/notations/examples/integration-map/rule-violations/attempted-inline-edge.integration-map.transitrix.yaml +++ b/notations/examples/integration-map/rule-violations/attempted-inline-edge.integration-map.transitrix.yaml @@ -1,6 +1,6 @@ notation: integration-map spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" name: "Attempted inline edge — invalid on purpose" view: diff --git a/notations/examples/mrd/README.md b/notations/examples/mrd/README.md index 9303de76..af4cde65 100644 --- a/notations/examples/mrd/README.md +++ b/notations/examples/mrd/README.md @@ -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: "6.0.0" +methodology_version: "7.0.0" view: id: MRD--1 diff --git a/notations/examples/mrd/incident-status.mrd.transitrix.yaml b/notations/examples/mrd/incident-status.mrd.transitrix.yaml index 55751341..61f529c1 100644 --- a/notations/examples/mrd/incident-status.mrd.transitrix.yaml +++ b/notations/examples/mrd/incident-status.mrd.transitrix.yaml @@ -2,7 +2,7 @@ notation: mrd spec_version: "0.1" name: "Incident status communication — MRD" generated_at: "2026-08-04" -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: MRD-INCIDENT-STATUS-1 diff --git a/notations/examples/mrd/transitrix.yaml b/notations/examples/mrd/transitrix.yaml index c326663e..271b73c2 100644 --- a/notations/examples/mrd/transitrix.yaml +++ b/notations/examples/mrd/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [mrd, requirement, stakeholder, actor] zones: [canon] coverage_profile: core diff --git a/notations/examples/packages/reqif/transitrix.yaml b/notations/examples/packages/reqif/transitrix.yaml index e5d64b76..cc7bad2d 100644 --- a/notations/examples/packages/reqif/transitrix.yaml +++ b/notations/examples/packages/reqif/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [requirement] zones: [canon] coverage_profile: core diff --git a/notations/examples/relations/application-hosting/transitrix.yaml b/notations/examples/relations/application-hosting/transitrix.yaml index 5aed1bbb..5665f368 100644 --- a/notations/examples/relations/application-hosting/transitrix.yaml +++ b/notations/examples/relations/application-hosting/transitrix.yaml @@ -1,5 +1,5 @@ transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [application, node, technology-service, relation] zones: [canon] coverage_profile: core diff --git a/notations/examples/relations/depends-on/transitrix.yaml b/notations/examples/relations/depends-on/transitrix.yaml index 6aec0f92..19ca8171 100644 --- a/notations/examples/relations/depends-on/transitrix.yaml +++ b/notations/examples/relations/depends-on/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [relation, requirement] zones: [canon] coverage_profile: core diff --git a/notations/examples/relations/process-parent/transitrix.yaml b/notations/examples/relations/process-parent/transitrix.yaml index 5bee0b49..663786d2 100644 --- a/notations/examples/relations/process-parent/transitrix.yaml +++ b/notations/examples/relations/process-parent/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [relation, process-blueprint] zones: [canon] coverage_profile: core diff --git a/notations/examples/relations/required-for/transitrix.yaml b/notations/examples/relations/required-for/transitrix.yaml index 827fb8d8..b923e052 100644 --- a/notations/examples/relations/required-for/transitrix.yaml +++ b/notations/examples/relations/required-for/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [relation, requirement] zones: [canon] coverage_profile: core diff --git a/notations/examples/release-qualifiers-rule-violations/transitrix.yaml b/notations/examples/release-qualifiers-rule-violations/transitrix.yaml index ff6ea6d7..50250bf8 100644 --- a/notations/examples/release-qualifiers-rule-violations/transitrix.yaml +++ b/notations/examples/release-qualifiers-rule-violations/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [requirement, assertion, verification] zones: [canon] coverage_profile: core diff --git a/notations/examples/release-qualifiers/transitrix.yaml b/notations/examples/release-qualifiers/transitrix.yaml index 76895557..ceb2844b 100644 --- a/notations/examples/release-qualifiers/transitrix.yaml +++ b/notations/examples/release-qualifiers/transitrix.yaml @@ -3,7 +3,7 @@ # notations/examples/release-qualifiers-rule-violations/ rather than its # parent — no manifest may enclose another. transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [requirement, assertion, verification] zones: [canon] coverage_profile: core diff --git a/notations/examples/requirement-parent/transitrix.yaml b/notations/examples/requirement-parent/transitrix.yaml index fa8915b3..57b64c76 100644 --- a/notations/examples/requirement-parent/transitrix.yaml +++ b/notations/examples/requirement-parent/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [requirement] zones: [canon] coverage_profile: core diff --git a/notations/examples/risk-scoring/transitrix.yaml b/notations/examples/risk-scoring/transitrix.yaml index eb8feded..dca070a0 100644 --- a/notations/examples/risk-scoring/transitrix.yaml +++ b/notations/examples/risk-scoring/transitrix.yaml @@ -1,5 +1,5 @@ # Synthetic catalogue; version pin follows the specification baseline. transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [] zones: [canon] diff --git a/notations/examples/scenarios/README.md b/notations/examples/scenarios/README.md index f2aba3f1..29953463 100644 --- a/notations/examples/scenarios/README.md +++ b/notations/examples/scenarios/README.md @@ -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: "6.0.0" +methodology_version: "7.0.0" view: id: SCENARIOS-2027-CUT-1 diff --git a/notations/examples/sdd/README.md b/notations/examples/sdd/README.md index da7aef88..4bb166eb 100644 --- a/notations/examples/sdd/README.md +++ b/notations/examples/sdd/README.md @@ -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: "6.0.0" +methodology_version: "7.0.0" view: id: SDD--1 diff --git a/notations/examples/sdd/data-export.sdd.transitrix.yaml b/notations/examples/sdd/data-export.sdd.transitrix.yaml index ba30aa58..3346b7b7 100644 --- a/notations/examples/sdd/data-export.sdd.transitrix.yaml +++ b/notations/examples/sdd/data-export.sdd.transitrix.yaml @@ -2,7 +2,7 @@ notation: sdd spec_version: "0.1" name: "Data export capability — SDD" generated_at: "2026-08-04" -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: SDD-DATA-EXPORT-1 diff --git a/notations/examples/sdd/transitrix.yaml b/notations/examples/sdd/transitrix.yaml index 4aa130e5..ff88353d 100644 --- a/notations/examples/sdd/transitrix.yaml +++ b/notations/examples/sdd/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [sdd, requirement, assertion] zones: [canon] coverage_profile: core diff --git a/notations/examples/shared-business-process/transitrix.yaml b/notations/examples/shared-business-process/transitrix.yaml index 15320c07..702771c6 100644 --- a/notations/examples/shared-business-process/transitrix.yaml +++ b/notations/examples/shared-business-process/transitrix.yaml @@ -1,5 +1,5 @@ transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [relation] zones: [canon] coverage_profile: core diff --git a/notations/examples/srs/README.md b/notations/examples/srs/README.md index 8d8b14b9..a98a8d1f 100644 --- a/notations/examples/srs/README.md +++ b/notations/examples/srs/README.md @@ -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: "6.0.0" +methodology_version: "7.0.0" view: id: SRS--1 diff --git a/notations/examples/srs/backup-power.srs.transitrix.yaml b/notations/examples/srs/backup-power.srs.transitrix.yaml index c0c68a24..bf195d24 100644 --- a/notations/examples/srs/backup-power.srs.transitrix.yaml +++ b/notations/examples/srs/backup-power.srs.transitrix.yaml @@ -2,7 +2,7 @@ notation: srs spec_version: "0.1" name: "Backup-power controller — SRS" generated_at: "2026-08-04" -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: SRS-BACKUP-POWER-1 diff --git a/notations/examples/srs/transitrix.yaml b/notations/examples/srs/transitrix.yaml index 6b038810..769c1bff 100644 --- a/notations/examples/srs/transitrix.yaml +++ b/notations/examples/srs/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [srs, requirement] zones: [canon] coverage_profile: core diff --git a/notations/examples/validation/transitrix.yaml b/notations/examples/validation/transitrix.yaml index 9f364180..25a98c15 100644 --- a/notations/examples/validation/transitrix.yaml +++ b/notations/examples/validation/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [validation, requirement, stakeholder, actor] zones: [canon] coverage_profile: core diff --git a/notations/examples/verification-reverse-trace-gaps/transitrix.yaml b/notations/examples/verification-reverse-trace-gaps/transitrix.yaml index 57a2c57d..4574e5e3 100644 --- a/notations/examples/verification-reverse-trace-gaps/transitrix.yaml +++ b/notations/examples/verification-reverse-trace-gaps/transitrix.yaml @@ -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: "6.0.0" +methodology_version: "7.0.0" notations: [verification, requirement] zones: [canon] coverage_profile: core diff --git a/notations/examples/verification/transitrix.yaml b/notations/examples/verification/transitrix.yaml index 8fefc7d0..9ccd3d32 100644 --- a/notations/examples/verification/transitrix.yaml +++ b/notations/examples/verification/transitrix.yaml @@ -3,7 +3,7 @@ # notations/examples/verification-reverse-trace-gaps/ rather than its # parent — no manifest may enclose another. transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [verification, requirement] zones: [canon] coverage_profile: core diff --git a/notations/packages/documents.md b/notations/packages/documents.md index 834f9dbf..2e760f0f 100644 --- a/notations/packages/documents.md +++ b/notations/packages/documents.md @@ -23,7 +23,7 @@ This is a package, not a core notation: nothing here changes `IDS_AND_REFERENCES ```yaml transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" packages: [documents] ``` @@ -508,7 +508,7 @@ document_provenance("doc-srs-v2-1") recipe_version: "1.0", baseline_commit: "a1b2c3d4…", baseline_tag: "release-2026-q3", - methodology_version: "6.0.0", + methodology_version: "7.0.0", elements_cited: ["CAPABILITY-V2", "REQUIREMENT-sched-auth-1"], run_record: { … } } diff --git a/notations/packages/reqif.md b/notations/packages/reqif.md index 69b34e15..8bedb23f 100644 --- a/notations/packages/reqif.md +++ b/notations/packages/reqif.md @@ -21,7 +21,7 @@ This is a package, not a core notation: nothing here changes `IDS_AND_REFERENCES ```yaml transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" packages: [reqif] ``` diff --git a/notations/views/diagrams/01-bpmn.md b/notations/views/diagrams/01-bpmn.md index ca215b1a..b1c25647 100644 --- a/notations/views/diagrams/01-bpmn.md +++ b/notations/views/diagrams/01-bpmn.md @@ -1,8 +1,8 @@ --- notation: "BPMN Process Diagram" -version: "1.4" +version: "1.5" author: "Valerii Korobeinikov" -last_updated: "2026-06-23" +last_updated: "2026-09-26" status: "documented" file_extension: "*.bpmn.transitrix.yaml" dsm_status: "not implemented in DSM — renders via Transitrix Studio" diff --git a/notations/views/diagrams/02-dgca.md b/notations/views/diagrams/02-dgca.md index 0a0f425d..af4aeaa1 100644 --- a/notations/views/diagrams/02-dgca.md +++ b/notations/views/diagrams/02-dgca.md @@ -1,8 +1,8 @@ --- notation: "DGCA Strategy-to-Execution Chain" -version: "1.8" +version: "1.9" author: "Valerii Korobeinikov" -last_updated: "2026-08-31" +last_updated: "2026-09-26" status: "documented" file_extension: "*.dgca.transitrix.yaml" dsm_status: "implemented — D, G, C, A layers active; column selection via localStorage" @@ -154,7 +154,7 @@ A DGCA document opens with a shared header block (`notation:`, `spec_version:`, ```yaml notation: dgca spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: DGCA-LAUNCH-1 name: "Product launch strategy chain" period: "2026" @@ -188,7 +188,7 @@ notation: dgca spec_version: "0.1" id: DGCA-RETAIL-1 name: "Retail strategy chain 2026" -methodology_version: "6.0.0" +methodology_version: "7.0.0" view_config: goals: diff --git a/notations/views/diagrams/04-goals.md b/notations/views/diagrams/04-goals.md index b2daf554..e72677df 100644 --- a/notations/views/diagrams/04-goals.md +++ b/notations/views/diagrams/04-goals.md @@ -117,7 +117,7 @@ After goals are promoted to `canon/elements/01_motivation/goals/`, the view beco ```yaml notation: goals spec_version: "0.1" -methodology_version: "6.0.0" # required from v2.0 onward +methodology_version: "7.0.0" # required from v2.0 onward id: GOALS-STRAT-2026-1 # required — GOALS-[-] name: "Strategy 2026 — Goals Tree" # required per CONTRACT.md §1.1 diff --git a/notations/views/diagrams/05-capability-map.md b/notations/views/diagrams/05-capability-map.md index 2fd4b914..1540de3b 100644 --- a/notations/views/diagrams/05-capability-map.md +++ b/notations/views/diagrams/05-capability-map.md @@ -1,8 +1,8 @@ --- notation: "Capabilities Map" -version: "0.3" +version: "0.4" author: "Valerii Korobeinikov" -last_updated: "2026-05-19" +last_updated: "2026-09-26" status: "documented" file_extension: "*.capability-map.transitrix.yaml" dsm_status: "implemented — Capabilities page, Editor (C), BCM tab" diff --git a/notations/views/diagrams/06-process-map.md b/notations/views/diagrams/06-process-map.md index e3c0b4a0..9dc2d343 100644 --- a/notations/views/diagrams/06-process-map.md +++ b/notations/views/diagrams/06-process-map.md @@ -1,8 +1,8 @@ --- notation: "Process Landscape Map" -version: "0.2" +version: "0.3" author: "Valerii Korobeinikov" -last_updated: "2026-06-24" +last_updated: "2026-09-26" status: "draft" file_extension: "*.process-map.transitrix.yaml" --- diff --git a/notations/views/diagrams/07-action.md b/notations/views/diagrams/07-action.md index 4194abb6..2d83a5af 100644 --- a/notations/views/diagrams/07-action.md +++ b/notations/views/diagrams/07-action.md @@ -128,7 +128,7 @@ After actions are promoted to `canon/elements/05_implementation/actions/`, the v ```yaml notation: action spec_version: "0.1" -methodology_version: "6.0.0" # required from v2.0 onward +methodology_version: "7.0.0" # required from v2.0 onward id: ACTION_SCHED-PLATFORM-2026-1 # required — ACTION_SCHED-[-] name: "Platform Launch 2026" # required per CONTRACT.md §1.1 @@ -369,7 +369,7 @@ Both views are projections of the same underlying schedule. A document never "be ```yaml notation: action spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: ACTION_SCHED-MINIMAL-1 name: "Minimal schedule example" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 diff --git a/notations/views/diagrams/09-products.md b/notations/views/diagrams/09-products.md index 8e420846..9eb82149 100644 --- a/notations/views/diagrams/09-products.md +++ b/notations/views/diagrams/09-products.md @@ -1,8 +1,8 @@ --- notation: "Products Catalogue" -version: "0.2" +version: "0.3" author: "Valerii Korobeinikov" -last_updated: "2026-08-30" +last_updated: "2026-09-26" status: "documented" file_extension: "*.products.transitrix.yaml" --- @@ -59,7 +59,7 @@ The reconstruction invariant applies: `render(Elements, view_config)` → Produc ```yaml notation: products spec_version: "0.2" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: PROD-ENTERPRISE-1 name: "Human-readable title" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 @@ -72,7 +72,7 @@ products_catalogue: ```yaml notation: products spec_version: "0.2" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: PROD-RETAIL-1 name: "Retail product portfolio" description: "All products and services offered in the retail channel" @@ -234,7 +234,7 @@ A Products Catalogue document in projection form carries only the `view_config` ```yaml notation: products spec_version: "0.2" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: PROD-DIGITAL-1 name: "Digital Products & Services" description: "All digital-channel offerings sorted by maturity" diff --git a/notations/views/diagrams/10-applications.md b/notations/views/diagrams/10-applications.md index 1a5cb924..73ba801b 100644 --- a/notations/views/diagrams/10-applications.md +++ b/notations/views/diagrams/10-applications.md @@ -1,8 +1,8 @@ --- notation: "Applications Catalogue" -version: "0.1" +version: "0.2" author: "Valerii Korobeinikov" -last_updated: "2026-05-08" +last_updated: "2026-09-26" status: "draft" file_extension: "*.applications.transitrix.yaml" --- diff --git a/notations/views/diagrams/12-integration-map.md b/notations/views/diagrams/12-integration-map.md index 18d244a9..a4a8380e 100644 --- a/notations/views/diagrams/12-integration-map.md +++ b/notations/views/diagrams/12-integration-map.md @@ -45,7 +45,7 @@ notation: integration-map spec_version: "0.1" name: "Human-readable title" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: # ... see §3 ``` @@ -86,7 +86,7 @@ notation: integration-map spec_version: "0.1" name: "Enterprise integration landscape" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: INTEGRATION_MAP-ENTERPRISE-1 @@ -169,7 +169,7 @@ notation: integration-map spec_version: "0.1" name: "Full integration map" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: INTEGRATION_MAP-ALL-1 name: "Full integration map" diff --git a/notations/views/diagrams/18-action-card.md b/notations/views/diagrams/18-action-card.md index 86b52c0d..9223fed0 100644 --- a/notations/views/diagrams/18-action-card.md +++ b/notations/views/diagrams/18-action-card.md @@ -1,8 +1,8 @@ --- notation: "Action Card" -version: "0.2" +version: "0.3" author: "Valerii Korobeinikov" -last_updated: "2026-06-25" +last_updated: "2026-09-26" status: "draft" file_extension: "*.action-card.transitrix.yaml" --- diff --git a/notations/views/documents/29-mrd.md b/notations/views/documents/29-mrd.md index eb955688..6ef80228 100644 --- a/notations/views/documents/29-mrd.md +++ b/notations/views/documents/29-mrd.md @@ -45,7 +45,7 @@ notation: mrd spec_version: "0.1" name: "Human-readable title" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: # ... see §3 ``` @@ -99,7 +99,7 @@ notation: mrd spec_version: "0.1" name: "Incident status communication — MRD" # required per CONTRACT.md §1.1 generated_at: "2026-08-04" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: MRD-INCIDENT-STATUS-1 @@ -168,7 +168,7 @@ notation: mrd spec_version: "0.1" name: "Full MRD — all needs" # required per CONTRACT.md §1.1 generated_at: "2026-08-04" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: MRD-ALL-1 name: "Full MRD — all needs" diff --git a/notations/views/documents/30-srs.md b/notations/views/documents/30-srs.md index d3ae3778..ec07364f 100644 --- a/notations/views/documents/30-srs.md +++ b/notations/views/documents/30-srs.md @@ -45,7 +45,7 @@ notation: srs spec_version: "0.1" name: "Human-readable title" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: # ... see §3 ``` @@ -97,7 +97,7 @@ notation: srs spec_version: "0.1" name: "Backup-power controller — SRS" # required per CONTRACT.md §1.1 generated_at: "2026-08-04" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: SRS-BACKUP-POWER-1 @@ -158,7 +158,7 @@ notation: srs spec_version: "0.1" name: "Full SRS — all software-tier requirements" # required per CONTRACT.md §1.1 generated_at: "2026-08-04" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: SRS-ALL-1 name: "Full SRS — all software-tier requirements" diff --git a/notations/views/documents/31-sdd.md b/notations/views/documents/31-sdd.md index a131e0ee..30b95323 100644 --- a/notations/views/documents/31-sdd.md +++ b/notations/views/documents/31-sdd.md @@ -45,7 +45,7 @@ notation: sdd spec_version: "0.1" name: "Human-readable title" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: # ... see §3 ``` @@ -101,7 +101,7 @@ notation: sdd spec_version: "0.1" name: "Data export capability — SDD" # required per CONTRACT.md §1.1 generated_at: "2026-08-04" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: SDD-DATA-EXPORT-1 @@ -170,7 +170,7 @@ notation: sdd spec_version: "0.1" name: "Full SDD — all design elements" # required per CONTRACT.md §1.1 generated_at: "2026-08-04" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: SDD-ALL-1 name: "Full SDD — all design elements" diff --git a/notations/views/reports/11-scenarios.md b/notations/views/reports/11-scenarios.md index a60bdf2d..f507e3a9 100644 --- a/notations/views/reports/11-scenarios.md +++ b/notations/views/reports/11-scenarios.md @@ -1,8 +1,8 @@ --- notation: "Scenarios" -version: "0.5" +version: "0.6" author: "Valerii Korobeinikov" -last_updated: "2026-06-12" +last_updated: "2026-09-26" status: "draft" file_extension: "*.scenarios.transitrix.yaml" dsm_status: "implemented — Scenarios page; selector reclassification (v0.3) planned for next cut" @@ -45,7 +45,7 @@ notation: scenarios spec_version: "0.3" name: "Human-readable title" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: # ... see §3 ``` @@ -95,7 +95,7 @@ notation: scenarios spec_version: "0.3" name: "Optimistic vs Conservative — 2027 cut" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: SCENARIOS--1 @@ -152,7 +152,7 @@ notation: scenarios spec_version: "0.3" name: "All scenarios" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: SCENARIOS-ALL-1 name: "All scenarios" diff --git a/notations/views/reports/21-compliance-impact.md b/notations/views/reports/21-compliance-impact.md index 6ef51b1d..a420ebc1 100644 --- a/notations/views/reports/21-compliance-impact.md +++ b/notations/views/reports/21-compliance-impact.md @@ -45,7 +45,7 @@ notation: compliance-impact spec_version: "0.1" name: "Human-readable title" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: # ... see §3 ``` @@ -104,7 +104,7 @@ notation: compliance-impact spec_version: "0.1" name: "Retail product — GDPR obligations" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: COMPLIANCE_IMPACT-RETAIL-GDPR-1 @@ -191,7 +191,7 @@ notation: compliance-impact spec_version: "0.1" name: "Full compliance matrix" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: COMPLIANCE_IMPACT-ALL-1 name: "Full compliance matrix" diff --git a/notations/views/reports/22-coverage-metric.md b/notations/views/reports/22-coverage-metric.md index 1906b38f..2d5429f7 100644 --- a/notations/views/reports/22-coverage-metric.md +++ b/notations/views/reports/22-coverage-metric.md @@ -45,7 +45,7 @@ notation: coverage-metric spec_version: "0.1" name: "Human-readable title" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: # ... see §3 ``` @@ -99,7 +99,7 @@ notation: coverage-metric spec_version: "0.1" name: "Retail product — regime coverage" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: COVERAGE_METRIC-RETAIL-1 @@ -199,7 +199,7 @@ notation: coverage-metric spec_version: "0.1" name: "Full coverage metric" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: COVERAGE_METRIC-ALL-1 name: "Full coverage metric" diff --git a/notations/views/reports/24-rules-in-force.md b/notations/views/reports/24-rules-in-force.md index 73c241ca..aa970702 100644 --- a/notations/views/reports/24-rules-in-force.md +++ b/notations/views/reports/24-rules-in-force.md @@ -45,7 +45,7 @@ notation: rules-in-force spec_version: "0.1" name: "Human-readable title" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: # ... see §3 ``` @@ -94,7 +94,7 @@ notation: rules-in-force spec_version: "0.1" name: "Rules in force" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: RULES_IN_FORCE-ALL-1 @@ -163,7 +163,7 @@ notation: rules-in-force spec_version: "0.1" name: "Rules in force" # required per CONTRACT.md §1.1 generated_at: "YYYY-MM-DD" # optional per CONTRACT.md §4 -methodology_version: "6.0.0" +methodology_version: "7.0.0" view: id: RULES_IN_FORCE-ALL-1 name: "Rules in force" diff --git a/notations/vocabulary.yaml b/notations/vocabulary.yaml index 13547fc6..06e20f1e 100644 --- a/notations/vocabulary.yaml +++ b/notations/vocabulary.yaml @@ -28,7 +28,7 @@ # and projection semantics require their own consumer implementation. # Must equal notations/CURRENT_VERSION.yaml (enforced by check V1). -methodology_version: "6.0.0" +methodology_version: "7.0.0" # --------------------------------------------------------------------------- # Element TYPE registry — ELEMENT_PRIMITIVES.md §4 (mode table) and §6 (layer diff --git a/packages/ingest-cli/src/coverage-presets.mjs b/packages/ingest-cli/src/coverage-presets.mjs index a04fbff3..5c25b281 100644 --- a/packages/ingest-cli/src/coverage-presets.mjs +++ b/packages/ingest-cli/src/coverage-presets.mjs @@ -23,7 +23,7 @@ // notations/CURRENT_VERSION.yaml, or when the tables below stop matching the §3 / §3.1 // tables they encode. A release PR that bumps the pin and not this file cannot go green. -export const PRESETS_VERSION = '6.0.0'; +export const PRESETS_VERSION = '7.0.0'; export const LAYERS = ['01_motivation', '02_business', '03_application', '04_technology', '05_implementation']; diff --git a/scripts/check-notations.mjs b/scripts/check-notations.mjs index ee62ce34..153e278f 100644 --- a/scripts/check-notations.mjs +++ b/scripts/check-notations.mjs @@ -127,6 +127,8 @@ const ID1_EXCLUDED_FILES = new Set([IDS_AND_REFERENCES_PATH, CONVENTIONS_PATH]); // Files that legitimately carry a non-SoT methodology_version (placeholders). const VERSION_PIN_ALLOWLIST = new Set([ + 'migrations/6.0-to-7.0/fixtures/before/transitrix.yaml', // fixed migration source + 'migrations/6.0-to-7.0/fixtures/after/transitrix.yaml', // fixed migration target 'transitrix/skills/onboard/templates/transitrix.yaml', // "pin a real release once the adopter chooses one" 'migrations/5.1-to-6.0/fixtures/before/transitrix.yaml', // fixed migration source version 'migrations/5.1-to-6.0/fixtures/after/transitrix.yaml', // fixed migration target version diff --git a/tests/fixtures/comprehensive-notation-coverage/views/dgca/test-chain.dgca.transitrix.yaml b/tests/fixtures/comprehensive-notation-coverage/views/dgca/test-chain.dgca.transitrix.yaml index 0f057b49..d5ec4d9e 100644 --- a/tests/fixtures/comprehensive-notation-coverage/views/dgca/test-chain.dgca.transitrix.yaml +++ b/tests/fixtures/comprehensive-notation-coverage/views/dgca/test-chain.dgca.transitrix.yaml @@ -1,6 +1,6 @@ notation: dgca spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" id: DGCA-TEST-1 name: "Test strategy chain" period: "2026" diff --git a/transitrix/skills/feedback/SKILL.md b/transitrix/skills/feedback/SKILL.md index 21ed8ee4..7a080804 100644 --- a/transitrix/skills/feedback/SKILL.md +++ b/transitrix/skills/feedback/SKILL.md @@ -190,7 +190,7 @@ element"* — which passes. --- ### FB-0003 type: notation-gap - methodology_version: "6.0.0" + methodology_version: "7.0.0" raised_by: Modeler date: "2026-07-28" status: open diff --git a/transitrix/skills/onboard/templates/AGENTS.md b/transitrix/skills/onboard/templates/AGENTS.md index a3f3fb28..d2eb1dff 100644 --- a/transitrix/skills/onboard/templates/AGENTS.md +++ b/transitrix/skills/onboard/templates/AGENTS.md @@ -160,7 +160,7 @@ The root `transitrix.yaml` pins which methodology release this repo conforms to ```yaml transitrix: 1 -methodology_version: "6.0.0" +methodology_version: "7.0.0" notations: [dgca, goals, activities, issues, capability-map, codex] zones: [canon, field, codex] ``` diff --git a/transitrix/skills/onboard/templates/action.action.transitrix.yaml b/transitrix/skills/onboard/templates/action.action.transitrix.yaml index a1a3098f..27281cfe 100644 --- a/transitrix/skills/onboard/templates/action.action.transitrix.yaml +++ b/transitrix/skills/onboard/templates/action.action.transitrix.yaml @@ -1,6 +1,6 @@ notation: action spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" # Action schedule — pure projection over standalone ACTION elements. # Spec: notations/views/diagrams/07-action.md (v2.0). No action data is authored inline. diff --git a/transitrix/skills/onboard/templates/coverage-metric.coverage-metric.transitrix.yaml b/transitrix/skills/onboard/templates/coverage-metric.coverage-metric.transitrix.yaml index 06268cdf..4896d707 100644 --- a/transitrix/skills/onboard/templates/coverage-metric.coverage-metric.transitrix.yaml +++ b/transitrix/skills/onboard/templates/coverage-metric.coverage-metric.transitrix.yaml @@ -1,6 +1,6 @@ notation: coverage-metric spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" # Coverage Metric. Spec: notations/views/reports/22-coverage-metric.md # Report-config over the coverage read of canon (sibling of Compliance Impact). diff --git a/transitrix/skills/onboard/templates/goals.goals.transitrix.yaml b/transitrix/skills/onboard/templates/goals.goals.transitrix.yaml index 5d00cea5..723e739c 100644 --- a/transitrix/skills/onboard/templates/goals.goals.transitrix.yaml +++ b/transitrix/skills/onboard/templates/goals.goals.transitrix.yaml @@ -1,6 +1,6 @@ notation: goals spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" # Goals tree — pure projection over standalone GOAL elements. # Spec: notations/views/diagrams/04-goals.md (v2.0). No element data is authored inline. diff --git a/transitrix/skills/onboard/templates/integration-map.integration-map.transitrix.yaml b/transitrix/skills/onboard/templates/integration-map.integration-map.transitrix.yaml index 3e010a92..ac03f014 100644 --- a/transitrix/skills/onboard/templates/integration-map.integration-map.transitrix.yaml +++ b/transitrix/skills/onboard/templates/integration-map.integration-map.transitrix.yaml @@ -1,6 +1,6 @@ notation: integration-map spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" # Integration Map. Spec: notations/views/diagrams/12-integration-map.md # Application-cooperation / data-flow graph, projected from admitted diff --git a/transitrix/skills/onboard/templates/rules-in-force.rules-in-force.transitrix.yaml b/transitrix/skills/onboard/templates/rules-in-force.rules-in-force.transitrix.yaml index 1258ed28..ea8a8b2b 100644 --- a/transitrix/skills/onboard/templates/rules-in-force.rules-in-force.transitrix.yaml +++ b/transitrix/skills/onboard/templates/rules-in-force.rules-in-force.transitrix.yaml @@ -1,6 +1,6 @@ notation: rules-in-force spec_version: "0.1" -methodology_version: "6.0.0" +methodology_version: "7.0.0" # Rules in Force. Spec: notations/views/reports/24-rules-in-force.md # Report-config over the codex zone itself (sibling of Compliance Impact and