feat(catalogue): adopter-facing half — pattern, adopter-setup section, L0/L1 commands - #481
Merged
Merged
Conversation
… binding envelope Writes the ownership rule and the four separately-enabled levels (decisions / vocabulary / recognition / promotion) at which a project repository joins a network around a central catalogue repository, and the canon_id/origin binding envelope with its validation rules (BIND-001..005). Retargets the two forward references in the ADL and propagation documents that previously deferred this to "not designed here". Signed-off-by: Valerii Korobeinikov <vkgeorgia@icloud.com>
…ocabulary check Fills the forward reference method/05-catalogue-integration.md left for L1: publication format (versioned release, flat id/type/name/aliases/description slice), the transitrix.yaml `catalogue:` pin, the fails-closed load rule, the pin-bump ADR gate (reusing 04-methodology-update-propagation.md's transport and ratification gate unchanged), and the report-only L1 divergence check. MANIFEST.md documents the new optional field alongside `packages:`. Signed-off-by: transitrix <279946036+transitrix@users.noreply.github.com>
Adds packages/ingest-cli/src/catalogue.mjs: parses the transitrix.yaml `catalogue:` pin, loads the vendored slice at its declared path (never fetched at runtime), and fails closed on a missing/unreadable path, unparseable content, or a version mismatch against the pin — no fallback, same posture as vocabulary.mjs. findVocabularyDivergence is a pure, idempotent diff producing the two report-only L1 findings (a bound local element colliding with a different central element; an unbound local element matching a central term). repo-check.mjs surfaces a `catalogue` section only when a pin is declared, degrading a load failure to a red flag rather than crashing the rest of the report. 26 new tests in catalogue.test.mjs, wired into ingest-skill-test.yml's integrity job. Signed-off-by: transitrix <279946036+transitrix@users.noreply.github.com>
Adds catalogue-recognize (L2 — propose a binding by unambiguous name/alias + TYPE match against the pinned catalogue), catalogue-bind (the human-gated write, fails closed against BIND-001..004), and catalogue-promote (L3 — emit a promotion proposal, never writing across the repository boundary). repo-check now also surfaces the full BIND-001..005 envelope check (CONTRACT.md §17.2) so an already- bound element's canon_id/origin stay valid as the repo evolves. transitrix-hq#119 Signed-off-by: transitrix <279946036+transitrix@users.noreply.github.com>
…, L0/L1 commands - New pattern patterns/network-catalogue.md, sibling to the ADR registry pattern; pattern index routing table gains its question, distinguishing it from Knowledge Store's raw-material shape. - method/05-catalogue-integration.md gains a §7 "Setting it up" section, same shape as the decision-log document's own adopter path. - transitrix-ingest adopt-adl (L0: records folder + vendored CI guard + the harvest.config.yaml line to add centrally) and catalogue-pin (L1: writes the catalogue: pin into transitrix.yaml, refuses to overwrite an existing one) — both idempotent, both tested. transitrix-hq#120 Signed-off-by: Valerii Korobeinikov <vkgeorgia@icloud.com> Signed-off-by: transitrix <279946036+transitrix@users.noreply.github.com>
…ogue-adopter-facing Signed-off-by: transitrix <279946036+transitrix@users.noreply.github.com> # Conflicts: # method/05-catalogue-integration.md
…ogue-adopter-facing # Conflicts: # .github/workflows/ingest-skill-test.yml # method/05-catalogue-integration.md # packages/ingest-cli/src/catalogue.mjs # packages/ingest-cli/src/catalogue.test.mjs # packages/ingest-cli/src/repo-check.mjs
…ogue-adopter-facing # Conflicts: # packages/ingest-cli/README.md # packages/ingest-cli/ingest.mjs
transitrix
added a commit
that referenced
this pull request
Aug 16, 2026
Categorised the 8 PRs landed since #475's 3.4.0 bump per RELEASING.md's bump table; highest is #479/#477/#478/#480/#481/#484 (new TERM element type, catalogue-integration spec surface, blocks render contract section) -> MINOR. Bumped notations/CURRENT_VERSION.yaml to 3.5.0 and every methodology_version pin the V1 check flagged (41 files), plus the remaining illustrative-example occurrences in the same files the check doesn't scan past the first match, for doc consistency (11 files). No v3.4.0 tag was ever cut after #475 -- this release folds that gap in rather than shipping an intermediate untagged version. Signed-off-by: transitrix <automation@transitrix.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
patterns/network-catalogue.md, sibling to the ADR registry pattern — the why/when, the ownership rule, and an explicit "when not to do this" (one repository — don't).patterns/index.md's routing table gains its question, splitting "several repos producing raw material" (Knowledge Store) from "several repos, each with its own canon, that need to recognise each other's elements" (this pattern).method/05-catalogue-integration.mdgains## 7. Setting it up, same shape as the decision-log document's own§10 Adopter setup— level by level, with the point at which a reader may stop.transitrix-ingest adopt-adl <org-root> [--repo <org>/<repo>]packages the ADL per-repo setup (records folder + vendoredcheck-adl.mjs+ its CI workflow, matching this repo's own.github/workflows/adl-guard.ymlshape) into one idempotent call, plus prints theharvest.config.yamlline for the central repo.transitrix-ingest catalogue-pin <org>/<repo> <version> <path> [org-root]writes thecatalogue:pin intotransitrix.yaml, refusing to touch it if a pin is already declared.Addresses THQ-120, deliverable 9 of epic THQ-112.
Stacked on unmerged #477 (THQ-116) and #478 (THQ-117) — this branch is on top of #480 (THQ-119), which is itself stacked on those two. Please merge bottom-up: #477 → #478 → #480 → this PR. (#479/THQ-118 is independent and can merge any time.)
Test plan
node --test packages/ingest-cli/src/*.test.mjs— 124 tests pass (adds 12 new:catalogue-pin.test.mjs,adl-join.test.mjs)node scripts/check-notations.mjs— doc-lint clean, all internal links resolveadopt-adl(fresh + idempotent re-run) andcatalogue-pin(write + refuse-to-overwrite) both verified against a scratch org-rootnode scripts/check-adl.mjsstill runs clean against this repo's ownoperations/decisions/