Repository navigation
Review QC across explicitly selected session packages #74
Description
Review several recorded packages together
Owner: 7879c2abc07f/offhand_published_review, with github_execution independently receiving and integrating under the standing estate mandate. Exact current main is 70f34e3b982523b544a9370d2316a1b69d79bd70, tree 1537621f793d5d5c9b331f3c4d37a79a4af824b7 (919 complete leaves).
The shipped tools/run_analysis.py admits one package per invocation. The existing read-only collect_qc(package) and native HTML renderer already provide per-package inventory, gaps, warnings and provenance. There is no command or page that lets a researcher retain an ordered review of several explicitly selected packages without creating separate analysis jobs or manually assembling their reports.
Bounded user outcome
Add tools/review_qc_packages.py and a new capture_analysis.qc_packages model. An explicit ordered list of 1–32 package paths produces a new external review directory containing an index, one versioned review JSON, and the exact native QC JSON/HTML for each successfully read package. Require an explicitly finalized or finalized_recovered package. Unreadable, malformed or nonfinalized packages remain visible as per-package failures; other selected packages can still be reviewed. Distinct paths with the same reported session ID remain distinct entries.
Preserve each complete native QC dictionary, reported warning, source/stream identity, gap order and large integer value. This is a record of the existing reader's observations, not a new scientific score or complete integrity verification. Do not combine gaps into total downtime, rank sessions, infer participant identity, or treat absent detail as healthy data. The existing optional-record handling remains unchanged and its limits travel with the review.
Inputs are explicitly selected by the caller. No directory-wide discovery, registry/settings lookup, daemon/worker operation, model or analysis job is invoked. No raw, event, manifest, processing or existing review file is changed. Output must be a new caller-selected directory outside every selected package; preserve occupied destinations and retain an honest failed-write diagnostic.
Exclusive source fence
- New
libs/python/capture_analysis/capture_analysis/qc_packages.py. - New
tools/review_qc_packages.py. - New focused
tests/analysis/test_qc_packages.pyandtests/analysis/test_qc_packages_cli.py. - A uniquely named receiving script and, only if needed for native standalone-file/browser qualification, a separate bounded workflow. Existing workflow bytes remain intact.
- New
docs/QC_PACKAGE_REVIEW.md, one additive root README link, the required additive PROGRESS entry, and unique evidence underdocs/evidence/qc-package-review-7879c2abc07f/.
Existing collector 530b86af1247599c127e2d0c3fa5e4d7d12169f6, renderer bb8032024cfce30c6fe9a2bd2c13b0d2cbc2d102, package readers, jobs, raw/session schema, numerical algorithms, desktop, dependencies and current owners' modules remain exact. #55/#71 owns saved-job reopening, #62 source selection, #64 nested gallery, #69 supplied predictions, #70 job-parameter comparison, #72 ML metadata, #54/#68 checkpoint interpretation and #63/#66 sync-request admission. Their source and current integration remain separate.
Source discovery and qualification
Read the complete current tree, AGENTS, CONTRIBUTING, licensing, native design/autonomous guidance, PROGRESS, all current project issues/31 branches, the integrated QC #50 handoff, and current HAMON #140/#142/#143/#147/#221 coordination. No multi-package QC owner was found. The source establishes absence; no unexecuted baseline is represented as runtime evidence.
Before implementation, freeze a real current-CLI missing-capability consumer and native per-package positive controls using only authored copies of the existing synthetic mini-session. Hosted qualification will prove exact native report equality, requested order, duplicate session IDs, warning/failure continuation, literal Unicode/markup, gaps and large integers, unchanged source/input/processing bytes, occupied/inside-package output refusal, and directly opened exported reports. Preserve all original refusals and failed receiving attempts. Independent source/consumer review and exact current-parent hosted gates precede integration.
Local and Mac storage floors prohibit new runtimes here; publication and qualification use isolated Git source and existing authorized hosted execution. No installation, hardware, participant data, account, provider, release or deployment action is claimed. Longwater's already-owned #21-before-#19 receiving remains the immediate priority when its owner lands.
Activity
Freeze independent multi-package QC receiving before implementation
Jacob-Met commentedon Oct 8, 2026
Narrow import-boundary extension after the actual candidate refusal
The unchanged independent receiver at PR79 head
2717861936b0d3a68f235ebe65f28f4e08dd1dd6/ actual checkoutc527b3af92eb01daf10087a51196c07281e31dfccaughtapplicationStateUnchanged=falseafter the first real CLI returned 0. Input and observed source bytes remained exact. Native job113427903017and its full five-member bundle are preserved. The original receipt contains the state-conservation boolean, not changed filenames; report-content admission and browser checks were not reached.Source review traces package initialization through four eager job exports,
jobs.py,pipeline.py, the sync dashboard and plotting style's module-time Matplotlib/pyplot initialization. To keep this new read-only QC command within its promised state boundary, this issue's source fence now includes onlylibs/python/capture_analysis/capture_analysis/__init__.py(current blob67a4fb257b771af771edb4010e573ceeab86a51f).I own a lazy lookup for the actual existing
JobParams,JobResult,hash_sources_treeandrunexports, retaining their real objects/signatures, public names and discovery. Pure QC/discovery/version exports remain available. Existing jobs, plotting, pipeline, numerical algorithms, readers, desktop/history and all dependencies stay byte-exact.Fresh ownership checks read all open product PR file lists (#71/#75/#77/#80/#81/#82) and native #55/#71 coordination; none owns the package initializer. Their consumers and integration remain with their original authors.
echo_opening_receivingowns a separate fresh-process import/API receiver, frozen before this initializer change. It will retain actual old-source isolated-state observations and then verify no QC-import state changes plus real job-export identity/signature compatibility. The original three receiver/workflow files and state assertion remain exact. No cache relocation, warmup or assertion weakening is used. Parentgithub_executionindependently reviews the extended source and native evidence before integration.Jacob-Met commentedon Oct 8, 2026
Native gate follow-through: observe real analysis-worker scheduling
The exact corrected product is accepted by both independent receivers, and native CMake passed 30/30 CTest plus 6/6 daemon/recovery cases. The separate unchanged-300-second timing run completed 559 passed / 6 skipped in 298.038 seconds with a real successful process exit and consistent JUnit. The earlier ordinary CI timeouts remain retained and are not overwritten by this result.
The two existing real threaded scope/MCAP tests consume 96.39 + 92.59 seconds; the complete new QC consumer consumes 3.69 seconds. Native stacks identify repeated Qt waits in the test main thread while the actual analysis worker renders Matplotlib figures. A possible scheduling effect is now a concrete, bounded hypothesis.
Ownership and exact experiment are recorded on completed #53. After inspecting every file list for all 14 open PRs and finding no current edit to that test or the runner, the parent receiver owns an isolated A/B adding only a 1 ms Python yield after the two existing Qt waits. Every real worker/data/provenance/cancellation assertion and the 120/300-second deadlines remain unchanged. Production and PR #79 stay at
d2e39d1382ee2a5b64f97ef207bf322c7a16ba13until native receiving determines the result.test: observe a Python yield between native analysis worker waits
Jacob-Met commentedon Oct 9, 2026
#114 backend request capture — adjacent-owner notice
Estate
6267db2cfc6ehas claimed CaptureSuite #114 for a source-only request capture step incapture_analysis.jobs.run, after the existing package/command/sync admission and before its first callback. The claim preserves QC collection and #74/#79 lazy-export/initializer ownership, existing handlers, pipeline behavior and all current jobs outside the captured request reference.Base main is
3960c0c756cd4e9facbde0d76eaaa3c31ab7c167; the exact 10,884-byte contract has SHA-2560d584057c141218679cd600886823e4c19222e739a5b77d91d1ecfef425c7224. Production changes are confined to additions at the capture boundary and a necessary standard-library import, with original remaining text retained exactly. New test/guide paths and append-only PROGRESS are named in the claim.This is a direct-caller source inference, not a reproduced stock CLI/UI or QC failure. Author tests and independent expectations precede implementation. Every runtime/native/host/resource/local-exec/ref/PR/Actions hold remains; no acknowledgment gate, owner transfer or integration claim is introduced.