[ROADMAP] First Client Deploy → Governance — tracker #47
Labels
No labels
bug
discussion
duplicate
enhancement
goal
help wanted
horizon:backlog
horizon:governance
horizon:mvp
invalid
operator-decision
question
roadmap
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
open-platform/mitosis#47
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
First Client Deploy → Governance — the roadmap tracker. All items are
goalissues under the Client Deploy → Governance Roadmap milestone, carrying nativeblockedBydependencies. Two horizons; waves are seam-serialized so parallel agents don't collide onbin/germinate/bin/lib.sh,mcp/src/server.ts(overlay renderer), or the gitops root kustomization.Async substrate (start now, non-blocking)
mainwhen robust; then everything validates through it.Horizon 1 — Client-Deployable MVP (deploy tomorrow)
Horizon 2 — Governance (overlaps H1 where seams allow)
Backlog
Critical path (to GATE): DOM-1a → DOM-1b → RBAC-2 → RBAC-4 → DOM-2 → POL-4/POL-5 → GATE (RBAC-1 gates the RBAC chain). The MVP path (SPINE-2 → SPINE-3 → HYB-1 → SEC-1, DOM-1a in parallel) ships far earlier.
Each
goalissue is written for an autonomous agent that may recurse into its own subagent team. Seam rule: land on a shared seam by rebase; don't start a seam position until the prior one merges.Status reconciliation — 2026-07-01
Verified wave-by-wave against merged PRs on plat/{mitosis,gitops,agents,mcp,_app-template} and issue states, plus today's wb-gate E2E on a fresh
plat.localdaughter. Legend: DONE = merged + issue closed · LANDED/open = code merged, issue open (Audit-mode caveat or acceptance formality outstanding) · PARTIAL · IN-FLIGHT · NOT STARTED.plat.sh/app(intentional); the Enforce flip + acceptance is the remaining scopeShipped today (wb-gate arc, PR #61 + seed): fresh daughter germination activates the WHOLE whiteboard first-try — 10/10 Flux Kustomizations incl. kyverno + kyverno-policies, 12 ClusterPolicies (Audit); full E2E on a fresh
plat.localdaughter: template → agent build → browser review → auto-merge → prod 200 (pulse).Found today (issues + fixes in flight): #63 duplicate system webhook every dispatcher boot (fix: plat/agents#10) · #57 root-caused — reviewer probe used loopback from inside the pod, ~10-min spurious fallback (fix: plat/agents#11) · #64 port-80 serves Forgejo in cleartext (first fix failed validation; rework running on plat/gitops
fix/web-entrypoint-https-redirect) · #62 depth-2 reseed, delivered as PR #65.Next horizon (proposed order)
PLAT_FQDN_EGRESS=1and #13 closes), then the full #46 VPS gate.Additive reconciliation only — no issues were closed or edited; owners of the LANDED/open rows should close on their own acceptance evidence.
Tracker refresh (release engineering lane): 0.7.6 train SHIPPED to prod (agents v0.7.6 = #57+#63+#11 fixes; gitops = #64 redirect + #60-prereq hostNetwork mirror; genesis seed = released train — depth-2+ carry everything). CI-1 (#21) DELIVERED + proven: repo-scoped vxrail runner + coldstart workflow + shared gate script; germinate-touching PRs now auto-validate on a fresh platform (first consumer: #70's PR #72, gate running as this is written). Closed this cycle: #11 #21 #57 #62 #63 #64 (+#2 #15 #38 from the hygiene sweep). Two release-blockers were found BY the RC validation process and fixed same-day (germinate pre-release regex; caddy file-caps EPERM) — the strongest evidence yet for gate-everything. Open decisions for the operator: close-proposals #39/#22/#3; HYB-2 (#35, spends money) vs governance tail (POL Enforce flips #42/#43); #67's reviewer-fallback assertion needs the nightly app-E2E gate variant (sealed credential).
Board cleanup + full status — 2026-07-06
Shipped and live. Prod runs the 0.7.6 train (pod images verified today: agents
0.7.6, mcp0.26.0). Genesis seed = r29, produced and merged by the automated reseed pipeline (#14). Fresh germinations activate the whole whiteboard (Kyverno + baselines, letsencrypt, cosign-signing, forwardAuth, webhook HMAC, credential boundary, fork genealogy).Automation is green unattended. Nightly coldstart gate 4-for-4 since the train shipped (runs 33–36, 07-03→07-06, ~18 min each, incl. app-E2E). Reseed pipeline opened+merged r25/r29 with the no-op guard working (r27 correctly dropped). Nightly prod backups fresh through 2026-07-06 03:35.
Closed in this cleanup (all verified delivered): #3 self-serve domains (DOM-1b mcp v0.24.0 + DOM-1a, proven on product-garden.com) · #39 POL-1 Kyverno landed (gitops#4, 12 ClusterPolicies live) · #40 POL-2 generate-migration (gitops#6 + mcp#8, drift-heal proven, depth-2 evidence) · #69 canary epic (7/7 probes, superseded by the nightly E2E gate).
Remaining — operator decisions (label
operator-decision):Remaining — implementation work:
trim_gitops_leanrewrite — needs re-threading, plus the unmerged gitops branch.PLAT_FQDN_EGRESSand tighten the 443/80 default.Open PR queue: mitosis #8 (conflicted), #9 (design record — the Vault secrets doc is superseded by the shipped Forgejo-native approach), #10 (vision docs, clean merge), #48 (clean merge, closes #36) · plat/gitops#14 (Enforce flip) · plat/agents#2 (stale).
Standing security item: seal a fresh
E2E_CLAUDE_TOKEN— the staged copy is still the 2026-07-01 compromised value.Anomaly noted today: two forgejo-runner job pods in
Erroron k3d-staging (platform services all healthy) — worth a look.