Repository navigation
Closed
Labels
area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.homelab-deploy, deploy-v2, manifests, and rollout flow.component: testsUnit, integration, system, or contract test concern.Unit, integration, system, or contract test concern.priority: P1High; important and should be handled in the current iteration.High; important and should be handled in the current iteration.type: testTest coverage, fixtures, or validation changes.Test coverage, fixtures, or validation changes.
Description
Parent
What to build
The prefactor that unblocks both implementations. Today no oracle file exists, so the Java Task 1 work would wait on #38, which waits on #30. Oracle files are reviewed by hand in any case, so the first ones are written by hand.
- The TypeScript canonical JSON writer: RFC 8785, absent optional fields omitted, never
null. - The
minimalcase gains its parsed Project Intent and its resolved dependency edges (dependencies.json, empty forminimal, which declares no dependency) as canonical JSON oracles. (Amended 2026-09-14.) Its Resolved Deployment oracle moves to Give the Resolved Deployment a metamodel and validate the worked projection #42, because the model-word shape of layer 2 is what Give the Resolved Deployment a metamodel and validate the worked projection #42 designs, and a hand-written one here would decide it first. The oracles are written and reviewed by hand against chapters 10 and 20. It is layer 2 in model words, with no Kubernetes or Traefik spelling. - A root test that fails on any committed oracle file that is not byte-identical to its own canonicalisation, so a hand edit cannot leave an oracle non-canonical.
- The parity contract states the ownership rule: whichever implementation lands first commits the reviewed oracle, and the other matches it. CI never regenerates an oracle.
Acceptance criteria
-
minimalcarries a canonical parsed-intent oracle and a canonicaldependencies.json. - Reformatting any oracle file (key order, whitespace, a
null) fails the canonical-form test. - The parity contract states the ownership rule, and
npm run verifypasses.
Blocked by
None (can start immediately).
Metadata
Metadata
Assignees
Labels
area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.homelab-deploy, deploy-v2, manifests, and rollout flow.component: testsUnit, integration, system, or contract test concern.Unit, integration, system, or contract test concern.priority: P1High; important and should be handled in the current iteration.High; important and should be handled in the current iteration.type: testTest coverage, fixtures, or validation changes.Test coverage, fixtures, or validation changes.
Activity