Generate contract types, pin fixtures to spec, add build and ADRs
Some checks failed
ci / build (push) Failing after 1m6s
Some checks failed
ci / build (push) Failing after 1m6s
Completes FLUID-WP-0002. The record types in internal/contract are generated from schemas/ by a dependency-free generator; fixtures transcribed from the spec's worked examples validate against those schemas and round-trip through the generated types with DisallowUnknownFields, so a spec change that misses the schemas fails CI rather than drifting silently. Adds identifier prefix helpers, Makefile, GitHub Actions, and five ADRs recording the Go choice, out-of-process attachment, the wire contract as boundary, the evidence store, and revision identity. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014KmVxhJ35tCo7rE7UnLwWu Assistant: claude-code Assistant-Model: opus Assistant-Process: 1116572@bnt-lap001 Assistant-Session: 8ba9bb93-a72a-4883-b189-2499cce5c400
This commit is contained in:
parent
fbbf56df7a
commit
76912adef8
44 changed files with 4010 additions and 7 deletions
28
conformance/fixtures/README.md
Normal file
28
conformance/fixtures/README.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Schema fixtures
|
||||
|
||||
Every file here is transcribed from a worked example in `spec/`. They exist so
|
||||
that a change to the specification which is not reflected in `schemas/` fails
|
||||
the build.
|
||||
|
||||
Two deviations from the spec text are deliberate and are the only ones allowed:
|
||||
|
||||
1. **Placeholder digests.** The spec writes `sha256:<digest>`. Fixtures use a
|
||||
syntactically valid digest, because the schema constrains the format.
|
||||
2. **Placeholder artifact paths.** The spec writes `contractRef: ...`. Fixtures
|
||||
use a plausible reference.
|
||||
|
||||
Anything else that differs from the spec is a bug in the fixture or in the
|
||||
schema, not a licence to relax the schema.
|
||||
|
||||
| Fixture | Source |
|
||||
|---|---|
|
||||
| `hypothesis.yaml` | `FluidHypothesisRevisionSchema.md` §3 |
|
||||
| `revision.yaml` | `FluidHypothesisRevisionSchema.md` §8 |
|
||||
| `experiment.yaml` | `FluidHypothesisRevisionSchema.md` §12 |
|
||||
| `pressure.yaml` | `FluidHypothesisRevisionSchema.md` §13 |
|
||||
| `backend-requirement.yaml` | `FluidHypothesisRevisionSchema.md` §14 |
|
||||
| `event.yaml` | `FluidHypothesisRevisionSchema.md` §15 |
|
||||
| `revision-descriptor.yaml` | `ArchitectureBlueprint.md` §36 |
|
||||
| `routing-policy.yaml` | `ArchitectureBlueprint.md` §17 |
|
||||
| `feedback.yaml` | `FluidAPIStandards.md` §15, `ArchitectureBlueprint.md` §38 |
|
||||
| `telemetry-envelope.yaml` | `ArchitectureBlueprint.md` §6.1 |
|
||||
Loading…
Add table
Add a link
Reference in a new issue