Skip to content

test(framework): Add k8s demo cardinality proof#7415

Draft
msheller wants to merge 2 commits into
codex/f7-integrated-k3d-capacity-cleanup-proof-v2from
codex/f7-k8s-demo-cardinality-proof
Draft

test(framework): Add k8s demo cardinality proof#7415
msheller wants to merge 2 commits into
codex/f7-integrated-k3d-capacity-cleanup-proof-v2from
codex/f7-k8s-demo-cardinality-proof

Conversation

@msheller

Copy link
Copy Markdown
Member

Summary

  • Adds F7e demo-friendly cardinality proof for the local k8s harness.
  • Exposes active Pod budget as a wrapper parameter for capacity proof runs.
  • Adds a --demo preset for active Pod budget 2, three seeded ServerApp runs, a 30-second probe hold, and skipped namespace cleanup for inspection.
  • Adds probe ServerApp start/sleep/exit log lines with context.run_id while preserving the existing verifier marker substring.
  • Extends evidence and verifier checks for the budget-2/three-task proof: two TaskExecutors can be active, the third waits, one slot opens, and the third launches.

Stack

Evidence

Real local k3d demo run passed and wrote evidence to:

/private/tmp/f7e-demo-cardinality-proof-20260617-codex-escalated

Verifier rerun:

python framework/dev/k8s/verify_evidence.py \
  /private/tmp/f7e-demo-cardinality-proof-20260617-codex-escalated \
  --expected-result local-k8s-capacity-cleanup-proof \
  --expected-active-pod-budget 2 \
  --expected-seed-run-count 3 \
  --no-require-cleanup

Result: Verification: PASSED.

The demo preset leaves namespace resources in place by design. After evidence capture and review, the local flower-local-k8s namespace was deleted.

Validation

Implementation thread reported:

bash -n framework/dev/k8s/test-real-launch-path.sh
python -m py_compile <touched Python files>
python -m ruff check <touched Python files>
python -m isort --check-only <touched Python files>
python -m pytest framework/py/flwr/supercore/superexec/executor/kubernetes_executor_harness_test.py
git diff --check
framework/dev/k8s/test-real-launch-path.sh --demo --skip-build --output-dir /private/tmp/f7e-demo-cardinality-proof-20260617-codex-escalated

Lead thread additionally reran:

python framework/dev/k8s/verify_evidence.py \
  /private/tmp/f7e-demo-cardinality-proof-20260617-codex-escalated \
  --expected-result local-k8s-capacity-cleanup-proof \
  --expected-active-pod-budget 2 \
  --expected-seed-run-count 3 \
  --no-require-cleanup
git diff --check

@github-actions github-actions Bot added the Maintainer Used to determine what PRs (mainly) come from Flower maintainers. label Jun 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintainer Used to determine what PRs (mainly) come from Flower maintainers.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant