Skip to content

Add cell-aware video processor contracts - #2793

Closed
hansent wants to merge 4 commits into
hansent/video-pocfrom
hansent/video-multicell-processor
Closed

Add cell-aware video processor contracts#2793
hansent wants to merge 4 commits into
hansent/video-pocfrom
hansent/video-multicell-processor

Conversation

@hansent

@hansent hansent commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

Stacks on #2616 and adds the Phase-1 processor safety seam for multi-cell Video Sources plus an offline, deterministic two-cell staging validation harness.

  • reads a bounded immutable VIDEO_PROC_CELL identity once per worker;
  • asserts cell identity on claim/status/result calls;
  • rejects wrong-cell and accidental cross-cell jobs before any execution side effect while preserving legacy jobs with no placement metadata;
  • permits remote execution only when the job is explicitly marked remoteExecution=true;
  • exposes bounded cell identity and rejection reasons in health/runtime/metrics;
  • preserves cell identity through process-mode IPC;
  • renders separate East/South benchmark Jobs and redacted evidence templates for assignment, connector, preview, placement, failure/recovery, and network proof;
  • updates HANDOFF.md and the multi-cell RFC to reflect what is implemented versus still undeployed.

The harness is staging/render-only. It does not access Kubernetes, credentials, DNS, or the live capacity-test connector source.

Compatibility and dependencies

  • Base/dependency: [POC — do not merge] Video sources: connector agent + warm processor + local media plane #2616 (hansent/video-poc).
  • Legacy worker + legacy job remains accepted.
  • Configured worker + legacy job remains accepted during migration.
  • A placed job on a worker with no cell identity fails closed.
  • This intentionally does not change the active L40S capacity/runtime settings.
  • Deployment depends on the matching control-plane and staging-infra PRs; do not deploy independently.

Validation

  • pytest -q tests/development/video_poc — 217 passed
  • PYTHONPATH=. pytest -q development/video_poc/processor/test_*.py — 18 passed
  • focused two-cell renderer dry run — 9 agents, separate East/South manifests, no inline secrets
  • git diff --check

Whole-file Black checks for three touched POC files fail identically on the parent branch; this PR avoids unrelated formatter churn.

Deployment safety

Draft only. No staging or production deployment is included. Any staged failure injection, benchmark Jobs, or cell rollout requires a separate owner approval checkpoint.

@hansent
hansent force-pushed the hansent/video-multicell-processor branch from 1d9fe3d to 208de15 Compare August 13, 2026 20:03
@hansent

hansent commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator Author

Closing: this was stacked on the obsolete #2616 POC branch, and the processor files it modified were since rewritten in #2800 and extracted to https://github.com/roboflow/rf-video-processor. The multi-cell contracts (cell identity, wrong-cell claim rejection, explicit remoteExecution, generation fencing) will be reimplemented against the extracted runtime and the merged roboflow#14376 control plane; the design source of truth is docs/MULTI_CELL_SCALING_RFC.md in that repo. Useful test ideas from this branch will be carried over during that reimplementation.

@hansent hansent closed this Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant