Repository navigation
REQ 126
The ProjectBuddy live-run consumer shall ingest frame/event records only from the pinned Actor MCP server and the exact opaque capture run bound to the current VM grant.
The production-pinned Actor MCP exposes host capabilities, a static benchmark series, and a coordination bus, but not active-capture evidence. Actor issue #45 owns the candidate producer contract; ProjectBuddy issue #255 owns this consumer. Crawling Actor extension storage or trusting host paths would create an unstable and privacy-sensitive interface.
The consumer validates the configured Actor server name/version/revision, contract digest, run ID, capture lifecycle, sequence cursor, timestamps, and frame/event identity before admission. It accepts only ordered records for the bound run and VM, rejects stale/reordered/duplicate/malformed records and server/schema drift, and explicitly reports gaps or overflow as incomplete. Only a terminal stopped capture with complete evidence may be represented as final; capturing, finalizing, failed, or uncertain states cannot become final assessment. The consumer never reads Actor storage paths directly and never controls capture start/stop/finalization.
TEST-127 exercises fake Actor resource fixtures for identity, lifecycle, sequence, cursor, gap, frame integrity, path-leak failures, and settled cancellation. The offline consumer and SDK composition are integrated in develop through PRs #256 and #258; the Actor resource declaration remains local-candidate-only, and native Windows qualification remains open under issue #255 and Actor issue #45.
SYS-REQ-033; epic #250; P2 #255
High
scripts/tests/test_assisted_benchmark_active_capture.py: local fake-resource tests for pinned server/run/VM identity, strictly increasing sequence and monotonic timestamps, partial/finalizing state refusal, stale cursors, duplicate/out-of-order frames, frame hash/PNG mismatch, explicit gaps, bounded batches, path/secret canaries, deadlines, and settled cancellation. Run with .venv/bin/python -m pytest scripts/tests/test_assisted_benchmark_active_capture.py -q after installing the repository's test dependencies.
scripts/assisted_benchmark_active_capture.py implements the read-only admission candidate and McpResourceClient SDK adapter under issue #255. It requires a sealed run/VM binding, the existing capability snapshot, and an explicit captureResources declaration included in the approved contract digest. tools/assisted-benchmark/active-capture-pin.json pins published Actor desktop-capture revision b408dd706fc8f85b478e4a49f9156e47ec65b6cd (package 1.5.0) with activation: local-candidate-only; its loader validates the base-contract digest, source identity, resource schema, and immutable revision. Desktop admission is explicit, never a silent change to the default LabVIEW workload or legacy production contract. MCP initialization itself does not attest a Git revision or VM UUID; trusted deployment supplies that association. SDK, scheduling, and sealed-action fixtures pass, and the original consumer and Actor resource/desktop changes are integrated with green permitted Linux/Windows CI. Native Windows/live qualification remains blocked by issue #257; no receipt is fabricated and no spent dispatch is replayed. The consumer does not modify Actor output or storage.
Candidate implementation integrated and offline-tested; no production Actor resource pin or native Windows live qualification is claimed.