fluid-core/conformance/fixtures/README.md
tegwick 76912adef8
Some checks failed
ci / build (push) Failing after 1m6s
Generate contract types, pin fixtures to spec, add build and ADRs
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
2026-09-04 02:03:12 +02:00

28 lines
1.3 KiB
Markdown

# 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 |