Repository navigation
Open
Labels
area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.homelab-deploy, deploy-v2, manifests, and rollout flow.priority: P3Low; backlog, cleanup, or opportunistic work.Low; backlog, cleanup, or opportunistic work.status: ready-for-agentFully specified; an agent may take it with nobody watching.Fully specified; an agent may take it with nobody watching.type: featureNew user-facing or operator-facing capability.New user-facing or operator-facing capability.
Description
Parent
What to build
Three operations the chapters do by hand become use-cases over the same core:
- Query: the readers of a Secret Store path, the consumers of a surface, the readers of an exposure. Today chapter 10 answers these with
grep -rover env files. - Diff: two Resolved Deployments compared by element identity and trace, not by line. This is the review surface 0029 describes.
- Harvest: live manifests read into candidate Project Intent, with whatever cannot be expressed written to a ledger. It serves adoption (chapter 60) and 0005's render-and-diff. Harvest reads live state at adoption time only; chapter 60 says so, which keeps 0006's rule about renders intact.
Parity
Not a parity case. Query, diff and harvest are TypeScript use-cases only; the Java implementation under emf/ implements the graded pipeline (parse, validate, resolve, render) and nothing else.
Acceptance criteria
- Each query answers, over fixtures, what the chapter's grep answers.
- A diff of two projections reports the changed decisions by element.
- Harvesting one rendered example tree yields intent that renders back to that tree, apart from ledgered residue.
Blocked by
Metadata
Metadata
Assignees
Labels
area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.homelab-deploy, deploy-v2, manifests, and rollout flow.priority: P3Low; backlog, cleanup, or opportunistic work.Low; backlog, cleanup, or opportunistic work.status: ready-for-agentFully specified; an agent may take it with nobody watching.Fully specified; an agent may take it with nobody watching.type: featureNew user-facing or operator-facing capability.New user-facing or operator-facing capability.
Activity
ExtraToast commentedon Oct 9, 2026
Re-scoped by Decide the fate of the open work that predates the map
Query and harvest go with the model-as-code epic (#35, closed). This issue now covers the one-off per-handover diff of a Project's render against fleet-infra's hand-written objects for that Project, which #346 put in place of the reconciliation ledgers. It is a tool, not a model rule.