@sdd-method/sdd-cli 3.0.0 → 4.0.0
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/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/catalogue/aggregate.d.ts.map +1 -1
- package/dist/lib/catalogue/aggregate.js +2 -0
- package/dist/lib/catalogue/aggregate.js.map +1 -1
- package/dist/lib/catalogue/build.d.ts +3 -1
- package/dist/lib/catalogue/build.d.ts.map +1 -1
- package/dist/lib/catalogue/build.js +33 -2
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/adr-governs.d.ts +4 -0
- package/dist/lib/catalogue/builders/adr-governs.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/adr-governs.js +39 -0
- package/dist/lib/catalogue/builders/adr-governs.js.map +1 -0
- package/dist/lib/catalogue/builders/adrs.d.ts +2 -0
- package/dist/lib/catalogue/builders/adrs.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/adrs.js +11 -0
- package/dist/lib/catalogue/builders/adrs.js.map +1 -1
- package/dist/lib/catalogue/builders/contract-revisions.d.ts +12 -0
- package/dist/lib/catalogue/builders/contract-revisions.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/contract-revisions.js +126 -0
- package/dist/lib/catalogue/builders/contract-revisions.js.map +1 -0
- package/dist/lib/catalogue/builders/data-model.d.ts +73 -0
- package/dist/lib/catalogue/builders/data-model.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/data-model.js +316 -0
- package/dist/lib/catalogue/builders/data-model.js.map +1 -0
- package/dist/lib/catalogue/builders/entities-mermaid.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/entities-mermaid.js +18 -85
- package/dist/lib/catalogue/builders/entities-mermaid.js.map +1 -1
- package/dist/lib/catalogue/builders/integration-components.js +49 -5
- package/dist/lib/catalogue/builders/integration-components.js.map +1 -1
- package/dist/lib/catalogue/builders/quality-scores.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/quality-scores.js +17 -0
- package/dist/lib/catalogue/builders/quality-scores.js.map +1 -1
- package/dist/lib/catalogue/builders/requirements.d.ts +7 -1
- package/dist/lib/catalogue/builders/requirements.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/requirements.js +132 -23
- package/dist/lib/catalogue/builders/requirements.js.map +1 -1
- package/dist/lib/catalogue/canonical-schema.yaml +767 -17
- package/dist/lib/catalogue/retired-catalogues.d.ts +6 -0
- package/dist/lib/catalogue/retired-catalogues.d.ts.map +1 -0
- package/dist/lib/catalogue/retired-catalogues.js +25 -0
- package/dist/lib/catalogue/retired-catalogues.js.map +1 -0
- package/dist/lib/catalogue/rubric-coverage-map.yaml +90 -2
- package/dist/lib/catalogue/schema-compat.d.ts +1 -1
- package/dist/lib/catalogue/schema-compat.js +1 -1
- package/dist/lib/catalogue/schema-loader.d.ts +6 -0
- package/dist/lib/catalogue/schema-loader.d.ts.map +1 -1
- package/dist/lib/catalogue/schema-loader.js +3 -0
- package/dist/lib/catalogue/schema-loader.js.map +1 -1
- package/dist/lib/catalogue/staleness-verdicts.d.ts.map +1 -1
- package/dist/lib/catalogue/staleness-verdicts.js +75 -6
- package/dist/lib/catalogue/staleness-verdicts.js.map +1 -1
- package/dist/lib/metamodel/roundtrip-gate.d.ts.map +1 -1
- package/dist/lib/metamodel/roundtrip-gate.js +3 -0
- package/dist/lib/metamodel/roundtrip-gate.js.map +1 -1
- package/dist/lib/metamodel/schema-projection.d.ts +6 -0
- package/dist/lib/metamodel/schema-projection.d.ts.map +1 -1
- package/dist/lib/metamodel/schema-projection.js +27 -1
- package/dist/lib/metamodel/schema-projection.js.map +1 -1
- package/dist/lib/structure/apply.d.ts +8 -0
- package/dist/lib/structure/apply.d.ts.map +1 -0
- package/dist/lib/structure/apply.js +71 -0
- package/dist/lib/structure/apply.js.map +1 -0
- package/dist/lib/structure/archive.d.ts +21 -0
- package/dist/lib/structure/archive.d.ts.map +1 -0
- package/dist/lib/structure/archive.js +318 -0
- package/dist/lib/structure/archive.js.map +1 -0
- package/dist/lib/structure/catalogue.d.ts +33 -0
- package/dist/lib/structure/catalogue.d.ts.map +1 -0
- package/dist/lib/structure/catalogue.js +183 -0
- package/dist/lib/structure/catalogue.js.map +1 -0
- package/dist/lib/structure/compose.d.ts +30 -0
- package/dist/lib/structure/compose.d.ts.map +1 -0
- package/dist/lib/structure/compose.js +174 -0
- package/dist/lib/structure/compose.js.map +1 -0
- package/dist/lib/structure/effects.d.ts +16 -0
- package/dist/lib/structure/effects.d.ts.map +1 -0
- package/dist/lib/structure/effects.js +36 -0
- package/dist/lib/structure/effects.js.map +1 -0
- package/dist/lib/structure/extract.d.ts +19 -0
- package/dist/lib/structure/extract.d.ts.map +1 -0
- package/dist/lib/structure/extract.js +123 -0
- package/dist/lib/structure/extract.js.map +1 -0
- package/dist/lib/structure/model.d.ts +57 -0
- package/dist/lib/structure/model.d.ts.map +1 -0
- package/dist/lib/structure/model.js +212 -0
- package/dist/lib/structure/model.js.map +1 -0
- package/dist/lib/structure/render.d.ts +11 -0
- package/dist/lib/structure/render.d.ts.map +1 -0
- package/dist/lib/structure/render.js +242 -0
- package/dist/lib/structure/render.js.map +1 -0
- package/dist/lib/structure/view.d.ts +36 -0
- package/dist/lib/structure/view.d.ts.map +1 -0
- package/dist/lib/structure/view.js +301 -0
- package/dist/lib/structure/view.js.map +1 -0
- package/dist/lib/validate/agreement-evidence.d.ts +8 -2
- package/dist/lib/validate/agreement-evidence.d.ts.map +1 -1
- package/dist/lib/validate/agreement-evidence.js +20 -8
- package/dist/lib/validate/agreement-evidence.js.map +1 -1
- package/dist/lib/validate/behaviour-store.d.ts +5 -0
- package/dist/lib/validate/behaviour-store.d.ts.map +1 -1
- package/dist/lib/validate/behaviour-store.js +54 -13
- package/dist/lib/validate/behaviour-store.js.map +1 -1
- package/dist/lib/validate/dispatch.d.ts.map +1 -1
- package/dist/lib/validate/dispatch.js +7 -0
- package/dist/lib/validate/dispatch.js.map +1 -1
- package/dist/lib/validate/structural-model.d.ts +11 -0
- package/dist/lib/validate/structural-model.d.ts.map +1 -0
- package/dist/lib/validate/structural-model.js +265 -0
- package/dist/lib/validate/structural-model.js.map +1 -0
- package/dist/maintain-version.json +2 -2
- package/dist/verbs/change.d.ts +3 -0
- package/dist/verbs/change.d.ts.map +1 -0
- package/dist/verbs/change.js +15 -0
- package/dist/verbs/change.js.map +1 -0
- package/dist/verbs/structure.d.ts +10 -0
- package/dist/verbs/structure.d.ts.map +1 -0
- package/dist/verbs/structure.js +124 -0
- package/dist/verbs/structure.js.map +1 -0
- package/dist/verify-version.json +2 -2
- package/package.json +1 -1
- package/scripts/author-version.json +2 -2
- package/scripts/build-persona-package.mjs +5 -0
- package/scripts/maintain-version.json +2 -2
- package/scripts/verify-version.json +2 -2
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FindingsLog } from "./findings.js";
|
|
2
|
+
/** name -> why it went, and what replaced it. */
|
|
3
|
+
export declare const RETIRED_CATALOGUES: ReadonlyMap<string, string>;
|
|
4
|
+
/** Remove each retired catalogue's file from `dir`. Returns the file names removed. */
|
|
5
|
+
export declare function removeRetiredCatalogues(dir: string, findings: FindingsLog, label: string): Promise<string[]>;
|
|
6
|
+
//# sourceMappingURL=retired-catalogues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retired-catalogues.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/retired-catalogues.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,iDAAiD;AACjD,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAEzD,CAAC;AAEH,uFAAuF;AACvF,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUlH"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Catalogues a schema major has retired. A build writes the catalogues the schema declares, so the file of one
|
|
2
|
+
// it no longer declares would otherwise stay on disk beside its replacement, and `catalogue build --check`
|
|
3
|
+
// would report it committed and no longer produced in every estate after the wave. The build and the aggregate
|
|
4
|
+
// remove it from the directory they write, and say so. Only a catalogue named here is removed: a CSV the method
|
|
5
|
+
// never declared is left alone.
|
|
6
|
+
import { rm, stat } from "node:fs/promises";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
/** name -> why it went, and what replaced it. */
|
|
9
|
+
export const RETIRED_CATALOGUES = new Map([
|
|
10
|
+
["requirement_status", "retired in catalogue schema 6.0.0: evidence about one revision of a requirement is requirement_assertions (M-ADR 0230 §4.7, Proposed)"],
|
|
11
|
+
]);
|
|
12
|
+
/** Remove each retired catalogue's file from `dir`. Returns the file names removed. */
|
|
13
|
+
export async function removeRetiredCatalogues(dir, findings, label) {
|
|
14
|
+
const removed = [];
|
|
15
|
+
for (const [name, why] of RETIRED_CATALOGUES) {
|
|
16
|
+
const file = join(dir, `${name}.csv`);
|
|
17
|
+
if (!(await stat(file).then((s) => s.isFile(), () => false)))
|
|
18
|
+
continue;
|
|
19
|
+
await rm(file);
|
|
20
|
+
removed.push(`${name}.csv`);
|
|
21
|
+
findings.add("convention", `${label}/${name}.csv: removed, ${why}; commit its removal with the rebuilt catalogues`, "warn", `${label}/${name}.csv`);
|
|
22
|
+
}
|
|
23
|
+
return removed;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=retired-catalogues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retired-catalogues.js","sourceRoot":"","sources":["../../../src/lib/catalogue/retired-catalogues.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,2GAA2G;AAC3G,+GAA+G;AAC/G,gHAAgH;AAChH,gCAAgC;AAChC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAgC,IAAI,GAAG,CAAC;IACrE,CAAC,oBAAoB,EAAE,uIAAuI,CAAC;CAChK,CAAC,CAAC;AAEH,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,GAAW,EAAE,QAAqB,EAAE,KAAa;IAC7F,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YAAE,SAAS;QACvE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;QAC5B,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,KAAK,IAAI,IAAI,kBAAkB,GAAG,kDAAkD,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC;IACtJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -883,7 +883,7 @@ coverage:
|
|
|
883
883
|
class: lineage
|
|
884
884
|
impact_flow: none
|
|
885
885
|
reason: derived from the archived changes scored by their own judge
|
|
886
|
-
|
|
886
|
+
requirement_assertions:
|
|
887
887
|
kind: edge
|
|
888
888
|
scoring: derived-edge
|
|
889
889
|
class: realisation
|
|
@@ -901,7 +901,7 @@ coverage:
|
|
|
901
901
|
kind: enum
|
|
902
902
|
scoring: not-applicable
|
|
903
903
|
reason: closed vocabulary, not an artefact
|
|
904
|
-
|
|
904
|
+
requirement_assertion_kind:
|
|
905
905
|
kind: enum
|
|
906
906
|
scoring: not-applicable
|
|
907
907
|
reason: closed vocabulary, not an artefact
|
|
@@ -951,3 +951,91 @@ coverage:
|
|
|
951
951
|
kind: enum
|
|
952
952
|
scoring: not-applicable
|
|
953
953
|
reason: closed vocabulary, not an artefact
|
|
954
|
+
entity_attributes:
|
|
955
|
+
kind: entity
|
|
956
|
+
scoring: scored-at-source
|
|
957
|
+
instrument: an element of the structural model (M-ADR 0230, Proposed); scored with its domain model by rubrics/domain-architecture-rubric.md
|
|
958
|
+
relationships:
|
|
959
|
+
entity_id:
|
|
960
|
+
class: membership
|
|
961
|
+
impact_flow: toward-target
|
|
962
|
+
entity_relationships:
|
|
963
|
+
kind: entity
|
|
964
|
+
scoring: scored-at-source
|
|
965
|
+
instrument: an element of the structural model (M-ADR 0230, Proposed); scored with its domain model by rubrics/domain-architecture-rubric.md
|
|
966
|
+
relationships:
|
|
967
|
+
from_entity_id:
|
|
968
|
+
class: membership
|
|
969
|
+
impact_flow: toward-target
|
|
970
|
+
to_entity_id:
|
|
971
|
+
class: dependency
|
|
972
|
+
impact_flow: toward-source
|
|
973
|
+
domain_invariants:
|
|
974
|
+
kind: entity
|
|
975
|
+
scoring: scored-at-source
|
|
976
|
+
instrument: an element of the structural model (M-ADR 0230, Proposed); scored with its domain model by rubrics/domain-architecture-rubric.md
|
|
977
|
+
relationships:
|
|
978
|
+
entity_id:
|
|
979
|
+
class: membership
|
|
980
|
+
impact_flow: toward-target
|
|
981
|
+
relationship_id:
|
|
982
|
+
class: dependency
|
|
983
|
+
impact_flow: toward-source
|
|
984
|
+
source_of_truth:
|
|
985
|
+
kind: enum
|
|
986
|
+
scoring: not-applicable
|
|
987
|
+
reason: closed vocabulary, not an artefact
|
|
988
|
+
relationship_end_cardinality:
|
|
989
|
+
kind: enum
|
|
990
|
+
scoring: not-applicable
|
|
991
|
+
reason: closed vocabulary, not an artefact
|
|
992
|
+
domain_invariant_kind:
|
|
993
|
+
kind: enum
|
|
994
|
+
scoring: not-applicable
|
|
995
|
+
reason: closed vocabulary, not an artefact
|
|
996
|
+
requirement_revisions:
|
|
997
|
+
kind: entity
|
|
998
|
+
scoring: scored-at-source
|
|
999
|
+
instrument: a revision of a requirement; scored with its living spec by the behaviour-store check
|
|
1000
|
+
relationships:
|
|
1001
|
+
requirement_id:
|
|
1002
|
+
class: membership
|
|
1003
|
+
impact_flow: toward-target
|
|
1004
|
+
change_id:
|
|
1005
|
+
class: lineage
|
|
1006
|
+
impact_flow: toward-source
|
|
1007
|
+
revision_state:
|
|
1008
|
+
kind: enum
|
|
1009
|
+
scoring: not-applicable
|
|
1010
|
+
reason: closed vocabulary, not an artefact
|
|
1011
|
+
change_effects:
|
|
1012
|
+
kind: entity
|
|
1013
|
+
scoring: scored-at-source
|
|
1014
|
+
instrument: a change's effect; scored with the change by the behaviour-store and structural-model checks
|
|
1015
|
+
relationships:
|
|
1016
|
+
change_id:
|
|
1017
|
+
class: membership
|
|
1018
|
+
impact_flow: toward-target
|
|
1019
|
+
change_effect_element_kind:
|
|
1020
|
+
kind: enum
|
|
1021
|
+
scoring: not-applicable
|
|
1022
|
+
reason: closed vocabulary, not an artefact
|
|
1023
|
+
adr_governs:
|
|
1024
|
+
kind: enum
|
|
1025
|
+
scoring: not-applicable
|
|
1026
|
+
reason: closed vocabulary, not an artefact
|
|
1027
|
+
contract_revisions:
|
|
1028
|
+
kind: entity
|
|
1029
|
+
scoring: scored-at-source
|
|
1030
|
+
instrument: a revision of a contract; scored with its contract by the contract rubrics
|
|
1031
|
+
relationships:
|
|
1032
|
+
contract_id:
|
|
1033
|
+
class: membership
|
|
1034
|
+
impact_flow: toward-target
|
|
1035
|
+
change_id:
|
|
1036
|
+
class: lineage
|
|
1037
|
+
impact_flow: toward-source
|
|
1038
|
+
contract_revision_state:
|
|
1039
|
+
kind: enum
|
|
1040
|
+
scoring: not-applicable
|
|
1041
|
+
reason: closed vocabulary, not an artefact
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* M-ADR 0134 §4.6 (canonical builder + aggregator).
|
|
28
28
|
*/
|
|
29
29
|
export declare const SCHEMA_COMPAT: {
|
|
30
|
-
readonly catalogue_schema: "^
|
|
30
|
+
readonly catalogue_schema: "^6.0.0";
|
|
31
31
|
readonly sdd_manifest: "^1.0.0";
|
|
32
32
|
readonly aggregation_manifest: "^1.0.0";
|
|
33
33
|
};
|
|
@@ -17,6 +17,8 @@ export interface ColumnDef {
|
|
|
17
17
|
readonly type: string;
|
|
18
18
|
readonly nullable: boolean;
|
|
19
19
|
readonly description?: string;
|
|
20
|
+
/** Where this column is authored: its own class where the schema states one, else its catalogue's (M-ADR 0230 §4.1, Proposed). Empty before schema 5.1.0. */
|
|
21
|
+
readonly sourceOfTruth?: string;
|
|
20
22
|
}
|
|
21
23
|
export interface ForeignKeyDef {
|
|
22
24
|
readonly column: string;
|
|
@@ -42,6 +44,10 @@ export interface CatalogueDef {
|
|
|
42
44
|
readonly columns: readonly ColumnDef[];
|
|
43
45
|
readonly foreignKeys: readonly ForeignKeyDef[];
|
|
44
46
|
readonly columnEnums: Readonly<Record<string, string>>;
|
|
47
|
+
/** Where the catalogue's facts are authored (M-ADR 0230 §4.1, Proposed). Absent before schema 5.1.0. */
|
|
48
|
+
readonly sourceOfTruth?: string;
|
|
49
|
+
/** Columns that together identify an element apart from its id, where the schema declares them (M-ADR 0230 §4.5, Proposed). */
|
|
50
|
+
readonly naturalKey?: readonly string[];
|
|
45
51
|
}
|
|
46
52
|
export interface EnumValueDef {
|
|
47
53
|
readonly value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/schema-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAA2C,CAAC;AAE7E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/schema-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAA2C,CAAC;AAE7E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,6JAA6J;IAC7J,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;OASG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,wGAAwG;IACxG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,+HAA+H;IAC/H,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD;AAgDD,wBAAsB,mBAAmB,CACvC,UAAU,GAAE,MAA6B,GACxC,OAAO,CAAC,eAAe,CAAC,CAO1B;AAqDD,qDAAqD;AACrD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,GACX,YAAY,CAMd;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAMhF"}
|
|
@@ -36,6 +36,7 @@ function normalise(raw) {
|
|
|
36
36
|
type: c.type,
|
|
37
37
|
nullable: c.nullable ?? false,
|
|
38
38
|
...(c.description !== undefined ? { description: c.description } : {}),
|
|
39
|
+
...((c.source_of_truth ?? def.source_of_truth) !== undefined ? { sourceOfTruth: c.source_of_truth ?? def.source_of_truth } : {}),
|
|
39
40
|
})),
|
|
40
41
|
foreignKeys: (def.foreign_keys ?? []).map((fk) => ({
|
|
41
42
|
column: fk.column,
|
|
@@ -45,6 +46,8 @@ function normalise(raw) {
|
|
|
45
46
|
externalForProfiles: fk.external_for_profiles ?? [],
|
|
46
47
|
})),
|
|
47
48
|
columnEnums: def.column_enums ?? {},
|
|
49
|
+
...(def.source_of_truth !== undefined ? { sourceOfTruth: def.source_of_truth } : {}),
|
|
50
|
+
...(def.natural_key !== undefined ? { naturalKey: def.natural_key } : {}),
|
|
48
51
|
}));
|
|
49
52
|
const enums = {};
|
|
50
53
|
for (const [name, def] of Object.entries(raw.enums ?? {})) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-loader.js","sourceRoot":"","sources":["../../../src/lib/catalogue/schema-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-loader.js","sourceRoot":"","sources":["../../../src/lib/catalogue/schema-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;AA6G7E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAAqB,oBAAoB;IAEzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,mEAAmE;IACnE,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAc,CAAC;IAC1D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,SAAS,CAAC,GAAc;IAC/B,MAAM,UAAU,GAAmB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CACnE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,IAAI;QACJ,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;YAC7B,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjI,CAAC,CAAC;QACH,WAAW,EAAE,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,KAAK;YAC9B,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,KAAK;YAC9B,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,IAAI,EAAE;SACpD,CAAC,CAAC;QACH,WAAW,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE;QACnC,GAAG,CAAC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC,CACH,CAAC;IAEF,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,GAAG;YACZ,IAAI;YACJ,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,CAAC,CAAC,iBAAiB,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,iBAAiB,EAAE;oBAC1C,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,UAAU;QACV,KAAK;KACN,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,aAAa,CAC3B,MAAuB,EACvB,IAAY;IAEZ,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,oCAAoC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,mBAAmB,CAAC,MAAuB;IACzD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC/B,OAAO,IAAI,GAAG,CACZ,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAC7E,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staleness-verdicts.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/staleness-verdicts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"staleness-verdicts.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/staleness-verdicts.ts"],"names":[],"mappings":"AA2DA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,CAAC;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,gGAAgG;IAChG,QAAQ,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,4EAA4E;IAC5E,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAgHD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;IACP,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC,uBAAuB,CAAC,CAiNlC;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE,QAAQ,GAAG,WAAW,GAC3B,MAAM,EAAE,CAgDV"}
|
|
@@ -40,6 +40,14 @@
|
|
|
40
40
|
// none — already reported by scores-coverage as unknown currency; not
|
|
41
41
|
// re-reported here.
|
|
42
42
|
//
|
|
43
|
+
// ASSESSED INPUTS (M-ADR 0230 §4.9, Proposed): a review that names its other inputs (`input_paths`) is read with
|
|
44
|
+
// each of them, once its target is current. An input that moved stales the score, with the input named. So does an
|
|
45
|
+
// input gone from HEAD, and one the corpus did not hold at the anchor: unlike a missing target, the score can still
|
|
46
|
+
// be re-reviewed against its target, and a review cannot have read an input that was not there, so both prescribe a
|
|
47
|
+
// re-review rather than a withdrawal. An input present but uncommitted is UNKNOWN, as the target is, unless another
|
|
48
|
+
// input moved, which decides it whatever order the inputs are listed in. On the
|
|
49
|
+
// scored_at basis an input changed after the review stales it.
|
|
50
|
+
//
|
|
43
51
|
// MEMBER TIER ONLY, stated not silent: the aggregate tier reads sibling
|
|
44
52
|
// catalogues whose target files and git histories are not local, so a verdict
|
|
45
53
|
// there would be a guess. Reporting-only (`coverage` class) like the rest of
|
|
@@ -163,9 +171,12 @@ export async function runStalenessVerdicts(session, options) {
|
|
|
163
171
|
};
|
|
164
172
|
}
|
|
165
173
|
const asStr = (v) => v === null || v === undefined ? "" : String(v).trim();
|
|
166
|
-
|
|
174
|
+
// input_paths (schema 6.0.0, M-ADR 0230 §4.9, Proposed): a catalogue built before it has no such column, and its
|
|
175
|
+
// scores are read as naming no other input.
|
|
176
|
+
const query = (inputs) => `SELECT rubric_id, target_ref, target_path, corpus_ref, scored_at, staleness_basis, ${inputs}
|
|
167
177
|
FROM "quality_scores"
|
|
168
|
-
WHERE staleness_basis IN ('corpus_ref', 'scored_at')
|
|
178
|
+
WHERE staleness_basis IN ('corpus_ref', 'scored_at');`;
|
|
179
|
+
const reader = await session.conn.runAndReadAll(query("input_paths")).catch(() => session.conn.runAndReadAll(query("NULL")));
|
|
169
180
|
const rows = reader.getRows();
|
|
170
181
|
const stale = [];
|
|
171
182
|
let current = 0;
|
|
@@ -176,10 +187,13 @@ export async function runStalenessVerdicts(session, options) {
|
|
|
176
187
|
const targetMissing = [];
|
|
177
188
|
const anchorKnown = new Map();
|
|
178
189
|
const renamesByAnchor = new Map();
|
|
179
|
-
for (const [rubricIdRaw, targetRefRaw, targetPathRaw, corpusRefRaw, scoredAtRaw, basisRaw] of rows) {
|
|
190
|
+
for (const [rubricIdRaw, targetRefRaw, targetPathRaw, corpusRefRaw, scoredAtRaw, basisRaw, inputPathsRaw] of rows) {
|
|
180
191
|
const rubricId = asStr(rubricIdRaw);
|
|
181
192
|
const targetRef = asStr(targetRefRaw);
|
|
182
193
|
const basis = asStr(basisRaw);
|
|
194
|
+
// The review's other assessed inputs (M-ADR 0230 §4.9, Proposed): read with the target, so an edit to any of
|
|
195
|
+
// them makes the score stale as an edit to the target does.
|
|
196
|
+
const inputs = asStr(inputPathsRaw).split(";").map((x) => x.trim()).filter((x) => x !== "");
|
|
183
197
|
// Counted for BOTH bases, before the branch. The first cut of this counter
|
|
184
198
|
// sat inside the corpus_ref branch only, so it was blind to every
|
|
185
199
|
// scored_at row — and the estate that ASKED for this count has all 18 of
|
|
@@ -242,7 +256,42 @@ export async function runStalenessVerdicts(session, options) {
|
|
|
242
256
|
if (anchorBlob === headBlob) {
|
|
243
257
|
// Byte-identical to its assessed state — including across a rename,
|
|
244
258
|
// which is the whole point of testing content instead of touches.
|
|
245
|
-
|
|
259
|
+
let moved = null;
|
|
260
|
+
let unknown = false;
|
|
261
|
+
for (const input of inputs) {
|
|
262
|
+
const now = await blobAt(options.sddRoot, "HEAD", input);
|
|
263
|
+
if (now === null && (await existsOnDisk(options.sddRoot, input))) {
|
|
264
|
+
unknown = true; // present but uncommitted: no blob to compare, as for the target
|
|
265
|
+
continue;
|
|
266
|
+
}
|
|
267
|
+
let then = await blobAt(options.sddRoot, anchor, input);
|
|
268
|
+
if (then === null) {
|
|
269
|
+
let renames = renamesByAnchor.get(anchor);
|
|
270
|
+
if (renames === undefined) {
|
|
271
|
+
renames = await renameMap(options.sddRoot, anchor);
|
|
272
|
+
renamesByAnchor.set(anchor, renames);
|
|
273
|
+
}
|
|
274
|
+
const oldPath = renames.get(input);
|
|
275
|
+
if (oldPath !== undefined)
|
|
276
|
+
then = await blobAt(options.sddRoot, anchor, oldPath);
|
|
277
|
+
}
|
|
278
|
+
if (now === null)
|
|
279
|
+
moved = `assessed input ${input} no longer exists at HEAD`;
|
|
280
|
+
else if (then === null)
|
|
281
|
+
moved = `assessed input ${input} was not in the corpus at the anchor`;
|
|
282
|
+
else if (then !== now)
|
|
283
|
+
moved = `assessed input ${input} CONTENT differs from its state at the anchor`;
|
|
284
|
+
if (moved !== null)
|
|
285
|
+
break;
|
|
286
|
+
}
|
|
287
|
+
// An input that moved decides it, whatever the others are; with none moved, an uncommitted input leaves the
|
|
288
|
+
// score undecided.
|
|
289
|
+
if (moved !== null)
|
|
290
|
+
stale.push({ rubricId, targetRef, basis: "corpus_ref", detail: moved });
|
|
291
|
+
else if (unknown)
|
|
292
|
+
unknownAnchor += 1;
|
|
293
|
+
else
|
|
294
|
+
current += 1;
|
|
246
295
|
}
|
|
247
296
|
else {
|
|
248
297
|
stale.push({
|
|
@@ -284,10 +333,30 @@ export async function runStalenessVerdicts(session, options) {
|
|
|
284
333
|
basis: "scored_at",
|
|
285
334
|
detail: `target last changed ${last.stdout.slice(0, 10)}, after the review of ${at.slice(0, 10)}`,
|
|
286
335
|
});
|
|
336
|
+
continue;
|
|
287
337
|
}
|
|
288
|
-
|
|
289
|
-
|
|
338
|
+
let moved = null;
|
|
339
|
+
let unknown = false;
|
|
340
|
+
for (const input of inputs) {
|
|
341
|
+
const changed = await git(options.sddRoot, ["log", "-1", "--format=%cI", "--", input]);
|
|
342
|
+
if ((await blobAt(options.sddRoot, "HEAD", input)) === null) {
|
|
343
|
+
if (await existsOnDisk(options.sddRoot, input)) {
|
|
344
|
+
unknown = true; // present but uncommitted: git has no history for it
|
|
345
|
+
continue;
|
|
346
|
+
}
|
|
347
|
+
moved = `assessed input ${input} no longer exists at HEAD`;
|
|
348
|
+
}
|
|
349
|
+
else if (changed.ok && changed.stdout !== "" && Date.parse(changed.stdout) > reviewedMs)
|
|
350
|
+
moved = `assessed input ${input} last changed ${changed.stdout.slice(0, 10)}, after the review of ${at.slice(0, 10)}`;
|
|
351
|
+
if (moved !== null)
|
|
352
|
+
break;
|
|
290
353
|
}
|
|
354
|
+
if (moved !== null)
|
|
355
|
+
stale.push({ rubricId, targetRef, basis: "scored_at", detail: moved });
|
|
356
|
+
else if (unknown)
|
|
357
|
+
unknownAnchor += 1;
|
|
358
|
+
else
|
|
359
|
+
current += 1;
|
|
291
360
|
}
|
|
292
361
|
}
|
|
293
362
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staleness-verdicts.js","sourceRoot":"","sources":["../../../src/lib/catalogue/staleness-verdicts.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,6DAA6D;AAC7D,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,wEAAwE;AACxE,uBAAuB;AACvB,EAAE;AACF,4BAA4B;AAC5B,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,EAAE;AACF,2EAA2E;AAC3E,+EAA+E;AAC/E,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,+DAA+D;AAC/D,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,oEAAoE;AACpE,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,8EAA8E;AAC9E,0EAA0E;AAC1E,4BAA4B;AAC5B,sEAAsE;AACtE,4EAA4E;AAC5E,2BAA2B;AAC3B,wEAAwE;AACxE,0BAA0B;AAC1B,EAAE;AACF,wEAAwE;AACxE,8EAA8E;AAC9E,6EAA6E;AAC7E,2EAA2E;AAE3E,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAwCvC,MAAM,MAAM,GAA6C;IACvD,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,iBAAiB,EAAE,CAAC;IACpB,aAAa,EAAE,EAAE;IACjB,kBAAkB,EAAE,CAAC;IACrB,gBAAgB,EAAE,CAAC;CACpB,CAAC;AAEF,KAAK,UAAU,GAAG,CAChB,OAAe,EACf,IAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;YAClD,GAAG,EAAE,OAAO;YACZ,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;SAC3B,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,IAAY;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,YAAY,CACzB,OAAe,EACf,GAAW,EACX,IAAY;IAEZ,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/C,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,MAAM,CACnB,OAAe,EACf,GAAW,EACX,IAAY;IAEZ,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,SAAS,CACtB,OAAe,EACf,MAAc;IAEd,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAsB,EACtB,OAIC;IAED,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACnE,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EACL,uGAAuG;SAC1G,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,wFAAwF;SACpH,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,CAAU,EAAU,EAAE,CACnC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAExD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,CAC7C;;2DAEuD,CACxD,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAqC,CAAC;IAEjE,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,MAAM,aAAa,GAAuB,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC/C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuC,CAAC;IAEvE,KAAK,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QACnG,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE9B,2EAA2E;QAC3E,kEAAkE;QAClE,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,wEAAwE;QACxE,mBAAmB;QACnB,CAAC;YACC,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBAC5E,gBAAgB,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBAChB,iBAAiB,IAAI,CAAC,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,aAAa,IAAI,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,IAAI,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;oBAC9C,mEAAmE;oBACnE,wCAAwC;oBACxC,aAAa,IAAI,CAAC,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChE,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7D,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,wEAAwE;gBACxE,wDAAwD;gBACxD,IAAI,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACnD,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YACD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,kBAAkB,IAAI,CAAC,CAAC;gBACxB,SAAS;YACX,CAAC;YACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC5B,oEAAoE;gBACpE,kEAAkE;gBAClE,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC;oBACT,QAAQ;oBACR,SAAS;oBACT,KAAK,EAAE,YAAY;oBACnB,MAAM,EAAE,qDAAqD;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YAClC,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9B,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC7B,iEAAiE;gBACjE,iEAAiE;gBACjE,aAAa,IAAI,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IACE,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI;gBACtD,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAC5C,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9D,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACnF,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBACnC,aAAa,IAAI,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7B,aAAa,IAAI,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC;oBACT,QAAQ;oBACR,SAAS;oBACT,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,uBAAuB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;iBAClG,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,MAAM;QACrB,KAAK;QACL,OAAO;QACP,aAAa;QACb,iBAAiB;QACjB,aAAa;QACb,kBAAkB;QAClB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAA4B,EAC5B,IAA4B;IAE5B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,8BAA8B,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAEnC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,CACN,uBAAuB,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,SAAS,eAAe;YACxE,GAAG,CAAC,CAAC,MAAM,gEAAgE;YAC3E,qEAAqE,CACxE,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;QAC/B,4EAA4E;QAC5E,0EAA0E;QAC1E,sBAAsB;QACtB,GAAG,CAAC,IAAI,CACN,uBAAuB,GAAG,CAAC,kBAAkB,6CAA6C;YACxF,gFAAgF;YAChF,sFAAsF,CACzF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;QAClC,2EAA2E;QAC3E,2EAA2E;QAC3E,qDAAqD;QACrD,GAAG,CAAC,IAAI,CACN,uBAAuB,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,SAAS,gCAAgC;YACzF,aAAa,CAAC,CAAC,UAAU,6DAA6D;YACtF,gEAAgE,CACnE,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,IAAI,CACN,8BAA8B,IAAI,MAAM,GAAG,CAAC,QAAQ,8BAA8B;QAChF,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa;QACvD,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,oBAAoB;QAC/C,GAAG,GAAG,CAAC,aAAa,qBAAqB,GAAG,CAAC,iBAAiB,yBAAyB;QACvF,GAAG,GAAG,CAAC,kBAAkB,wBAAwB;QACjD,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC;YACvB,CAAC,CAAC,cAAc,GAAG,CAAC,gBAAgB,2IAA2I;YAC/K,CAAC,CAAC,EAAE,CAAC;QACP,iFAAiF;QACjF,sCAAsC,CACzC,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"staleness-verdicts.js","sourceRoot":"","sources":["../../../src/lib/catalogue/staleness-verdicts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundtrip-gate.d.ts","sourceRoot":"","sources":["../../../src/lib/metamodel/roundtrip-gate.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhG,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AA2BX,iHAAiH;AACjH,wBAAgB,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAMxD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAElD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,mGAAmG;IACnG,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQjF;AAGD,UAAU,QAAQ;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAaD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"roundtrip-gate.d.ts","sourceRoot":"","sources":["../../../src/lib/metamodel/roundtrip-gate.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhG,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AA2BX,iHAAiH;AACjH,wBAAgB,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAMxD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAElD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,mGAAmG;IACnG,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQjF;AAGD,UAAU,QAAQ;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAaD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CA4B/D;AAQD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CA4BnJ;AAGD,wBAAiB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,SAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAenF;AAED,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAgBD,2HAA2H;AAC3H,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAwHzH;AAED,4FAA4F;AAC5F,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAYjH"}
|
|
@@ -104,6 +104,9 @@ export function mutations(tql, meta) {
|
|
|
104
104
|
{ label: "an undeclared meta property is refused, not ignored", tql, meta: meta.replace(/^(insert \$m isa schema-meta, [^;\n]*)(;)/m, '$1, has m-not-a-real-attribute "x"$2') },
|
|
105
105
|
{ label: "a repeated scalar meta property is refused, not reduced to its first value", tql, meta: meta.replace(/^(insert \$m isa schema-meta, has m-schema-version "[^"]*")/m, '$1, has m-schema-version "0.0.0"') },
|
|
106
106
|
{ label: "an enum binding naming no column is refused", tql, meta: meta.replace(/^(insert \$m isa column-enum-meta, has m-catalogue "[^"]+", has m-column ")([^"]+)(")/m, "$1no-such-column$3") },
|
|
107
|
+
// M-ADR 0230 §4.1 (Proposed) — every catalogue names where its facts are authored, from one vocabulary
|
|
108
|
+
{ label: "a catalogue with no source-of-truth class is refused", tql, meta: meta.replace(/^(insert \$m isa catalogue-meta, [^\n]*?), has m-truth "[^"]*"/m, "$1") },
|
|
109
|
+
{ label: "a source-of-truth class outside its vocabulary is refused", tql, meta: meta.replace(/^(insert \$m isa catalogue-meta, [^\n]*?, has m-truth ")[^"]*(")/m, "$1no-such-class$2") },
|
|
107
110
|
];
|
|
108
111
|
}
|
|
109
112
|
function declareAbsenceOnFirstBoundColumn(meta) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundtrip-gate.js","sourceRoot":"","sources":["../../../src/lib/metamodel/roundtrip-gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"roundtrip-gate.js","sourceRoot":"","sources":["../../../src/lib/metamodel/roundtrip-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ export interface ColumnSpec {
|
|
|
4
4
|
type: string;
|
|
5
5
|
nullable: boolean;
|
|
6
6
|
description?: string;
|
|
7
|
+
/** Where this column is authored, when it differs from its catalogue's (M-ADR 0230 §4.1, Proposed). */
|
|
8
|
+
source_of_truth?: string;
|
|
7
9
|
}
|
|
8
10
|
export interface ForeignKeySpec {
|
|
9
11
|
column: string;
|
|
@@ -15,6 +17,10 @@ export interface ForeignKeySpec {
|
|
|
15
17
|
export interface CatalogueSpec {
|
|
16
18
|
primary_key: string | null;
|
|
17
19
|
description?: string;
|
|
20
|
+
/** Where this catalogue's facts are authored: a value of enums.source_of_truth (M-ADR 0230 §4.1, Proposed). */
|
|
21
|
+
source_of_truth: string;
|
|
22
|
+
/** Columns whose values together identify an element apart from its id (M-ADR 0230 §4.5, Proposed). */
|
|
23
|
+
natural_key?: string[];
|
|
18
24
|
columns: ColumnSpec[];
|
|
19
25
|
foreign_keys?: ForeignKeySpec[];
|
|
20
26
|
column_enums?: Record<string, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-projection.d.ts","sourceRoot":"","sources":["../../../src/lib/metamodel/schema-projection.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAmC,UAAU,EAAE,WAAW,EAAY,MAAM,wBAAwB,CAAC;AAWjH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-projection.d.ts","sourceRoot":"","sources":["../../../src/lib/metamodel/schema-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,6 +92,15 @@ export function projectSchema(types, meta) {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
const catOfLabel = new Map(catRows.map((c) => [str(c, "m-type-label"), str(c, "m-catalogue")]));
|
|
95
|
+
// M-ADR 0230 §4.1 (Proposed): every catalogue says where its facts are authored, from one closed vocabulary.
|
|
96
|
+
const truthValues = new Set((out.enums["source_of_truth"]?.values ?? []).map((v) => String(v["value"])));
|
|
97
|
+
if (truthValues.size === 0)
|
|
98
|
+
throw new ParseError("enum source_of_truth is required: every catalogue names where its facts are authored");
|
|
99
|
+
const truth = (where, v) => {
|
|
100
|
+
if (!truthValues.has(v))
|
|
101
|
+
throw new ParseError(`${where}: m-truth ${JSON.stringify(v)} is not a value of enum source_of_truth`);
|
|
102
|
+
return v;
|
|
103
|
+
};
|
|
95
104
|
const columnMeta = meta.get("column-meta") ?? [];
|
|
96
105
|
const fkMeta = meta.get("fk-meta") ?? [];
|
|
97
106
|
const colEnumMeta = meta.get("column-enum-meta") ?? [];
|
|
@@ -103,6 +112,9 @@ export function projectSchema(types, meta) {
|
|
|
103
112
|
throw new ParseError(`catalogue ${name} declared twice`);
|
|
104
113
|
seen.add(name);
|
|
105
114
|
const { kind, decl } = typesByLabel.get(t);
|
|
115
|
+
if (!has(c, "m-truth"))
|
|
116
|
+
throw new ParseError(`${name}: catalogue-meta has no m-truth; every catalogue names where its facts are authored (M-ADR 0230 §4.1, Proposed)`);
|
|
117
|
+
const catTruth = truth(name, str(c, "m-truth"));
|
|
106
118
|
const owns = decl.owns;
|
|
107
119
|
const relates = decl.relates;
|
|
108
120
|
const pk = [...owns].filter(([, a]) => a.key).map(([n]) => n);
|
|
@@ -167,6 +179,11 @@ export function projectSchema(types, meta) {
|
|
|
167
179
|
const col = { name: column, type: yamlType, nullable };
|
|
168
180
|
if (has(cm, "m-description"))
|
|
169
181
|
col.description = str(cm, "m-description");
|
|
182
|
+
if (has(cm, "m-truth")) {
|
|
183
|
+
col.source_of_truth = truth(`${name}.${column}`, str(cm, "m-truth"));
|
|
184
|
+
if (col.source_of_truth === catTruth)
|
|
185
|
+
throw new ParseError(`${name}.${column}: m-truth ${JSON.stringify(col.source_of_truth)} restates its catalogue's; state a column's class only where it differs`);
|
|
186
|
+
}
|
|
170
187
|
cols.push(col);
|
|
171
188
|
}
|
|
172
189
|
const missingOwns = [...owns.keys()].filter((a) => !attrSeen.has(a)).sort();
|
|
@@ -177,9 +194,18 @@ export function projectSchema(types, meta) {
|
|
|
177
194
|
if (missingRoles.length > 0)
|
|
178
195
|
throw new ParseError(`${name}: relation ${t} relates ${JSON.stringify(missingRoles)} with no column meta`);
|
|
179
196
|
}
|
|
180
|
-
const spec = { primary_key: pkName, columns: [] };
|
|
197
|
+
const spec = { primary_key: pkName, source_of_truth: catTruth, columns: [] };
|
|
181
198
|
if (has(c, "m-description"))
|
|
182
199
|
spec.description = str(c, "m-description");
|
|
200
|
+
if (has(c, "m-natural-key")) {
|
|
201
|
+
const nk = str(c, "m-natural-key").split(",").map((x) => x.trim());
|
|
202
|
+
for (const k of nk)
|
|
203
|
+
if (!cols.some((col) => col.name === k))
|
|
204
|
+
throw new ParseError(`${name}: m-natural-key names ${JSON.stringify(k)}, which is not a column`);
|
|
205
|
+
if (new Set(nk).size !== nk.length || nk.length === 0)
|
|
206
|
+
throw new ParseError(`${name}: m-natural-key ${JSON.stringify(str(c, "m-natural-key"))} must list distinct columns`);
|
|
207
|
+
spec.natural_key = nk;
|
|
208
|
+
}
|
|
183
209
|
spec.columns = cols;
|
|
184
210
|
if (fkRows.length > 0) {
|
|
185
211
|
const colNull = new Map(cols.map((col) => [col.name, col.nullable]));
|