Plan: Kubernetes-native subprocess + pod-exec worker hosts (#291)#316
Merged
Conversation
Plan for #291. Adds docs/plans/eden-phase-13f-k8s-worker-modes.md: per-role workers.<role>.mode chart values (subprocess in-pod for all three roles; pod-exec per-task k8s Jobs for executor + evaluator), experiment-image story, shared-artifacts-PVC interim (#285/#290 reconciliation), bundled env-isolation + claim-expiry host changes, publisher-container credential confinement with quarantine-fetch + push read-back ladder, opt-in namespace RBAC, and two kind smokes. 13f subsumes 13b (#172): the 13b plan gets a superseded banner (the docs/archive move rides 13f's final wave), the roadmap 13b line is re-pointed, and a 13f roadmap line is added. #172 closes when the pod-exec wave ships. Plan-stage codex-review record (4 rounds to convergence) committed under docs/plans/review/eden-phase-13f-k8s-worker-modes/. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7e270b4 to
8acb404
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this is
Plan for #291 (plan stage only — no implementation). Adds
docs/plans/eden-phase-13f-k8s-worker-modes.md, the chunk plan for bringing user-supplied*_commandworker modes to the Helm/Kubernetes substrate: the merged 13a chart runs scripted-mode reference workers only, so today "infra validates on EKS" but real experiments can't run there.What the plan resolves
FROM eden-reference, emptyDir worktrees, per-roleworkers.<role>.modevalues, repeatable--*-env-fileplumbing.batch/v1Jobs with init/user/reporter-publisher container trust split, quarantine-fetch + three-outcome push read-back ladder, ownerReference + reaper + claim-expiry lifecycle, opt-in namespace-scoped RBAC (zero RBAC objects rendered by default), absolute outcome deadline,automountServiceAccountToken: falsetask pods.spawn()currently inherits the host's fullos.environ, and the chart injects every deployment secret viaenvFrom— user code would receiveEDEN_ADMIN_TOKEN), claimexpires_atplumbing (--claim-ttl-seconds), startup/wrapper experiment-dir checks.helm-smoke-subprocess+helm-smoke-pod-execkind smokes with concrete assertions, plushelm-lintrender-matrix extensions.Review
Plan-stage codex-review (plan profile), 4 rounds to convergence; record committed under
docs/plans/review/eden-phase-13f-k8s-worker-modes/20260611T150217/. Round 0–3 caught: Forgejo-credential exposure in the 13b wrapper-push design (fixed via publisher container), missing push read-back ladder, missing claim expiry, hostile-clone trust root (fixed via quarantine fetch), task-pod SA tokens, evaluator sentinel robustness (fixed via reporter container), and the absolute deadline.What this does NOT cover
docs/archive/(rides 13f's final docs wave; banner added now).podFailurePolicy, static wrapper binary, sentinel nonce + per-task credential Secret, shallow clone, NetworkPolicy, hardened isolation, branch protection) — each named in the plan with issue-filing intent at the wave that makes it real, per the deferral-tracking rule.Validation
markdownlint(pinned CI version, full sweep) ✓ ·scripts/check-rename-discipline.py✓ ·scripts/spec-xref-check.py✓. Docs-only change; no code paths touched.Plan for #291 — does NOT close it.
🤖 Generated with Claude Code