@sdd-method/maintain-cli 0.12.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/catalogue/aggregate.js +2 -0
- package/dist/lib/catalogue/build.js +33 -2
- package/dist/lib/catalogue/builders/adr-governs.js +39 -0
- package/dist/lib/catalogue/builders/adrs.js +11 -0
- package/dist/lib/catalogue/builders/contract-revisions.js +126 -0
- package/dist/lib/catalogue/builders/data-model.js +316 -0
- package/dist/lib/catalogue/builders/entities-mermaid.js +18 -85
- package/dist/lib/catalogue/builders/integration-components.js +49 -5
- package/dist/lib/catalogue/builders/quality-scores.js +17 -0
- package/dist/lib/catalogue/builders/requirements.js +132 -23
- package/dist/lib/catalogue/builders/user-journeys.js +8 -13
- package/dist/lib/catalogue/canonical-schema.yaml +767 -17
- package/dist/lib/catalogue/retired-catalogues.js +25 -0
- package/dist/lib/catalogue/rubric-coverage-map.yaml +90 -2
- package/dist/lib/catalogue/schema-compat.js +1 -1
- package/dist/lib/catalogue/schema-loader.js +3 -0
- package/dist/lib/catalogue/staleness-verdicts.js +75 -6
- package/dist/lib/structure/catalogue.js +183 -0
- package/dist/lib/structure/compose.js +174 -0
- package/dist/lib/structure/effects.js +36 -0
- package/dist/lib/structure/model.js +212 -0
- package/dist/lib/structure/render.js +242 -0
- package/dist/lib/structure/view.js +301 -0
- package/dist/lib/validate/agreement-evidence.js +20 -8
- package/dist/lib/validate/behaviour-store.js +54 -13
- package/dist/lib/validate/dispatch.js +7 -0
- package/dist/lib/validate/journey-impact.js +17 -2
- package/dist/lib/validate/structural-model.js +265 -0
- package/dist/maintain-version.json +2 -2
- package/dist/verify-version.json +2 -2
- package/package.json +2 -2
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# Emitted by sdd-cli's YAML emitter with no line folding; the three header scalars are quoted for the
|
|
8
8
|
# textual readers downstream. The one deliberate difference from the authored form is schema_status:
|
|
9
9
|
# the authored form says canonical; a projection never does.
|
|
10
|
-
schema_version: "
|
|
10
|
+
schema_version: "6.0.0"
|
|
11
11
|
schema_owner: "sdd-method"
|
|
12
12
|
schema_status: "generated"
|
|
13
13
|
enums:
|
|
@@ -338,6 +338,7 @@ enums:
|
|
|
338
338
|
- value: capability-spec
|
|
339
339
|
- value: capability-tree
|
|
340
340
|
- value: product-map
|
|
341
|
+
- value: structural-model
|
|
341
342
|
description: Which artefact a capabilities row was derived from. Bound at 3.13.0 from the column descriptions; measured against both reference estates before binding (M-ADR 0205 §4.4).
|
|
342
343
|
feature_source:
|
|
343
344
|
values:
|
|
@@ -346,6 +347,7 @@ enums:
|
|
|
346
347
|
- value: feature-tree
|
|
347
348
|
- value: feature-grounding
|
|
348
349
|
- value: capability-spec
|
|
350
|
+
- value: structural-model
|
|
349
351
|
description: Which artefact a features row was derived from (M-ADR 0145). Bound at 3.13.0 from the column descriptions; measured against both reference estates before binding (M-ADR 0205 §4.4).
|
|
350
352
|
artefact_maturity:
|
|
351
353
|
values:
|
|
@@ -637,15 +639,13 @@ enums:
|
|
|
637
639
|
- value: RENAMED
|
|
638
640
|
- value: REMOVED
|
|
639
641
|
description: How a change's delta treated a requirement.
|
|
640
|
-
|
|
642
|
+
requirement_assertion_kind:
|
|
641
643
|
values:
|
|
642
|
-
- value: agreed
|
|
643
|
-
description: In an agreed, open change.
|
|
644
644
|
- value: declared-shipped
|
|
645
|
-
description: Its change archived on a passing judge, with this repository's
|
|
645
|
+
description: Its change archived on a passing judge, with this repository's work order implementing it.
|
|
646
646
|
- value: observed
|
|
647
647
|
description: Independent evidence from this repository's code matches (a baseline's characterization tests or a reverse snapshot).
|
|
648
|
-
description:
|
|
648
|
+
description: The kind of evidence an assertion is about one revision, in one repository (M-ADR 0230 §4.7, Proposed).
|
|
649
649
|
change_status:
|
|
650
650
|
values:
|
|
651
651
|
- value: proposed
|
|
@@ -694,9 +694,85 @@ enums:
|
|
|
694
694
|
- value: citation
|
|
695
695
|
description: A citation in the journey feature's living spec (option B).
|
|
696
696
|
description: Where a journey's citation of a requirement was read (M-ADR 0229 §4.4, Proposed).
|
|
697
|
+
source_of_truth:
|
|
698
|
+
values:
|
|
699
|
+
- value: structure
|
|
700
|
+
description: The structural model in the behaviour store (openspec/structure/), changed by a change's structural deltas.
|
|
701
|
+
- value: behaviour
|
|
702
|
+
description: The behaviour store's living specs and changes.
|
|
703
|
+
- value: interface
|
|
704
|
+
description: The contract files.
|
|
705
|
+
- value: decision
|
|
706
|
+
description: The ADR files.
|
|
707
|
+
- value: declaration
|
|
708
|
+
description: A manifest or configuration file that is its own home, such as the SDD manifest.
|
|
709
|
+
- value: intent
|
|
710
|
+
description: Intent documents, edited in place.
|
|
711
|
+
- value: derived
|
|
712
|
+
description: "Nowhere: computed from other facts, per view; never authored."
|
|
713
|
+
- value: evidence
|
|
714
|
+
description: Observations, scores and findings, about a named revision.
|
|
715
|
+
- value: execution
|
|
716
|
+
description: "The change records and the build itself: changes, work orders, lineage, and the provenance the build or aggregation stamps."
|
|
717
|
+
description: Where a catalogue's facts, or a column's, are authored (M-ADR 0230 §4.1, Proposed). Each catalogue carries one; a column carries one only where it differs.
|
|
718
|
+
relationship_end_cardinality:
|
|
719
|
+
values:
|
|
720
|
+
- value: exactly-one
|
|
721
|
+
- value: zero-or-one
|
|
722
|
+
- value: one-or-more
|
|
723
|
+
- value: zero-or-more
|
|
724
|
+
description: "How many entities one end of a relationship holds for one entity at the other end (M-ADR 0230 §4.3, Proposed): a Mermaid ER end marker (|| exactly one, |o or o| zero or one, }| or |{ one or more, }o or o{ zero or more). A TypeQL relationship is zero-or-more at both ends, because the subset admits no participation cardinality; a role's @card is a cardinality invariant (domain_invariants). Replaced entity_relationship_cardinality in schema 6.0.0."
|
|
725
|
+
domain_invariant_kind:
|
|
726
|
+
values:
|
|
727
|
+
- value: unique
|
|
728
|
+
description: The named attributes together are unique across the entity's instances.
|
|
729
|
+
- value: required
|
|
730
|
+
description: The named attributes are always present.
|
|
731
|
+
- value: cardinality
|
|
732
|
+
description: A bound on how many entities the named relationship relates, stated in the statement.
|
|
733
|
+
- value: rule
|
|
734
|
+
description: Any other rule, stated in the statement.
|
|
735
|
+
description: The type of a domain invariant (M-ADR 0230 §4.3, Proposed).
|
|
736
|
+
revision_state:
|
|
737
|
+
values:
|
|
738
|
+
- value: current
|
|
739
|
+
description: "Published: the living spec states it."
|
|
740
|
+
- value: intended
|
|
741
|
+
description: An agreed open change states it.
|
|
742
|
+
- value: history
|
|
743
|
+
description: Once published or stated, and no longer current.
|
|
744
|
+
description: Which view a revision belongs to (M-ADR 0230 §4.7, Proposed).
|
|
745
|
+
change_effect_element_kind:
|
|
746
|
+
values:
|
|
747
|
+
- value: requirement
|
|
748
|
+
description: A requirement, written by a behaviour delta.
|
|
749
|
+
- value: structure
|
|
750
|
+
description: An element of the structural model, written by a structural delta.
|
|
751
|
+
description: What kind of element a change effect writes (M-ADR 0230 §4.7, Proposed).
|
|
752
|
+
adr_governs:
|
|
753
|
+
values:
|
|
754
|
+
- value: current
|
|
755
|
+
description: The system as published.
|
|
756
|
+
- value: intended
|
|
757
|
+
description: "The system as the agreed changes will leave it: the decision applies from its change's archive."
|
|
758
|
+
- value: none
|
|
759
|
+
description: "Neither: proposed, rejected, deprecated, superseded by a decision now in force, or its change withdrawn."
|
|
760
|
+
description: Which view a decision governs (M-ADR 0230 §4.2, Proposed).
|
|
761
|
+
contract_revision_state:
|
|
762
|
+
values:
|
|
763
|
+
- value: agreed
|
|
764
|
+
description: Introduced by an agreed open change.
|
|
765
|
+
- value: active
|
|
766
|
+
description: "Applicable in the published specification: the file's current content."
|
|
767
|
+
- value: deprecated
|
|
768
|
+
description: Applicable, with a sunset.
|
|
769
|
+
- value: retired
|
|
770
|
+
description: "No longer applicable: an archived change's revision the file no longer holds."
|
|
771
|
+
description: A contract revision's applicability in the published specification (M-ADR 0230 §4.2, Proposed).
|
|
697
772
|
catalogues:
|
|
698
773
|
domains:
|
|
699
774
|
primary_key: id
|
|
775
|
+
source_of_truth: structure
|
|
700
776
|
columns:
|
|
701
777
|
- name: id
|
|
702
778
|
type: string
|
|
@@ -713,6 +789,7 @@ catalogues:
|
|
|
713
789
|
type: string
|
|
714
790
|
nullable: false
|
|
715
791
|
description: platform-profile | application-product | integration-product.
|
|
792
|
+
source_of_truth: declaration
|
|
716
793
|
- name: reference_architecture_equivalent
|
|
717
794
|
type: string
|
|
718
795
|
nullable: true
|
|
@@ -723,19 +800,23 @@ catalogues:
|
|
|
723
800
|
- name: repo_count
|
|
724
801
|
type: int
|
|
725
802
|
nullable: false
|
|
803
|
+
source_of_truth: derived
|
|
726
804
|
- name: source_sdd_id
|
|
727
805
|
type: string
|
|
728
806
|
nullable: true
|
|
729
807
|
description: Originating SDD slug. Populated by the aggregator at merge time per M-ADR 0134; left empty by per-SDD builders.
|
|
808
|
+
source_of_truth: execution
|
|
730
809
|
- name: platform_sdd_id
|
|
731
810
|
type: string
|
|
732
811
|
nullable: true
|
|
733
812
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
813
|
+
source_of_truth: execution
|
|
734
814
|
column_enums:
|
|
735
815
|
method_profile: enums.sdd_profile
|
|
736
816
|
status: enums.domain_status
|
|
737
817
|
products:
|
|
738
818
|
primary_key: id
|
|
819
|
+
source_of_truth: declaration
|
|
739
820
|
columns:
|
|
740
821
|
- name: id
|
|
741
822
|
type: string
|
|
@@ -760,6 +841,7 @@ catalogues:
|
|
|
760
841
|
type: string
|
|
761
842
|
nullable: false
|
|
762
843
|
description: Path to _product/ directory, relative to docs/.
|
|
844
|
+
source_of_truth: derived
|
|
763
845
|
- name: lifecycle
|
|
764
846
|
type: string
|
|
765
847
|
nullable: true
|
|
@@ -796,28 +878,35 @@ catalogues:
|
|
|
796
878
|
type: int
|
|
797
879
|
nullable: true
|
|
798
880
|
description: "DEPRECATED at 3.3.0, for removal at 4.0.0 — superseded by `quality_scores` (rubric_id `reverse-product-quality.product_synthesis_quality`). Score 0-10 from the product-synthesis rubric (reverse method only). WIRED in 2.47.0 from `orchestration/gate-registry/reverse-product-quality-scores.yaml` — the registry family at product granularity — via the SELF-PRODUCT rule: the unit whose `product_path` is '.' AND whose key equals the SDD's sdd_id. Both conditions are required; product_path alone admits synthetic gate fixtures, key-matching alone admits covered sub-products. Backfill only: it fills an empty cell and never overwrites an emitted value. Empty on a forward estate by design — a forward-authored product has no reverse rubric score, and residue-based authoring signals deliberately do NOT write here (see status)."
|
|
881
|
+
source_of_truth: evidence
|
|
799
882
|
- name: synthesis_band
|
|
800
883
|
type: string
|
|
801
884
|
nullable: true
|
|
802
885
|
description: "DEPRECATED at 3.3.0, for removal at 4.0.0 — superseded by `quality_scores.band`, which is UNBOUND because the vocabulary is per-rubric. This column's closed set accepts only three of the SEVEN band values the reverse estate actually authors (measured 3.3.0: strong, working, weak, moderate, easy, hard, very-hard), silently emptying the rest. developing | working | strong — a CLOSED vocabulary; a band outside it is reported as a convention finding and the cell left empty rather than emitting a value no consumer can interpret. Wired in 2.47.0 alongside synthesis_quality."
|
|
886
|
+
source_of_truth: evidence
|
|
803
887
|
- name: last_assessed
|
|
804
888
|
type: date
|
|
805
889
|
nullable: true
|
|
890
|
+
source_of_truth: evidence
|
|
806
891
|
- name: highest_snapshot_impact
|
|
807
892
|
type: string
|
|
808
893
|
nullable: true
|
|
894
|
+
source_of_truth: evidence
|
|
809
895
|
- name: repo_count
|
|
810
896
|
type: int
|
|
811
897
|
nullable: false
|
|
812
898
|
description: Number of repos mapped to this product.
|
|
899
|
+
source_of_truth: derived
|
|
813
900
|
- name: source_sdd_id
|
|
814
901
|
type: string
|
|
815
902
|
nullable: true
|
|
816
903
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
904
|
+
source_of_truth: execution
|
|
817
905
|
- name: platform_sdd_id
|
|
818
906
|
type: string
|
|
819
907
|
nullable: true
|
|
820
908
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
909
|
+
source_of_truth: execution
|
|
821
910
|
foreign_keys:
|
|
822
911
|
- column: domain_id
|
|
823
912
|
references: domains.id
|
|
@@ -830,6 +919,7 @@ catalogues:
|
|
|
830
919
|
packaging: enums.product_packaging
|
|
831
920
|
applications:
|
|
832
921
|
primary_key: id
|
|
922
|
+
source_of_truth: derived
|
|
833
923
|
columns:
|
|
834
924
|
- name: id
|
|
835
925
|
type: string
|
|
@@ -908,10 +998,12 @@ catalogues:
|
|
|
908
998
|
type: string
|
|
909
999
|
nullable: true
|
|
910
1000
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1001
|
+
source_of_truth: execution
|
|
911
1002
|
- name: platform_sdd_id
|
|
912
1003
|
type: string
|
|
913
1004
|
nullable: true
|
|
914
1005
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1006
|
+
source_of_truth: execution
|
|
915
1007
|
description: Filtered view of products where profile = application-product.
|
|
916
1008
|
foreign_keys:
|
|
917
1009
|
- column: domain_id
|
|
@@ -925,6 +1017,7 @@ catalogues:
|
|
|
925
1017
|
packaging: enums.product_packaging
|
|
926
1018
|
integrations:
|
|
927
1019
|
primary_key: id
|
|
1020
|
+
source_of_truth: declaration
|
|
928
1021
|
columns:
|
|
929
1022
|
- name: id
|
|
930
1023
|
type: string
|
|
@@ -948,9 +1041,11 @@ catalogues:
|
|
|
948
1041
|
- name: doc_path
|
|
949
1042
|
type: string
|
|
950
1043
|
nullable: false
|
|
1044
|
+
source_of_truth: derived
|
|
951
1045
|
- name: repo_count
|
|
952
1046
|
type: int
|
|
953
1047
|
nullable: false
|
|
1048
|
+
source_of_truth: derived
|
|
954
1049
|
- name: ingestion_pattern
|
|
955
1050
|
type: string
|
|
956
1051
|
nullable: true
|
|
@@ -975,10 +1070,12 @@ catalogues:
|
|
|
975
1070
|
type: string
|
|
976
1071
|
nullable: true
|
|
977
1072
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1073
|
+
source_of_truth: execution
|
|
978
1074
|
- name: platform_sdd_id
|
|
979
1075
|
type: string
|
|
980
1076
|
nullable: true
|
|
981
1077
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1078
|
+
source_of_truth: execution
|
|
982
1079
|
description: Granular provider adapters. Each row is either (a) an integration-product SDD's own row (one per SDD; parent_product_id empty), or (b) a manifest-declared sub-integration of a multi-provider monolith (parent_product_id = umbrella SDD's id). Per M-ADR 0144 (schema 2.6.0), sub-integrations are declared via the optional `sub_integrations:` array in `integration-manifest.yaml`.
|
|
983
1080
|
foreign_keys:
|
|
984
1081
|
- column: domain_id
|
|
@@ -991,6 +1088,7 @@ catalogues:
|
|
|
991
1088
|
invocation_pattern: enums.invocation_pattern
|
|
992
1089
|
integration_component:
|
|
993
1090
|
primary_key: id
|
|
1091
|
+
source_of_truth: declaration
|
|
994
1092
|
columns:
|
|
995
1093
|
- name: id
|
|
996
1094
|
type: string
|
|
@@ -1012,6 +1110,7 @@ catalogues:
|
|
|
1012
1110
|
type: string
|
|
1013
1111
|
nullable: false
|
|
1014
1112
|
description: undeclared | repository | service | unresolved. `undeclared` = no `componentRepo` given (normal, no finding). `repository`/`service` = the declared linkage resolved. `unresolved` = declared but matched no repositories.id or services.id of this SDD, which carries a coverage finding. Re-based on `component_repo` in 2.44.0 — it previously described resolution of `component_id` itself.
|
|
1113
|
+
source_of_truth: derived
|
|
1015
1114
|
- name: component_type
|
|
1016
1115
|
type: string
|
|
1017
1116
|
nullable: true
|
|
@@ -1056,14 +1155,17 @@ catalogues:
|
|
|
1056
1155
|
type: string
|
|
1057
1156
|
nullable: false
|
|
1058
1157
|
description: "components-array | component-manifest — WHICH of M-ADR 0171 §9.1's two homes declared this component. Added in 2.49.0, when the second home became catalogued. Required because §10.1 states that any coverage reasoning MUST say which form it counts, and once one table holds both, a consumer cannot tell them apart: merging them without this recreates the reference-exemplar problem — well-formed rows that do not mean what a consumer assumes. Measured at the time of wiring: the array form was 15 components across 5 SDDs, the per-component form 86 across 21, and the two are DISJOINT (no id collision, no SDD using both). `resolution` also reads differently by form — for the array form `componentRepo` is an optional declaration (0 of 15 declared it); for the per-component form the containing `repos/<component>/` directory IS the repo, so linkage is structural rather than declared."
|
|
1158
|
+
source_of_truth: derived
|
|
1059
1159
|
- name: source_sdd_id
|
|
1060
1160
|
type: string
|
|
1061
1161
|
nullable: true
|
|
1062
1162
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1163
|
+
source_of_truth: execution
|
|
1063
1164
|
- name: platform_sdd_id
|
|
1064
1165
|
type: string
|
|
1065
1166
|
nullable: true
|
|
1066
1167
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1168
|
+
source_of_truth: execution
|
|
1067
1169
|
description: |
|
|
1068
1170
|
Integration-product edge (M-ADR 0171 §9, catalogued per §10.1): one row per component declared in the SDD's `integration-manifest.yaml` `components:` array. A component is one of the integration's component code repos (M-ADR 0106) — an integration SDD is a one-to-many spec→code unit — and the tier is the source of truth for the interaction pattern, with the SDD-level `ingestionPattern`/`invocationPattern` as its aggregate (§9.3).
|
|
1069
1171
|
Built per-SDD, integration-product only (other profiles emit headers-only). A component id is unique within its manifest and names an **interaction surface** — commonly one provider feed — which is NOT necessarily a deployable (§10.2). The optional `component_repo` carries an explicit code linkage; when declared it MUST resolve to a `repositories.id` or `services.id` of the same SDD, and a declared-but-unresolvable linkage is a **coverage finding, not a load failure**. `resolution` records the outcome inline, including `undeclared` for the normal feed-level case, so a consumer filters on it rather than inferring from a join miss.
|
|
@@ -1078,6 +1180,7 @@ catalogues:
|
|
|
1078
1180
|
declared_in: enums.integration_component_declared_in
|
|
1079
1181
|
adrs:
|
|
1080
1182
|
primary_key: id
|
|
1183
|
+
source_of_truth: decision
|
|
1081
1184
|
columns:
|
|
1082
1185
|
- name: id
|
|
1083
1186
|
type: string
|
|
@@ -1100,25 +1203,39 @@ catalogues:
|
|
|
1100
1203
|
- name: doc_path
|
|
1101
1204
|
type: string
|
|
1102
1205
|
nullable: false
|
|
1206
|
+
source_of_truth: derived
|
|
1103
1207
|
- name: superseded_by_id
|
|
1104
1208
|
type: string
|
|
1105
1209
|
nullable: true
|
|
1210
|
+
source_of_truth: derived
|
|
1106
1211
|
- name: inference_confidence
|
|
1107
1212
|
type: string
|
|
1108
1213
|
nullable: true
|
|
1109
1214
|
description: high | medium | low (reverse-inferred ADRs only).
|
|
1215
|
+
source_of_truth: derived
|
|
1110
1216
|
- name: supersedes_raw
|
|
1111
1217
|
type: string
|
|
1112
1218
|
nullable: true
|
|
1113
1219
|
description: Raw text from Supersedes bullet for later parsing.
|
|
1220
|
+
- name: effective_change
|
|
1221
|
+
type: string
|
|
1222
|
+
nullable: true
|
|
1223
|
+
description: "From the ADR's **Effective:** line (M-ADR 0230 §4.2, Proposed): the change whose archive makes the decision apply, by its undated name; empty when it applies on acceptance. Added in schema 6.0.0."
|
|
1224
|
+
- name: governs
|
|
1225
|
+
type: string
|
|
1226
|
+
nullable: true
|
|
1227
|
+
description: "Bound to adr_governs: which view the decision governs. An Accepted ADR governs current on acceptance, or once its effective change archives; intended while that change is open; nothing once it is withdrawn or gone. A Superseded ADR governs current until a superseding ADR does. Added in schema 6.0.0."
|
|
1228
|
+
source_of_truth: derived
|
|
1114
1229
|
- name: source_sdd_id
|
|
1115
1230
|
type: string
|
|
1116
1231
|
nullable: true
|
|
1117
1232
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1233
|
+
source_of_truth: execution
|
|
1118
1234
|
- name: platform_sdd_id
|
|
1119
1235
|
type: string
|
|
1120
1236
|
nullable: true
|
|
1121
1237
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1238
|
+
source_of_truth: execution
|
|
1122
1239
|
foreign_keys:
|
|
1123
1240
|
- column: domain_id
|
|
1124
1241
|
references: domains.id
|
|
@@ -1131,8 +1248,10 @@ catalogues:
|
|
|
1131
1248
|
nullable: true
|
|
1132
1249
|
column_enums:
|
|
1133
1250
|
inference_confidence: enums.confidence_level
|
|
1251
|
+
governs: enums.adr_governs
|
|
1134
1252
|
glossary_items:
|
|
1135
1253
|
primary_key: id
|
|
1254
|
+
source_of_truth: structure
|
|
1136
1255
|
columns:
|
|
1137
1256
|
- name: id
|
|
1138
1257
|
type: string
|
|
@@ -1152,13 +1271,16 @@ catalogues:
|
|
|
1152
1271
|
type: string
|
|
1153
1272
|
nullable: true
|
|
1154
1273
|
description: Set when this term is an alias for another.
|
|
1274
|
+
source_of_truth: derived
|
|
1155
1275
|
- name: aliases
|
|
1156
1276
|
type: string
|
|
1157
1277
|
nullable: true
|
|
1158
1278
|
description: "';'-separated list."
|
|
1279
|
+
source_of_truth: derived
|
|
1159
1280
|
- name: evidence
|
|
1160
1281
|
type: string
|
|
1161
1282
|
nullable: true
|
|
1283
|
+
source_of_truth: evidence
|
|
1162
1284
|
- name: notes
|
|
1163
1285
|
type: string
|
|
1164
1286
|
nullable: true
|
|
@@ -1166,10 +1288,12 @@ catalogues:
|
|
|
1166
1288
|
type: string
|
|
1167
1289
|
nullable: true
|
|
1168
1290
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1291
|
+
source_of_truth: execution
|
|
1169
1292
|
- name: platform_sdd_id
|
|
1170
1293
|
type: string
|
|
1171
1294
|
nullable: true
|
|
1172
1295
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1296
|
+
source_of_truth: execution
|
|
1173
1297
|
foreign_keys:
|
|
1174
1298
|
- column: owning_domain_id
|
|
1175
1299
|
references: domains.id
|
|
@@ -1179,6 +1303,7 @@ catalogues:
|
|
|
1179
1303
|
nullable: true
|
|
1180
1304
|
glossary_xref:
|
|
1181
1305
|
primary_key: id
|
|
1306
|
+
source_of_truth: structure
|
|
1182
1307
|
columns:
|
|
1183
1308
|
- name: id
|
|
1184
1309
|
type: string
|
|
@@ -1195,6 +1320,10 @@ catalogues:
|
|
|
1195
1320
|
nullable: false
|
|
1196
1321
|
description: alias-of | conflicts-with | references | supersedes (extended in schema 2.12.0 per M-ADR 0158).
|
|
1197
1322
|
description: "Edge: cross-domain glossary relationships from glossary-alignment-manifest.yaml. Per M-ADR 0158, four walkers ingest into this catalogue: (a) forward declared pair-form {source, target} entries under aliases/conflicts, (b) reverse-method cross_domain_terms (emits references edges per referencer→owner), (c) reverse-method multi-domain conflicts (pair-wise expansion across domains[]), (d) forward-method supersedes (status: superseded entries with superseded_by back-link)."
|
|
1323
|
+
natural_key:
|
|
1324
|
+
- source_id
|
|
1325
|
+
- target_id
|
|
1326
|
+
- relation
|
|
1198
1327
|
foreign_keys:
|
|
1199
1328
|
- column: source_id
|
|
1200
1329
|
references: glossary_items.id
|
|
@@ -1206,6 +1335,7 @@ catalogues:
|
|
|
1206
1335
|
relation: enums.glossary_xref_relation
|
|
1207
1336
|
entity_glossary:
|
|
1208
1337
|
primary_key: id
|
|
1338
|
+
source_of_truth: structure
|
|
1209
1339
|
columns:
|
|
1210
1340
|
- name: id
|
|
1211
1341
|
type: string
|
|
@@ -1224,14 +1354,17 @@ catalogues:
|
|
|
1224
1354
|
type: string
|
|
1225
1355
|
nullable: false
|
|
1226
1356
|
description: aligned | matched_direct. Conflicting statuses within a domain resolve matched_direct > aligned with a divergence finding.
|
|
1357
|
+
source_of_truth: derived
|
|
1227
1358
|
- name: source_sdd_id
|
|
1228
1359
|
type: string
|
|
1229
1360
|
nullable: true
|
|
1230
1361
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1362
|
+
source_of_truth: execution
|
|
1231
1363
|
- name: platform_sdd_id
|
|
1232
1364
|
type: string
|
|
1233
1365
|
nullable: true
|
|
1234
1366
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1367
|
+
source_of_truth: execution
|
|
1235
1368
|
- name: entity_id
|
|
1236
1369
|
type: string
|
|
1237
1370
|
nullable: true
|
|
@@ -1249,6 +1382,7 @@ catalogues:
|
|
|
1249
1382
|
nullable: true
|
|
1250
1383
|
services:
|
|
1251
1384
|
primary_key: id
|
|
1385
|
+
source_of_truth: structure
|
|
1252
1386
|
columns:
|
|
1253
1387
|
- name: id
|
|
1254
1388
|
type: string
|
|
@@ -1287,6 +1421,7 @@ catalogues:
|
|
|
1287
1421
|
type: string
|
|
1288
1422
|
nullable: true
|
|
1289
1423
|
description: high | medium | low (reverse-method classification).
|
|
1424
|
+
source_of_truth: evidence
|
|
1290
1425
|
- name: context
|
|
1291
1426
|
type: string
|
|
1292
1427
|
nullable: true
|
|
@@ -1298,10 +1433,12 @@ catalogues:
|
|
|
1298
1433
|
type: string
|
|
1299
1434
|
nullable: true
|
|
1300
1435
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1436
|
+
source_of_truth: execution
|
|
1301
1437
|
- name: platform_sdd_id
|
|
1302
1438
|
type: string
|
|
1303
1439
|
nullable: true
|
|
1304
1440
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1441
|
+
source_of_truth: execution
|
|
1305
1442
|
foreign_keys:
|
|
1306
1443
|
- column: product_id
|
|
1307
1444
|
references: products.id
|
|
@@ -1317,6 +1454,7 @@ catalogues:
|
|
|
1317
1454
|
confidence: enums.confidence_level
|
|
1318
1455
|
capabilities:
|
|
1319
1456
|
primary_key: id
|
|
1457
|
+
source_of_truth: structure
|
|
1320
1458
|
columns:
|
|
1321
1459
|
- name: id
|
|
1322
1460
|
type: string
|
|
@@ -1339,6 +1477,7 @@ catalogues:
|
|
|
1339
1477
|
type: string
|
|
1340
1478
|
nullable: true
|
|
1341
1479
|
description: Evidence class of the capability's claims, from `capability.evidence_class` in the traceability manifest. Free-form; conventional values code-reverse | vendor-doc | operational (M-ADR 0175). Empty when undeclared. Added in schema 2.20.0.
|
|
1480
|
+
source_of_truth: evidence
|
|
1342
1481
|
- name: context
|
|
1343
1482
|
type: string
|
|
1344
1483
|
nullable: true
|
|
@@ -1346,6 +1485,7 @@ catalogues:
|
|
|
1346
1485
|
- name: description
|
|
1347
1486
|
type: string
|
|
1348
1487
|
nullable: true
|
|
1488
|
+
source_of_truth: intent
|
|
1349
1489
|
- name: status
|
|
1350
1490
|
type: string
|
|
1351
1491
|
nullable: false
|
|
@@ -1354,14 +1494,17 @@ catalogues:
|
|
|
1354
1494
|
type: string
|
|
1355
1495
|
nullable: true
|
|
1356
1496
|
description: Path to capability spec file when one exists.
|
|
1497
|
+
source_of_truth: derived
|
|
1357
1498
|
- name: contract_provenance
|
|
1358
1499
|
type: string
|
|
1359
1500
|
nullable: true
|
|
1360
1501
|
description: "How this capability's declared contract SET was produced, from `traceability.contracts.provenance`. hand-authored | reverse-extracted | generated — the vocabulary the method already ships for `authoring-mode`, reused deliberately so provenance has one vocabulary and not two. Empty means undeclared, and undeclared reads as `hand-authored` by convention. Added at 3.5.0. ⚠ STRICTLY ORTHOGONAL to the contract-set maturity ladder (`traceability.contracts.status`: planned | provisional | partial | complete | stable | none): provenance never constrains status and status never constrains provenance, and `reverse-extracted` + `complete` is the legitimate pair that motivated the field. Evidence: 2 reverse-estate manifests had written `reverse-extracted` INTO contracts.status, where it is invalid, because a complete reverse-derived contract surface had no way to say both true things at once and the author picked the provenance one. A rule here that constrained maturity would re-create exactly that defect. ⚠ Note the asymmetry this column exposes and does not fix: the maturity ladder it is orthogonal to has NO catalogue column at all — `traceability.contracts.status` is validator-enforced but uncatalogued, so it is queryable by no consumer. That is the authored-but-uncatalogued class (a block with no column has no automated reader, so nothing can notice when it is absent or wrong); this column is given one precisely so the provenance half does not join it. Giving the ladder a column is a candidate follow-on, not done here."
|
|
1502
|
+
source_of_truth: evidence
|
|
1361
1503
|
- name: source
|
|
1362
1504
|
type: string
|
|
1363
1505
|
nullable: false
|
|
1364
|
-
description: capability-tree | product-map | capability-spec.
|
|
1506
|
+
description: "capability-tree | product-map | capability-spec | structural-model. As of schema 6.0.0, source: structural-model is emitted for a capability only the structural model holds (M-ADR 0230 §4.3, Proposed)."
|
|
1507
|
+
source_of_truth: derived
|
|
1365
1508
|
- name: runway_classification
|
|
1366
1509
|
type: string
|
|
1367
1510
|
nullable: true
|
|
@@ -1378,10 +1521,12 @@ catalogues:
|
|
|
1378
1521
|
type: string
|
|
1379
1522
|
nullable: true
|
|
1380
1523
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1524
|
+
source_of_truth: execution
|
|
1381
1525
|
- name: platform_sdd_id
|
|
1382
1526
|
type: string
|
|
1383
1527
|
nullable: true
|
|
1384
1528
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1529
|
+
source_of_truth: execution
|
|
1385
1530
|
foreign_keys:
|
|
1386
1531
|
- column: domain_id
|
|
1387
1532
|
references: domains.id
|
|
@@ -1396,6 +1541,7 @@ catalogues:
|
|
|
1396
1541
|
source: enums.capability_source
|
|
1397
1542
|
feature_groups:
|
|
1398
1543
|
primary_key: id
|
|
1544
|
+
source_of_truth: structure
|
|
1399
1545
|
columns:
|
|
1400
1546
|
- name: id
|
|
1401
1547
|
type: string
|
|
@@ -1421,18 +1567,22 @@ catalogues:
|
|
|
1421
1567
|
type: string
|
|
1422
1568
|
nullable: true
|
|
1423
1569
|
description: Authored description (when group has explicit metadata) or null when derived from heading only.
|
|
1570
|
+
source_of_truth: intent
|
|
1424
1571
|
- name: source
|
|
1425
1572
|
type: string
|
|
1426
1573
|
nullable: false
|
|
1427
1574
|
description: feature-tree-h2 | feature-tree-h3 | feature-spec-explicit (when an authored feature spec declares group membership) | capability-spec-explicit.
|
|
1575
|
+
source_of_truth: derived
|
|
1428
1576
|
- name: source_sdd_id
|
|
1429
1577
|
type: string
|
|
1430
1578
|
nullable: true
|
|
1431
1579
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1580
|
+
source_of_truth: execution
|
|
1432
1581
|
- name: platform_sdd_id
|
|
1433
1582
|
type: string
|
|
1434
1583
|
nullable: true
|
|
1435
1584
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1585
|
+
source_of_truth: execution
|
|
1436
1586
|
description: |
|
|
1437
1587
|
Hierarchical grouping for features. First-class entity — replaces the previous reverse-only synthetic `feature-tree-group` rows in features.csv. Both forward and reverse can use feature_groups: forward application-product SDDs whose `feature-tree.md` has H2/H3 structure, reverse SDDs whose extracted feature trees are inherently hierarchical, and any SDD that promotes groups to first-class with authored metadata. Groups can nest via `parent_group_id`.
|
|
1438
1588
|
foreign_keys:
|
|
@@ -1447,6 +1597,7 @@ catalogues:
|
|
|
1447
1597
|
nullable: true
|
|
1448
1598
|
features:
|
|
1449
1599
|
primary_key: id
|
|
1600
|
+
source_of_truth: structure
|
|
1450
1601
|
columns:
|
|
1451
1602
|
- name: id
|
|
1452
1603
|
type: string
|
|
@@ -1473,10 +1624,12 @@ catalogues:
|
|
|
1473
1624
|
- name: description
|
|
1474
1625
|
type: string
|
|
1475
1626
|
nullable: true
|
|
1627
|
+
source_of_truth: intent
|
|
1476
1628
|
- name: maturity
|
|
1477
1629
|
type: string
|
|
1478
1630
|
nullable: true
|
|
1479
1631
|
description: "Standard: working | provisional | unknown | absent. Ecosystem-specific values may be added with parser awareness."
|
|
1632
|
+
source_of_truth: derived
|
|
1480
1633
|
- name: status
|
|
1481
1634
|
type: string
|
|
1482
1635
|
nullable: false
|
|
@@ -1484,7 +1637,8 @@ catalogues:
|
|
|
1484
1637
|
- name: source
|
|
1485
1638
|
type: string
|
|
1486
1639
|
nullable: false
|
|
1487
|
-
description: "feature-tree | feature-set | capability-spec | feature-spec | feature-grounding. NOTE: feature-tree-group source removed in 1.3.0 — groups are now first-class in feature_groups.csv. As of schema 2.2.0, source: feature-tree is emitted by the canonical builder for rows derived from feature-tree.md bullets. As of schema 2.5.0, source: feature-grounding is emitted for rows derived from `docs/domains/<dom>/design/<capability>/feature-grounding.md` markdown tables (per M-ADR 0143). As of schema 2.7.0, source: capability-spec is emitted by the canonical builder for rows derived from `## Feature Grounding (code-path trace)` tables in `docs/domains/<dom>/product/<capability>.md` capability spec markdown (per M-ADR 0145). Feature-grounding and capability-spec rows are both capability-owned: product_id is empty; capability_id resolves from the file path."
|
|
1640
|
+
description: "feature-tree | feature-set | capability-spec | feature-spec | feature-grounding | structural-model. As of schema 6.0.0, source: structural-model is emitted for a feature only the structural model holds (M-ADR 0230 §4.3, Proposed). NOTE: feature-tree-group source removed in 1.3.0 — groups are now first-class in feature_groups.csv. As of schema 2.2.0, source: feature-tree is emitted by the canonical builder for rows derived from feature-tree.md bullets. As of schema 2.5.0, source: feature-grounding is emitted for rows derived from `docs/domains/<dom>/design/<capability>/feature-grounding.md` markdown tables (per M-ADR 0143). As of schema 2.7.0, source: capability-spec is emitted by the canonical builder for rows derived from `## Feature Grounding (code-path trace)` tables in `docs/domains/<dom>/product/<capability>.md` capability spec markdown (per M-ADR 0145). Feature-grounding and capability-spec rows are both capability-owned: product_id is empty; capability_id resolves from the file path."
|
|
1641
|
+
source_of_truth: derived
|
|
1488
1642
|
- name: runway
|
|
1489
1643
|
type: string
|
|
1490
1644
|
nullable: true
|
|
@@ -1497,10 +1651,12 @@ catalogues:
|
|
|
1497
1651
|
type: string
|
|
1498
1652
|
nullable: true
|
|
1499
1653
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1654
|
+
source_of_truth: execution
|
|
1500
1655
|
- name: platform_sdd_id
|
|
1501
1656
|
type: string
|
|
1502
1657
|
nullable: true
|
|
1503
1658
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1659
|
+
source_of_truth: execution
|
|
1504
1660
|
foreign_keys:
|
|
1505
1661
|
- column: product_id
|
|
1506
1662
|
references: products.id
|
|
@@ -1521,6 +1677,7 @@ catalogues:
|
|
|
1521
1677
|
maturity: enums.artefact_maturity
|
|
1522
1678
|
personas:
|
|
1523
1679
|
primary_key: id
|
|
1680
|
+
source_of_truth: structure
|
|
1524
1681
|
columns:
|
|
1525
1682
|
- name: id
|
|
1526
1683
|
type: string
|
|
@@ -1538,20 +1695,24 @@ catalogues:
|
|
|
1538
1695
|
- name: description
|
|
1539
1696
|
type: string
|
|
1540
1697
|
nullable: true
|
|
1698
|
+
source_of_truth: intent
|
|
1541
1699
|
- name: source_sdd_id
|
|
1542
1700
|
type: string
|
|
1543
1701
|
nullable: true
|
|
1544
1702
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1703
|
+
source_of_truth: execution
|
|
1545
1704
|
- name: platform_sdd_id
|
|
1546
1705
|
type: string
|
|
1547
1706
|
nullable: true
|
|
1548
1707
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1708
|
+
source_of_truth: execution
|
|
1549
1709
|
foreign_keys:
|
|
1550
1710
|
- column: product_id
|
|
1551
1711
|
references: products.id
|
|
1552
1712
|
nullable: false
|
|
1553
1713
|
user_journeys:
|
|
1554
1714
|
primary_key: id
|
|
1715
|
+
source_of_truth: structure
|
|
1555
1716
|
columns:
|
|
1556
1717
|
- name: id
|
|
1557
1718
|
type: string
|
|
@@ -1573,23 +1734,28 @@ catalogues:
|
|
|
1573
1734
|
- name: trigger
|
|
1574
1735
|
type: string
|
|
1575
1736
|
nullable: true
|
|
1737
|
+
source_of_truth: intent
|
|
1576
1738
|
- name: goal
|
|
1577
1739
|
type: string
|
|
1578
1740
|
nullable: true
|
|
1741
|
+
source_of_truth: intent
|
|
1579
1742
|
- name: source_sdd_id
|
|
1580
1743
|
type: string
|
|
1581
1744
|
nullable: true
|
|
1582
1745
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1746
|
+
source_of_truth: execution
|
|
1583
1747
|
- name: platform_sdd_id
|
|
1584
1748
|
type: string
|
|
1585
1749
|
nullable: true
|
|
1586
1750
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1751
|
+
source_of_truth: execution
|
|
1587
1752
|
foreign_keys:
|
|
1588
1753
|
- column: product_id
|
|
1589
1754
|
references: products.id
|
|
1590
1755
|
nullable: false
|
|
1591
1756
|
contracts:
|
|
1592
1757
|
primary_key: id
|
|
1758
|
+
source_of_truth: interface
|
|
1593
1759
|
columns:
|
|
1594
1760
|
- name: id
|
|
1595
1761
|
type: string
|
|
@@ -1621,6 +1787,7 @@ catalogues:
|
|
|
1621
1787
|
- name: spec_path
|
|
1622
1788
|
type: string
|
|
1623
1789
|
nullable: true
|
|
1790
|
+
source_of_truth: derived
|
|
1624
1791
|
- name: visibility
|
|
1625
1792
|
type: string
|
|
1626
1793
|
nullable: true
|
|
@@ -1633,6 +1800,7 @@ catalogues:
|
|
|
1633
1800
|
type: string
|
|
1634
1801
|
nullable: true
|
|
1635
1802
|
description: Evidence class of the contract surface, from OpenAPI `info.x-evidence-class` (document root accepted as fallback, exactly like x-context). Free-form; conventional values code-reverse | vendor-doc | operational (M-ADR 0175). Empty when untagged. Added in schema 2.20.0.
|
|
1803
|
+
source_of_truth: evidence
|
|
1636
1804
|
- name: description
|
|
1637
1805
|
type: string
|
|
1638
1806
|
nullable: true
|
|
@@ -1640,14 +1808,17 @@ catalogues:
|
|
|
1640
1808
|
type: string
|
|
1641
1809
|
nullable: true
|
|
1642
1810
|
description: discovered | declared-external. `discovered` (default) means the builder walked the spec file and parsed it, so title/version/context/evidence_class are trustworthy. `declared-external` means the row exists ONLY because a capability traceability manifest declared it with an explicit external marker and the file was never read — so those columns are necessarily EMPTY and their emptiness carries no information. A consumer that cannot tell the two apart will treat a declaration as a validated contract. Added in schema 2.51.0 (D13).
|
|
1811
|
+
source_of_truth: derived
|
|
1643
1812
|
- name: source_sdd_id
|
|
1644
1813
|
type: string
|
|
1645
1814
|
nullable: true
|
|
1646
1815
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1816
|
+
source_of_truth: execution
|
|
1647
1817
|
- name: platform_sdd_id
|
|
1648
1818
|
type: string
|
|
1649
1819
|
nullable: true
|
|
1650
1820
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1821
|
+
source_of_truth: execution
|
|
1651
1822
|
foreign_keys:
|
|
1652
1823
|
- column: service_id
|
|
1653
1824
|
references: services.id
|
|
@@ -1662,6 +1833,7 @@ catalogues:
|
|
|
1662
1833
|
discovery: enums.contract_discovery
|
|
1663
1834
|
events:
|
|
1664
1835
|
primary_key: id
|
|
1836
|
+
source_of_truth: interface
|
|
1665
1837
|
columns:
|
|
1666
1838
|
- name: id
|
|
1667
1839
|
type: string
|
|
@@ -1690,14 +1862,17 @@ catalogues:
|
|
|
1690
1862
|
type: string
|
|
1691
1863
|
nullable: true
|
|
1692
1864
|
description: Evidence class of the event claim, from the per-event `evidence_class` key (alias `evidence-class`) in event-catalog.yaml, falling back to a file-level `evidence_class`/`evidence-class` top-level key in the same catalog YAML. Free-form; conventional values code-reverse | vendor-doc | operational (M-ADR 0175). Empty for avsc-only events and when undeclared. Added in schema 2.20.0.
|
|
1865
|
+
source_of_truth: evidence
|
|
1693
1866
|
- name: source_sdd_id
|
|
1694
1867
|
type: string
|
|
1695
1868
|
nullable: true
|
|
1696
1869
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1870
|
+
source_of_truth: execution
|
|
1697
1871
|
- name: platform_sdd_id
|
|
1698
1872
|
type: string
|
|
1699
1873
|
nullable: true
|
|
1700
1874
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1875
|
+
source_of_truth: execution
|
|
1701
1876
|
description: "Asynchronous messages. Cross-domain events (e.g. shared envelopes) leave domain_id empty. Per M-ADR 0156 (multi-source ingestion, schema 2.12.0): forward-method canonical source is `contracts/avro/*.avsc` files; reverse-method canonical source is `docs/domains/{domain}/contracts/events/event-catalog.yaml`. YAML wins on name/domain/publisher/transport/consumers; avsc augments schema_path/version. Both paths run and merge by id slug."
|
|
1702
1877
|
foreign_keys:
|
|
1703
1878
|
- column: publisher_service_id
|
|
@@ -1708,6 +1883,7 @@ catalogues:
|
|
|
1708
1883
|
nullable: true
|
|
1709
1884
|
c4_systems:
|
|
1710
1885
|
primary_key: id
|
|
1886
|
+
source_of_truth: structure
|
|
1711
1887
|
columns:
|
|
1712
1888
|
- name: id
|
|
1713
1889
|
type: string
|
|
@@ -1728,6 +1904,7 @@ catalogues:
|
|
|
1728
1904
|
type: string
|
|
1729
1905
|
nullable: true
|
|
1730
1906
|
description: Path to L1 mermaid/markdown. Nullable — row exists for any architectural Product even if no L1 diagram has been authored yet (visible coverage gap).
|
|
1907
|
+
source_of_truth: derived
|
|
1731
1908
|
- name: description
|
|
1732
1909
|
type: string
|
|
1733
1910
|
nullable: true
|
|
@@ -1735,10 +1912,12 @@ catalogues:
|
|
|
1735
1912
|
type: string
|
|
1736
1913
|
nullable: true
|
|
1737
1914
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1915
|
+
source_of_truth: execution
|
|
1738
1916
|
- name: platform_sdd_id
|
|
1739
1917
|
type: string
|
|
1740
1918
|
nullable: true
|
|
1741
1919
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1920
|
+
source_of_truth: execution
|
|
1742
1921
|
foreign_keys:
|
|
1743
1922
|
- column: product_id
|
|
1744
1923
|
references: products.id
|
|
@@ -1747,6 +1926,7 @@ catalogues:
|
|
|
1747
1926
|
kind: enums.c4_system_kind
|
|
1748
1927
|
c4_containers:
|
|
1749
1928
|
primary_key: id
|
|
1929
|
+
source_of_truth: structure
|
|
1750
1930
|
columns:
|
|
1751
1931
|
- name: id
|
|
1752
1932
|
type: string
|
|
@@ -1781,10 +1961,12 @@ catalogues:
|
|
|
1781
1961
|
type: string
|
|
1782
1962
|
nullable: true
|
|
1783
1963
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
1964
|
+
source_of_truth: execution
|
|
1784
1965
|
- name: platform_sdd_id
|
|
1785
1966
|
type: string
|
|
1786
1967
|
nullable: true
|
|
1787
1968
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
1969
|
+
source_of_truth: execution
|
|
1788
1970
|
description: |
|
|
1789
1971
|
C4 L2. Each container belongs to exactly one C4 system. `domain_id` is a denormalised organisational tag, not a C4-structural attribute — multi-domain ecosystems use it for filtering/reporting. `service_id` is the optional "may represent" link to a runtime service when the container is a deployable application.
|
|
1790
1972
|
foreign_keys:
|
|
@@ -1801,6 +1983,7 @@ catalogues:
|
|
|
1801
1983
|
type: enums.c4_container_type
|
|
1802
1984
|
c4_components:
|
|
1803
1985
|
primary_key: id
|
|
1986
|
+
source_of_truth: structure
|
|
1804
1987
|
columns:
|
|
1805
1988
|
- name: id
|
|
1806
1989
|
type: string
|
|
@@ -1827,10 +2010,12 @@ catalogues:
|
|
|
1827
2010
|
type: string
|
|
1828
2011
|
nullable: true
|
|
1829
2012
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
2013
|
+
source_of_truth: execution
|
|
1830
2014
|
- name: platform_sdd_id
|
|
1831
2015
|
type: string
|
|
1832
2016
|
nullable: true
|
|
1833
2017
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
2018
|
+
source_of_truth: execution
|
|
1834
2019
|
description: |
|
|
1835
2020
|
C4 L3. Each component belongs to exactly one C4 container. `service_id` is denormalised from `c4_containers.service_id` for query convenience — populated when the parent container represents a runtime service.
|
|
1836
2021
|
foreign_keys:
|
|
@@ -1842,6 +2027,7 @@ catalogues:
|
|
|
1842
2027
|
nullable: true
|
|
1843
2028
|
c4_external_systems:
|
|
1844
2029
|
primary_key: id
|
|
2030
|
+
source_of_truth: structure
|
|
1845
2031
|
columns:
|
|
1846
2032
|
- name: id
|
|
1847
2033
|
type: string
|
|
@@ -1867,18 +2053,22 @@ catalogues:
|
|
|
1867
2053
|
type: string
|
|
1868
2054
|
nullable: true
|
|
1869
2055
|
description: "Scope of the first-seen declaration: l1 (context diagram) or l2 (container diagram — scope-relative per M-ADR 0189 §4.1). Added 2.30.0."
|
|
2056
|
+
source_of_truth: derived
|
|
1870
2057
|
- name: source_sdd_id
|
|
1871
2058
|
type: string
|
|
1872
2059
|
nullable: true
|
|
1873
2060
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
2061
|
+
source_of_truth: execution
|
|
1874
2062
|
- name: platform_sdd_id
|
|
1875
2063
|
type: string
|
|
1876
2064
|
nullable: true
|
|
1877
2065
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
2066
|
+
source_of_truth: execution
|
|
1878
2067
|
description: |
|
|
1879
2068
|
C4 external software systems — peer systems at the L1 context level that the ecosystem integrates with but does not own (per M-ADR 0155). Rendered `System_Ext(...)` on L1/L2 diagrams. NOT a c4_container (external systems are not inside your system) and NOT a c4_system (they have no owning Product). External systems are inherently shared references: the same external system may be declared by multiple SDDs, so the aggregator dedups identical rows by PK rather than failing on duplicate (the one narrowly-scoped exception to M-ADR 0134's duplicate-PK rule); conflicting attributes on the same id surface as a `convention` finding.
|
|
1880
2069
|
repositories:
|
|
1881
2070
|
primary_key: id
|
|
2071
|
+
source_of_truth: structure
|
|
1882
2072
|
columns:
|
|
1883
2073
|
- name: id
|
|
1884
2074
|
type: string
|
|
@@ -1914,33 +2104,42 @@ catalogues:
|
|
|
1914
2104
|
- name: files
|
|
1915
2105
|
type: int
|
|
1916
2106
|
nullable: true
|
|
2107
|
+
source_of_truth: evidence
|
|
1917
2108
|
- name: code
|
|
1918
2109
|
type: int
|
|
1919
2110
|
nullable: true
|
|
2111
|
+
source_of_truth: evidence
|
|
1920
2112
|
- name: comment
|
|
1921
2113
|
type: int
|
|
1922
2114
|
nullable: true
|
|
2115
|
+
source_of_truth: evidence
|
|
1923
2116
|
- name: blank
|
|
1924
2117
|
type: int
|
|
1925
2118
|
nullable: true
|
|
2119
|
+
source_of_truth: evidence
|
|
1926
2120
|
- name: total_lines
|
|
1927
2121
|
type: int
|
|
1928
2122
|
nullable: true
|
|
2123
|
+
source_of_truth: evidence
|
|
1929
2124
|
- name: languages
|
|
1930
2125
|
type: string
|
|
1931
2126
|
nullable: true
|
|
1932
2127
|
description: "';'-separated."
|
|
2128
|
+
source_of_truth: evidence
|
|
1933
2129
|
- name: doc_path
|
|
1934
2130
|
type: string
|
|
1935
2131
|
nullable: false
|
|
2132
|
+
source_of_truth: derived
|
|
1936
2133
|
- name: source_sdd_id
|
|
1937
2134
|
type: string
|
|
1938
2135
|
nullable: true
|
|
1939
2136
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
2137
|
+
source_of_truth: execution
|
|
1940
2138
|
- name: platform_sdd_id
|
|
1941
2139
|
type: string
|
|
1942
2140
|
nullable: true
|
|
1943
2141
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
2142
|
+
source_of_truth: execution
|
|
1944
2143
|
- name: repo_scope
|
|
1945
2144
|
type: string
|
|
1946
2145
|
nullable: true
|
|
@@ -1957,6 +2156,7 @@ catalogues:
|
|
|
1957
2156
|
repo_scope: enums.repo_scope
|
|
1958
2157
|
domain_models:
|
|
1959
2158
|
primary_key: id
|
|
2159
|
+
source_of_truth: structure
|
|
1960
2160
|
columns:
|
|
1961
2161
|
- name: id
|
|
1962
2162
|
type: string
|
|
@@ -1972,6 +2172,7 @@ catalogues:
|
|
|
1972
2172
|
type: string
|
|
1973
2173
|
nullable: false
|
|
1974
2174
|
description: Path to data-model.mermaid.md.
|
|
2175
|
+
source_of_truth: derived
|
|
1975
2176
|
- name: version
|
|
1976
2177
|
type: string
|
|
1977
2178
|
nullable: true
|
|
@@ -1980,18 +2181,22 @@ catalogues:
|
|
|
1980
2181
|
type: string
|
|
1981
2182
|
nullable: true
|
|
1982
2183
|
description: Evidence class of the domain model, from a leading ```yaml fence in the data-model markdown carrying `evidence-class:` (documentation-reverse anchor convention). Free-form; conventional values code-reverse | vendor-doc | operational (M-ADR 0175). Empty when undeclared. Added in schema 2.20.0.
|
|
2184
|
+
source_of_truth: evidence
|
|
1983
2185
|
- name: source_sdd_id
|
|
1984
2186
|
type: string
|
|
1985
2187
|
nullable: true
|
|
1986
2188
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
2189
|
+
source_of_truth: execution
|
|
1987
2190
|
- name: platform_sdd_id
|
|
1988
2191
|
type: string
|
|
1989
2192
|
nullable: true
|
|
1990
2193
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
2194
|
+
source_of_truth: execution
|
|
1991
2195
|
- name: notation
|
|
1992
2196
|
type: string
|
|
1993
2197
|
nullable: true
|
|
1994
2198
|
description: "The notation the model artefact is written in — one of enums.model_notation (mermaid-erd | typeql), DERIVED by the builder from the file (data-model.mermaid.md → mermaid-erd; data-model.tql → typeql), never authored. The compliance instrument of M-ADR 0210 §4.6 Decision 2 (as amended): a mermaid-erd row is advisory until the sunset 2027-03-31 and an error after it. Added in 3.11.0."
|
|
2199
|
+
source_of_truth: derived
|
|
1995
2200
|
description: "Per-domain ER diagram modelling the domain's aggregates, entities, and domain events. Platform-profile only — application and integration profiles emit headers-only. Forward source: `traceability.domain_model.path` in capability traceability manifests. Reverse source: file-system scan of `docs/domains/*/architecture/data-model.mermaid.md`. Added in schema 2.4.0; see M-ADR 0142."
|
|
1996
2201
|
foreign_keys:
|
|
1997
2202
|
- column: domain_id
|
|
@@ -2001,6 +2206,7 @@ catalogues:
|
|
|
2001
2206
|
notation: enums.model_notation
|
|
2002
2207
|
entities:
|
|
2003
2208
|
primary_key: id
|
|
2209
|
+
source_of_truth: structure
|
|
2004
2210
|
columns:
|
|
2005
2211
|
- name: id
|
|
2006
2212
|
type: string
|
|
@@ -2038,14 +2244,17 @@ catalogues:
|
|
|
2038
2244
|
type: string
|
|
2039
2245
|
nullable: true
|
|
2040
2246
|
description: Evidence class inherited from the owning domain model's file-level declaration (the leading ```yaml fence's `evidence-class:` in data-model markdown). Free-form; conventional values code-reverse | vendor-doc | operational (M-ADR 0175). Empty when the source file declares none, and for manifest-sourced rows (the glossary-alignment manifest has no evidence slot). Added in schema 2.20.0.
|
|
2247
|
+
source_of_truth: evidence
|
|
2041
2248
|
- name: source_sdd_id
|
|
2042
2249
|
type: string
|
|
2043
2250
|
nullable: true
|
|
2044
2251
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
2252
|
+
source_of_truth: execution
|
|
2045
2253
|
- name: platform_sdd_id
|
|
2046
2254
|
type: string
|
|
2047
2255
|
nullable: true
|
|
2048
2256
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
2257
|
+
source_of_truth: execution
|
|
2049
2258
|
description: "Data-model entity (a structural realisation of a concept inside a domain's data model). Distinct from glossary_items (vocabulary-level) and from domain_models (file-level). Added in schema 2.13.0 per M-ADR 0159. Forward source: `models[].entities[]` in glossary-alignment-manifest.yaml. Reverse source: `EntityName { ... }` declarations inside `erDiagram` fences in `docs/domains/{domain}/architecture/data-model.mermaid.md`. PK uses an entity-aware slug that normalises across UPPER_SNAKE and PascalCase authoring styles."
|
|
2050
2259
|
foreign_keys:
|
|
2051
2260
|
- column: domain_id
|
|
@@ -2061,6 +2270,7 @@ catalogues:
|
|
|
2061
2270
|
persistence_kind: enums.persistence_kind
|
|
2062
2271
|
repo_capability:
|
|
2063
2272
|
primary_key: id
|
|
2273
|
+
source_of_truth: derived
|
|
2064
2274
|
columns:
|
|
2065
2275
|
- name: id
|
|
2066
2276
|
type: string
|
|
@@ -2081,6 +2291,7 @@ catalogues:
|
|
|
2081
2291
|
nullable: false
|
|
2082
2292
|
repo_capability_exemption:
|
|
2083
2293
|
primary_key: id
|
|
2294
|
+
source_of_truth: declaration
|
|
2084
2295
|
columns:
|
|
2085
2296
|
- name: id
|
|
2086
2297
|
type: string
|
|
@@ -2107,6 +2318,7 @@ catalogues:
|
|
|
2107
2318
|
reason: enums.capability_exemption_reason
|
|
2108
2319
|
service_capability_exemption:
|
|
2109
2320
|
primary_key: id
|
|
2321
|
+
source_of_truth: declaration
|
|
2110
2322
|
columns:
|
|
2111
2323
|
- name: id
|
|
2112
2324
|
type: string
|
|
@@ -2133,6 +2345,7 @@ catalogues:
|
|
|
2133
2345
|
reason: enums.service_capability_exemption_reason
|
|
2134
2346
|
external_system_exemption:
|
|
2135
2347
|
primary_key: id
|
|
2348
|
+
source_of_truth: declaration
|
|
2136
2349
|
columns:
|
|
2137
2350
|
- name: id
|
|
2138
2351
|
type: string
|
|
@@ -2159,6 +2372,7 @@ catalogues:
|
|
|
2159
2372
|
reason: enums.external_system_exemption_reason
|
|
2160
2373
|
repo_contract:
|
|
2161
2374
|
primary_key: id
|
|
2375
|
+
source_of_truth: derived
|
|
2162
2376
|
columns:
|
|
2163
2377
|
- name: id
|
|
2164
2378
|
type: string
|
|
@@ -2182,6 +2396,7 @@ catalogues:
|
|
|
2182
2396
|
- integration-product
|
|
2183
2397
|
product_capability:
|
|
2184
2398
|
primary_key: id
|
|
2399
|
+
source_of_truth: structure
|
|
2185
2400
|
columns:
|
|
2186
2401
|
- name: id
|
|
2187
2402
|
type: string
|
|
@@ -2200,6 +2415,9 @@ catalogues:
|
|
|
2200
2415
|
type: string
|
|
2201
2416
|
nullable: true
|
|
2202
2417
|
description: "Edge: product depends on / consumes capability. Forward sources from app-platform-dependencies.yaml. capability_id is external because the consuming product (an application-product SDD) references a capability owned by the platform SDD."
|
|
2418
|
+
natural_key:
|
|
2419
|
+
- product_id
|
|
2420
|
+
- capability_id
|
|
2203
2421
|
foreign_keys:
|
|
2204
2422
|
- column: product_id
|
|
2205
2423
|
references: products.id
|
|
@@ -2212,6 +2430,7 @@ catalogues:
|
|
|
2212
2430
|
role: enums.consumption_role
|
|
2213
2431
|
product_service:
|
|
2214
2432
|
primary_key: id
|
|
2433
|
+
source_of_truth: structure
|
|
2215
2434
|
columns:
|
|
2216
2435
|
- name: id
|
|
2217
2436
|
type: string
|
|
@@ -2231,6 +2450,9 @@ catalogues:
|
|
|
2231
2450
|
nullable: true
|
|
2232
2451
|
description: "provisional | stable | unknown. The consuming SDD's expectation of contract stability, carried verbatim from app-platform-dependencies.yaml. Not a bound enum: an out-of-vocabulary value is carried, not rejected, and is reported by validate-app-dependencies.sh."
|
|
2233
2452
|
description: "Edge: product depends on / consumes service. Forward sources from app-platform-dependencies.yaml. service_id is external because the consuming product (an application-product SDD) references a service owned by the platform SDD."
|
|
2453
|
+
natural_key:
|
|
2454
|
+
- product_id
|
|
2455
|
+
- service_id
|
|
2234
2456
|
foreign_keys:
|
|
2235
2457
|
- column: product_id
|
|
2236
2458
|
references: products.id
|
|
@@ -2244,6 +2466,7 @@ catalogues:
|
|
|
2244
2466
|
required_stability: enums.required_stability
|
|
2245
2467
|
service_contract:
|
|
2246
2468
|
primary_key: id
|
|
2469
|
+
source_of_truth: structure
|
|
2247
2470
|
columns:
|
|
2248
2471
|
- name: id
|
|
2249
2472
|
type: string
|
|
@@ -2260,6 +2483,10 @@ catalogues:
|
|
|
2260
2483
|
nullable: false
|
|
2261
2484
|
description: exposes | consumes.
|
|
2262
2485
|
description: "Edge: service exposes or consumes contract. Both FKs are external (per M-ADR 0147): federated SDDs that walk per-repo service-architecture tables emit consumes rows where service_id resolves to the platform-root catalogue's services.csv (post-aggregation) and contract_id resolves to the platform-root contracts.csv. Internal builds (a single-SDD platform) still optimistically validate locally. Schema 2.8.0."
|
|
2486
|
+
natural_key:
|
|
2487
|
+
- service_id
|
|
2488
|
+
- contract_id
|
|
2489
|
+
- role
|
|
2263
2490
|
foreign_keys:
|
|
2264
2491
|
- column: service_id
|
|
2265
2492
|
references: services.id
|
|
@@ -2273,6 +2500,7 @@ catalogues:
|
|
|
2273
2500
|
role: enums.contract_participation
|
|
2274
2501
|
service_event:
|
|
2275
2502
|
primary_key: id
|
|
2503
|
+
source_of_truth: structure
|
|
2276
2504
|
columns:
|
|
2277
2505
|
- name: id
|
|
2278
2506
|
type: string
|
|
@@ -2289,6 +2517,10 @@ catalogues:
|
|
|
2289
2517
|
nullable: false
|
|
2290
2518
|
description: publishes | consumes.
|
|
2291
2519
|
description: "Edge: service publishes or consumes event."
|
|
2520
|
+
natural_key:
|
|
2521
|
+
- service_id
|
|
2522
|
+
- event_id
|
|
2523
|
+
- role
|
|
2292
2524
|
foreign_keys:
|
|
2293
2525
|
- column: service_id
|
|
2294
2526
|
references: services.id
|
|
@@ -2300,6 +2532,7 @@ catalogues:
|
|
|
2300
2532
|
role: enums.event_participation
|
|
2301
2533
|
service_entity:
|
|
2302
2534
|
primary_key: id
|
|
2535
|
+
source_of_truth: structure
|
|
2303
2536
|
columns:
|
|
2304
2537
|
- name: id
|
|
2305
2538
|
type: string
|
|
@@ -2319,15 +2552,22 @@ catalogues:
|
|
|
2319
2552
|
type: string
|
|
2320
2553
|
nullable: true
|
|
2321
2554
|
description: Source markdown path or feature-grounding row that produced the edge. Audit aid.
|
|
2555
|
+
source_of_truth: derived
|
|
2322
2556
|
- name: source_sdd_id
|
|
2323
2557
|
type: string
|
|
2324
2558
|
nullable: true
|
|
2325
2559
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
2560
|
+
source_of_truth: execution
|
|
2326
2561
|
- name: platform_sdd_id
|
|
2327
2562
|
type: string
|
|
2328
2563
|
nullable: true
|
|
2329
2564
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
2565
|
+
source_of_truth: execution
|
|
2330
2566
|
description: "Edge: service touches data-model entity. Added in schema 2.13.0 per M-ADR 0159. Primary source: per-domain `## Data Store Mapping` markdown table in `docs/domains/{domain}/architecture/data-model.mermaid.md` (relation=owns). Optional forward source (Phase 5 deferred): `entities:` block in `orchestration/repo-config/<repo>.yaml`. Service names resolve via heuristic (slug-of-name; trailing-id-segment) with optional adopter-authored alias map at `docs/platform/reference/service-name-aliases.yaml`."
|
|
2567
|
+
natural_key:
|
|
2568
|
+
- service_id
|
|
2569
|
+
- entity_id
|
|
2570
|
+
- relation
|
|
2331
2571
|
foreign_keys:
|
|
2332
2572
|
- column: service_id
|
|
2333
2573
|
references: services.id
|
|
@@ -2339,6 +2579,7 @@ catalogues:
|
|
|
2339
2579
|
relation: enums.service_entity_relation
|
|
2340
2580
|
capability_feature:
|
|
2341
2581
|
primary_key: id
|
|
2582
|
+
source_of_truth: structure
|
|
2342
2583
|
columns:
|
|
2343
2584
|
- name: id
|
|
2344
2585
|
type: string
|
|
@@ -2350,6 +2591,9 @@ catalogues:
|
|
|
2350
2591
|
type: string
|
|
2351
2592
|
nullable: false
|
|
2352
2593
|
description: "Edge: capability decomposes into features. Forward: traceability.runway.enables. Reverse: parsed from spec Feature Grounding."
|
|
2594
|
+
natural_key:
|
|
2595
|
+
- capability_id
|
|
2596
|
+
- feature_id
|
|
2353
2597
|
foreign_keys:
|
|
2354
2598
|
- column: capability_id
|
|
2355
2599
|
references: capabilities.id
|
|
@@ -2359,6 +2603,7 @@ catalogues:
|
|
|
2359
2603
|
nullable: false
|
|
2360
2604
|
capability_service:
|
|
2361
2605
|
primary_key: id
|
|
2606
|
+
source_of_truth: structure
|
|
2362
2607
|
columns:
|
|
2363
2608
|
- name: id
|
|
2364
2609
|
type: string
|
|
@@ -2389,8 +2634,13 @@ catalogues:
|
|
|
2389
2634
|
type: string
|
|
2390
2635
|
nullable: true
|
|
2391
2636
|
description: Where the coupling is evidenced — a path or anchor in the SDD, from `evidence:` on the services[] entry. Prose about the coupling stays in dependency_notes; this is the pointer a reviewer follows.
|
|
2637
|
+
source_of_truth: evidence
|
|
2392
2638
|
description: |
|
|
2393
2639
|
Edge: capability is realised by services. Sourced from the capability traceability manifest services[] block. service_id is an external FK (schema 2.29.0): a traceability entry marked `owner_sdd:` declares a cross-SDD reference (e.g. the service moved to a sibling SDD at an M-ADR 0170 §4.2 carve) — the per-SDD builder emits the edge, logs it `[finding] external`, and aggregation validates it hard against the owning sibling's rows. An UNMARKED id that does not resolve locally is NOT emitted — it stays a member-tier orphan finding (or convention, when it names a known external system).
|
|
2640
|
+
natural_key:
|
|
2641
|
+
- capability_id
|
|
2642
|
+
- service_id
|
|
2643
|
+
- role
|
|
2394
2644
|
foreign_keys:
|
|
2395
2645
|
- column: capability_id
|
|
2396
2646
|
references: capabilities.id
|
|
@@ -2408,6 +2658,7 @@ catalogues:
|
|
|
2408
2658
|
interaction_pattern: enums.interaction_pattern
|
|
2409
2659
|
capability_event:
|
|
2410
2660
|
primary_key: id
|
|
2661
|
+
source_of_truth: structure
|
|
2411
2662
|
columns:
|
|
2412
2663
|
- name: id
|
|
2413
2664
|
type: string
|
|
@@ -2426,6 +2677,7 @@ catalogues:
|
|
|
2426
2677
|
type: string
|
|
2427
2678
|
nullable: false
|
|
2428
2679
|
description: authored | derived. `authored` rows come from a traceability declaration (shape A or shape B); `derived` rows come from `capability_service ⋈ service_event` and represent associative coupling, not ownership. Schema 2.14.0 per M-ADR 0160.
|
|
2680
|
+
source_of_truth: derived
|
|
2429
2681
|
description: "Edge: capability publishes or consumes event. Schema 2.14.0 (per M-ADR 0160) multi-source ingestion: (1) forward shape A — `traceability.events[{id, role}]` (legacy aspirational shape, unauthored across observed adopters); (2) forward shape B — `traceability.contracts.published_events[]` / `consumed_events[]` with `{event, status, notes}` (the observed forward-method shape; event name slug-resolves against events.csv); (3) derived — `capability_service ⋈ service_event` join (zero authoring; associative not authoritative). Authored rows win on PK conflict with derived. The `source` column distinguishes the two so governance queries can filter to authoritative ownership. The earlier `## Related Events` capability-spec heading is retired (no adopter authored it; the template never carried the section)."
|
|
2430
2682
|
foreign_keys:
|
|
2431
2683
|
- column: capability_id
|
|
@@ -2439,6 +2691,7 @@ catalogues:
|
|
|
2439
2691
|
source: enums.edge_source
|
|
2440
2692
|
capability_contract:
|
|
2441
2693
|
primary_key: id
|
|
2694
|
+
source_of_truth: structure
|
|
2442
2695
|
columns:
|
|
2443
2696
|
- name: id
|
|
2444
2697
|
type: string
|
|
@@ -2453,7 +2706,11 @@ catalogues:
|
|
|
2453
2706
|
type: string
|
|
2454
2707
|
nullable: false
|
|
2455
2708
|
description: "declared — the only emitted value. `derived` is reserved vocabulary: the reverse derivation it anticipated was never built (0 rows across 105 measured units) and the claim was corrected at 3.0.0 (M-ADR 0203 §4.5); the value re-enters if a decision builds a reverse source."
|
|
2709
|
+
source_of_truth: derived
|
|
2456
2710
|
description: "Edge: capability is bound to a contract. Whether the capability exposes or depends on it is not stated by the source (traceability.contracts), so this description asserts no direction (M-ADR 0211 §1). Forward-declared only. Forward-declared only (traceability.contracts). The reverse derivation this description long claimed (service_contract ⋈ capability_service) was measured nonexistent — 0 `source: derived` rows across 105 units, builder references neither catalogue — and the CLAIM was corrected at 3.0.0 (M-ADR 0203 §4.5, gap class absent-derivation per M-ADR 0196 §4.1). The edge is forward-one-directional until a decision builds a reverse source."
|
|
2711
|
+
natural_key:
|
|
2712
|
+
- capability_id
|
|
2713
|
+
- contract_id
|
|
2457
2714
|
foreign_keys:
|
|
2458
2715
|
- column: capability_id
|
|
2459
2716
|
references: capabilities.id
|
|
@@ -2463,6 +2720,7 @@ catalogues:
|
|
|
2463
2720
|
nullable: false
|
|
2464
2721
|
journey_feature:
|
|
2465
2722
|
primary_key: id
|
|
2723
|
+
source_of_truth: structure
|
|
2466
2724
|
columns:
|
|
2467
2725
|
- name: id
|
|
2468
2726
|
type: string
|
|
@@ -2474,6 +2732,9 @@ catalogues:
|
|
|
2474
2732
|
type: string
|
|
2475
2733
|
nullable: false
|
|
2476
2734
|
description: "Edge: journey touches features. Parsed from Related features bullet."
|
|
2735
|
+
natural_key:
|
|
2736
|
+
- journey_id
|
|
2737
|
+
- feature_id
|
|
2477
2738
|
foreign_keys:
|
|
2478
2739
|
- column: journey_id
|
|
2479
2740
|
references: user_journeys.id
|
|
@@ -2483,6 +2744,7 @@ catalogues:
|
|
|
2483
2744
|
nullable: false
|
|
2484
2745
|
persona_feature:
|
|
2485
2746
|
primary_key: id
|
|
2747
|
+
source_of_truth: structure
|
|
2486
2748
|
columns:
|
|
2487
2749
|
- name: id
|
|
2488
2750
|
type: string
|
|
@@ -2494,6 +2756,9 @@ catalogues:
|
|
|
2494
2756
|
type: string
|
|
2495
2757
|
nullable: false
|
|
2496
2758
|
description: "Edge: persona uses features. Parsed from Related features bullet."
|
|
2759
|
+
natural_key:
|
|
2760
|
+
- persona_id
|
|
2761
|
+
- feature_id
|
|
2497
2762
|
foreign_keys:
|
|
2498
2763
|
- column: persona_id
|
|
2499
2764
|
references: personas.id
|
|
@@ -2503,6 +2768,7 @@ catalogues:
|
|
|
2503
2768
|
nullable: false
|
|
2504
2769
|
feature_service:
|
|
2505
2770
|
primary_key: id
|
|
2771
|
+
source_of_truth: structure
|
|
2506
2772
|
columns:
|
|
2507
2773
|
- name: id
|
|
2508
2774
|
type: string
|
|
@@ -2514,6 +2780,9 @@ catalogues:
|
|
|
2514
2780
|
type: string
|
|
2515
2781
|
nullable: false
|
|
2516
2782
|
description: "Edge: feature is implemented by service. Parsed from Feature Services table in feature-tree.md."
|
|
2783
|
+
natural_key:
|
|
2784
|
+
- feature_id
|
|
2785
|
+
- service_id
|
|
2517
2786
|
foreign_keys:
|
|
2518
2787
|
- column: feature_id
|
|
2519
2788
|
references: features.id
|
|
@@ -2523,6 +2792,7 @@ catalogues:
|
|
|
2523
2792
|
nullable: false
|
|
2524
2793
|
feature_event:
|
|
2525
2794
|
primary_key: id
|
|
2795
|
+
source_of_truth: derived
|
|
2526
2796
|
columns:
|
|
2527
2797
|
- name: id
|
|
2528
2798
|
type: string
|
|
@@ -2553,6 +2823,7 @@ catalogues:
|
|
|
2553
2823
|
role: enums.event_participation
|
|
2554
2824
|
feature_repo:
|
|
2555
2825
|
primary_key: id
|
|
2826
|
+
source_of_truth: derived
|
|
2556
2827
|
columns:
|
|
2557
2828
|
- name: id
|
|
2558
2829
|
type: string
|
|
@@ -2573,6 +2844,7 @@ catalogues:
|
|
|
2573
2844
|
nullable: false
|
|
2574
2845
|
feature_contract:
|
|
2575
2846
|
primary_key: id
|
|
2847
|
+
source_of_truth: derived
|
|
2576
2848
|
columns:
|
|
2577
2849
|
- name: id
|
|
2578
2850
|
type: string
|
|
@@ -2601,6 +2873,7 @@ catalogues:
|
|
|
2601
2873
|
derivation_path: enums.feature_contract_derivation_path
|
|
2602
2874
|
feature_subscription_channels:
|
|
2603
2875
|
primary_key: id
|
|
2876
|
+
source_of_truth: structure
|
|
2604
2877
|
columns:
|
|
2605
2878
|
- name: id
|
|
2606
2879
|
type: string
|
|
@@ -2621,6 +2894,7 @@ catalogues:
|
|
|
2621
2894
|
type: string
|
|
2622
2895
|
nullable: true
|
|
2623
2896
|
description: Evidence-file citation (`<sub-repo>/<path>:<line>`) anchoring the channel declaration. Mirrors the citation pattern used elsewhere in evidence yamls.
|
|
2897
|
+
source_of_truth: evidence
|
|
2624
2898
|
- name: payload_ref
|
|
2625
2899
|
type: string
|
|
2626
2900
|
nullable: true
|
|
@@ -2629,10 +2903,12 @@ catalogues:
|
|
|
2629
2903
|
type: string
|
|
2630
2904
|
nullable: true
|
|
2631
2905
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
2906
|
+
source_of_truth: execution
|
|
2632
2907
|
- name: platform_sdd_id
|
|
2633
2908
|
type: string
|
|
2634
2909
|
nullable: true
|
|
2635
2910
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
2911
|
+
source_of_truth: execution
|
|
2636
2912
|
description: "Edge: feature delivers async push via a named channel/topic. Peer of `graphql_operations:` in the per-feature evidence shape — `graphql_operations:` carries the GraphQL operation names declared in the schema (Queries / Mutations / Subscriptions); `feature_subscription_channels` rows carry the channel/topic layer that physically delivers the push events (AppSync WebSocket endpoints, Pekko WS channels, MQTT topics, server-sent-event streams). A single GraphQL Subscription operation may listen on multiple channels; one channel may be consumed by multiple operations — modelling as a separate edge catalogue (not as a feature column) accommodates the many-to-many. Built per-SDD from `reverse-evidence/feature-grounding-evidence.yaml` `subscription_channels:` entries on each feature. Added in schema 2.9.0."
|
|
2637
2913
|
foreign_keys:
|
|
2638
2914
|
- column: feature_id
|
|
@@ -2642,6 +2918,7 @@ catalogues:
|
|
|
2642
2918
|
transport: enums.subscription_channel_transport
|
|
2643
2919
|
capability_domain_model:
|
|
2644
2920
|
primary_key: id
|
|
2921
|
+
source_of_truth: structure
|
|
2645
2922
|
columns:
|
|
2646
2923
|
- name: id
|
|
2647
2924
|
type: string
|
|
@@ -2657,7 +2934,11 @@ catalogues:
|
|
|
2657
2934
|
type: string
|
|
2658
2935
|
nullable: false
|
|
2659
2936
|
description: traceability-manifest | inferred.
|
|
2937
|
+
source_of_truth: derived
|
|
2660
2938
|
description: "Edge: capability references a domain model. Forward: declared in `traceability.domain_model` field of the capability traceability manifest. Reverse: inferred via capability → domain → domain_model. Platform-profile only. Added in schema 2.4.0; see M-ADR 0142."
|
|
2939
|
+
natural_key:
|
|
2940
|
+
- capability_id
|
|
2941
|
+
- domain_model_id
|
|
2661
2942
|
foreign_keys:
|
|
2662
2943
|
- column: capability_id
|
|
2663
2944
|
references: capabilities.id
|
|
@@ -2669,6 +2950,7 @@ catalogues:
|
|
|
2669
2950
|
source: enums.capability_domain_model_source
|
|
2670
2951
|
feature_domain_model:
|
|
2671
2952
|
primary_key: id
|
|
2953
|
+
source_of_truth: derived
|
|
2672
2954
|
columns:
|
|
2673
2955
|
- name: id
|
|
2674
2956
|
type: string
|
|
@@ -2694,6 +2976,7 @@ catalogues:
|
|
|
2694
2976
|
nullable: false
|
|
2695
2977
|
persona_journey:
|
|
2696
2978
|
primary_key: id
|
|
2979
|
+
source_of_truth: structure
|
|
2697
2980
|
columns:
|
|
2698
2981
|
- name: id
|
|
2699
2982
|
type: string
|
|
@@ -2709,6 +2992,10 @@ catalogues:
|
|
|
2709
2992
|
nullable: false
|
|
2710
2993
|
description: primary | handoff | supporting.
|
|
2711
2994
|
description: "Edge: persona participates in journey. Roles: primary | handoff | supporting."
|
|
2995
|
+
natural_key:
|
|
2996
|
+
- persona_id
|
|
2997
|
+
- journey_id
|
|
2998
|
+
- role
|
|
2712
2999
|
foreign_keys:
|
|
2713
3000
|
- column: persona_id
|
|
2714
3001
|
references: personas.id
|
|
@@ -2720,6 +3007,7 @@ catalogues:
|
|
|
2720
3007
|
role: enums.journey_participation
|
|
2721
3008
|
persona_c4system:
|
|
2722
3009
|
primary_key: id
|
|
3010
|
+
source_of_truth: structure
|
|
2723
3011
|
columns:
|
|
2724
3012
|
- name: id
|
|
2725
3013
|
type: string
|
|
@@ -2736,6 +3024,9 @@ catalogues:
|
|
|
2736
3024
|
nullable: true
|
|
2737
3025
|
description: Optional interaction label from the Rel(...) line, e.g. 'Web browser' / 'Mobile app'.
|
|
2738
3026
|
description: "Edge: persona (C4 Person) uses a C4 system. Captures the L1 context 'Person uses System' relationship, extracted from Person(...) macros on the L1 context diagram and matched to personas rows. Per M-ADR 0155. Added in schema 2.10.0."
|
|
3027
|
+
natural_key:
|
|
3028
|
+
- persona_id
|
|
3029
|
+
- c4_system_id
|
|
2739
3030
|
foreign_keys:
|
|
2740
3031
|
- column: persona_id
|
|
2741
3032
|
references: personas.id
|
|
@@ -2745,6 +3036,7 @@ catalogues:
|
|
|
2745
3036
|
nullable: false
|
|
2746
3037
|
persona_container:
|
|
2747
3038
|
primary_key: id
|
|
3039
|
+
source_of_truth: structure
|
|
2748
3040
|
columns:
|
|
2749
3041
|
- name: id
|
|
2750
3042
|
type: string
|
|
@@ -2762,6 +3054,9 @@ catalogues:
|
|
|
2762
3054
|
description: Optional interaction label from the Rel(...) line. May hold multiple '; '-joined labels.
|
|
2763
3055
|
description: |
|
|
2764
3056
|
Edge: a persona uses a C4 container — the L2-granularity companion to persona_c4system (M-ADR 0189, ratified 2026-07-10). Eleven of one estate's L2 diagrams and the bulk of another's 81 unroutable Rels drew Person→Container relationships that had no catalogue and raised no finding. Harvested at member tier from Rel(...) lines whose endpoints resolve to a file-local Person and a local container (either direction; the row is normalised persona→container). A Person that matches no persona row is a coverage finding, never a silent skip. Both authoring directions feed from the same diagram surface (M-ADR 0157 parity). Added in schema 2.34.0.
|
|
3057
|
+
natural_key:
|
|
3058
|
+
- persona_id
|
|
3059
|
+
- container_id
|
|
2765
3060
|
foreign_keys:
|
|
2766
3061
|
- column: persona_id
|
|
2767
3062
|
references: personas.id
|
|
@@ -2771,6 +3066,7 @@ catalogues:
|
|
|
2771
3066
|
nullable: false
|
|
2772
3067
|
system_external_dependency:
|
|
2773
3068
|
primary_key: id
|
|
3069
|
+
source_of_truth: structure
|
|
2774
3070
|
columns:
|
|
2775
3071
|
- name: id
|
|
2776
3072
|
type: string
|
|
@@ -2791,6 +3087,9 @@ catalogues:
|
|
|
2791
3087
|
nullable: true
|
|
2792
3088
|
description: The Rel's non-external endpoint resolved to a local container at member tier, when it is one (2.33.0) — the datum that lets adjudication rewrite this edge onto container_dependency instead of destroying it. Empty when the endpoint is the system itself or unresolvable.
|
|
2793
3089
|
description: "Edge: a C4 system integrates with an external software system. Captures the L1 context 'System integrates with External System' relationship, extracted from System_Ext(...) + Rel(...) on L1/L2 diagrams. Per M-ADR 0155. Container-level external dependencies are out of scope (system-level only). Added in schema 2.10.0. From 2.30.0 (M-ADR 0189 §4.4): edges whose external endpoint the aggregator adjudicates as an INTERNAL system are rewritten onto system_system_dependency and removed from this catalogue."
|
|
3090
|
+
natural_key:
|
|
3091
|
+
- c4_system_id
|
|
3092
|
+
- external_system_id
|
|
2794
3093
|
foreign_keys:
|
|
2795
3094
|
- column: c4_system_id
|
|
2796
3095
|
references: c4_systems.id
|
|
@@ -2803,6 +3102,7 @@ catalogues:
|
|
|
2803
3102
|
nullable: true
|
|
2804
3103
|
container_dependency:
|
|
2805
3104
|
primary_key: id
|
|
3105
|
+
source_of_truth: structure
|
|
2806
3106
|
columns:
|
|
2807
3107
|
- name: id
|
|
2808
3108
|
type: string
|
|
@@ -2822,12 +3122,17 @@ catalogues:
|
|
|
2822
3122
|
type: string
|
|
2823
3123
|
nullable: true
|
|
2824
3124
|
description: SDD whose diagram declared the originating reference. Member-emitted rows set it directly; adjudication-derived rows are stamped by the aggregator.
|
|
3125
|
+
source_of_truth: execution
|
|
2825
3126
|
- name: platform_sdd_id
|
|
2826
3127
|
type: string
|
|
2827
3128
|
nullable: true
|
|
2828
3129
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3130
|
+
source_of_truth: execution
|
|
2829
3131
|
description: |
|
|
2830
3132
|
Edge: a C4 container depends on another INTERNAL container (the system-tier gap exactly one tier down: "no edge for internal" at L2). Derived by the aggregator at adjudication: an external-system candidate that resolves to an internal container was never external — each of its dependency edges whose member-resolved `from_container_id` is known is rewritten here, and a candidate with no remaining edges is dropped (it was a phantom duplicate of the container). A candidate with unconvertible edges is kept with the tier-contradiction finding, so no edge is ever destroyed to make a build quieter — the measured cost that stopped an adopter remediating 22 contradictions was eight real edges. ALSO emitted at member tier (2.33.1): the C4-correct authoring — Rel(container_a, container_b) between two Container(...) nodes — emits its edge directly; adjudication merges into a catalogue that already has content rather than being its only source, so the metamodel no longer rewards mis-declaration over correct authoring. Added in schema 2.33.0.
|
|
3133
|
+
natural_key:
|
|
3134
|
+
- from_container_id
|
|
3135
|
+
- to_container_id
|
|
2831
3136
|
foreign_keys:
|
|
2832
3137
|
- column: from_container_id
|
|
2833
3138
|
references: c4_containers.id
|
|
@@ -2837,6 +3142,7 @@ catalogues:
|
|
|
2837
3142
|
nullable: false
|
|
2838
3143
|
system_system_dependency:
|
|
2839
3144
|
primary_key: id
|
|
3145
|
+
source_of_truth: derived
|
|
2840
3146
|
columns:
|
|
2841
3147
|
- name: id
|
|
2842
3148
|
type: string
|
|
@@ -2856,10 +3162,12 @@ catalogues:
|
|
|
2856
3162
|
type: string
|
|
2857
3163
|
nullable: true
|
|
2858
3164
|
description: SDD whose diagram declared the originating reference. Populated by the aggregator.
|
|
3165
|
+
source_of_truth: execution
|
|
2859
3166
|
- name: platform_sdd_id
|
|
2860
3167
|
type: string
|
|
2861
3168
|
nullable: true
|
|
2862
3169
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3170
|
+
source_of_truth: execution
|
|
2863
3171
|
description: |
|
|
2864
3172
|
Edge: a C4 system depends on another INTERNAL system (M-ADR 0189 §4.3). Derived by the aggregator at adjudication (§4.4): an external-system candidate whose declared identity resolves to an internal system was never external — its Rel(...) dependency edges are rewritten onto this catalogue and the candidate row is dropped. Not emitted at member tier (a member cannot see sibling systems); headers-only there, like cross_sdd_platform_capability. Both authoring directions feed it from the same diagram surface (M-ADR 0157 parity). Added in schema 2.30.0.
|
|
2865
3173
|
foreign_keys:
|
|
@@ -2871,6 +3179,7 @@ catalogues:
|
|
|
2871
3179
|
nullable: false
|
|
2872
3180
|
c4_container_entity:
|
|
2873
3181
|
primary_key: id
|
|
3182
|
+
source_of_truth: derived
|
|
2874
3183
|
columns:
|
|
2875
3184
|
- name: id
|
|
2876
3185
|
type: string
|
|
@@ -2889,10 +3198,12 @@ catalogues:
|
|
|
2889
3198
|
- name: source_sdd_id
|
|
2890
3199
|
type: string
|
|
2891
3200
|
nullable: true
|
|
3201
|
+
source_of_truth: execution
|
|
2892
3202
|
- name: platform_sdd_id
|
|
2893
3203
|
type: string
|
|
2894
3204
|
nullable: true
|
|
2895
3205
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3206
|
+
source_of_truth: execution
|
|
2896
3207
|
description: "Derived edge: C4 container is responsible for data-model entity. Added in schema 2.13.0 per M-ADR 0159 §4.8. Pure transitive derivation: `service_entity ⋈ c4_containers.service_id`. Only the subset of containers with `service_id` populated contribute edges (per M-ADR 0155 the container ↔ service cardinality is o-or-1; data-store containers and infra-umbrella containers without a service mapping legitimately emit no rows)."
|
|
2897
3208
|
foreign_keys:
|
|
2898
3209
|
- column: container_id
|
|
@@ -2903,6 +3214,7 @@ catalogues:
|
|
|
2903
3214
|
nullable: false
|
|
2904
3215
|
c4_system_entity:
|
|
2905
3216
|
primary_key: id
|
|
3217
|
+
source_of_truth: derived
|
|
2906
3218
|
columns:
|
|
2907
3219
|
- name: id
|
|
2908
3220
|
type: string
|
|
@@ -2921,10 +3233,12 @@ catalogues:
|
|
|
2921
3233
|
- name: source_sdd_id
|
|
2922
3234
|
type: string
|
|
2923
3235
|
nullable: true
|
|
3236
|
+
source_of_truth: execution
|
|
2924
3237
|
- name: platform_sdd_id
|
|
2925
3238
|
type: string
|
|
2926
3239
|
nullable: true
|
|
2927
3240
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3241
|
+
source_of_truth: execution
|
|
2928
3242
|
description: "Derived edge: C4 system is responsible for data-model entity. Added in schema 2.13.0 per M-ADR 0159 §4.8. Pure aggregation roll-up: `c4_container_entity ⋈ c4_containers.system_id`, with container_count recording how many of the system's containers touch the entity (governance signal for cross-container concerns)."
|
|
2929
3243
|
foreign_keys:
|
|
2930
3244
|
- column: system_id
|
|
@@ -2935,6 +3249,7 @@ catalogues:
|
|
|
2935
3249
|
nullable: false
|
|
2936
3250
|
capability_adr:
|
|
2937
3251
|
primary_key: id
|
|
3252
|
+
source_of_truth: structure
|
|
2938
3253
|
columns:
|
|
2939
3254
|
- name: id
|
|
2940
3255
|
type: string
|
|
@@ -2949,7 +3264,11 @@ catalogues:
|
|
|
2949
3264
|
type: string
|
|
2950
3265
|
nullable: false
|
|
2951
3266
|
description: spec | high | medium.
|
|
3267
|
+
source_of_truth: derived
|
|
2952
3268
|
description: "Edge: ADR informs capability. Forward: declared in capability spec Architecture Decisions. Reverse: same plus heuristic match supplements with confidence."
|
|
3269
|
+
natural_key:
|
|
3270
|
+
- capability_id
|
|
3271
|
+
- adr_id
|
|
2953
3272
|
foreign_keys:
|
|
2954
3273
|
- column: capability_id
|
|
2955
3274
|
references: capabilities.id
|
|
@@ -2961,6 +3280,7 @@ catalogues:
|
|
|
2961
3280
|
confidence: enums.capability_adr_confidence
|
|
2962
3281
|
adr_supersedes:
|
|
2963
3282
|
primary_key: id
|
|
3283
|
+
source_of_truth: decision
|
|
2964
3284
|
columns:
|
|
2965
3285
|
- name: id
|
|
2966
3286
|
type: string
|
|
@@ -2981,6 +3301,7 @@ catalogues:
|
|
|
2981
3301
|
nullable: false
|
|
2982
3302
|
product_platform_dependencies:
|
|
2983
3303
|
primary_key: id
|
|
3304
|
+
source_of_truth: structure
|
|
2984
3305
|
columns:
|
|
2985
3306
|
- name: id
|
|
2986
3307
|
type: string
|
|
@@ -3026,14 +3347,17 @@ catalogues:
|
|
|
3026
3347
|
type: string
|
|
3027
3348
|
nullable: true
|
|
3028
3349
|
description: Comma-separated list of service names within the consuming product that consume the dependency. Free-text; not FK-validated (services are within-product and resolution is owner-side concern).
|
|
3350
|
+
source_of_truth: derived
|
|
3029
3351
|
- name: source_sdd_id
|
|
3030
3352
|
type: string
|
|
3031
3353
|
nullable: true
|
|
3032
3354
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3355
|
+
source_of_truth: execution
|
|
3033
3356
|
- name: platform_sdd_id
|
|
3034
3357
|
type: string
|
|
3035
3358
|
nullable: true
|
|
3036
3359
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3360
|
+
source_of_truth: execution
|
|
3037
3361
|
description: |
|
|
3038
3362
|
Per-SDD edge: an application-side or integration-side SDD declares that its product depends on a platform-side capability + service pair. Built from `reverse-evidence/feature-grounding-evidence.yaml` `platform_dependencies:` block (product-level — the cohort source shape carries product-scoped dependency rows with a `consumed_by:` list naming which services within the consuming product depend on the target). Each row records one (consuming product, target capability, target service) triple. The aggregator then joins these rows against platform-side `capability_service` to emit `cross_sdd_platform_capability` edges at aggregation time. Cross- SDD references (target_capability_id, target_service_id) are external — they're not expected to resolve in the per-SDD build, only at aggregation. Added in schema 2.9.0.
|
|
3039
3363
|
foreign_keys:
|
|
@@ -3054,6 +3378,7 @@ catalogues:
|
|
|
3054
3378
|
contract_type: enums.dependency_contract_type
|
|
3055
3379
|
cross_sdd_platform_capability:
|
|
3056
3380
|
primary_key: id
|
|
3381
|
+
source_of_truth: derived
|
|
3057
3382
|
columns:
|
|
3058
3383
|
- name: id
|
|
3059
3384
|
type: string
|
|
@@ -3071,6 +3396,7 @@ catalogues:
|
|
|
3071
3396
|
type: string
|
|
3072
3397
|
nullable: false
|
|
3073
3398
|
description: SDD slug of the platform side that owns the resolved capability.
|
|
3399
|
+
source_of_truth: execution
|
|
3074
3400
|
- name: platform_capability_id
|
|
3075
3401
|
type: string
|
|
3076
3402
|
nullable: false
|
|
@@ -3096,6 +3422,7 @@ catalogues:
|
|
|
3096
3422
|
external: true
|
|
3097
3423
|
application_data_plane_bindings:
|
|
3098
3424
|
primary_key: id
|
|
3425
|
+
source_of_truth: declaration
|
|
3099
3426
|
columns:
|
|
3100
3427
|
- name: id
|
|
3101
3428
|
type: string
|
|
@@ -3113,6 +3440,7 @@ catalogues:
|
|
|
3113
3440
|
type: string
|
|
3114
3441
|
nullable: false
|
|
3115
3442
|
description: "inbound | output. DERIVED from `pattern` by a single method-tier mapping — not authored, and not a manifest field, so it cannot disagree with `pattern`. Materialises the output-side sub-set §4.7 declares (generate/publish => output; everything else => inbound). Exists because three §4.7 rules branch on direction: platform-dep reconciliation is inbound-only, the archetype WARN must compare like with like, and the M-ADR 0187 convergence reasoning differs by direction. Added in 2.40.0."
|
|
3443
|
+
source_of_truth: derived
|
|
3116
3444
|
- name: locality
|
|
3117
3445
|
type: string
|
|
3118
3446
|
nullable: true
|
|
@@ -3137,10 +3465,12 @@ catalogues:
|
|
|
3137
3465
|
type: string
|
|
3138
3466
|
nullable: true
|
|
3139
3467
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3468
|
+
source_of_truth: execution
|
|
3140
3469
|
- name: platform_sdd_id
|
|
3141
3470
|
type: string
|
|
3142
3471
|
nullable: true
|
|
3143
3472
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3473
|
+
source_of_truth: execution
|
|
3144
3474
|
description: |
|
|
3145
3475
|
Application-product edge (M-ADR 0193): one row per declared data-plane binding — a typed way the service sources, holds, produces or exposes data. The data-plane is a COMPOSITION of these bindings, a second axis orthogonal to `application_archetype` (0191). Built per-SDD from the manifest's `data_plane.bindings` block (application-product only; other profiles emit headers-only). The `pattern` vocabulary splits by DIRECTION (§4.7): an INBOUND data-sourcing sub-set (retrieve | own-store | stream-ingest | project) and an OUTPUT-side sub-set (generate | publish), materialised as the derived `direction` column. An INBOUND binding whose `target` is a platform capability/service reconciles with `product_platform_dependencies` — a `retrieve@internal` binding is a synchronous platform dependency and a `stream-ingest@internal` binding is the M-ADR 0192 `contract_type: event` async dependency; the genuinely new inbound rows are `own-store` (a self-binding) and any `external-vendor` binding. OUTPUT-side rows do NOT participate in that reconciliation (§4.7 rule 1): `publish` is a contract the service PROVIDES, not one it consumes, so it has no inbound counterpart to cross-check — consumers must filter on `direction` before reconciling, which is what the column is for. The archetype-default-vs-declared WARN keys on the bare `pattern` token and so spans both directions (§4.7 rule 2). Added in schema 2.37.0; `direction` added in 2.40.0.
|
|
3146
3476
|
foreign_keys:
|
|
@@ -3153,6 +3483,7 @@ catalogues:
|
|
|
3153
3483
|
locality: enums.data_plane_locality
|
|
3154
3484
|
application_data_plane_deviations:
|
|
3155
3485
|
primary_key: id
|
|
3486
|
+
source_of_truth: declaration
|
|
3156
3487
|
columns:
|
|
3157
3488
|
- name: id
|
|
3158
3489
|
type: string
|
|
@@ -3174,10 +3505,12 @@ catalogues:
|
|
|
3174
3505
|
type: string
|
|
3175
3506
|
nullable: true
|
|
3176
3507
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3508
|
+
source_of_truth: execution
|
|
3177
3509
|
- name: platform_sdd_id
|
|
3178
3510
|
type: string
|
|
3179
3511
|
nullable: true
|
|
3180
3512
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3513
|
+
source_of_truth: execution
|
|
3181
3514
|
description: |
|
|
3182
3515
|
Application-product annotation (M-ADR 0191 §4.3 overlay): one row per declared departure from the archetype's default data-plane composition. Built per-SDD from the manifest's `data_plane.deviations` block so the overlay WARN — which runs at AGGREGATION tier, where the reference- architecture bundle (and its `expected_bindings`) resolves — can suppress a mismatch it is told is sanctioned variance. The `expectation` value is the **bare pattern token** (`retrieve` | `own-store` | `stream-ingest` | `project` | `generate` | `publish`) that the product knowingly diverges from; it must match the pattern the WARN keys on. The token set spans both directions — the WARN keys on the bare pattern, so an output-side expectation is deviated exactly like an inbound one (M-ADR 0193 §4.7 rule 2). Added in schema 2.38.0; output-side tokens documented in 2.40.0.
|
|
3183
3516
|
foreign_keys:
|
|
@@ -3188,6 +3521,7 @@ catalogues:
|
|
|
3188
3521
|
expectation: enums.data_plane_pattern
|
|
3189
3522
|
application_conformance_coverage:
|
|
3190
3523
|
primary_key: id
|
|
3524
|
+
source_of_truth: declaration
|
|
3191
3525
|
columns:
|
|
3192
3526
|
- name: id
|
|
3193
3527
|
type: string
|
|
@@ -3205,6 +3539,7 @@ catalogues:
|
|
|
3205
3539
|
type: string
|
|
3206
3540
|
nullable: false
|
|
3207
3541
|
description: covered (the product's suite exercises it) | deviated (deliberately not covered, with a rationale).
|
|
3542
|
+
source_of_truth: derived
|
|
3208
3543
|
- name: rationale
|
|
3209
3544
|
type: string
|
|
3210
3545
|
nullable: true
|
|
@@ -3213,10 +3548,12 @@ catalogues:
|
|
|
3213
3548
|
type: string
|
|
3214
3549
|
nullable: true
|
|
3215
3550
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3551
|
+
source_of_truth: execution
|
|
3216
3552
|
- name: platform_sdd_id
|
|
3217
3553
|
type: string
|
|
3218
3554
|
nullable: true
|
|
3219
3555
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3556
|
+
source_of_truth: execution
|
|
3220
3557
|
description: |
|
|
3221
3558
|
Application-product annotation (M-ADR 0191 §4.3 overlay, second element): one row per conformance tag the product asserts about its archetype's conformance expectations. Built per-SDD from the manifest's `conformance` block so the AGGREGATION-tier conformance GATE can read it. `status=covered` means the product's own conformance suite exercises the tag; `status=deviated` means the product declares (with a rationale) that it deliberately does not. At aggregation, an archetype-expected conformance tag that is neither covered nor deviated raises a deviation-visible WARN. The method gates the DECLARATION — it does not run the adopter's conformance suite. Added in schema 2.39.0.
|
|
3222
3559
|
foreign_keys:
|
|
@@ -3225,6 +3562,7 @@ catalogues:
|
|
|
3225
3562
|
nullable: false
|
|
3226
3563
|
screens:
|
|
3227
3564
|
primary_key: id
|
|
3565
|
+
source_of_truth: declaration
|
|
3228
3566
|
columns:
|
|
3229
3567
|
- name: id
|
|
3230
3568
|
type: string
|
|
@@ -3250,6 +3588,7 @@ catalogues:
|
|
|
3250
3588
|
type: string
|
|
3251
3589
|
nullable: false
|
|
3252
3590
|
description: screen-spec (forward) | screen-extraction (reverse).
|
|
3591
|
+
source_of_truth: derived
|
|
3253
3592
|
- name: domain
|
|
3254
3593
|
type: string
|
|
3255
3594
|
nullable: true
|
|
@@ -3266,14 +3605,17 @@ catalogues:
|
|
|
3266
3605
|
type: string
|
|
3267
3606
|
nullable: true
|
|
3268
3607
|
description: "Evidence class of the screen's claims, from frontmatter `evidence_class:` (alias `evidence-class:`). Free-form; conventional values code-reverse | vendor-doc | operational (M-ADR 0175). Empty when undeclared. Completes the evidence-class dimension for the packaged-SaaS case: a packaged-SaaS SDD catalogues the vendor's STANDARD screens (documentation-reversed from vendor publications, `vendor-doc`) alongside the organisation's CUSTOMISED screens (code-reversed, `code-reverse`) per M-ADR 0175 §3.1 — without this column the two are indistinguishable, and doc-derived UI claims masquerade as code-verified. Orthogonal to `source` (`screen-spec` | `screen-extraction`), which records the authoring DIRECTION, not the evidence's strength: a `screen-extraction` screen can be either class, since a vendor's documented UI is extracted-but-not-code-verified. Added in schema 2.42.0."
|
|
3608
|
+
source_of_truth: evidence
|
|
3269
3609
|
- name: source_sdd_id
|
|
3270
3610
|
type: string
|
|
3271
3611
|
nullable: true
|
|
3272
3612
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3613
|
+
source_of_truth: execution
|
|
3273
3614
|
- name: platform_sdd_id
|
|
3274
3615
|
type: string
|
|
3275
3616
|
nullable: true
|
|
3276
3617
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3618
|
+
source_of_truth: execution
|
|
3277
3619
|
description: "UI screen specified in the OpenUI Lang grammar (per M-ADR 0166). One row per screen / coherent screen group. Application-product profile (other profiles emit headers-only). Source: authored `screens/*.md` (frontmatter + ```openui-lang block); the reverse toolkit produces these from a router + component-tree projection."
|
|
3278
3620
|
foreign_keys:
|
|
3279
3621
|
- column: product_id
|
|
@@ -3283,6 +3625,7 @@ catalogues:
|
|
|
3283
3625
|
status: enums.artefact_maturity
|
|
3284
3626
|
ui_components:
|
|
3285
3627
|
primary_key: id
|
|
3628
|
+
source_of_truth: derived
|
|
3286
3629
|
columns:
|
|
3287
3630
|
- name: id
|
|
3288
3631
|
type: string
|
|
@@ -3308,10 +3651,12 @@ catalogues:
|
|
|
3308
3651
|
type: string
|
|
3309
3652
|
nullable: true
|
|
3310
3653
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3654
|
+
source_of_truth: execution
|
|
3311
3655
|
- name: platform_sdd_id
|
|
3312
3656
|
type: string
|
|
3313
3657
|
nullable: true
|
|
3314
3658
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3659
|
+
source_of_truth: execution
|
|
3315
3660
|
description: "An entry in the adopter-owned component registry that screens compose against (per M-ADR 0166) — the UI-structure contract. A screen composes registry components but never defines one. Application-product profile. Source: components referenced across the SDD's screen-spec ```openui-lang blocks (registry projection); the reverse toolkit discovers the authoritative registry from the design-system import surface."
|
|
3316
3661
|
foreign_keys:
|
|
3317
3662
|
- column: product_id
|
|
@@ -3321,6 +3666,7 @@ catalogues:
|
|
|
3321
3666
|
kind: enums.ui_component_kind
|
|
3322
3667
|
screen_component:
|
|
3323
3668
|
primary_key: id
|
|
3669
|
+
source_of_truth: derived
|
|
3324
3670
|
columns:
|
|
3325
3671
|
- name: id
|
|
3326
3672
|
type: string
|
|
@@ -3336,10 +3682,12 @@ catalogues:
|
|
|
3336
3682
|
type: string
|
|
3337
3683
|
nullable: true
|
|
3338
3684
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3685
|
+
source_of_truth: execution
|
|
3339
3686
|
- name: platform_sdd_id
|
|
3340
3687
|
type: string
|
|
3341
3688
|
nullable: true
|
|
3342
3689
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3690
|
+
source_of_truth: execution
|
|
3343
3691
|
description: "Edge: screen composes a UI component. Parsed from the screen-spec ```openui-lang block's component references (per M-ADR 0166)."
|
|
3344
3692
|
foreign_keys:
|
|
3345
3693
|
- column: screen_id
|
|
@@ -3350,6 +3698,7 @@ catalogues:
|
|
|
3350
3698
|
nullable: false
|
|
3351
3699
|
screen_feature:
|
|
3352
3700
|
primary_key: id
|
|
3701
|
+
source_of_truth: declaration
|
|
3353
3702
|
columns:
|
|
3354
3703
|
- name: id
|
|
3355
3704
|
type: string
|
|
@@ -3365,10 +3714,12 @@ catalogues:
|
|
|
3365
3714
|
type: string
|
|
3366
3715
|
nullable: true
|
|
3367
3716
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3717
|
+
source_of_truth: execution
|
|
3368
3718
|
- name: platform_sdd_id
|
|
3369
3719
|
type: string
|
|
3370
3720
|
nullable: true
|
|
3371
3721
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3722
|
+
source_of_truth: execution
|
|
3372
3723
|
description: "Edge: screen realises a feature (traceability). Forward: `realises:` frontmatter on the screen-spec. Reverse: route → feature mapping. Per M-ADR 0166."
|
|
3373
3724
|
foreign_keys:
|
|
3374
3725
|
- column: screen_id
|
|
@@ -3382,6 +3733,7 @@ catalogues:
|
|
|
3382
3733
|
- integration-product
|
|
3383
3734
|
persona_screen:
|
|
3384
3735
|
primary_key: id
|
|
3736
|
+
source_of_truth: declaration
|
|
3385
3737
|
columns:
|
|
3386
3738
|
- name: id
|
|
3387
3739
|
type: string
|
|
@@ -3397,10 +3749,12 @@ catalogues:
|
|
|
3397
3749
|
type: string
|
|
3398
3750
|
nullable: true
|
|
3399
3751
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3752
|
+
source_of_truth: execution
|
|
3400
3753
|
- name: platform_sdd_id
|
|
3401
3754
|
type: string
|
|
3402
3755
|
nullable: true
|
|
3403
3756
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3757
|
+
source_of_truth: execution
|
|
3404
3758
|
description: "Edge: persona can access a screen. Forward: `persona_access:` frontmatter. Reverse: route persona-access guards, permission/feature-flag config, or a host shell's per-persona menu (where the backend pre-filters visible screens). Per M-ADR 0166."
|
|
3405
3759
|
foreign_keys:
|
|
3406
3760
|
- column: persona_id
|
|
@@ -3411,6 +3765,7 @@ catalogues:
|
|
|
3411
3765
|
nullable: false
|
|
3412
3766
|
screen_action:
|
|
3413
3767
|
primary_key: id
|
|
3768
|
+
source_of_truth: derived
|
|
3414
3769
|
columns:
|
|
3415
3770
|
- name: id
|
|
3416
3771
|
type: string
|
|
@@ -3431,10 +3786,12 @@ catalogues:
|
|
|
3431
3786
|
type: string
|
|
3432
3787
|
nullable: true
|
|
3433
3788
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3789
|
+
source_of_truth: execution
|
|
3434
3790
|
- name: platform_sdd_id
|
|
3435
3791
|
type: string
|
|
3436
3792
|
nullable: true
|
|
3437
3793
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3794
|
+
source_of_truth: execution
|
|
3438
3795
|
description: "Edge: screen emits an action, optionally resolved to a catalogued event. The behavioural MFE seam — inter-bundle communication as a catalogued contract, not an ad-hoc string. Forward: `action=` declarations in the ```openui-lang block. Reverse: emitted custom-event / event-bus wiring. event_id is external-capable (the event may live in the platform SDD). Per M-ADR 0166 + M-ADR 0156."
|
|
3439
3796
|
foreign_keys:
|
|
3440
3797
|
- column: screen_id
|
|
@@ -3446,6 +3803,7 @@ catalogues:
|
|
|
3446
3803
|
external: true
|
|
3447
3804
|
conformance_finding:
|
|
3448
3805
|
primary_key: id
|
|
3806
|
+
source_of_truth: evidence
|
|
3449
3807
|
columns:
|
|
3450
3808
|
- name: id
|
|
3451
3809
|
type: string
|
|
@@ -3505,10 +3863,12 @@ catalogues:
|
|
|
3505
3863
|
type: string
|
|
3506
3864
|
nullable: true
|
|
3507
3865
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3866
|
+
source_of_truth: execution
|
|
3508
3867
|
- name: platform_sdd_id
|
|
3509
3868
|
type: string
|
|
3510
3869
|
nullable: true
|
|
3511
3870
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3871
|
+
source_of_truth: execution
|
|
3512
3872
|
description: "Conformance-reverse drift summary, one row per check (method M-ADR 0180). NOT produced by `catalogue build` (it reads the spec repo) — produced by `sdd-cli conformance --emit-finding` (which has the code repo) and federated here by the aggregator. Each row is a run-dated snapshot of declared-vs-observed drift for an implementation member (M-ADR 0181 role/lifecycle), so estate-wide conformance is queryable (aggregate union) and trendable (snapshot diff across runs/commits). Verdicts are PROVISIONAL — disposition (code-defect | spec-stale | divergence) is triage, recorded elsewhere. No enforced FK on implementation_repo: the code repo is frequently cross-repo and not in this SDD's repositories.csv. Added in schema 2.25.0."
|
|
3513
3873
|
column_enums:
|
|
3514
3874
|
target: enums.conformance_target
|
|
@@ -3516,6 +3876,7 @@ catalogues:
|
|
|
3516
3876
|
lifecycle: enums.implementation_lifecycle
|
|
3517
3877
|
quality_scores:
|
|
3518
3878
|
primary_key: id
|
|
3879
|
+
source_of_truth: evidence
|
|
3519
3880
|
columns:
|
|
3520
3881
|
- name: id
|
|
3521
3882
|
type: string
|
|
@@ -3569,6 +3930,10 @@ catalogues:
|
|
|
3569
3930
|
type: string
|
|
3570
3931
|
nullable: true
|
|
3571
3932
|
description: "The commit the assessment read — the precise staleness anchor. NEW AUTHORING introduced by this change-set: no score written before it carries one, so this column is empty across both estates at introduction and fills forward as registries are rewritten. The reverse family already has the idea under a different name (`snapshot.source_revision`)."
|
|
3933
|
+
- name: input_paths
|
|
3934
|
+
type: string
|
|
3935
|
+
nullable: true
|
|
3936
|
+
description: "';'-separated paths of the review's other assessed inputs (its `inputs:` list, M-ADR 0230 §4.9, Proposed), beside target_path: a feature's UX evidence, say. Each is read at corpus_ref, so a later edit to any of them makes the score stale, as an edit to the target does. Added in schema 6.0.0."
|
|
3572
3937
|
- name: staleness_basis
|
|
3573
3938
|
type: string
|
|
3574
3939
|
nullable: false
|
|
@@ -3621,10 +3986,12 @@ catalogues:
|
|
|
3621
3986
|
type: string
|
|
3622
3987
|
nullable: true
|
|
3623
3988
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134; left empty by per-SDD builders.
|
|
3989
|
+
source_of_truth: execution
|
|
3624
3990
|
- name: platform_sdd_id
|
|
3625
3991
|
type: string
|
|
3626
3992
|
nullable: true
|
|
3627
3993
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
3994
|
+
source_of_truth: execution
|
|
3628
3995
|
description: |
|
|
3629
3996
|
Rubric assessment of a target artefact, one row per (target, rubric), per M-ADR 0205 §4.5. Source: `orchestration/gate-registry/<rubric>-scores.yaml` — the authored surface stays YAML because a score is a judgment, authored where it asserts intent; these rows are DERIVED and never edited.
|
|
3630
3997
|
Models the EFFECTIVE score only — `current`, as chosen by the registry's `selection_policy`. The authored `reviews[]` history is deliberately not catalogued: variable-length history in a fixed-grain catalogue would give two answers to "what is the score". `review_run_id` and `selection_method` make each row name which review it is.
|
|
@@ -3637,6 +4004,7 @@ catalogues:
|
|
|
3637
4004
|
nullable: true
|
|
3638
4005
|
quality_score_dimensions:
|
|
3639
4006
|
primary_key: id
|
|
4007
|
+
source_of_truth: evidence
|
|
3640
4008
|
columns:
|
|
3641
4009
|
- name: id
|
|
3642
4010
|
type: string
|
|
@@ -3674,10 +4042,12 @@ catalogues:
|
|
|
3674
4042
|
type: string
|
|
3675
4043
|
nullable: true
|
|
3676
4044
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4045
|
+
source_of_truth: execution
|
|
3677
4046
|
- name: platform_sdd_id
|
|
3678
4047
|
type: string
|
|
3679
4048
|
nullable: true
|
|
3680
4049
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
4050
|
+
source_of_truth: execution
|
|
3681
4051
|
description: |
|
|
3682
4052
|
One row per (target, rubric, dimension) — the per-dimension detail behind a `quality_scores` row, per M-ADR 0205 §4.5.
|
|
3683
4053
|
A child catalogue rather than columns, and this is forced rather than stylistic: the fifteen rubrics carry FIFTEEN DISJOINT dimension vocabularies (`A1`-`A8`, `C1`-`C8`, `G1`-`G7`, `T1`-`T7`, `D1`-`D6`, `S1`-`S6`, `I1`-`I6`, plus five fully-named sets such as `definition_precision` and `intent_fidelity`) — 45 distinct keys measured in one estate alone. No fixed column set can hold them; serialised JSON in a cell would be unjoinable and break the relational metamodel; generic `d1..d8` columns would be lossy and re-create the positional-index failure class. A child table is what this metamodel already does for every one-to-many, and it joins natively on the M-ADR 0205 §4.1 engine.
|
|
@@ -3687,6 +4057,7 @@ catalogues:
|
|
|
3687
4057
|
nullable: false
|
|
3688
4058
|
scaffolds:
|
|
3689
4059
|
primary_key: id
|
|
4060
|
+
source_of_truth: declaration
|
|
3690
4061
|
columns:
|
|
3691
4062
|
- name: id
|
|
3692
4063
|
type: string
|
|
@@ -3704,6 +4075,7 @@ catalogues:
|
|
|
3704
4075
|
type: string
|
|
3705
4076
|
nullable: false
|
|
3706
4077
|
description: Repo-relative path of the manifest this row derives from, e.g. orchestration/scaffolds/payments-settlement.yaml.
|
|
4078
|
+
source_of_truth: derived
|
|
3707
4079
|
- name: corpus_ref
|
|
3708
4080
|
type: string
|
|
3709
4081
|
nullable: false
|
|
@@ -3720,10 +4092,12 @@ catalogues:
|
|
|
3720
4092
|
type: string
|
|
3721
4093
|
nullable: true
|
|
3722
4094
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134; left empty by per-SDD builders.
|
|
4095
|
+
source_of_truth: execution
|
|
3723
4096
|
- name: platform_sdd_id
|
|
3724
4097
|
type: string
|
|
3725
4098
|
nullable: true
|
|
3726
4099
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
4100
|
+
source_of_truth: execution
|
|
3727
4101
|
description: |
|
|
3728
4102
|
Forward scaffold declaration, one row per unit of work, per M-ADR 0207 §4.1. Source: `orchestration/scaffolds/*.yaml` — the authored surface stays YAML because a scaffold is a declaration of intent, authored where the work is scoped; these rows are DERIVED and never edited (M-ADR 0205 §4.0 governs unchanged).
|
|
3729
4103
|
The scaffold states the catalogue shape a unit of work will comprise — its items are `scaffold_items` rows — and the declared-vs-derived delta against the built catalogues is the unit's definition of done: delta zero (structural) AND every realised artefact score-current (content, via `quality_scores`), per M-ADR 0207 §4.5. The unit is the change-set's declared delta; estate-level scaffold totality is an explicit non-goal (M-ADR 0207 §4.4), so an estate region no scaffold covers produces no finding.
|
|
@@ -3736,6 +4110,7 @@ catalogues:
|
|
|
3736
4110
|
status: enums.scaffold_status
|
|
3737
4111
|
scaffold_items:
|
|
3738
4112
|
primary_key: id
|
|
4113
|
+
source_of_truth: declaration
|
|
3739
4114
|
columns:
|
|
3740
4115
|
- name: id
|
|
3741
4116
|
type: string
|
|
@@ -3769,14 +4144,17 @@ catalogues:
|
|
|
3769
4144
|
type: string
|
|
3770
4145
|
nullable: false
|
|
3771
4146
|
description: Resolution verdict — see the scaffold_item_state enum. Derived, never authored; recomputed on every build, so realisation flips rows exactly when the target lands.
|
|
4147
|
+
source_of_truth: derived
|
|
3772
4148
|
- name: source_sdd_id
|
|
3773
4149
|
type: string
|
|
3774
4150
|
nullable: true
|
|
3775
4151
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4152
|
+
source_of_truth: execution
|
|
3776
4153
|
- name: platform_sdd_id
|
|
3777
4154
|
type: string
|
|
3778
4155
|
nullable: true
|
|
3779
4156
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4 (preserve-if-set, fill rule by pull path); left empty by per-SDD builders. Added in 3.7.0.
|
|
4157
|
+
source_of_truth: execution
|
|
3780
4158
|
description: |
|
|
3781
4159
|
One declared item of a scaffold — an entity, edge, or contract the unit of work promises — per M-ADR 0207 §4.1. Derived from the manifest's item list; `state` is the builder's resolution verdict against the same build's catalogue rows.
|
|
3782
4160
|
THE POLYMORPHIC TARGET DECLARES NO FOREIGN KEY, by design (the quality_scores.target_ref precedent, taken further): a scaffold exists to reference targets BEFORE they exist. FK truth here is CONDITIONAL ON STATE — a `declared` item's (target_kind, target_ref) MUST NOT resolve in the built catalogues, a `realised` item's MUST — and the builder's resolution pass is what enforces it: it computes `state` FROM resolution, so a disagreement between state and resolution cannot be emitted by a conforming builder. The M-ADR 0207 §4.8 delta instrument re-derives the same verdict on the engine as its self-check.
|
|
@@ -3790,6 +4168,7 @@ catalogues:
|
|
|
3790
4168
|
state: enums.scaffold_item_state
|
|
3791
4169
|
implementations:
|
|
3792
4170
|
primary_key: id
|
|
4171
|
+
source_of_truth: declaration
|
|
3793
4172
|
columns:
|
|
3794
4173
|
- name: id
|
|
3795
4174
|
type: string
|
|
@@ -3811,17 +4190,21 @@ catalogues:
|
|
|
3811
4190
|
type: string
|
|
3812
4191
|
nullable: false
|
|
3813
4192
|
description: Path of the binding file, relative to the SDD root.
|
|
4193
|
+
source_of_truth: derived
|
|
3814
4194
|
- name: source_sdd_id
|
|
3815
4195
|
type: string
|
|
3816
4196
|
nullable: true
|
|
3817
4197
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4198
|
+
source_of_truth: execution
|
|
3818
4199
|
- name: platform_sdd_id
|
|
3819
4200
|
type: string
|
|
3820
4201
|
nullable: true
|
|
3821
4202
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4.
|
|
4203
|
+
source_of_truth: execution
|
|
3822
4204
|
description: "An implementation of this SDD's spec: the durable system identity whose snapshots are its versions (M-ADR 0181 §2.5, M-ADR 0214 §4.1). One row per .sdd/implementation-binding.yaml that names its implementation; a binding without an implementation key emits nothing and a finding, because there is no identity to key on."
|
|
3823
4205
|
implementation_members:
|
|
3824
4206
|
primary_key: id
|
|
4207
|
+
source_of_truth: declaration
|
|
3825
4208
|
columns:
|
|
3826
4209
|
- name: id
|
|
3827
4210
|
type: string
|
|
@@ -3852,10 +4235,12 @@ catalogues:
|
|
|
3852
4235
|
type: string
|
|
3853
4236
|
nullable: true
|
|
3854
4237
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4238
|
+
source_of_truth: execution
|
|
3855
4239
|
- name: platform_sdd_id
|
|
3856
4240
|
type: string
|
|
3857
4241
|
nullable: true
|
|
3858
4242
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4.
|
|
4243
|
+
source_of_truth: execution
|
|
3859
4244
|
description: "Edge: a repository is a member of an implementation, with the member's role, lifecycle and evidence direction (M-ADR 0181 §2.1, M-ADR 0214 §4.2). Role and lifecycle live here once: repo_capability, repo_contract and feature_repo resolve their repository to this row rather than copying them (M-ADR 0214 §4.3). Membership is independent of the repository's repo_scope (M-ADR 0213): a shared library under conformance checks is a support member."
|
|
3860
4245
|
foreign_keys:
|
|
3861
4246
|
- column: implementation_id
|
|
@@ -3870,6 +4255,7 @@ catalogues:
|
|
|
3870
4255
|
evidence_direction: enums.evidence_direction
|
|
3871
4256
|
snapshots:
|
|
3872
4257
|
primary_key: id
|
|
4258
|
+
source_of_truth: evidence
|
|
3873
4259
|
columns:
|
|
3874
4260
|
- name: id
|
|
3875
4261
|
type: string
|
|
@@ -3894,10 +4280,12 @@ catalogues:
|
|
|
3894
4280
|
type: string
|
|
3895
4281
|
nullable: true
|
|
3896
4282
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4283
|
+
source_of_truth: execution
|
|
3897
4284
|
- name: platform_sdd_id
|
|
3898
4285
|
type: string
|
|
3899
4286
|
nullable: true
|
|
3900
4287
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4.
|
|
4288
|
+
source_of_truth: execution
|
|
3901
4289
|
description: One implementation's member set pinned at one observation (M-ADR 0181 §2.5, M-ADR 0214 §4.4). One row per dated baseline in the implementation's snapshot area whose snapshot.yaml names the same implementation. Needs the snapshot store root (build --snapshot-store or SDD_SNAPSHOT_STORE); without it the catalogue is empty and the build says so.
|
|
3902
4290
|
foreign_keys:
|
|
3903
4291
|
- column: implementation_id
|
|
@@ -3908,6 +4296,7 @@ catalogues:
|
|
|
3908
4296
|
nullable: true
|
|
3909
4297
|
snapshot_members:
|
|
3910
4298
|
primary_key: id
|
|
4299
|
+
source_of_truth: evidence
|
|
3911
4300
|
columns:
|
|
3912
4301
|
- name: id
|
|
3913
4302
|
type: string
|
|
@@ -3939,10 +4328,12 @@ catalogues:
|
|
|
3939
4328
|
type: string
|
|
3940
4329
|
nullable: true
|
|
3941
4330
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4331
|
+
source_of_truth: execution
|
|
3942
4332
|
- name: platform_sdd_id
|
|
3943
4333
|
type: string
|
|
3944
4334
|
nullable: true
|
|
3945
4335
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4.
|
|
4336
|
+
source_of_truth: execution
|
|
3946
4337
|
description: "Edge: a repository at one revision in one snapshot, with its presence — observed in this baseline, carried from an earlier one, or removed since the prior (M-ADR 0214 §4.4)."
|
|
3947
4338
|
foreign_keys:
|
|
3948
4339
|
- column: snapshot_id
|
|
@@ -3955,6 +4346,7 @@ catalogues:
|
|
|
3955
4346
|
presence: enums.member_presence
|
|
3956
4347
|
data_items:
|
|
3957
4348
|
primary_key: id
|
|
4349
|
+
source_of_truth: structure
|
|
3958
4350
|
columns:
|
|
3959
4351
|
- name: id
|
|
3960
4352
|
type: string
|
|
@@ -3978,13 +4370,16 @@ catalogues:
|
|
|
3978
4370
|
type: string
|
|
3979
4371
|
nullable: true
|
|
3980
4372
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4373
|
+
source_of_truth: execution
|
|
3981
4374
|
- name: platform_sdd_id
|
|
3982
4375
|
type: string
|
|
3983
4376
|
nullable: true
|
|
3984
4377
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator (M-ADR 0208 §4.4).
|
|
4378
|
+
source_of_truth: execution
|
|
3985
4379
|
description: "A unit of data an integration may supply and a feature may need, at the canonical boundary (M-ADR 0216 §4.1). Platform-owned, like events. Not a wire signal: payload grammar stays adopter territory."
|
|
3986
4380
|
integration_data_item:
|
|
3987
4381
|
primary_key: id
|
|
4382
|
+
source_of_truth: evidence
|
|
3988
4383
|
columns:
|
|
3989
4384
|
- name: id
|
|
3990
4385
|
type: string
|
|
@@ -4016,10 +4411,12 @@ catalogues:
|
|
|
4016
4411
|
type: string
|
|
4017
4412
|
nullable: true
|
|
4018
4413
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4414
|
+
source_of_truth: execution
|
|
4019
4415
|
- name: platform_sdd_id
|
|
4020
4416
|
type: string
|
|
4021
4417
|
nullable: true
|
|
4022
4418
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator (M-ADR 0208 §4.4).
|
|
4419
|
+
source_of_truth: execution
|
|
4023
4420
|
description: "Supply: what one integration states about one data item, from its feature-grounding (M-ADR 0216 §4.2). Several rows per item are normal (one per evidence_ref); coverage reads the best. No row reads unknown, and unknown is never written."
|
|
4024
4421
|
foreign_keys:
|
|
4025
4422
|
- column: integration_id
|
|
@@ -4036,6 +4433,7 @@ catalogues:
|
|
|
4036
4433
|
basis: enums.supply_basis
|
|
4037
4434
|
feature_data_requirement:
|
|
4038
4435
|
primary_key: id
|
|
4436
|
+
source_of_truth: structure
|
|
4039
4437
|
columns:
|
|
4040
4438
|
- name: id
|
|
4041
4439
|
type: string
|
|
@@ -4059,15 +4457,21 @@ catalogues:
|
|
|
4059
4457
|
type: string
|
|
4060
4458
|
nullable: true
|
|
4061
4459
|
description: Where the need is stated (path and line).
|
|
4460
|
+
source_of_truth: evidence
|
|
4062
4461
|
- name: source_sdd_id
|
|
4063
4462
|
type: string
|
|
4064
4463
|
nullable: true
|
|
4065
4464
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4465
|
+
source_of_truth: execution
|
|
4066
4466
|
- name: platform_sdd_id
|
|
4067
4467
|
type: string
|
|
4068
4468
|
nullable: true
|
|
4069
4469
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator (M-ADR 0208 §4.4).
|
|
4470
|
+
source_of_truth: execution
|
|
4070
4471
|
description: "Demand: a data item one feature needs, from the feature spec's Data Requirements table (M-ADR 0216 §4.3). Feature grain only: a capability's need is the union of its features'."
|
|
4472
|
+
natural_key:
|
|
4473
|
+
- feature_id
|
|
4474
|
+
- data_item_id
|
|
4071
4475
|
foreign_keys:
|
|
4072
4476
|
- column: feature_id
|
|
4073
4477
|
references: features.id
|
|
@@ -4082,6 +4486,7 @@ catalogues:
|
|
|
4082
4486
|
necessity: enums.data_necessity
|
|
4083
4487
|
feature_integration_support:
|
|
4084
4488
|
primary_key: id
|
|
4489
|
+
source_of_truth: derived
|
|
4085
4490
|
columns:
|
|
4086
4491
|
- name: id
|
|
4087
4492
|
type: string
|
|
@@ -4109,10 +4514,12 @@ catalogues:
|
|
|
4109
4514
|
type: string
|
|
4110
4515
|
nullable: true
|
|
4111
4516
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4517
|
+
source_of_truth: execution
|
|
4112
4518
|
- name: platform_sdd_id
|
|
4113
4519
|
type: string
|
|
4114
4520
|
nullable: true
|
|
4115
4521
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator (M-ADR 0208 §4.4).
|
|
4522
|
+
source_of_truth: execution
|
|
4116
4523
|
description: "Coverage: whether one integration can support one feature, DERIVED at aggregation from supply and demand (M-ADR 0216 §4.4); empty in a member build. SUPPORTED MEANS THE ITEMS REACH THE CANONICAL BOUNDARY, NOT THAT THE FEATURE WORKS END TO END: routing past that boundary is not checked."
|
|
4117
4524
|
foreign_keys:
|
|
4118
4525
|
- column: feature_id
|
|
@@ -4129,6 +4536,7 @@ catalogues:
|
|
|
4129
4536
|
limiting_reason: enums.limiting_reason
|
|
4130
4537
|
evidence_target_repo:
|
|
4131
4538
|
primary_key: id
|
|
4539
|
+
source_of_truth: evidence
|
|
4132
4540
|
columns:
|
|
4133
4541
|
- name: id
|
|
4134
4542
|
type: string
|
|
@@ -4146,10 +4554,12 @@ catalogues:
|
|
|
4146
4554
|
type: string
|
|
4147
4555
|
nullable: true
|
|
4148
4556
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4557
|
+
source_of_truth: execution
|
|
4149
4558
|
- name: platform_sdd_id
|
|
4150
4559
|
type: string
|
|
4151
4560
|
nullable: true
|
|
4152
4561
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator (M-ADR 0208 §4.4).
|
|
4562
|
+
source_of_truth: execution
|
|
4153
4563
|
description: "A reverse evidence file names a repository another SDD owns, through its top-level target_repo (M-ADR 0214 §4.10). A reference, never a claim: the repository is described by exactly one SDD, elsewhere."
|
|
4154
4564
|
foreign_keys:
|
|
4155
4565
|
- column: repo_id
|
|
@@ -4158,6 +4568,7 @@ catalogues:
|
|
|
4158
4568
|
external: true
|
|
4159
4569
|
repo_dependency:
|
|
4160
4570
|
primary_key: id
|
|
4571
|
+
source_of_truth: structure
|
|
4161
4572
|
columns:
|
|
4162
4573
|
- name: id
|
|
4163
4574
|
type: string
|
|
@@ -4183,15 +4594,21 @@ catalogues:
|
|
|
4183
4594
|
type: string
|
|
4184
4595
|
nullable: false
|
|
4185
4596
|
description: The file the row came from, relative to the SDD root; the declared source when both name the dependency.
|
|
4597
|
+
source_of_truth: derived
|
|
4186
4598
|
- name: source_sdd_id
|
|
4187
4599
|
type: string
|
|
4188
4600
|
nullable: true
|
|
4189
4601
|
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
4602
|
+
source_of_truth: execution
|
|
4190
4603
|
- name: platform_sdd_id
|
|
4191
4604
|
type: string
|
|
4192
4605
|
nullable: true
|
|
4193
4606
|
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator (M-ADR 0208 §4.4).
|
|
4607
|
+
source_of_truth: execution
|
|
4194
4608
|
description: "Edge: a repository depends on another repository's code without either being a running service — a library linked at build time, or a template family it was generated from (M-ADR 0217). The depended-on repository may belong to another SDD, which describes it; this row only references it."
|
|
4609
|
+
natural_key:
|
|
4610
|
+
- from_repo_id
|
|
4611
|
+
- to_repo_id
|
|
4195
4612
|
foreign_keys:
|
|
4196
4613
|
- column: from_repo_id
|
|
4197
4614
|
references: repositories.id
|
|
@@ -4204,6 +4621,7 @@ catalogues:
|
|
|
4204
4621
|
kind: enums.repo_dependency_kind
|
|
4205
4622
|
requirements:
|
|
4206
4623
|
primary_key: id
|
|
4624
|
+
source_of_truth: behaviour
|
|
4207
4625
|
columns:
|
|
4208
4626
|
- name: id
|
|
4209
4627
|
type: string
|
|
@@ -4221,22 +4639,27 @@ catalogues:
|
|
|
4221
4639
|
type: string
|
|
4222
4640
|
nullable: false
|
|
4223
4641
|
description: "Bound to requirement_stage: living (in the living spec), agreed (added by an open change whose agreement record is agreed) or retired (removed by an archived change)."
|
|
4642
|
+
source_of_truth: derived
|
|
4224
4643
|
- name: spec_path
|
|
4225
4644
|
type: string
|
|
4226
4645
|
nullable: false
|
|
4227
4646
|
description: "The file that holds the requirement: the living spec, or the open change's delta."
|
|
4647
|
+
source_of_truth: derived
|
|
4228
4648
|
- name: scenario_count
|
|
4229
4649
|
type: integer
|
|
4230
4650
|
nullable: false
|
|
4231
4651
|
description: Scenarios under the requirement in that file.
|
|
4652
|
+
source_of_truth: derived
|
|
4232
4653
|
- name: source_sdd_id
|
|
4233
4654
|
type: string
|
|
4234
4655
|
nullable: true
|
|
4235
4656
|
description: Originating SDD (stamped at aggregation; empty in a per-SDD build).
|
|
4657
|
+
source_of_truth: execution
|
|
4236
4658
|
- name: platform_sdd_id
|
|
4237
4659
|
type: string
|
|
4238
4660
|
nullable: true
|
|
4239
4661
|
description: The platform SDD the row belongs to (stamped at aggregation).
|
|
4662
|
+
source_of_truth: execution
|
|
4240
4663
|
description: "A requirement in the SDD's behaviour store (M-ADR 0221): one row per requirement of a living spec, keyed by the catalogue feature the spec describes, and per requirement an open agreed change adds. Projected from openspec/ at the SDD's commit; never authored here."
|
|
4241
4664
|
foreign_keys:
|
|
4242
4665
|
- column: feature_id
|
|
@@ -4246,6 +4669,7 @@ catalogues:
|
|
|
4246
4669
|
stage: enums.requirement_stage
|
|
4247
4670
|
requirement_lineage:
|
|
4248
4671
|
primary_key: id
|
|
4672
|
+
source_of_truth: execution
|
|
4249
4673
|
columns:
|
|
4250
4674
|
- name: id
|
|
4251
4675
|
type: string
|
|
@@ -4289,48 +4713,61 @@ catalogues:
|
|
|
4289
4713
|
column_enums:
|
|
4290
4714
|
change_kind: enums.requirement_change_kind
|
|
4291
4715
|
operation: enums.requirement_operation
|
|
4292
|
-
|
|
4716
|
+
requirement_assertions:
|
|
4293
4717
|
primary_key: id
|
|
4718
|
+
source_of_truth: evidence
|
|
4294
4719
|
columns:
|
|
4295
4720
|
- name: id
|
|
4296
4721
|
type: string
|
|
4297
4722
|
nullable: false
|
|
4298
|
-
description: <
|
|
4723
|
+
description: <revision_id>__<repo_id>.
|
|
4724
|
+
- name: revision_id
|
|
4725
|
+
type: string
|
|
4726
|
+
nullable: false
|
|
4727
|
+
description: The revision the evidence is about.
|
|
4299
4728
|
- name: requirement_id
|
|
4300
4729
|
type: string
|
|
4301
4730
|
nullable: false
|
|
4731
|
+
description: The revision's requirement, copied for joining without the revision; the revision's foreign key is the reference.
|
|
4732
|
+
source_of_truth: derived
|
|
4302
4733
|
- name: repo_id
|
|
4303
4734
|
type: string
|
|
4304
4735
|
nullable: false
|
|
4305
4736
|
description: "The implementing repository: a work order's repository, or a repository a baseline was observed in."
|
|
4306
|
-
- name:
|
|
4737
|
+
- name: kind
|
|
4307
4738
|
type: string
|
|
4308
4739
|
nullable: false
|
|
4309
|
-
description: Bound to
|
|
4740
|
+
description: Bound to requirement_assertion_kind.
|
|
4310
4741
|
- name: basis
|
|
4311
4742
|
type: string
|
|
4312
4743
|
nullable: false
|
|
4313
|
-
description: "The change that produced the
|
|
4744
|
+
description: "The change that produced the evidence: its changes.id, <sdd_id>::<directory>."
|
|
4314
4745
|
- name: source_sdd_id
|
|
4315
4746
|
type: string
|
|
4316
4747
|
nullable: true
|
|
4317
4748
|
description: Originating SDD (stamped at aggregation; empty in a per-SDD build).
|
|
4749
|
+
source_of_truth: execution
|
|
4318
4750
|
- name: platform_sdd_id
|
|
4319
4751
|
type: string
|
|
4320
4752
|
nullable: true
|
|
4321
4753
|
description: The platform SDD the row belongs to (stamped at aggregation).
|
|
4322
|
-
|
|
4754
|
+
source_of_truth: execution
|
|
4755
|
+
description: "Edge: evidence about one revision of a requirement, in one repository that implements it (M-ADR 0230 §4.7, Proposed; replaces requirement_status in schema 6.0.0). Derived, never authored: observed from a baseline's **Observed in:** line, declared-shipped from an archived change's PASS verdict through its work orders' implements lists, each about the revision that change's delta states. An assertion is current while its revision is, and history once a later change moves the requirement, so evidence about one revision is never read as proof of another. An agreed change is not an assertion: it is an intended revision (requirement_revisions) and a change effect (change_effects). Per (revision, repository), the latest assertion wins."
|
|
4756
|
+
natural_key:
|
|
4757
|
+
- revision_id
|
|
4758
|
+
- repo_id
|
|
4323
4759
|
foreign_keys:
|
|
4324
|
-
- column:
|
|
4325
|
-
references:
|
|
4760
|
+
- column: revision_id
|
|
4761
|
+
references: requirement_revisions.id
|
|
4326
4762
|
nullable: false
|
|
4327
4763
|
- column: repo_id
|
|
4328
4764
|
references: repositories.id
|
|
4329
4765
|
nullable: false
|
|
4330
4766
|
column_enums:
|
|
4331
|
-
|
|
4767
|
+
kind: enums.requirement_assertion_kind
|
|
4332
4768
|
changes:
|
|
4333
4769
|
primary_key: id
|
|
4770
|
+
source_of_truth: execution
|
|
4334
4771
|
columns:
|
|
4335
4772
|
- name: id
|
|
4336
4773
|
type: string
|
|
@@ -4371,6 +4808,7 @@ catalogues:
|
|
|
4371
4808
|
verdict: enums.judge_verdict
|
|
4372
4809
|
change_work_order:
|
|
4373
4810
|
primary_key: id
|
|
4811
|
+
source_of_truth: execution
|
|
4374
4812
|
columns:
|
|
4375
4813
|
- name: id
|
|
4376
4814
|
type: string
|
|
@@ -4407,6 +4845,7 @@ catalogues:
|
|
|
4407
4845
|
status: enums.work_order_status
|
|
4408
4846
|
change_work_item:
|
|
4409
4847
|
primary_key: id
|
|
4848
|
+
source_of_truth: execution
|
|
4410
4849
|
columns:
|
|
4411
4850
|
- name: id
|
|
4412
4851
|
type: string
|
|
@@ -4439,6 +4878,7 @@ catalogues:
|
|
|
4439
4878
|
nullable: false
|
|
4440
4879
|
journey_requirement:
|
|
4441
4880
|
primary_key: id
|
|
4881
|
+
source_of_truth: derived
|
|
4442
4882
|
columns:
|
|
4443
4883
|
- name: id
|
|
4444
4884
|
type: string
|
|
@@ -4458,10 +4898,12 @@ catalogues:
|
|
|
4458
4898
|
type: string
|
|
4459
4899
|
nullable: true
|
|
4460
4900
|
description: Originating SDD (stamped at aggregation; empty in a per-SDD build).
|
|
4901
|
+
source_of_truth: execution
|
|
4461
4902
|
- name: platform_sdd_id
|
|
4462
4903
|
type: string
|
|
4463
4904
|
nullable: true
|
|
4464
4905
|
description: The platform SDD the row belongs to (stamped at aggregation).
|
|
4906
|
+
source_of_truth: execution
|
|
4465
4907
|
description: "Edge: a requirement a user journey cites for one of its steps (M-ADR 0229 §4.4, Proposed). Derived, never authored: from the @req tags in the journey's end-to-end test file, or from the citations in its journey feature's living spec. A journey with no row is untraced."
|
|
4466
4908
|
foreign_keys:
|
|
4467
4909
|
- column: journey_id
|
|
@@ -4472,3 +4914,311 @@ catalogues:
|
|
|
4472
4914
|
nullable: false
|
|
4473
4915
|
column_enums:
|
|
4474
4916
|
basis: enums.journey_requirement_basis
|
|
4917
|
+
entity_attributes:
|
|
4918
|
+
primary_key: id
|
|
4919
|
+
source_of_truth: structure
|
|
4920
|
+
columns:
|
|
4921
|
+
- name: id
|
|
4922
|
+
type: string
|
|
4923
|
+
nullable: false
|
|
4924
|
+
description: "Immutable id: <entity_id>__<attribute name slug> when first written; never re-keyed."
|
|
4925
|
+
- name: entity_id
|
|
4926
|
+
type: string
|
|
4927
|
+
nullable: false
|
|
4928
|
+
description: The entity the attribute belongs to.
|
|
4929
|
+
- name: name
|
|
4930
|
+
type: string
|
|
4931
|
+
nullable: false
|
|
4932
|
+
description: The attribute's name, unique within its entity.
|
|
4933
|
+
- name: type
|
|
4934
|
+
type: string
|
|
4935
|
+
nullable: false
|
|
4936
|
+
description: The attribute's type as the domain model states it (a primitive, a value object, or another entity's id); open by decision.
|
|
4937
|
+
- name: nullable
|
|
4938
|
+
type: boolean
|
|
4939
|
+
nullable: true
|
|
4940
|
+
description: 'True when the attribute may be absent: false for a primary key or a TypeQL @key or @card(1..1); true for @card(0..1), an unannotated TypeQL ownership (whose default is @card(0..1)) or a Mermaid comment that opens with "nullable"; empty where the model does not say.'
|
|
4941
|
+
- name: foreign_key
|
|
4942
|
+
type: boolean
|
|
4943
|
+
nullable: true
|
|
4944
|
+
description: "True when the domain model marks the attribute as a foreign key (a Mermaid FK or PK_FK marker). TypeQL has none: a reference is a role. Added in schema 6.0.0."
|
|
4945
|
+
- name: description
|
|
4946
|
+
type: string
|
|
4947
|
+
nullable: true
|
|
4948
|
+
- name: source_sdd_id
|
|
4949
|
+
type: string
|
|
4950
|
+
nullable: true
|
|
4951
|
+
description: Originating SDD (stamped at aggregation; empty in a per-SDD build).
|
|
4952
|
+
source_of_truth: execution
|
|
4953
|
+
- name: platform_sdd_id
|
|
4954
|
+
type: string
|
|
4955
|
+
nullable: true
|
|
4956
|
+
description: The platform SDD the row belongs to (stamped at aggregation).
|
|
4957
|
+
source_of_truth: execution
|
|
4958
|
+
description: "An attribute of a domain-model entity, an element of its own (M-ADR 0230 §4.3, Proposed): adding a field to an entity adds an attribute and does not modify the entity. Built from the domain model: a Mermaid ER diagram's attribute lines, or a TypeQL entity's owned attributes. Authored in the structural model (openspec/structure/) where an SDD has one. Added in schema 5.1.0; built from domain models since 6.0.0."
|
|
4959
|
+
natural_key:
|
|
4960
|
+
- entity_id
|
|
4961
|
+
- name
|
|
4962
|
+
foreign_keys:
|
|
4963
|
+
- column: entity_id
|
|
4964
|
+
references: entities.id
|
|
4965
|
+
nullable: false
|
|
4966
|
+
entity_relationships:
|
|
4967
|
+
primary_key: id
|
|
4968
|
+
source_of_truth: structure
|
|
4969
|
+
columns:
|
|
4970
|
+
- name: id
|
|
4971
|
+
type: string
|
|
4972
|
+
nullable: false
|
|
4973
|
+
description: "Immutable id: <from_entity_id>__<relationship name slug>__<to_entity_id> when first written; never re-keyed."
|
|
4974
|
+
- name: from_entity_id
|
|
4975
|
+
type: string
|
|
4976
|
+
nullable: false
|
|
4977
|
+
description: The entity the relationship is stated on.
|
|
4978
|
+
- name: to_entity_id
|
|
4979
|
+
type: string
|
|
4980
|
+
nullable: false
|
|
4981
|
+
description: The entity it relates to.
|
|
4982
|
+
- name: name
|
|
4983
|
+
type: string
|
|
4984
|
+
nullable: false
|
|
4985
|
+
description: "The relationship's name, unique among the relationships between its two entities: a Mermaid relationship's label, or a TypeQL relation's label."
|
|
4986
|
+
- name: from_cardinality
|
|
4987
|
+
type: string
|
|
4988
|
+
nullable: false
|
|
4989
|
+
description: How many from-entities relate to one to-entity. Bound to relationship_end_cardinality.
|
|
4990
|
+
- name: to_cardinality
|
|
4991
|
+
type: string
|
|
4992
|
+
nullable: false
|
|
4993
|
+
description: How many to-entities relate to one from-entity. Bound to relationship_end_cardinality.
|
|
4994
|
+
- name: from_role
|
|
4995
|
+
type: string
|
|
4996
|
+
nullable: true
|
|
4997
|
+
description: The role the from-entity plays, where the domain model names one (a TypeQL role).
|
|
4998
|
+
- name: to_role
|
|
4999
|
+
type: string
|
|
5000
|
+
nullable: true
|
|
5001
|
+
description: The role the to-entity plays, where the domain model names one (a TypeQL role).
|
|
5002
|
+
- name: description
|
|
5003
|
+
type: string
|
|
5004
|
+
nullable: true
|
|
5005
|
+
- name: source_sdd_id
|
|
5006
|
+
type: string
|
|
5007
|
+
nullable: true
|
|
5008
|
+
description: Originating SDD (stamped at aggregation; empty in a per-SDD build).
|
|
5009
|
+
source_of_truth: execution
|
|
5010
|
+
- name: platform_sdd_id
|
|
5011
|
+
type: string
|
|
5012
|
+
nullable: true
|
|
5013
|
+
description: The platform SDD the row belongs to (stamped at aggregation).
|
|
5014
|
+
source_of_truth: execution
|
|
5015
|
+
description: "A named relationship from one domain-model entity to another, an element of its own (M-ADR 0230 §4.3, Proposed). Built from the domain model: a Mermaid ER diagram's relationship lines, or a TypeQL binary relation, with each end's cardinality and role. Authored in the structural model (openspec/structure/) where an SDD has one. Added in schema 5.1.0; built from domain models since 6.0.0, when one cardinality became two, one per end."
|
|
5016
|
+
natural_key:
|
|
5017
|
+
- from_entity_id
|
|
5018
|
+
- to_entity_id
|
|
5019
|
+
- name
|
|
5020
|
+
foreign_keys:
|
|
5021
|
+
- column: from_entity_id
|
|
5022
|
+
references: entities.id
|
|
5023
|
+
nullable: false
|
|
5024
|
+
- column: to_entity_id
|
|
5025
|
+
references: entities.id
|
|
5026
|
+
nullable: false
|
|
5027
|
+
column_enums:
|
|
5028
|
+
from_cardinality: enums.relationship_end_cardinality
|
|
5029
|
+
to_cardinality: enums.relationship_end_cardinality
|
|
5030
|
+
domain_invariants:
|
|
5031
|
+
primary_key: id
|
|
5032
|
+
source_of_truth: structure
|
|
5033
|
+
columns:
|
|
5034
|
+
- name: id
|
|
5035
|
+
type: string
|
|
5036
|
+
nullable: false
|
|
5037
|
+
description: Immutable id, never re-keyed.
|
|
5038
|
+
- name: entity_id
|
|
5039
|
+
type: string
|
|
5040
|
+
nullable: false
|
|
5041
|
+
description: The entity the invariant constrains.
|
|
5042
|
+
- name: kind
|
|
5043
|
+
type: string
|
|
5044
|
+
nullable: false
|
|
5045
|
+
description: Bound to domain_invariant_kind.
|
|
5046
|
+
- name: attribute_ids
|
|
5047
|
+
type: string
|
|
5048
|
+
nullable: true
|
|
5049
|
+
description: "';'-separated list of entity_attributes ids, each the entity's own. Required for unique and required."
|
|
5050
|
+
- name: relationship_id
|
|
5051
|
+
type: string
|
|
5052
|
+
nullable: true
|
|
5053
|
+
description: The entity's own relationship the invariant constrains. Required for cardinality.
|
|
5054
|
+
- name: statement
|
|
5055
|
+
type: string
|
|
5056
|
+
nullable: false
|
|
5057
|
+
description: The invariant as the domain model states it.
|
|
5058
|
+
- name: source_sdd_id
|
|
5059
|
+
type: string
|
|
5060
|
+
nullable: true
|
|
5061
|
+
description: Originating SDD (stamped at aggregation; empty in a per-SDD build).
|
|
5062
|
+
source_of_truth: execution
|
|
5063
|
+
- name: platform_sdd_id
|
|
5064
|
+
type: string
|
|
5065
|
+
nullable: true
|
|
5066
|
+
description: The platform SDD the row belongs to (stamped at aggregation).
|
|
5067
|
+
source_of_truth: execution
|
|
5068
|
+
description: "A domain invariant, a typed element of the domain model (M-ADR 0230 §4.3, Proposed): a rule the entity's data always satisfies. It is structure, not intent, wherever it is first written. Built from the domain model's keys: a primary key (PK, or a TypeQL @key) or a unique key (UK) is a unique invariant over its attributes, and a TypeQL role's @card is a cardinality invariant on its relationship. Authored in the structural model (openspec/structure/) where an SDD has one, which can state every kind. Added in schema 5.1.0; built from domain models since 6.0.0."
|
|
5069
|
+
foreign_keys:
|
|
5070
|
+
- column: entity_id
|
|
5071
|
+
references: entities.id
|
|
5072
|
+
nullable: false
|
|
5073
|
+
- column: relationship_id
|
|
5074
|
+
references: entity_relationships.id
|
|
5075
|
+
nullable: true
|
|
5076
|
+
column_enums:
|
|
5077
|
+
kind: enums.domain_invariant_kind
|
|
5078
|
+
requirement_revisions:
|
|
5079
|
+
primary_key: id
|
|
5080
|
+
source_of_truth: behaviour
|
|
5081
|
+
columns:
|
|
5082
|
+
- name: id
|
|
5083
|
+
type: string
|
|
5084
|
+
nullable: false
|
|
5085
|
+
description: <requirement_id>@<the digest's first 12 hex digits>.
|
|
5086
|
+
- name: requirement_id
|
|
5087
|
+
type: string
|
|
5088
|
+
nullable: false
|
|
5089
|
+
- name: digest
|
|
5090
|
+
type: string
|
|
5091
|
+
nullable: false
|
|
5092
|
+
description: sha256:<hex> of the requirement block, its lines trimmed and blank lines dropped.
|
|
5093
|
+
source_of_truth: derived
|
|
5094
|
+
- name: state
|
|
5095
|
+
type: string
|
|
5096
|
+
nullable: false
|
|
5097
|
+
description: Bound to revision_state.
|
|
5098
|
+
source_of_truth: derived
|
|
5099
|
+
- name: change_id
|
|
5100
|
+
type: string
|
|
5101
|
+
nullable: true
|
|
5102
|
+
description: The change whose delta states this text (changes.id), the latest where several do; empty where none does.
|
|
5103
|
+
source_of_truth: execution
|
|
5104
|
+
- name: source_sdd_id
|
|
5105
|
+
type: string
|
|
5106
|
+
nullable: true
|
|
5107
|
+
description: Originating SDD (stamped at aggregation; empty in a per-SDD build).
|
|
5108
|
+
source_of_truth: execution
|
|
5109
|
+
- name: platform_sdd_id
|
|
5110
|
+
type: string
|
|
5111
|
+
nullable: true
|
|
5112
|
+
description: The platform SDD the row belongs to (stamped at aggregation).
|
|
5113
|
+
source_of_truth: execution
|
|
5114
|
+
description: "One row per distinct text of a requirement (M-ADR 0230 §4.7, Proposed; schema 6.0.0). Derived from the behaviour store: the living spec's text is current; an agreed open change's ADDED or MODIFIED block is intended; an archived change's block the living spec no longer holds is history. A revision is identified by its digest, so the same text is one revision wherever it appears."
|
|
5115
|
+
foreign_keys:
|
|
5116
|
+
- column: requirement_id
|
|
5117
|
+
references: requirements.id
|
|
5118
|
+
nullable: false
|
|
5119
|
+
- column: change_id
|
|
5120
|
+
references: changes.id
|
|
5121
|
+
nullable: true
|
|
5122
|
+
column_enums:
|
|
5123
|
+
state: enums.revision_state
|
|
5124
|
+
change_effects:
|
|
5125
|
+
primary_key: id
|
|
5126
|
+
source_of_truth: execution
|
|
5127
|
+
columns:
|
|
5128
|
+
- name: id
|
|
5129
|
+
type: string
|
|
5130
|
+
nullable: false
|
|
5131
|
+
description: <change_id>__<element_kind>__<element_id>.
|
|
5132
|
+
- name: change_id
|
|
5133
|
+
type: string
|
|
5134
|
+
nullable: false
|
|
5135
|
+
- name: element_kind
|
|
5136
|
+
type: string
|
|
5137
|
+
nullable: false
|
|
5138
|
+
description: Bound to change_effect_element_kind.
|
|
5139
|
+
- name: element_id
|
|
5140
|
+
type: string
|
|
5141
|
+
nullable: false
|
|
5142
|
+
description: A requirements.id (for a requirement a change not yet agreed adds, the id it will have), or a structural element as <catalogue>/<id>.
|
|
5143
|
+
- name: operation
|
|
5144
|
+
type: string
|
|
5145
|
+
nullable: false
|
|
5146
|
+
description: Bound to requirement_operation.
|
|
5147
|
+
- name: base_revision
|
|
5148
|
+
type: string
|
|
5149
|
+
nullable: true
|
|
5150
|
+
description: The revision the change was written against; empty for an addition.
|
|
5151
|
+
- name: target_revision
|
|
5152
|
+
type: string
|
|
5153
|
+
nullable: true
|
|
5154
|
+
description: The revision the change leaves; empty for a removal.
|
|
5155
|
+
- name: source_sdd_id
|
|
5156
|
+
type: string
|
|
5157
|
+
nullable: true
|
|
5158
|
+
description: Originating SDD (stamped at aggregation; empty in a per-SDD build).
|
|
5159
|
+
- name: platform_sdd_id
|
|
5160
|
+
type: string
|
|
5161
|
+
nullable: true
|
|
5162
|
+
description: The platform SDD the row belongs to (stamped at aggregation).
|
|
5163
|
+
description: "One row per element a change writes (M-ADR 0230 §4.7, Proposed; schema 6.0.0): a requirement from its behaviour deltas, a structural element from its structural deltas (an archived change's from its effect record, structure/applied.yaml). Base and target are the revisions it moves the element between; a requirement's are revision ids (<requirement>@<12 hex digits of its digest>), catalogued in requirement_revisions except the target of a change not yet agreed; a structural element's are sha256 digests."
|
|
5164
|
+
natural_key:
|
|
5165
|
+
- change_id
|
|
5166
|
+
- element_kind
|
|
5167
|
+
- element_id
|
|
5168
|
+
foreign_keys:
|
|
5169
|
+
- column: change_id
|
|
5170
|
+
references: changes.id
|
|
5171
|
+
nullable: false
|
|
5172
|
+
column_enums:
|
|
5173
|
+
element_kind: enums.change_effect_element_kind
|
|
5174
|
+
operation: enums.requirement_operation
|
|
5175
|
+
contract_revisions:
|
|
5176
|
+
primary_key: id
|
|
5177
|
+
source_of_truth: interface
|
|
5178
|
+
columns:
|
|
5179
|
+
- name: id
|
|
5180
|
+
type: string
|
|
5181
|
+
nullable: false
|
|
5182
|
+
description: <contract_id>@<the digest's first 12 hex digits>.
|
|
5183
|
+
- name: contract_id
|
|
5184
|
+
type: string
|
|
5185
|
+
nullable: false
|
|
5186
|
+
- name: digest
|
|
5187
|
+
type: string
|
|
5188
|
+
nullable: false
|
|
5189
|
+
description: sha256:<hex> of the contract file's bytes.
|
|
5190
|
+
source_of_truth: derived
|
|
5191
|
+
- name: state
|
|
5192
|
+
type: string
|
|
5193
|
+
nullable: false
|
|
5194
|
+
description: Bound to contract_revision_state.
|
|
5195
|
+
source_of_truth: derived
|
|
5196
|
+
- name: sunset_date
|
|
5197
|
+
type: string
|
|
5198
|
+
nullable: true
|
|
5199
|
+
description: "For a deprecated revision, the date it is retired. Not yet populated: the builder does not yet read a version's sunset date (BASELINE.md's optional sunset_date)."
|
|
5200
|
+
- name: change_id
|
|
5201
|
+
type: string
|
|
5202
|
+
nullable: true
|
|
5203
|
+
description: "The change that moved the revision to its state (changes.id): the change whose agreement record agrees it (for an agreed or a retired revision), or, for the active one, the archived change that agreed the current content; empty where none is recorded."
|
|
5204
|
+
source_of_truth: execution
|
|
5205
|
+
- name: source_sdd_id
|
|
5206
|
+
type: string
|
|
5207
|
+
nullable: true
|
|
5208
|
+
description: Originating SDD (stamped at aggregation; empty in a per-SDD build).
|
|
5209
|
+
source_of_truth: execution
|
|
5210
|
+
- name: platform_sdd_id
|
|
5211
|
+
type: string
|
|
5212
|
+
nullable: true
|
|
5213
|
+
description: The platform SDD the row belongs to (stamped at aggregation).
|
|
5214
|
+
source_of_truth: execution
|
|
5215
|
+
description: A contract version's content revisions, each identified by its content digest (M-ADR 0230 §4.2, Proposed; schema 6.0.0). The contract file's current content is active (deprecated where the contract is); a revision an agreed open change pins as the one it agrees (agreement record 1.2.0, contracts[].agrees) is agreed; one an archived change agreed that the file no longer holds is retired. A compatible amendment is a new revision at the same path, so an agreed revision and the active one coexist, both checked. Active is a claim about the published specification, not about deployment.
|
|
5216
|
+
foreign_keys:
|
|
5217
|
+
- column: contract_id
|
|
5218
|
+
references: contracts.id
|
|
5219
|
+
nullable: false
|
|
5220
|
+
- column: change_id
|
|
5221
|
+
references: changes.id
|
|
5222
|
+
nullable: true
|
|
5223
|
+
column_enums:
|
|
5224
|
+
state: enums.contract_revision_state
|