Skip to content

Reopen saved analysis results with the native scope controls - #71

Draft
Jacob-Met wants to merge 5 commits into
mainfrom
work/analysis-history-401c5d17da79
Draft

Jacob-Met wants to merge 5 commits into
mainfrom
work/analysis-history-401c5d17da79

Conversation

@Jacob-Met

@Jacob-Met Jacob-Met commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Current CI and integration state

Published head c2e1d9c176ec058218e59e0cc8db07f62db1fd98 restores the original eight history tests exactly and changes only the suite subprocess allowance from 300 to 600 seconds, within the existing 20-minute job limit. All test selection, process/JUnit checks and source-immutability guards remain intact. The seven changed paths and all 1,120 remaining parent leaves/modes were checked against complete Git trees before the expected-head branch update.

Two retained Windows attempts reached the old 300-second deadline without final JUnit. A temporary diagnostic successor then passed 555 tests with 6 daemon-availability skips in 295.60 seconds; the eight history tests together accounted for 0.834 seconds. Both Python and CMake passed that diagnostic head. Those results retain their exact earlier source pins. The temporary fixture is absent from this head.

Deadline evidence and the three complete hosted logs are included. Current main has since advanced to a2c89957c2cfe6fd5347d4ac317982449d3baa3a, adding the source picker and saved-parameter comparison at shared Analysis-screen/viewer boundaries. That source composition and its resulting hosted gate are pending; this PR remains draft.


Summary

Researchers can reopen a package's retained analysis results after changing sessions or restarting the desktop. Saved analysis lists completed and failed jobs; Open saved result loads the existing figure gallery and job inspector. Result details… exposes saved parameters, logs and the manifest as read-only text.

Missing, malformed or foreign job records remain visible with an explanation. Changing packages clears the previous result, and a delayed completion from another package cannot repaint the current view. Refreshing and reopening results do not rerun analysis or modify saved data.

This composition also preserves the merged scope controls. Reopening an old result leaves the operator's next time-range selection intact. A retained thread handle reserves the controls from scheduled start until the existing finished cleanup clears it; this one-line correction addresses the startup failure reproduced during current-source receiving.

Closes #55.

Source and ownership

The publication parent is the real canonical commit 3e3ecc5ecc1cfc79c79901eb5cffe10b0ec5852e. The exact proposed tree is dd2a2e6c691ca18521fe2d623811c6bb79d12719. The original authored lineage runs from canonical 72c15d6b623e217291a824e4e4808a385df896a9 through corrected runtime 37443f0d4d5ffa684b5423d58501856cadbe0655 to final documentation/license successor 495b8d45b0b9aa2231bccb315bd68e762a240143. Genuine two-parent local composition cb269806cad329ab7ca1deb905ad899f7b15b627 and its incremental bundle preserve that ancestry. The API publication creates a source-equivalent child of the real canonical parent. The published single-parent commit is 6cfe01672fd66b5b598cf73eb4502456ec333b35; its parent and tree were read back from GitHub before this PR was opened.

The runtime change stays in three files: the saved-history reader, its native controls, and the Analysis-screen integration. The two authored history modules and original focused test file retain their exact qualified bytes. The screen integrates the current scope owner's normalized package path, conditional scope reset, summary/enabled refresh and package_loaded signal, then applies the bounded busy predicate. Current worker execution and thread cleanup remain unchanged. The start-job method preserves the current worker lifecycle and calls the authored _clear_result_view() helper in place of its two direct gallery/inspector clears. Gallery, inspector, numerical handlers and job publication remain unchanged. The reader uses the existing capture.analysis_job/1 contract and adds no storage or protocol version.

The actual merge required the expected set_package and additive PROGRESS resolutions. All 853 unrelated current-parent file entries, including their modes and types, are preserved. The complete current progress document remains an exact suffix after the new receiving entry and the original author's 25-line entry.

The scope picker from #53 / merged PR #58 is included through the real parent and its hooks are preserved. The nested-numeric gallery repair remains a separate coordinated contribution. Authored history is attributed to estate-401c5d17da79/production_discovery, independent original receiving to estate_coordination, and current composition/receiving to integration_discovery.

Latest observed main d43bdea867d6198a707a5f55e29216c76054517e adds kinematics compute validity, its tests/design/evidence and progress. It changes no desktop, history, scope or numeric-feature source. This payload retains the qualified 3e3ecc5 parent; its receipts do not claim complete acceptance of the later main.

Verification

Boundary Result Exact input
Authored history tests plus retained workbench/failure tests 14 tests passed, no skips Corrected 37443f0d on 72c15d6b dependencies
Independent native history receiving 19 checks passed through actual QApplication.exec and QTimer The same four frozen source/test files on 72c15d6b dependencies
QC/2 producer → reopened saved result One real native journey, 14 assertions passed, exit 0 e43da3b8 plus accepted history; runtime tree ba5b4b925b00ecb17895a8c8ad29410e787f97dc
Merged scope → real job → reopen → package change 24 checks passed, none failed, exit 0 in 3.534 seconds Actual 3e3ecc5 plus received history/busy correction; runtime tree 167bbac3bba862cc1532d954fe2d503e561a00df, screen blob 6893f119593f8ff6551167efcb1939d014a081e6

The final current-source journey uses the real SessionHeader, AnalysisScreen and two real QThread/MCAP numeric-feature jobs. It checks exact saved nanosecond ranges, control disable/restore, read-only reopening without replacing the next scope, same-package normalization, and refusal to repaint package B after package A's queued completion. All 142 frozen source files and both packages' raw inputs stayed byte-identical.

Both jobs use the existing completed_with_warnings contract with exactly the expected fixture metadata warnings: its sealed state and absent duration integrity metadata. The saved custom ranges are checked independently. Raw warnings and the five standard offscreen propagateSizeHints messages are retained; unexpected execution failures are not accepted as success.

The complete startup control on the uncorrected composition passed two checks and failed the actual Refresh-disable condition. Its exact source, method, input manifest, receipt and logs are retained separately. An intermediate continuation encountered ENOSPC while capturing artifacts and produced no complete receipt; it remains non-accepting. The final method emits its full receipt and native PNG to stdout, and the resulting files were durably saved and independently read back by hash.

Original-source controls for stale package A results and foreign late completions, plus earlier manual-event-pump outcomes, retain their original source/method attribution. The final scope/history frame was inspected: the new controls remain legible together, while an unusually long private package path wraps/clips in the existing narrow column. This is a bounded Linux/PySide6 component qualification. Hosted Windows CI, a Windows MainWindow, full suite, daemon, hardware and installed release remain outside these receipts.

Existing numeric gallery limit

A separate real numeric-job check on 0ed1ccaa plus the accepted history produced two valid nested channel PNGs and opened the correct saved job and inspector. The unchanged gallery only scans top-level figures, so the channel tabs were absent both through history and through a direct gallery instance: six checks passed and one image-presentation expectation failed. No source or saved data changed.

That original receipt remains pinned to its original input and is included as a known viewer limitation. This PR does not change gallery discovery. The separately coordinated gallery repair can receive these same retained jobs without rerunning the history/thread qualification.

Checklist

  • Read the repository's AGENTS.md, CONTRIBUTING.md, LICENSING.md, design entry point and PR template.
  • Added focused native history tests and retained independent original and current-boundary receiving evidence.
  • Updated operator guidance and preserved the complete current progress record.
  • Preserved the merged scope implementation and unrelated current-parent files, modes and types.
  • Retained the exact authored SPDX-check success; every added Python receiving method has its required GPL header.
  • Added no wire or on-disk schema, runtime installation, service or capture-state change.

Evidence: feature source and original receiving, actual-parent composition, current scope/history receiving, separate numeric gallery limit.

Merge with current main

This update merges published PR71 head 6cfe01672fd66b5b598cf73eb4502456ec333b35 with actual main 70f34e3b982523b544a9370d2316a1b69d79bd70. The only Git conflict was docs/design/research/PROGRESS.md. The complete current document is retained as an exact prefix; both owned history entries are appended unchanged after it. All four qualified history runtime/test blobs remain exact. Overall, 75 of the 76 original contribution blobs are unchanged; only the progress document is resolved. Current provenance finalization, figure-export hooks and kinematic validity source are preserved.

The resulting source tree is 88273de76a9ee4019353bb2e188dfe058df83c31. The original native receipts retain their 3e3 and earlier inputs; no additional native run or full current-main acceptance is claimed. Static review confirms the history reader does not require the removed self-manifest inventory row. Supported Windows CI and any owner-specific current receiving remain separate gates.

The published merge commit is 15b66a8dd09c589fc06acc4d5ae0274c4881cd43, with both actual parents verified before the branch update.

Actual a2fd integration

Published merge aefaffe03331f5c8e0cc41dfd75ce9c81f9d09fe has ordered parents 15b66a8dd09c589fc06acc4d5ae0274c4881cd43 and a2fd6c58ccc97c7262b97570a85d8aae8dfb978c, with complete tree 453f080d1236f74408c3101b38fb4a3b3aa7e6c8.

The only three-way content conflict was docs/design/research/PROGRESS.md. This merge retains the complete 55,664-byte actual-a2fd document, followed by the exact 2,591-byte owned history contribution. All 75 other contribution blobs—including runtime, tests and native evidence—and all 1,046 unrelated current leaves and modes were verified unchanged in the 1,122-leaf result.

The added a2fd changes are the session-doctor PROGRESS entry and 38 receiving files; desktop and analysis backend source is unchanged since the sealed9c preparation. The earlier static backend compatibility review still applies. Existing CI and native results retain their original source pins; no runtime suite was rerun for this documentation merge, and this section makes no full current-main runtime acceptance claim.

PR71 and PR80 share this PROGRESS file. Final integration must preserve the complete then-current document and both owned contributions. This PR remains draft.

Compose the accepted history reader and native controls with the actual 3e3 parent. Preserve normalized package/scope hooks, and reserve controls from scheduled thread start through unchanged cleanup. Keep the original 14/19 acceptance pinned to 37443 on 72c15; add the bounded 24-check real-current scope/history journey, its concrete startup control, exact source manifests and current-format limits.

Authored source: estate-401c5d17da79/production_discovery, 495b8d45b0b9aa2231bccb315bd68e762a240143.
Independent original receiving: estate-401c5d17da79/estate_coordination.
Current composition, bounded busy repair and scope/history receiving: estate-401c5d17da79/integration_discovery.
Original commits remain preserved in the genuine authored-ancestry bundle.

Precision note: the authored result-reset helper is the only _start_job difference from canonical main; the current worker lifecycle and cleanup remain preserved.
Receive actual main 70f34e3 into published PR71 head 6cfe016. The real Git merge conflicts only in PROGRESS. Preserve the complete current document as a byte-exact prefix and move both unchanged owned history entries after it, avoiding another top insertion.

Keep the four qualified history runtime/test blobs and every other PR71 contribution exact. Preserve current output-provenance finalization, kinematic validity, figure-export lifecycle and their documentation/evidence. Historical native receipts remain pinned to 3e3 and their earlier inputs; no full current-main or new native acceptance is claimed.
Merge actual main a2fd6c5 into PR71 head 15b66a8.
Preserve the complete 55,664-byte current PROGRESS prefix and append the unchanged owned history entry pair.

Keep all 75 non-PROGRESS contribution blobs exact. The sealed9c preparation packets remain historical evidence.
The only additional existing-file change since9c is PROGRESS; 38 session-doctor receiving files are preserved. No runtime receiving is repeated or relabeled.

Copy link
Copy Markdown
Owner Author

The current history head is 8747cb95bfb2ac91aa4f1ff604ad677f3597fa12 (tree ad3e98e4e1628a1cd66575616ba7f2cd63f03b1e), a diagnostic-only child of aefaffe03331f5c8e0cc41dfd75ce9c81f9d09fe. The first Windows job 113430721070 and one unchanged-job retry 113459881579 both reached the final portion of the suite then hit the existing 300-second deadline without JUnit. Both actual runs used merge commit 0de94b767061ec1fe5c05d11c6baa36ec9ddf16b, and both retained stable source. CMake passed.

The added temporary fixture prints an entry/exit timestamp around each of this PR's eight maintained history tests. All existing test functions, product source, workflow and timeout remain unchanged. This next native run is intended to locate the unfinished work; it is not a third identical retry or a timeout increase. The original negative logs and exact diagnostic source/receipt are preserved under the ThinkPad estate capturesuite-ci-a2fd-20261008 packet. Earlier successful CI and native qualifications retain their own recorded pins.

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.

Reopen saved analysis jobs in the native workbench

1 participant