Skip to content

feat: integrator kit bootstrap + conformance harness#410

Merged
jithinraj merged 6 commits intomainfrom
feat/integrator-kit
Feb 23, 2026
Merged

feat: integrator kit bootstrap + conformance harness#410
jithinraj merged 6 commits intomainfrom
feat/integrator-kit

Conversation

@jithinraj
Copy link
Member

Summary

  • Bootstrap integrator kit templates for ecosystem partners
  • Add CLI conformance harness for running fixture validation

Integrator kits

Kit Status
template/ Complete: README, integration guide, security FAQ, fixture drop zone
mcp/ Scaffold: awaiting @peac/mappings-mcp in v0.11.1
a2a/ Scaffold: awaiting @peac/mappings-a2a in v0.11.1
acp/ Scaffold: planned for v0.11.2+
x402/ Scaffold: see @peac/rails-stripe for existing adapter
content-signals/ Scaffold: planned for v0.11.2

Conformance harness

pnpm exec tsx scripts/conformance-harness.ts --adapter core --format pretty
  • Runs fixtures from specs/conformance/fixtures/ against validators
  • JSON (default) or pretty output format
  • Deterministic ordering and stable report schema
  • Core adapter validates 10 fixture categories
  • 29/87 fixtures pass, 14 fail (Wire 0.1 format mismatch), 44 skipped (no validator)

Test plan

  • Harness runs and produces valid JSON report
  • Pretty format produces human-readable output
  • Deterministic ordering verified
  • Exit code reflects pass/fail status
  • All gates clean (lint, build, format, guard)

Migrate all 9 packages from Zod 3.22.x to Zod 4.3.6. This is a
breaking change for downstream TypeScript consumers who compile
against exported @peac/schema types (z.infer<> types are not
assignment-compatible across Zod majors).

Schema changes:
- z.record() single-arg form removed in Zod 4: add explicit
  z.string() key schema in 5 locations (schema, control, mcp-server)
- .default({}) on object schemas requires output-type-compatible
  values in Zod 4: use .prefault({}) for input-type defaults (policy.ts)
- ZodError.errors alias removed: use .issues in test assertions
- issue.path typed as PropertyKey[] (was (string | number)[]): add
  casts at 2 call sites (protocol/issue.ts, cli/validators.ts)

No behavioral changes to schema validation, receipt issuance, or
verification. All 4138 tests pass across 167 test files.

Workspace enforcement:
- pnpm.overrides forces zod@^4.3.6 across all workspace packages
- Prevents mixed Zod 3/4 which causes runtime TypeError
Add integrator kit templates for ecosystem partners and a CLI
conformance harness for running fixtures against validators.

Integrator kits:
- template/: base kit with README, integration guide, security FAQ
- mcp/, a2a/, acp/, x402/, content-signals/: ecosystem scaffolds

Conformance harness (scripts/conformance-harness.ts):
- Runs fixtures from specs/conformance/fixtures/ against validators
- JSON (default) or pretty output format
- Deterministic ordering, stable report schema
- Exit code 0 = pass, 1 = failures
- Core adapter: validates 10 fixture categories via @peac/schema
@jithinraj jithinraj changed the base branch from feat/zod4-schema to main February 22, 2026 20:59
@jithinraj jithinraj changed the title feat: integrator kit bootstrap + conformance harness (DD-122) feat: integrator kit bootstrap + conformance harness Feb 23, 2026
@jithinraj jithinraj merged commit fe4b01d into main Feb 23, 2026
7 checks passed
@jithinraj jithinraj deleted the feat/integrator-kit branch February 24, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant