@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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentset/core",
3
- "version": "0.5.0",
3
+ "version": "0.6.1",
4
4
  "description": "Intentset core: the frontmatter carrier, typed graph, validator, impact traversal and export. No dependencies.",
5
5
  "license": "MIT",
6
6
  "type": "module",
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.2` envelope over a validation result. */
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,
@@ -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
- this.string(d.code, `${at}/code`, CODE, "a diagnostic code such as CORE003");
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, ["owners", "audiences", "releases", "roles", "editions", "flags", "resources"]);
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 is
307
- * the first version a consumer may pin: 0.1 carried untyped report slots and
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.2";
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 (CORE003). Their drafts, and draft contracts
534
- * and decisions nothing refers to, are unattached drafts (CORE009, warning).
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.flatMap((kind) =>
542
- need.direction === "in" ? incomingEdges(graph, artifact.meta.id, kind) : outgoing(graph, artifact.meta.id, kind),
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 and Core §8: type-specific blocks on their own type only; technical slices give a rationale and implement nothing; patterns are plain. */
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") {