@intentset/core 0.5.0 → 0.6.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/artifact.d.ts.map +1 -1
- package/dist/artifact.js +63 -1
- package/dist/artifact.js.map +1 -1
- package/dist/export.d.ts +1 -1
- package/dist/export.js +13 -1
- package/dist/export.js.map +1 -1
- package/dist/read-export.d.ts.map +1 -1
- package/dist/read-export.js +47 -4
- package/dist/read-export.js.map +1 -1
- package/dist/registries.d.ts +2 -2
- package/dist/registries.js +1 -1
- package/dist/registries.js.map +1 -1
- package/dist/types.d.ts +33 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +14 -4
- package/dist/types.js.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +38 -5
- package/dist/validate.js.map +1 -1
- package/package.json +1 -1
- package/src/artifact.ts +84 -0
- package/src/export.ts +14 -1
- package/src/read-export.ts +51 -3
- package/src/registries.ts +3 -3
- package/src/types.ts +38 -4
- package/src/validate.ts +45 -7
package/dist/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/artifact.ts
CHANGED
|
@@ -25,12 +25,17 @@ import {
|
|
|
25
25
|
type ArtifactMeta,
|
|
26
26
|
type ArtifactType,
|
|
27
27
|
type Availability,
|
|
28
|
+
BASELINE_UNKNOWN,
|
|
28
29
|
CLAIM_KINDS,
|
|
29
30
|
type Claim,
|
|
30
31
|
type DocumentInput,
|
|
31
32
|
ID_PATTERN,
|
|
32
33
|
LINK_KINDS,
|
|
33
34
|
type LinkKind,
|
|
35
|
+
MEASURE_DIRECTIONS,
|
|
36
|
+
METRIC_PATTERN,
|
|
37
|
+
type MeasureDirection,
|
|
38
|
+
type MeasureMeta,
|
|
34
39
|
PARENT_TARGETS,
|
|
35
40
|
REQUIRED_SECTIONS,
|
|
36
41
|
SPEC_VERSION,
|
|
@@ -77,6 +82,7 @@ const OPTIONAL_COMMON = [
|
|
|
77
82
|
"tips",
|
|
78
83
|
"slice",
|
|
79
84
|
"verification",
|
|
85
|
+
"measure",
|
|
80
86
|
] as const;
|
|
81
87
|
const KNOWN_KEYS = new Set<string>([...REQUIRED_COMMON, ...OPTIONAL_COMMON]);
|
|
82
88
|
const LINK_FIELDS = LINK_KINDS.filter((kind) => kind !== "parent") as Exclude<LinkKind, "parent">[];
|
|
@@ -424,6 +430,16 @@ function readMeta(s: Record<string, unknown>, problem: Problem): ArtifactMeta |
|
|
|
424
430
|
"Add `verification:` with method, locator and selector (Core §8).",
|
|
425
431
|
);
|
|
426
432
|
}
|
|
433
|
+
let measure: MeasureMeta | undefined;
|
|
434
|
+
if (Object.hasOwn(s, "measure") && s.measure !== null) {
|
|
435
|
+
measure = readMeasure(s.measure, `${base}/measure`, problem) ?? undefined;
|
|
436
|
+
} else if (!Object.hasOwn(s, "measure") && type === "measure") {
|
|
437
|
+
problem(
|
|
438
|
+
`${base}/measure`,
|
|
439
|
+
"A measure must carry the `measure` metadata block.",
|
|
440
|
+
"Add `measure:` with metric, baseline, target, window and source (Core §6).",
|
|
441
|
+
);
|
|
442
|
+
}
|
|
427
443
|
|
|
428
444
|
if (!usable || type === null || audiences === null) return null;
|
|
429
445
|
const meta: ArtifactMeta = {
|
|
@@ -447,6 +463,7 @@ function readMeta(s: Record<string, unknown>, problem: Problem): ArtifactMeta |
|
|
|
447
463
|
if (tips !== undefined) meta.tips = tips;
|
|
448
464
|
if (slice !== undefined) meta.slice = slice;
|
|
449
465
|
if (verification !== undefined) meta.verification = verification;
|
|
466
|
+
if (measure !== undefined) meta.measure = measure;
|
|
450
467
|
return meta;
|
|
451
468
|
}
|
|
452
469
|
|
|
@@ -845,6 +862,73 @@ function readVerification(value: unknown, field: string, problem: Problem): Veri
|
|
|
845
862
|
};
|
|
846
863
|
}
|
|
847
864
|
|
|
865
|
+
const MEASURE_KEYS = ["metric", "baseline", "target", "window", "source", "direction"] as const;
|
|
866
|
+
|
|
867
|
+
function readMeasure(value: unknown, field: string, problem: Problem): MeasureMeta | null {
|
|
868
|
+
if (!isRecord(value)) {
|
|
869
|
+
problem(
|
|
870
|
+
field,
|
|
871
|
+
"`measure` must be a mapping with metric, baseline, target, window and source.",
|
|
872
|
+
"Write the five keys under `measure:`; `direction` is optional (Core §6).",
|
|
873
|
+
);
|
|
874
|
+
return null;
|
|
875
|
+
}
|
|
876
|
+
let ok = true;
|
|
877
|
+
for (const key of Object.keys(value).sort(compareStrings)) {
|
|
878
|
+
if (!(MEASURE_KEYS as readonly string[]).includes(key)) {
|
|
879
|
+
problem(
|
|
880
|
+
`${field}/${pointerToken(key)}`,
|
|
881
|
+
`Unknown measure key \`${key}\`.`,
|
|
882
|
+
"The keys are metric, baseline, target, window, source and direction.",
|
|
883
|
+
);
|
|
884
|
+
ok = false;
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
if (typeof value.metric !== "string" || !METRIC_PATTERN.test(value.metric)) {
|
|
888
|
+
problem(
|
|
889
|
+
`${field}/metric`,
|
|
890
|
+
"`measure.metric` must be an identifier: lower case letters and digits, words joined by `_` or `-`.",
|
|
891
|
+
"Name the metric the way the evidence source names it, such as median_time_to_intervention.",
|
|
892
|
+
);
|
|
893
|
+
ok = false;
|
|
894
|
+
}
|
|
895
|
+
const guidance: Record<"baseline" | "target" | "window" | "source", string> = {
|
|
896
|
+
baseline: `Give the value before the change, or the literal ${BASELINE_UNKNOWN} when none has been taken.`,
|
|
897
|
+
target: "Give the value or threshold that would show the outcome was achieved.",
|
|
898
|
+
window: "Say when the measure is read, such as `90 days after pilot-1`.",
|
|
899
|
+
source: "Name an entry in registries.yaml's evidenceSources, where the evidence is expected to come from.",
|
|
900
|
+
};
|
|
901
|
+
for (const key of ["baseline", "target", "window", "source"] as const) {
|
|
902
|
+
if (typeof value[key] !== "string" || value[key] === "") {
|
|
903
|
+
problem(`${field}/${key}`, `\`measure.${key}\` must be a non-empty string.`, guidance[key]);
|
|
904
|
+
ok = false;
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
let direction: MeasureDirection | undefined;
|
|
908
|
+
if (Object.hasOwn(value, "direction") && value.direction !== null) {
|
|
909
|
+
if (typeof value.direction === "string" && (MEASURE_DIRECTIONS as readonly string[]).includes(value.direction)) {
|
|
910
|
+
direction = value.direction as MeasureDirection;
|
|
911
|
+
} else {
|
|
912
|
+
problem(
|
|
913
|
+
`${field}/direction`,
|
|
914
|
+
"`measure.direction` must be increase or decrease.",
|
|
915
|
+
"Say which way the metric moves when the outcome is achieved, or leave `direction` out.",
|
|
916
|
+
);
|
|
917
|
+
ok = false;
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
if (!ok) return null;
|
|
921
|
+
const measure: MeasureMeta = {
|
|
922
|
+
metric: value.metric as string,
|
|
923
|
+
baseline: value.baseline as string,
|
|
924
|
+
target: value.target as string,
|
|
925
|
+
window: value.window as string,
|
|
926
|
+
source: value.source as string,
|
|
927
|
+
};
|
|
928
|
+
if (direction !== undefined) measure.direction = direction;
|
|
929
|
+
return measure;
|
|
930
|
+
}
|
|
931
|
+
|
|
848
932
|
/** Core §6: a level-one heading equal to the title and the type's level-two sections, outside code fences. */
|
|
849
933
|
function checkSections(
|
|
850
934
|
input: DocumentInput,
|
package/src/export.ts
CHANGED
|
@@ -57,7 +57,7 @@ export interface ExportMeta {
|
|
|
57
57
|
reports?: ExportReports;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
/** spec/export.md: the `intentset/export/0.
|
|
60
|
+
/** spec/export.md: the `intentset/export/0.3` envelope over a validation result. */
|
|
61
61
|
export function exportGraph(result: ValidationResult, registries: Registries, meta: ExportMeta): ExportEnvelope {
|
|
62
62
|
const { graph } = result;
|
|
63
63
|
const withheld = withheldIds(result, meta.includeRestricted === true);
|
|
@@ -220,6 +220,18 @@ function exportArtifact(
|
|
|
220
220
|
locator: meta.verification.locator,
|
|
221
221
|
selector: meta.verification.selector,
|
|
222
222
|
},
|
|
223
|
+
measure:
|
|
224
|
+
meta.measure === undefined
|
|
225
|
+
? null
|
|
226
|
+
: {
|
|
227
|
+
metric: meta.measure.metric,
|
|
228
|
+
baseline: meta.measure.baseline,
|
|
229
|
+
target: meta.measure.target,
|
|
230
|
+
window: meta.measure.window,
|
|
231
|
+
source: meta.measure.source,
|
|
232
|
+
direction: meta.measure.direction ?? null,
|
|
233
|
+
},
|
|
234
|
+
tips: meta.tips === undefined ? null : (sortKeysDeep(meta.tips) as Record<string, string>),
|
|
223
235
|
extensions: meta.extensions === undefined ? null : (sortKeysDeep(meta.extensions) as Record<string, unknown>),
|
|
224
236
|
};
|
|
225
237
|
if (includeBody) exported.body = artifact.body;
|
|
@@ -329,6 +341,7 @@ function exportRegistries(registries: Registries, withheld: ReadonlySet<string>)
|
|
|
329
341
|
roles: [...registries.roles].sort(compareStrings),
|
|
330
342
|
editions: [...registries.editions].sort(compareStrings),
|
|
331
343
|
flags: [...registries.flags].sort(compareStrings),
|
|
344
|
+
evidenceSources: [...registries.evidenceSources].sort(compareStrings),
|
|
332
345
|
resources: [...registries.resources]
|
|
333
346
|
.map((resource) => ({
|
|
334
347
|
id: resource.id,
|
package/src/read-export.ts
CHANGED
|
@@ -26,10 +26,14 @@ import {
|
|
|
26
26
|
ID_PATTERN,
|
|
27
27
|
LEVELS,
|
|
28
28
|
LINK_KINDS,
|
|
29
|
+
MEASURE_DIRECTIONS,
|
|
30
|
+
METRIC_PATTERN,
|
|
29
31
|
OWNERSHIP_REGIONS,
|
|
30
32
|
STATUSES,
|
|
31
33
|
SUPPORTED_EXPORT_CONTRACTS,
|
|
32
34
|
ARTIFACT_TYPES,
|
|
35
|
+
TIP_MAX_LENGTH,
|
|
36
|
+
TIP_PATTERN,
|
|
33
37
|
VISIBILITIES,
|
|
34
38
|
} from "./types.ts";
|
|
35
39
|
|
|
@@ -77,7 +81,10 @@ const COMMIT = /^[0-9a-f]{40}(?:[0-9a-f]{24})?$/;
|
|
|
77
81
|
const GENERATED_AT = /^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]+)?(?:Z|[+-][0-9]{2}:[0-9]{2})$/;
|
|
78
82
|
const TIMESTAMP =
|
|
79
83
|
/^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](?:\.[0-9]{1,9})?Z$/;
|
|
84
|
+
/** Intentset's codes, for every origin but syntax. */
|
|
80
85
|
const CODE = /^[A-Z]+[0-9]{3}$/;
|
|
86
|
+
/** Markset's own codes, which a diagnostic with origin syntax carries unchanged (§1): a host never renames them. */
|
|
87
|
+
const MARKSET_CODE = /^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)+$/;
|
|
81
88
|
const POINTER = /^(?:\/.*)?$/;
|
|
82
89
|
const PROFILE = /^intentset\/[a-z]+\/0\.1$/;
|
|
83
90
|
const EXTENSION_KEY = /^[^/]+\/.+$/;
|
|
@@ -334,7 +341,16 @@ class Shape {
|
|
|
334
341
|
["location", "field"],
|
|
335
342
|
);
|
|
336
343
|
if (d === null) return;
|
|
337
|
-
|
|
344
|
+
if (d.origin === "syntax") {
|
|
345
|
+
this.string(
|
|
346
|
+
d.code,
|
|
347
|
+
`${at}/code`,
|
|
348
|
+
MARKSET_CODE,
|
|
349
|
+
"a Markset code such as DIRECTIVE_UNKNOWN_NAME, as the origin is syntax",
|
|
350
|
+
);
|
|
351
|
+
} else {
|
|
352
|
+
this.string(d.code, `${at}/code`, CODE, "an Intentset code such as CORE003");
|
|
353
|
+
}
|
|
338
354
|
this.oneOf(d.severity, `${at}/severity`, ["error", "warning"]);
|
|
339
355
|
this.oneOf(d.origin, `${at}/origin`, [
|
|
340
356
|
"syntax",
|
|
@@ -364,9 +380,18 @@ class Shape {
|
|
|
364
380
|
|
|
365
381
|
registries(value: unknown): void {
|
|
366
382
|
const at = "/registries";
|
|
367
|
-
const r = this.object(value, at, [
|
|
383
|
+
const r = this.object(value, at, [
|
|
384
|
+
"owners",
|
|
385
|
+
"audiences",
|
|
386
|
+
"releases",
|
|
387
|
+
"roles",
|
|
388
|
+
"editions",
|
|
389
|
+
"flags",
|
|
390
|
+
"evidenceSources",
|
|
391
|
+
"resources",
|
|
392
|
+
]);
|
|
368
393
|
if (r === null) return;
|
|
369
|
-
for (const key of ["owners", "audiences", "releases", "roles", "editions", "flags"])
|
|
394
|
+
for (const key of ["owners", "audiences", "releases", "roles", "editions", "flags", "evidenceSources"])
|
|
370
395
|
this.strings(r[key], `${at}/${key}`);
|
|
371
396
|
this.array(r.resources, `${at}/resources`, (resource, p) => {
|
|
372
397
|
const x = this.object(resource, p, ["id", "path", "owner", "consumers"]);
|
|
@@ -401,6 +426,8 @@ class Shape {
|
|
|
401
426
|
"availability",
|
|
402
427
|
"slice",
|
|
403
428
|
"verification",
|
|
429
|
+
"measure",
|
|
430
|
+
"tips",
|
|
404
431
|
"extensions",
|
|
405
432
|
],
|
|
406
433
|
["body"],
|
|
@@ -444,6 +471,27 @@ class Shape {
|
|
|
444
471
|
this.string(v.locator, `${p}/locator`);
|
|
445
472
|
this.string(v.selector, `${p}/selector`);
|
|
446
473
|
});
|
|
474
|
+
this.nullable(a.measure, `${at}/measure`, (x, p) => {
|
|
475
|
+
const m = this.object(x, p, ["metric", "baseline", "target", "window", "source", "direction"]);
|
|
476
|
+
if (m === null) return;
|
|
477
|
+
this.string(m.metric, `${p}/metric`, METRIC_PATTERN, "a metric identifier such as median_time_to_intervention");
|
|
478
|
+
for (const key of ["baseline", "target", "window", "source"]) this.string(m[key], `${p}/${key}`);
|
|
479
|
+
this.nullable(m.direction, `${p}/direction`, (d, q) => this.oneOf(d, q, MEASURE_DIRECTIONS));
|
|
480
|
+
});
|
|
481
|
+
this.nullable(a.tips, `${at}/tips`, (x, p) => {
|
|
482
|
+
if (!isRecord(x)) {
|
|
483
|
+
this.fail(p, "Expected an object of tips by explained ID.");
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
for (const key of Object.keys(x).sort(compareStrings)) {
|
|
487
|
+
const q = `${p}/${key}`;
|
|
488
|
+
if (!ID_PATTERN.test(key)) this.fail(q, "Expected an artifact ID as the key.");
|
|
489
|
+
const tip = x[key];
|
|
490
|
+
if (typeof tip !== "string" || tip.length > TIP_MAX_LENGTH || !TIP_PATTERN.test(tip)) {
|
|
491
|
+
this.fail(q, `Expected one line of plain text, at most ${TIP_MAX_LENGTH} characters.`);
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
});
|
|
447
495
|
this.nullable(a.extensions, `${at}/extensions`, (x, p) => this.extensions(x, p));
|
|
448
496
|
if (Object.hasOwn(a, "body") && typeof a.body !== "string") this.fail(`${at}/body`, "Expected a string.");
|
|
449
497
|
}
|
package/src/registries.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The repository registries (Core §4, §7; VSA §3): owners, audiences, the
|
|
3
|
-
* four release dimensions, and the shared-resource inventory. The file is
|
|
2
|
+
* The repository registries (Core §4, §6, §7; VSA §3): owners, audiences, the
|
|
3
|
+
* four release dimensions, the evidence sources measures name, and the shared-resource inventory. The file is
|
|
4
4
|
* `registries.yaml` in the shape of examples/scheduling/registries.yaml.
|
|
5
5
|
* A missing or empty file is empty registries, which the validator reads as
|
|
6
6
|
* "not declared" rather than "nothing allowed".
|
|
@@ -10,7 +10,7 @@ import { compareStrings, isRecord, makeDiagnostic } from "./report.ts";
|
|
|
10
10
|
import { EMPTY_REGISTRIES, ID_PATTERN, type Registries, type Resource } from "./types.ts";
|
|
11
11
|
import { parseYamlDetailed } from "./yaml.ts";
|
|
12
12
|
|
|
13
|
-
const LIST_KEYS = ["owners", "audiences", "releases", "roles", "editions", "flags"] as const;
|
|
13
|
+
const LIST_KEYS = ["owners", "audiences", "releases", "roles", "editions", "flags", "evidenceSources"] as const;
|
|
14
14
|
const KNOWN_KEYS = new Set<string>([...LIST_KEYS, "resources"]);
|
|
15
15
|
|
|
16
16
|
/**
|
package/src/types.ts
CHANGED
|
@@ -10,6 +10,7 @@ export const ARTIFACT_TYPES = [
|
|
|
10
10
|
"product",
|
|
11
11
|
"intent",
|
|
12
12
|
"outcome",
|
|
13
|
+
"measure",
|
|
13
14
|
"capability",
|
|
14
15
|
"behavior",
|
|
15
16
|
"rule",
|
|
@@ -75,6 +76,7 @@ export const LINK_ENDPOINTS: Record<
|
|
|
75
76
|
export const PARENT_TARGETS: Partial<Record<ArtifactType, readonly ArtifactType[]>> = {
|
|
76
77
|
intent: ["product"],
|
|
77
78
|
outcome: ["intent"],
|
|
79
|
+
measure: ["outcome"],
|
|
78
80
|
capability: ["outcome", "capability"],
|
|
79
81
|
behavior: ["capability"],
|
|
80
82
|
};
|
|
@@ -84,6 +86,7 @@ export const REQUIRED_SECTIONS: Record<ArtifactType, readonly string[]> = {
|
|
|
84
86
|
product: ["Scope"],
|
|
85
87
|
intent: ["Rationale"],
|
|
86
88
|
outcome: ["Measure"],
|
|
89
|
+
measure: ["Method"],
|
|
87
90
|
capability: ["Overview"],
|
|
88
91
|
behavior: ["Behavior", "Preconditions", "Outcomes"],
|
|
89
92
|
rule: ["Constraint"],
|
|
@@ -135,6 +138,28 @@ export interface VerificationMeta {
|
|
|
135
138
|
selector: string;
|
|
136
139
|
}
|
|
137
140
|
|
|
141
|
+
export const MEASURE_DIRECTIONS = ["increase", "decrease"] as const;
|
|
142
|
+
export type MeasureDirection = (typeof MEASURE_DIRECTIONS)[number];
|
|
143
|
+
|
|
144
|
+
/** Core §6: a metric identifier, lower case, words joined by `_` or `-`. */
|
|
145
|
+
export const METRIC_PATTERN = /^[a-z][a-z0-9]*(?:[_-][a-z0-9]+)*$/;
|
|
146
|
+
|
|
147
|
+
/** The literal a measure's baseline carries when none has been taken yet (Core §6). */
|
|
148
|
+
export const BASELINE_UNKNOWN = "unknown";
|
|
149
|
+
|
|
150
|
+
/** Core §6 measure metadata: how the parent outcome is judged. */
|
|
151
|
+
export interface MeasureMeta {
|
|
152
|
+
metric: string;
|
|
153
|
+
/** A value, or `unknown` (BASELINE_UNKNOWN). */
|
|
154
|
+
baseline: string;
|
|
155
|
+
target: string;
|
|
156
|
+
/** When the measure is read, relative to a release or a date; prose, not parsed. */
|
|
157
|
+
window: string;
|
|
158
|
+
/** An entry in the repository's `evidenceSources` registry. */
|
|
159
|
+
source: string;
|
|
160
|
+
direction?: MeasureDirection;
|
|
161
|
+
}
|
|
162
|
+
|
|
138
163
|
/** The `intentset` block of a document's frontmatter after validation, Core §4. */
|
|
139
164
|
export interface ArtifactMeta {
|
|
140
165
|
spec: typeof SPEC_VERSION;
|
|
@@ -158,6 +183,7 @@ export interface ArtifactMeta {
|
|
|
158
183
|
tips?: Record<string, string>;
|
|
159
184
|
slice?: SliceMeta;
|
|
160
185
|
verification?: VerificationMeta;
|
|
186
|
+
measure?: MeasureMeta;
|
|
161
187
|
}
|
|
162
188
|
|
|
163
189
|
export interface Heading {
|
|
@@ -234,6 +260,8 @@ export interface Registries {
|
|
|
234
260
|
roles: string[];
|
|
235
261
|
editions: string[];
|
|
236
262
|
flags: string[];
|
|
263
|
+
/** Where a measure's evidence is expected to come from (Core §6): an analytics product, a study, a survey. */
|
|
264
|
+
evidenceSources: string[];
|
|
237
265
|
resources: Resource[];
|
|
238
266
|
}
|
|
239
267
|
|
|
@@ -244,6 +272,7 @@ export const EMPTY_REGISTRIES: Registries = {
|
|
|
244
272
|
roles: [],
|
|
245
273
|
editions: [],
|
|
246
274
|
flags: [],
|
|
275
|
+
evidenceSources: [],
|
|
247
276
|
resources: [],
|
|
248
277
|
};
|
|
249
278
|
|
|
@@ -303,11 +332,12 @@ export interface ImpactReport {
|
|
|
303
332
|
}
|
|
304
333
|
|
|
305
334
|
/**
|
|
306
|
-
* The versioned export envelope (spec/export.md; spec/export.schema.json). 0.2
|
|
307
|
-
* the first version a consumer
|
|
308
|
-
* restricted artifacts by default (ADR 0008).
|
|
335
|
+
* The versioned export envelope (spec/export.md; spec/export.schema.json). 0.2 was
|
|
336
|
+
* the first version a consumer could pin: 0.1 carried untyped report slots and
|
|
337
|
+
* restricted artifacts by default (ADR 0008). 0.3 added the measure type, the
|
|
338
|
+
* `evidenceSources` registry, and `measure` and `tips` on every artifact (ADR 0012).
|
|
309
339
|
*/
|
|
310
|
-
export const EXPORT_CONTRACT = "intentset/export/0.
|
|
340
|
+
export const EXPORT_CONTRACT = "intentset/export/0.3";
|
|
311
341
|
|
|
312
342
|
/** The contracts this implementation reads. A consumer rejects every other value (spec/export.md §5). */
|
|
313
343
|
export const SUPPORTED_EXPORT_CONTRACTS: readonly string[] = [EXPORT_CONTRACT];
|
|
@@ -338,6 +368,10 @@ export interface ExportArtifact {
|
|
|
338
368
|
availability: Availability | null;
|
|
339
369
|
slice: SliceMeta | null;
|
|
340
370
|
verification: VerificationMeta | null;
|
|
371
|
+
/** Null unless the artifact is a measure; `direction` is null when the author set none. */
|
|
372
|
+
measure: (Omit<MeasureMeta, "direction"> & { direction: MeasureDirection | null }) | null;
|
|
373
|
+
/** Null unless the artifact is knowledge with tips (Core §9). */
|
|
374
|
+
tips: Record<string, string> | null;
|
|
341
375
|
extensions: Record<string, unknown> | null;
|
|
342
376
|
/** Present only when the export was asked to include bodies. */
|
|
343
377
|
body?: string;
|
package/src/validate.ts
CHANGED
|
@@ -414,6 +414,18 @@ function checkLifecycle(context: Context): void {
|
|
|
414
414
|
});
|
|
415
415
|
}
|
|
416
416
|
}
|
|
417
|
+
if (meta.measure !== undefined) {
|
|
418
|
+
if (registries.evidenceSources.length === 0) use("evidenceSources");
|
|
419
|
+
else if (!registries.evidenceSources.includes(meta.measure.source)) {
|
|
420
|
+
reportOn(context, artifact, {
|
|
421
|
+
code: "CORE005",
|
|
422
|
+
field: "/intentset/measure/source",
|
|
423
|
+
message: `measure source ${meta.measure.source} is not in the evidenceSources registry.`,
|
|
424
|
+
remediation:
|
|
425
|
+
"Add the analytics product, study or survey to registries.yaml evidenceSources, or name a registered source.",
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
}
|
|
417
429
|
meta.slice?.usesResources.forEach((resource, i) => {
|
|
418
430
|
if (registries.resources.length === 0) use("resources");
|
|
419
431
|
else if (!resourceIds.has(resource)) {
|
|
@@ -465,12 +477,22 @@ interface Requirement {
|
|
|
465
477
|
remediation: string;
|
|
466
478
|
/** Core §5 names no active obligation for this type; only the draft warning applies. */
|
|
467
479
|
draftOnly?: boolean;
|
|
480
|
+
/** Only edges from these types count: an outcome is judged by its measures, not by the capabilities under it. */
|
|
481
|
+
fromTypes?: readonly ArtifactType[];
|
|
468
482
|
}
|
|
469
483
|
|
|
470
484
|
function requirement(artifact: Artifact): Requirement | null {
|
|
471
485
|
const { meta } = artifact;
|
|
472
486
|
const id = meta.id;
|
|
473
487
|
switch (meta.type) {
|
|
488
|
+
case "outcome":
|
|
489
|
+
return {
|
|
490
|
+
kinds: ["parent"],
|
|
491
|
+
direction: "in",
|
|
492
|
+
fromTypes: ["measure"],
|
|
493
|
+
message: "no measure names it as parent, so nothing says how it will be judged",
|
|
494
|
+
remediation: `Add a measure record with \`parent: ${id}\` carrying metric, baseline, target, window and source (Core §6).`,
|
|
495
|
+
};
|
|
474
496
|
case "rule":
|
|
475
497
|
return {
|
|
476
498
|
kinds: ["governedBy"],
|
|
@@ -529,18 +551,27 @@ function requirement(artifact: Artifact): Requirement | null {
|
|
|
529
551
|
}
|
|
530
552
|
|
|
531
553
|
/**
|
|
532
|
-
* Core §5 and VSA §3: active rules, scenarios, verifications, knowledge and
|
|
533
|
-
* product slices are attached
|
|
534
|
-
* and decisions nothing refers to, are
|
|
554
|
+
* Core §5, §6 and VSA §3: active rules, scenarios, verifications, knowledge and
|
|
555
|
+
* product slices are attached, and an active outcome has a measure (CORE003).
|
|
556
|
+
* Their drafts, and draft contracts and decisions nothing refers to, are
|
|
557
|
+
* unattached drafts (CORE009, warning).
|
|
535
558
|
*/
|
|
536
559
|
function checkAttachment(context: Context): void {
|
|
537
560
|
const { graph } = context;
|
|
538
561
|
for (const artifact of sortedArtifacts(graph)) {
|
|
539
562
|
const need = requirement(artifact);
|
|
540
563
|
if (need === null || artifact.meta.status === "retired") continue;
|
|
541
|
-
const edges = need.kinds
|
|
542
|
-
|
|
543
|
-
|
|
564
|
+
const edges = need.kinds
|
|
565
|
+
.flatMap((kind) =>
|
|
566
|
+
need.direction === "in"
|
|
567
|
+
? incomingEdges(graph, artifact.meta.id, kind)
|
|
568
|
+
: outgoing(graph, artifact.meta.id, kind),
|
|
569
|
+
)
|
|
570
|
+
.filter((edge) => {
|
|
571
|
+
if (need.fromTypes === undefined) return true;
|
|
572
|
+
const from = graph.artifacts.get(edge.from);
|
|
573
|
+
return from !== undefined && need.fromTypes.includes(from.meta.type);
|
|
574
|
+
});
|
|
544
575
|
if (edges.length > 0) continue;
|
|
545
576
|
const field = need.direction === "out" ? `/intentset/links/${need.kinds[0]}` : undefined;
|
|
546
577
|
if (artifact.meta.status === "draft") {
|
|
@@ -572,7 +603,7 @@ export function patternProblem(pattern: string): string | null {
|
|
|
572
603
|
return null;
|
|
573
604
|
}
|
|
574
605
|
|
|
575
|
-
/** VSA §3
|
|
606
|
+
/** VSA §3, Core §6 and §8: type-specific blocks on their own type only; technical slices give a rationale and implement nothing; patterns are plain. */
|
|
576
607
|
function checkSlices(context: Context): void {
|
|
577
608
|
const { graph } = context;
|
|
578
609
|
for (const artifact of sortedArtifacts(graph)) {
|
|
@@ -586,6 +617,13 @@ function checkSlices(context: Context): void {
|
|
|
586
617
|
"Remove the verification block, or change the type (Core §8).",
|
|
587
618
|
);
|
|
588
619
|
}
|
|
620
|
+
if (artifact.meta.measure !== undefined && artifact.meta.type !== "measure") {
|
|
621
|
+
profile(
|
|
622
|
+
"/intentset/measure",
|
|
623
|
+
`${id} is ${aType(artifact.meta.type)} and carries measure metadata, which only a measure has.`,
|
|
624
|
+
"Remove the measure block, or change the type (Core §6).",
|
|
625
|
+
);
|
|
626
|
+
}
|
|
589
627
|
const slice = artifact.meta.slice;
|
|
590
628
|
if (slice === undefined) continue;
|
|
591
629
|
if (artifact.meta.type !== "slice") {
|