@typedstandards/civic-typed-harness 0.7.0 → 0.8.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/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
3
3
  Factual record of what changed per published version. Section references are
4
4
  to the Typed Standards specification unless noted otherwise.
5
5
 
6
+ ## 0.8.0 — 2026-10-16
7
+
8
+ The dependency floor (sprint LAYOUT-WEB, F0).
9
+
10
+ - **Dependency floor raised:** `@typedstandards/produce-core` `^0.8.0` →
11
+ `^0.9.0`, and the `@typedstandards/verify-core` devDependency `^0.13.0` →
12
+ `^0.14.0`, the version produce-core 0.9.0 resolves. Under 0.x semver
13
+ `^0.8.0` excludes 0.9.0, so a consumer that pins produce-core `^0.9.0`
14
+ would install a second copy of each core beside this package's.
15
+ - **What the two releases bring.** produce-core 0.9.0 adds `buildLayoutNode`,
16
+ which builds a `content/layout/v1` node, with `CONTENT_LAYOUT` and five
17
+ types, and an optional `layoutNodeId` on `attestation/publishes/v1`,
18
+ emitted only when supplied; an attestation built without it has the same
19
+ bytes as one built by 0.8.0. verify-core 0.14.0 registers
20
+ `content/layout/v1` (check #12 reads `ok` for a layout node) and adds
21
+ `parseStrictJson` and `RepeatedMemberNameError`. The harness reads none of
22
+ these.
23
+ - The lockfile resolves produce-core 0.9.0 and verify-core 0.14.0, one copy
24
+ each, and no other entry moves. The golden byte-compat suite passes
25
+ unchanged.
26
+ - A consumer that pins produce-core 0.8.x no longer shares its copy with this
27
+ package.
28
+ - **README:** the runtime-dependency line names `^0.9.0`.
29
+
6
30
  ## 0.7.0 — 2026-10-15
7
31
 
8
32
  - **The seam inside the harness** ([civic-ai-tools#244](https://github.com/npstorey/civic-ai-tools/issues/244) P2).
package/README.md CHANGED
@@ -77,7 +77,7 @@ An absent attribute is an absent field. A present attribute that does not parse
77
77
 
78
78
  No I/O, no network, no environment reads, no Node built-ins, browser-safe — anywhere in the package. Clock and RNG are permitted **in capture modules only** (span timestamps and ids are what capture *is*) and are injectable for deterministic tests. Enforced mechanically twice: `eslint.config.mjs` (`no-restricted-imports` / `-globals` / `-properties` / `-syntax`) and `src/purity.test.ts` (browser-safety + determinism + module-boundary checks under `node --test`).
79
79
 
80
- Runtime dependency: **`@typedstandards/produce-core` (`^0.8.0`) only.** The verify-core primitives the harness consumes (`sha256Hex`, `isBlobRef`, the canonicalization-rule URIs, the Q32 vocabulary table, the `CaptureMethod` type) are reached through produce-core's 0.2.0 re-exports rather than imported from `@typedstandards/verify-core` directly — one declared dependency, no phantom, and still one hashing implementation across producer, harness, and verifier by construction (produce-core re-exports the same bindings verify-core defines, verified by reference identity).
80
+ Runtime dependency: **`@typedstandards/produce-core` (`^0.9.0`) only.** The verify-core primitives the harness consumes (`sha256Hex`, `isBlobRef`, the canonicalization-rule URIs, the Q32 vocabulary table, the `CaptureMethod` type) are reached through produce-core's 0.2.0 re-exports rather than imported from `@typedstandards/verify-core` directly — one declared dependency, no phantom, and still one hashing implementation across producer, harness, and verifier by construction (produce-core re-exports the same bindings verify-core defines, verified by reference identity).
81
81
 
82
82
  > **Q32 adjacency** (open-questions registry): the captureMethod vocabulary re-exported from `src/format/profiles.ts` is verify-core's hardcoded fallback table, pending versioned, content-addressed guidance bundles. Flagged, not solved, here.
83
83
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typedstandards/civic-typed-harness",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Civic-domain harness for Typed Standards evidence packages — the DOMAIN layer of the ADR-0021 format/domain line: civic PROV-O vocabulary and provenance builder, datHere envelope-policy derivations, and the capture machinery (trace builder, skill-metadata extraction, data-source population, adversarial rubric core). Derives; @typedstandards/produce-core assembles.",
5
5
  "license": "MIT",
6
6
  "author": "Nathan Storey",
@@ -33,10 +33,10 @@
33
33
  "prepublishOnly": "npm run clean && npm run build"
34
34
  },
35
35
  "dependencies": {
36
- "@typedstandards/produce-core": "^0.8.0"
36
+ "@typedstandards/produce-core": "^0.9.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@typedstandards/verify-core": "^0.13.0",
39
+ "@typedstandards/verify-core": "^0.14.0",
40
40
  "@types/node": "^22.20.2",
41
41
  "@typescript-eslint/parser": "^8",
42
42
  "eslint": "^9",