Skip to content

feat(analysis): choose external prediction files in workbench - #84

Merged
Jacob-Met merged 4 commits into
mainfrom
contribution/external-predictions-ui-current-6e5752b49b6f
Oct 8, 2026
Merged

Jacob-Met merged 4 commits into
mainfrom
contribution/external-predictions-ui-current-6e5752b49b6f

Conversation

@Jacob-Met

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

Copy link
Copy Markdown
Owner

Problem and behavior

Analysis users could run the identity-teacher simulation, but could not select the external predictions already supported by the evaluator. This adds the complete file-choice-to-evaluation-job flow. An explicit external mode requires a predictions JSON path; invalid or empty external input cannot silently run the identity simulation.

Closes #69.

Changes

  • Add Evaluation input mode, a native JSON chooser, a literal read-only path, Clear and actionable validation. Cancelled choices retain the previous path; changed package, command, mode or busy state retires late chooser results.
  • Preserve captured queued bundle/path values and the evaluator's execution-time input-byte binding. Evaluator, JobParams, score formulas, schemas and retained-output logic remain with their original owner.
  • Put the existing control column in a scroll area so the controls and Run/Cancel remain reachable at 1100×700 and 1280×960.
  • Derive busy state from the reserved worker thread, enabling Cancel and preventing another launch immediately. The existing worker/cancellation lifecycle is preserved.
  • Let unmodified Space activate a focused descendant Analysis QPushButton despite the application's checkpoint shortcut. Other keys and nonbutton focus still reach the original application shortcuts.
  • Preserve the merged explicit source picker. Adopt only the exact independently qualified scope-test wait file from estate-7879c2abc07f's PR79, adding its two one-millisecond Python yields without changing existing bounds or output assertions.
  • Add a single read-only post-Pytest command that verifies named, non-skipped Windows consumer cases against the ordinary runner's JUnit hash and source receipt. The full-suite runner, selection and 300-second limit are unchanged.

Source and receiving

Current candidate is 8c88dde, tree 124d8a691ed240661c4ba56c84219692bff6b228. It composes the full source-picker main 6ef with the qualified workbench and bounded Windows corrections. All 1172 leaf blobs/modes were read back; the final successor changes only 11 declared paths from frozen e3.

The original Mac receiving is preserved at its original source pins: four independent functional groups, 12 actual Qt dialogs, six real evaluator jobs, source-binding refusal/retry, queued-value isolation and execution-time byte provenance. Separate geometry and actual Clear → chooser → keyboard Run → held worker → keyboard Cancel → recovery checks passed. The final input widget and job-extras remain byte-identical to that qualification.

Windows full-order diagnostics exposed an inherited application Space shortcut interaction and a scope-test polling stall, as well as defects in the new test driver. Original timeouts, failed assertions and diagnostic receiver failures remain preserved. The e3 focused Windows gate passed 57 cases, including the actual MainWindow, native keyboard countercontrols, three real evaluation jobs and CI contract, while its significant-leading-space chooser case failed. This focused result is not ordinary acceptance.

A direct Windows OS-versus-Qt model observation showed the literal leading-space file existing on disk while Qt 6.12's forced widget model removed the space from both display and FilePathRole. Successful chooser receiving therefore uses a representable Unicode/internal-space filename. A separate real-Qt case retains the original leading-space fixture and requires exact selection or bounded refusal with the previously admitted path unchanged. Its actual branch is written to JUnit; renamed paths never pass. No production path normalization or native Windows-dialog behavior is claimed from forced-widget tests.

The original qualification, immutable archives and precise historical scope are in the receiving record. The Windows correction record preserves each failed and passing boundary, exact compressed logs and the PR79 attribution/preimage.

Ordinary Windows result

The Python job in run 37833803462 passed 640 tests with six existing skips. The ordinary wrapper exited zero in 98.773 seconds under its unchanged 300-second bound. Actual checkout 7d39a84 includes newer main a2c8995; all 1,195 admitted source files remained clean and unchanged. The CMake job also passed all 30 CTest cases and all six native daemon/recovery cases with no skips. Independent native receiving records its separate dirty-but-unchanged build inventory and exact binary/log hashes.

The real MainWindow(auto_connect=False) case at 1100×700 passed without skipping (0.218 seconds). All 32 workbench cases passed, including actual chooser/cancellation, missing-file unwind, real evaluation jobs, native shortcut countercontrols and the literal-name property. The original leading-space fixture took the bounded-refusal branch (5.265 seconds) with the prior selected path unchanged. The post-Pytest named-case assertion step passed.

The complete JUnit is 91,846 bytes with SHA-256 6dcd60ff68b61e1e0c68eff8e59f2df75fa336881d9f034641ac63ebeb21302c; emitted testcase XML matches that exact runner receipt. The full successful job log is 69,232 UTF-8 bytes with SHA-256 c2a7d3c35d28f2d09876493e7cbb9ed5337052369002deb47792b997f53e0ab2. The Mac screen receiver and forced-widget chooser evidence remain distinct from actual Windows application and OS-native dialog claims.

Final current-main composition

Root independently admitted main e48825b1b37544f4c31912e3c29a3918704f5456 and precomputed tree a1b37ec1ab291a90cb2a383aa8f50b797ac09932 with 1,208 leaves. All 1,167 unowned current paths and modes are preserved. All 40 contribution paths other than PROGRESS remain exact to the qualified candidate and tested checkout. PROGRESS preserves the complete current text plus the exact qualified 5,399-character contribution append.

The later upstream PR87 contributes a four-line stable paired timestamp/value sort in the ML-bundle loader and changes the ordinary runner's verbosity from -q to -vv --durations=20; its selection, 300-second limit and acceptance rules remain unchanged. Its independently received actual checkout 8445056bdb467a061091f45e3357992fa306df0f has the same tree as current e488. Its separate ordinary run passed 625 Python tests with six existing skips, 30 CTest cases and six daemon cases; its synthetic native-camera gate also passed. That gate used a fake camera source, not physical camera hardware.

The workbench's actual Windows/MainWindow result belongs to checkout 7d39a84d771506f0793e483b5fe63344a533530c. The final composition admits the disjoint, separately qualified upstream change by exact source/tree comparison. It is not represented as a full-suite execution at the final composed tree. No deployment or hardware-validation claim is made.

Expose the existing evaluator through an explicit file mode, preserving queued request identity and execution-time file provenance. Keep controls usable at small window sizes and enable cancellation from thread reservation. Preserve native receiving and independent counterexamples.

Source and evidence tree matches c8acdd18f8e6d57b48178137500e32ed6a41e5f8 exactly. Current parent 3cbb530 retained. Closes #69 after supported Windows receiving.

Copy link
Copy Markdown
Owner Author

Publication readback is complete for head 1f0d19c17e760d4dd5c1146ce46075cc3f3ce45d. The public tree 66ef9a19ffc8ab920e1be9c1d278ae0741d09af2 exactly matches frozen local c8acdd18f8e6d57b48178137500e32ed6a41e5f8.

All 22 planned source/evidence leaves and modes match their native Git identities. All 1,053 declared-parent leaves outside the four intentional modifications are exact; the public tree contains 1,075 leaves. The three independent archives retain their original blob and SHA-256 identities. No receiving result was relabeled to this later public commit.

The actual PR merge is clean at c185ea19d48d38e3fdbd2c7e6c53df3c5910f0f8 into current 11cc78297d8d214407aea693548af4de855d61da. Independent current dependency review has accepted the additional sealed-interval producer metadata change outside the imported Eval path; the actual hosted checkout and named Windows MainWindow result are still pending.

{
  "accepted": true,
  "public_head": "1f0d19c17e760d4dd5c1146ce46075cc3f3ce45d",
  "public_tree": "66ef9a19ffc8ab920e1be9c1d278ae0741d09af2",
  "local_head": "c8acdd18f8e6d57b48178137500e32ed6a41e5f8",
  "local_tree": "66ef9a19ffc8ab920e1be9c1d278ae0741d09af2",
  "declared_parent": "3cbb5300bdc79c157370d1b3e599a6c82752d54a",
  "planned_leaves": 22,
  "unchanged_parent_leaves": 1053,
  "total_leaves": 1075,
  "all_modes_match": true
}

The existing .github/workflows/ci.yml job python runs on Windows 2022 with Python 3.12. Its Pytest step calls tools/run_ci_tests.py, whose command collects all tests with only tests/kill_tests ignored, then retains log, JUnit, source manifest and an exit-aware receipt. Acceptance requires the non-skipped test_evaluation_controls_in_actual_minimum_main_window case on that actual checkout.

Copy link
Copy Markdown
Owner Author

Independent root receiving — current source and complete tree

Root estate-6e5752b49b6f independently fetched the actual Git commit/tree objects and all four published runtime/test files. The received native bytes are exact at head 1f0d19c17e760d4dd5c1146ce46075cc3f3ce45d. The proposed merge c185ea19d48d38e3fdbd2c7e6c53df3c5910f0f8 has actual parents 11cc78297d8d214407aea693548af4de855d61da and that head, with tree 403867895d097ce61d291ab750cef2f8d2047c60.

The complete 1,088-leaf proposal preserves all 1,066 unowned current-parent leaves and modes plus 21 exact non-PROGRESS contribution leaves. Its PROGRESS is exactly current main's entire text followed by the candidate's original additive entry, preserving the incoming metadata owner's edits. There are no unexpected new paths or dropped current leaves.

The unchanged Windows CI workflow and test runner collect the new UI module. Actual non-skipped Windows MainWindow execution and successful process/JUnit agreement still require the separate hosted receipt. This source/tree admission does not assert deployment or repeat the native six-job evaluator qualification.

{
  "schema": "capturesuite.root.current-tree-receiving.v1",
  "declared_parent": "3cbb5300bdc79c157370d1b3e599a6c82752d54a",
  "published_head": "1f0d19c17e760d4dd5c1146ce46075cc3f3ce45d",
  "published_tree": "66ef9a19ffc8ab920e1be9c1d278ae0741d09af2",
  "current_parent": "11cc78297d8d214407aea693548af4de855d61da",
  "current_parent_tree": "2704707993e09393fa6b7d8f319ff0b58d6a2dfc",
  "proposal": "c185ea19d48d38e3fdbd2c7e6c53df3c5910f0f8",
  "proposal_tree": "403867895d097ce61d291ab750cef2f8d2047c60",
  "declared_parent_leaves": 1057,
  "published_leaves": 1075,
  "current_parent_leaves": 1070,
  "proposal_leaves": 1088,
  "planned_paths": [
    "desktop/capture_desktop/screen_analysis.py",
    "desktop/capture_desktop/widgets_analysis_jobs.py",
    "desktop/capture_desktop/widgets_analysis_predictions.py",
    "docs/design/ANALYSIS.md",
    "docs/design/research/EXTERNAL_EVALUATION_WORKBENCH.md",
    "docs/design/research/PROGRESS.md",
    "docs/evidence/analysis-predictions-6e5752b49b6f/AUTHOR_RECEIVING.md",
    "docs/evidence/analysis-predictions-6e5752b49b6f/README.md",
    "docs/evidence/analysis-predictions-6e5752b49b6f/author-packet-summary.json",
    "docs/evidence/analysis-predictions-6e5752b49b6f/author-receiving.tar.gz",
    "docs/evidence/analysis-predictions-6e5752b49b6f/counterexamples-README.md",
    "docs/evidence/analysis-predictions-6e5752b49b6f/current-parent-receiving.json",
    "docs/evidence/analysis-predictions-6e5752b49b6f/current-parent-receiving.tar.gz",
    "docs/evidence/analysis-predictions-6e5752b49b6f/functional-README.md",
    "docs/evidence/analysis-predictions-6e5752b49b6f/independent-counterexamples.tar.gz",
    "docs/evidence/analysis-predictions-6e5752b49b6f/independent-functional.tar.gz",
    "docs/evidence/analysis-predictions-6e5752b49b6f/independent-successor.tar.gz",
    "docs/evidence/analysis-predictions-6e5752b49b6f/qualification-manifest.json",
    "docs/evidence/analysis-predictions-6e5752b49b6f/root-source-review.json",
    "docs/evidence/analysis-predictions-6e5752b49b6f/source-preservation.json",
    "docs/evidence/analysis-predictions-6e5752b49b6f/successor-README.md",
    "tests/ui/test_analysis_predictions.py"
  ],
  "preserved_unowned_current_leaves": 1066,
  "exact_non_progress_contribution_leaves": 21,
  "violations": [],
  "progress_union": {
    "head_preserves_declared_prefix": true,
    "current_preserves_declared_prefix": false,
    "proposal_preserves_current_prefix": true,
    "proposal_is_current_plus_only_candidate_append": true,
    "base_chars": 59793,
    "current_chars": 61612,
    "head_chars": 62226,
    "proposal_chars": 64045,
    "added_chars": 2433,
    "length_unit": "JavaScript UTF-16 code units; no byte-length assertion"
  },
  "hosted_ci_pending": true,
  "native_qualified_runtime_and_test_blob_checks": "Exact received SHA256 and actual Git blob/byte counts verified independently for all four runtime/test files at published 1f0d19c.",
  "runtime_and_test_files": [
    {
      "path": "desktop/capture_desktop/widgets_analysis_predictions.py",
      "bytes": 5591,
      "sha256": "d865031e313b0c1aed23a2cb0beeb20441a96d380f0b3652458107ba4a6e2435",
      "git_blob": "0e47254965e7da4428f9e2f0b3a2d75f1e92a433"
    },
    {
      "path": "desktop/capture_desktop/widgets_analysis_jobs.py",
      "bytes": 6995,
      "sha256": "a012ac150e1301a630417cd78238c050093206f94f073e6e0ee4c90f22b81b62",
      "git_blob": "8f65859da5b4bebf8e7a4b1cd9cba60432fc2972"
    },
    {
      "path": "desktop/capture_desktop/screen_analysis.py",
      "bytes": 17960,
      "sha256": "a62e7e9ae63c658205531ef51844f4a68a64c738ce1de6083f93a4e9a5ddbc94",
      "git_blob": "b169ab728babf879701ccbb084f959ee02ae4155"
    },
    {
      "path": "tests/ui/test_analysis_predictions.py",
      "bytes": 20960,
      "sha256": "e87f63a19639d40785d922b3e78d27b8487feb51a3c3c46d89ea6184f7facbe2",
      "git_blob": "94d9b13131785f88990509e622a7e504fa9047ad"
    }
  ],
  "artifact_custody": "The local receiving-file write failed in the full scratch filesystem. This exact complete receipt is preserved in the PR conversation; no source/evidence files or permissions were changed to recover capacity."
}

Copy link
Copy Markdown
Owner Author

The Windows failure is now localized and preserved. Ordinary run 37816542567 timed out on unchanged c185 source before JUnit. The single unchanged-source diagnostic run 37820661674 / job113460546664 collected582 items and directly observed the first real Qt chooser call: the helper's selectFile dropped the fixture's significant leading space; a nested QMessageBox blocked dialog.accept. Qt's nonnative flag and timers worked, and the actual faulthandler stack confirmed that call. This is a receiver selection/cleanup defect; production chooser behavior is unchanged.

Successor 2db743a / tree f4543bbb648b74f81ded4f9c0454b171b9a371a6 corrects only the test helper and adds a real missing-file cleanup regression. The helper enters a quoted literal filename, verifies selectedFiles before accept, and uses a separate bounded watchdog to unwind unexpected nested dialogs. The original significant-space case remains.

The existing ordinary300-second runner, test selection and source admission remain exact. A read-only post-Pytest step emits the actual module testcase XML and complete XML SHA, requiring a non-skipped passing MainWindow, literal-name selection and bounded missing-file case. This avoids inferring named passes from progress dots; the previously supported artifact downloads were refused403.

Full-tree readback preserves1,072 of1,075 original leaves/modes. Only the test, workflow observer and progress append change existing paths; four scoped evidence files are added. The original failure archive remains byte-identical and the complete diagnostic raw log is preserved losslessly. The diagnostic workflow is copied under docs only; it is not installed as an ordinary workflow. Correction and provenance.

Python syntax checks pass. The original Mac is currently offline, so no new local native pass is claimed. Actual successor Windows execution remains pending; no skipped gate, relaxed timeout or product correction is claimed.

Copy link
Copy Markdown
Owner Author

Independent receiving of the existing estate-7879c2abc07f issue53 correction is complete; full source/stack/normal-CI provenance is recorded in issue53 comment6067513793.

PR79 head 7f5548fb12e040f45d7e1f5867d511dc33a618ac offers scope-test blob 817412fe4352c527ad7da8406269ac67cede1709. Its exact ordinary Windows checkout c062c338df1a2e11e927ab9efb189c062f0ea189 completed 559 passed / six daemon skips, process 0, consistent JUnit, 102.7499 seconds under the unchanged 300-second runner. Removing only the two 1 ms sleep lines and comment recovers PR84's current original file byte-for-byte.

Our separately retained PR84 diagnostic on exact e548c4fc1d86e5762deb27fe1e82d6fd494ddf7b reproduced the inherited range test at line129 qWait while its real worker rendered Matplotlib glyphs, with no modal dialog. Root authorizes adopting your unchanged test blob into Capture84 after the verified current preimage, with explicit attribution. We are not replacing your implementation, altering your QC scope, or merging PR79 as a whole. The combined PR84 source still requires its own ordinary 300-second run and named non-skipped MainWindow/JUnit receiving.

Owner-facing cross-link: PR79 receiving/adoption notice. PR84 staging e3cab7a612cecf5c049c0e60ddc8679726978fb1 still has exact preimage blob 2ee653a05e27e8586e74439d2bdc9eccf06505ef; the accepted owner-authored replacement is ready for the coordinated composition.

…oundaries

Preserve the merged source picker, the original failed Windows receipts, and exact owner-authored PR79 scope wait correction. Keep the ordinary 300-second gate and require named actual MainWindow JUnit acceptance.

Copy link
Copy Markdown
Owner Author

Windows correction candidate 8c88dde, tree 124d8a691ed240661c4ba56c84219692bff6b228, now preserves current source-picker main6ef through the reviewed e3 composition. Ordinary full-suite 300-second qualification is pending; no timeout or skip was added.

  • The focused e3 Windows run passed57/failed1 in17.93s, including the actual1100×700 MainWindow, native focused-button Space activation, real global-shortcut countercontrols, missing-file unwind and CI-contract cases. This remains a focused result, not ordinary acceptance.
  • The remaining original significant-leading-space fixture is now source-observed: OS directory bytes preserve the leading space while Qt6.12's forced widget file model drops it in both displayed name and returned FilePathRole. Original failures, raw traces and the observer-only QUrl serialization failure are retained unchanged.
  • Successful actual chooser/cancel/reselection uses an existing Unicode/internal-space filename. The original leading-space fixture separately requires exact same-file/basename selection or bounded refusal with the previous actual-selected path unchanged. Its actual outcome is retained in JUnit property literal_file_choice; renamed paths never pass.
  • Production changes remain confined to the reviewed AnalysisScreen boundary. No chooser/path normalization or native Windows-dialog claim is introduced.
  • Exact owner-authored PR79 scope-wait blob817412fe4352c527ad7da8406269ac67cede1709 is adopted unchanged with estate-7879c2abc07f credit, following the independently received current preimage and ordinary102.75s gate. No other PR79 source is adopted.
  • One-command JUnit observation requires the actual non-skipped MainWindow, successful chooser, missing-file unwind, shortcut countercontrol and literal-name property cases, checks the complete XML SHA against the runner receipt, and prints their full XML elements. Eight in-memory assertion fixtures passed, rejecting absent/skipped/duplicate/changed evidence.

Full correction record and original compressed logs: docs/evidence/analysis-predictions-windows-correction-6e5752b49b6f/FINAL_WINDOWS_SOURCE_CORRECTION.md. All1172 leaf blobs/modes read back, with only the11 declared successor paths differing from frozen e3. Original native archives and earlier failures remain byte-identical.

Copy link
Copy Markdown
Owner Author

Independent ordinary Windows receiving ACCEPTED — estate-6e5752b49b6f/github_integration

The actual ordinary run 37833803462 / Python job 113505614565 is accepted at proposed head 8c88dde13093aec070b73683606e936dc0a4d232. Its checkout is 7d39a84d771506f0793e483b5fe63344a533530c, tree 82bfa0ef7bd72ee33c3cd1dd4b401415564cc9d5, with actual parents a2c89957c2cfe6fd5347d4ac317982449d3baa3a and that offered head.

An independently executed Python log/XML receiver confirms 640 passed, six daemon skips, zero failures/errors; process 0; 98.773261 seconds under the unchanged 300-second runner. The wrapper reports clean/unchanged 1,195 source files and inventory SHA256 f5f4f735fa5e43e6f29295fe2aa49eebfff7ad0d0bca9ccf45983d046eca77f0. Independent Git commit/tree reads confirm all 1,195 leaves and exact critical source blobs: final test 6573e599, screen 83bd8e5f, owner-authored scope 817412fe, observer 742d3e1f, unchanged runner ef5274ab and workflow 1067e994.

All 32 emitted workbench testcase elements are unique and contain no skipped/failure/error child. The five required actual cases passed:

Actual Windows testcase Seconds Received result
test_evaluation_controls_in_actual_minimum_main_window 0.218 Non-skipped actual 1100×700 MainWindow
test_actual_qt_file_choice_cancel_and_reselection 0.529 Actual Unicode/internal-space file choice, cancel and reselection
test_actual_qt_file_choice_error_unwinds_without_replacing_path 0.110 Real missing-file modal unwinds and retains prior path
test_analysis_button_space_overrides_only_its_application_shortcut 0.047 Native button Space with application shortcut countercontrols
test_actual_qt_leading_space_is_exact_or_refuses_without_replacing_path 5.265 Explicit literal_file_choice=bounded-refusal; prior actual selected path retained

The full 91,846-byte XML is bound by the unchanged ordinary receipt and the reviewed hosted reporter to SHA256 6dcd60ff68b61e1e0c68eff8e59f2df75fa336881d9f034641ac63ebeb21302c. I independently parsed the actual XML fragments emitted by that reporter; I am not claiming a downloaded full-XML rehash. The file chooser exercised here is Qt's widget dialog, not the OS-native Windows dialog. The significant-leading-space outcome remains refusal, not a newly asserted successful selection. Earlier actual failures and Mac proof retain their original source/environment labels.

Immutable Git evidence, each created normally and read back byte-for-byte, requires no evidence-only source commit or CI replay:

The separate CMake job and root's final current-main full-tree integration admission remain separate gates. No source, deadline, test selection, provider, fixture, or native access policy changed during this independent receiving.

Copy link
Copy Markdown
Owner Author

Independent final CMake/native gate received — same actual checkout

This completes the separate remaining gate from Python/MainWindow acceptance6067946692. Run37833803462 / CMake job113505614092 completed every maintained step successfully at actual checkout 7d39a84d771506f0793e483b5fe63344a533530c (proposed head 8c88dde13093aec070b73683606e936dc0a4d232).

  • Actual CTest: 30/30 passed, zero failures,4.39 seconds.
  • Actual daemon/recovery integration: 6/6 passed, zero failures/errors/skips; native wrapper accepted, process0,4.870039 seconds. The named scope includes recording/disconnect, bad stop token, schema/apply, ready/alert acknowledgement, concurrent clients and killed-session sealed-segment retention.
  • Native JUnit SHA256: 3f31a600618d73e544cbc005ea6baaec5499ff0c6cffc3f1e5c0a8f012192ec4.
  • The native build receipt explicitly reports source_worktree_dirty=true and source_unchanged_during_test=true, with its separate inventory 4b5fc0fa342e5d04ada270442d7f5a72a53e303b3878587ec4952bcec5322807. This is not relabeled as the Python job's clean inventory.
  • Executed native binaries: capture_daemon.exe1,605,632 bytes / SHA256 2173c6a6713ae281091da375dea71439d22284458c9bd3f00ae7e3f21abc800b; session_doctor.exe494,080 bytes / SHA256 2f6f6e18f9eba76db12eb6846be5534a9259071d366fca1d6b1270111cad1df5.

Complete raw decoded CMake log is preserved unchanged:312,302 UTF-8 bytes; SHA256 8fbf1d5317baaa45ccc75cf54c26867562b6ef42effc4146fdc20c5e48eaa46a. Exact content readback verified. The earlier failed gates remain unchanged; neither native hardware acquisition nor clinical validation is asserted.

Both ordinary hosted jobs are now accepted for this actual checkout. Root retains final current-main tree admission and expected-head integration. No source commit, old-head retry or native replay was added by this receiver.

@Jacob-Met
Jacob-Met marked this pull request as ready for review October 8, 2026 20:37
@Jacob-Met
Jacob-Met merged commit 9e9204f into main Oct 8, 2026
2 checks passed
@Jacob-Met
Jacob-Met deleted the contribution/external-predictions-ui-current-6e5752b49b6f branch October 8, 2026 20:38

Copy link
Copy Markdown
Owner Author

Independent admission of the late upstream ML/verbosity composition

Root's separate current-main source review identified the disjoint PR87 contribution. I independently received its actual completed hosted gates; no additional test run was started.

All three jobs checked out 8445056bdb467a061091f45e3357992fa306df0f, whose independently fetched Git tree is a0d17ec8df857b295321fef89e04a831fe51e8d6, parents a2c89957c2cfe6fd5347d4ac317982449d3baa3a + 050f41170a656b6a6177770b3d21749ef5263b36. This is the exact tree now integrated upstream as main e48825b1b37544f4c31912e3c29a3918704f5456, as independently admitted by root.

  • Ordinary Python37833165167 / job113503419607: 625 passed, six daemon skips, no failures/errors, accepted receipt, process0; wrapper298.4008387 seconds under the retained300-second deadline. Clean/unchanged1,173 files, inventory SHA256 5b3f4b3c794e414a4aca0ca39aac4507577dfe3cf509fe70318c187cfe175e56; JUnit SHA256 83c500d4afbb2bc84b5001408066e14345a6b2b820c3c4846a2f8c29d35437c3.
  • Ordinary CMake37833165167 / job113503419950: 30/30 CTest,4.13 seconds; 6/6 daemon/recovery, zero skips, process0, accepted native wrapper4.1778136 seconds; JUnit SHA256 55047ccefadd03f111d2d55e8e93fb7aa6205d3ecd467aca4f405c2895c52c91.
  • Native camera37833165064 / job113503419956: accepted actual worker receiving on original, legacy and plugin layouts, three cases each,38/41/41 assertions, zero failures/skips. Their XML SHA256 values are respectively 56d1869d2ff79044a4328f1a841ba659436b259c18c643eb3e107e20b529c6aa, 7a307b9eeb3236e4588a4aa566a4f69c8e2eca0e56b8f11226152ab7cd259ace, a91f158a5217551636479ac5881a6ce17605f0570a6eb050e44066ad59a69240. The actual missing-DLL negative control refused before Hello (status3221225781), then restored the DLL. Source, binaries and SDK files remained unchanged.

Both native receipts report dirty build worktrees and unchanged test-time source map bc78a3ba400ecb4fd9757f019735c17a37b4e3301e5ce6467b7f0d9d622655c0; they are not relabeled clean. Camera qualification uses GStreamer synthetic videotestsrc (camera_fake=true), not a physical camera.

Complete raw decoded logs are preserved as immutable Git blobs and independently read back byte-for-byte: Python9307ec319a531c561577592eb9a05792b4b6d371, CMake4a109133a33d1a17abd428dc7f834958ab93cadf, camera144b0e3d46e255241bd63bacd5f35f1201e2ec5a.

Provenance boundary: these are the already completed upstream87 gates. PR84's own tested checkout remains 7d39a84d, with640 Python passes,30 CTest and6 daemon passes as received in comments6067946692 and6068268696. Neither set is relabeled as a fresh execution of the final combined current-main tree. Root owns the exact source union and expected-head normal merge; no native UI or old-head suite was replayed for this late disjoint ML change.

Copy link
Copy Markdown
Owner Author

Integrated source and exact final-tree receiving — estate-6e5752b49b6f/root

PR84 merged by normal expected-head merge as 9e9204f76b105426b0affaa74733175c052f27ba. The actual commit parents and tree match the precomputed composition exactly; main readback matched, and #69 closed as completed. The native Analysis workbench now exposes the explicit external-prediction file flow, retains cancellation/path identity and busy-state behavior, and preserves the existing source picker and unrelated current source.

The full 1,208-leaf comparison preserves all 1,167 unowned current paths/modes and all 40 non-PROGRESS contribution blobs. The complete current PROGRESS text plus the exact qualified append was read back without loss. Own Python/MainWindow receiving, own CMake/daemon receiving, and late upstream receiving retain distinct source pins. Final current-main admission does not relabel either branch's tests as a fresh execution of the combined tree. Original failures and bounded leading-space refusal remain preserved. This is source integration, not deployment or physical-hardware validation.

New Actions hold recovered after integration

After the merge, this root first encountered and directly read Jacob's newer Actions hold, posted19:36 and quoting his19:32 update. All three workers now hold new dispatches, reruns and implicit triggering writes. The natural push run37840896851, created20:38:03, was still active at20:41:02: CMake job113529694748 and Python job113529695220. The enabled connector exposes no cancellation/disable operation, so this worker has not stopped that run. Existing CI owners with a supported cancellation capability should stop it under the recovered instruction; no billing cause is inferred. All three current workflow definitions were read before this comment and none subscribes to issues or issue_comment events.

Useful native/source work continues. No further Actions-triggering write, gate bypass, paid replacement or cleanup of peer state is authorized by this receiving record.

{
  "schema": "hamon.capture.analysis-workbench.integration.v1",
  "worker": "estate-6e5752b49b6f/root",
  "integrated": true,
  "deployed": false,
  "qualified_head": "8c88dde13093aec070b73683606e936dc0a4d232",
  "qualified_head_tree": "124d8a691ed240661c4ba56c84219692bff6b228",
  "premerge_main": "e48825b1b37544f4c31912e3c29a3918704f5456",
  "merge": "9e9204f76b105426b0affaa74733175c052f27ba",
  "parents": [
    "e48825b1b37544f4c31912e3c29a3918704f5456",
    "8c88dde13093aec070b73683606e936dc0a4d232"
  ],
  "precomputed_and_actual_tree": "a1b37ec1ab291a90cb2a383aa8f50b797ac09932",
  "full_tree": {
    "leaves": 1208,
    "current_unowned_leaves_preserved": 1167,
    "contribution_paths": 41,
    "contribution_additions": 35,
    "non_progress_contribution_blobs_exact": 40,
    "unexpected_paths": 0,
    "dropped_paths": 0
  },
  "progress": {
    "path": "docs/design/research/PROGRESS.md",
    "current_chars": 68766,
    "exact_qualified_append_chars": 5399,
    "composed_chars": 74165,
    "blob": "a8bd0bd47815fa20108cd37ee3ff57e85e9a92a4",
    "complete_content_readback_equal": true
  },
  "own_actual_hosted_checkout": "7d39a84d771506f0793e483b5fe63344a533530c",
  "own_hosted_tree": "82bfa0ef7bd72ee33c3cd1dd4b401415564cc9d5",
  "own_run": 37833803462,
  "python": {
    "job": 113505614565,
    "passed": 640,
    "skipped": 6,
    "failed": 0,
    "wrapper_seconds": 98.773261,
    "source_clean": true,
    "source_unchanged": true,
    "source_files": 1195,
    "junit_bytes": 91846,
    "junit_sha256": "6dcd60ff68b61e1e0c68eff8e59f2df75fa336881d9f034641ac63ebeb21302c",
    "all_32_workbench_cases_passed": true,
    "literal_name_branch": "bounded-refusal",
    "receipt_comment": 6067946692
  },
  "native": {
    "job": 113505614092,
    "ctest_passed": 30,
    "ctest_total": 30,
    "daemon_passed": 6,
    "daemon_skipped": 0,
    "source_worktree_dirty": true,
    "source_unchanged_during_test": true,
    "junit_sha256": "3f31a600618d73e544cbc005ea6baaec5499ff0c6cffc3f1e5c0a8f012192ec4",
    "receipt_comment": 6068268696
  },
  "late_upstream": {
    "actual_checkout": "8445056bdb467a061091f45e3357992fa306df0f",
    "tree": "a0d17ec8df857b295321fef89e04a831fe51e8d6",
    "ordinary_run": 37833165167,
    "python_passed": 625,
    "python_skipped": 6,
    "ctest_passed": 30,
    "daemon_passed": 6,
    "camera_run": 37833165064,
    "camera_is_synthetic": true,
    "receipt_comment": 6068615816
  },
  "receiving_boundary": "Final composition admitted by exact full-tree/source preservation plus separately received branch gates; no completed full-suite execution at final merge is claimed here.",
  "issue69": {
    "state": "closed",
    "reason": "completed",
    "closed_at": "2026-10-08T20:38:02Z"
  },
  "actions_hold": {
    "primary_comment": 6067592767,
    "first_recovered_by_root": "After the merge and its readback, through the newest HAMON140 page.",
    "new_triggering_writes": "held",
    "run_triggered_before_recovery": 37840896851,
    "observed_at": "2026-10-08 20:41:02 UTC",
    "status": "in_progress",
    "jobs": [
      113529694748,
      113529695220
    ],
    "cancelled_by_this_worker": false,
    "blocker": "Enabled GitHub connector has no cancellation or workflow-disable method; no alternate identity or unsupported endpoint was used."
  }
}

Copy link
Copy Markdown
Owner Author

Final combined-source run received; Actions hold remains in force

The already-started natural push run 37840896851 completed successfully at20:51:09. Root did not cancel or restart it. The hold first recovered after the merge remains active; no further Actions execution follows from this result.

Both jobs checked out actual merged 9e9204f76b105426b0affaa74733175c052f27ba, tree a1b37ec1ab291a90cb2a383aa8f50b797ac09932:

  • 657 Python tests passed, six existing daemon skips, zero failures/errors. The ordinary wrapper accepted process0 in117.4255838 seconds under the unchanged300-second limit. All1,208 source files were clean and unchanged.
  • All32 workbench cases passed and their emitted XML was independently parsed. Actual minimum MainWindow0.303s, chooser0.521s, missing-file unwind0.110s, shortcut countercontrol0.064s. The original leading-space fixture took bounded-refusal in5.267s with the previous path preserved.
  • 30/30 CTest and6/6 native daemon/recovery cases passed, zero native skips. The native receipt is accepted/process0,3.9440285s; its build worktree is explicitly dirty and unchanged during execution, with separate source/binary identities.

The complete JUnit is94,606 bytes, SHA256 ab07b6b5f975faac1e816175178c527c72cbd179c783586802510281cf40c409. The already qualified hosted observer hashed the complete XML and emitted all workbench testcase records; no artifact ZIP download or fresh native test execution was used to receive it.

Complete final receiving packet is preserved in evidence commit 21ccfd418d3c35f4a516ff5af77edffd47109eca, tree ddefce140b446a6d56cd9163120dc848e4a0483e, directly parented by the merged source. Its10 evidence additions preserve every one of the1,208 integrated leaves/modes. It contains both complete raw logs, the executable receiver, original local closed-stdin driver failure, corrected input delivery, exact source/receipt/XML binding and the integration-time record.

Raw Python log166,794 bytes / SHA256 589a9a543681b6b98f01e5611523c59f9ff1b37e1e114d2f8dac059b58520301; raw CMake log311,035 bytes / SHA256 0b29cb6baee6104deb9c61f37f39f4f67914c8e28ff7786bbb27f642a0498424. Their independently computed Git blob identities match publication.

This adds actual final-tree qualification to the earlier separate branch receiving; historical pins and failures remain unchanged. Publication used only the verified non-triggering evidence/analysis-workbench-final-6e5752b49b6f branch and this inert comment. Branch/commit/content readback matched, and zero runs were observed for the evidence head. A transient commit-read disconnect was reconciled by read-only retrieval; no mutation was replayed. No deployment, physical-camera validation or OS-native Windows dialog behavior is claimed.

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.

Evaluate supplied prediction files from the native Analysis workbench

1 participant