Repository navigation
feat(workbench): inspect connected models with originals - #201
Merged
Merged
Conversation
Expose passive bounded observations for actual model adoption, archive operations, download outcomes and closure. Share one module across the standard and observed entries, and keep observer failures separate from application effects.
Keep the shared worker graph free of DOM-only names while retaining browser Document identity. Signed-off-by: Damian Reeves <[email protected]>
Retain adjacent synchronous observer facts without waiting for a future transport ACK. Keep fixed backing, sticky faults and terminal ordering separate from document transport and host authority. Signed-off-by: Damian Reeves <[email protected]>
Retain actual callbacks before one-at-a-time acknowledged delivery. Stop the same observer before END and refuse incomplete or unclean channel termination. Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Signed-off-by: Damian Reeves <[email protected]>
Imported sidecars can satisfy the persistence predicate before the source edit reaches its debounced save. Wait for the edited core file in the same committed manifest before reloading. Signed-off-by: Damian Reeves <[email protected]>
Capture bounded input, result and status on the existing assertion failure. The CI timeout has not been reproduced locally because Chrome launches remain on hold. Signed-off-by: Damian Reeves <[email protected]>
CI captured default arguments after contenteditable fill. Use CodeMirror select-all and text insertion, then wait for the host-rendered argument echo before evaluation. Keep the existing result assertions and deadline. Signed-off-by: Damian Reeves <[email protected]>
Capture bounded real focus, keyboard and input events when argument delivery fails. Preserve assertions and avoid browser round trips between selection and insertion. Signed-off-by: Damian Reeves <[email protected]>
DamianReeves
marked this pull request as ready for review
October 22, 2026 20:01
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Signed-off-by: Damian Reeves <[email protected]>
Resolve the Bun 1.4.4 update against the workbench workspace and its added dependencies. Signed-off-by: Damian Reeves <[email protected]>
Take the refreshed observed workbench branch, which carries main and the Bun 1.4.4 update. Signed-off-by: Damian Reeves <[email protected]>
Take the edited source persistence wait from #242. It covers the same race as this branch's earlier test change and scopes the check to the active workspace. Signed-off-by: Damian Reeves <[email protected]>
The squash commit of #200 has the same tree as merging 39df05e with 6a0c4fb. Both commits are already ancestors of this branch, so this merge records the squash commit without changing the tree. Signed-off-by: Damian Reeves <[email protected]>
DamianReeves
changed the base branch from
DamianReeves/model-originals-observed-main
to
main
October 23, 2026 13:42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Connected model sources previously retained originals without inspecting the host's semantic projection. This change verifies complete/projection transfers with the existing bounded MoonBit parser, holds the genuine application inspection command before enqueue, and atomically adopts the actual worker result with its original files. Unsupported or unusable projections keep verified originals and clearly disclose when the explorer still shows the previous model.
The dedicated worker path accepts receiver-owned projection bytes up to 64 MiB. Ordinary imports retain their 16 MiB policy. Close, replacement, cancellation and late results retain explicit ownership checks. The fixed observed entry shares one inspection controller with ordinary bootstrap and retains its actual startup handle. A capture armed before Connect binds controls to the next actual opening. Replacement wakes its waits; disposal targets that captured opening. All business controls share one outstanding slot and refuse after STOP or channel failure. Cleanup remains available for the captured owner.
Source and project selection now use the genuine UI buttons under the captured-owner guard. The operation reports selection only when that same nominal row is actually accepted by the application. A click alone remains pending. Wrong-row selection, missing choices, retirement and replacement have distinct outcomes. The DOM row count must match the actual discovered choice count before scanning attributes; ambiguous, disabled or detached buttons refuse. A phase marker represents rendered empty lists so the runner need not wait for a nonexistent button. The fixed port accepts identities as data and exposes no callback, program or module argument.
Previously stacked on #200, which landed as e163171; this PR now targets main. Includes the shared receiver, compiled header bridge, pure adoption transition and pending owner prerequisites. No new CI jobs, matrices or triggers; tests join existing groups and reuse the application build.
Validation on a42427d:
Head 32e89f2 added bounded event tracing to the existing argument-delivery assertion. The preceding 4bc222b passed all three headless OS lanes, but its browser log showed default empty-text/false arguments after selection and insertion. The trace records real focus, keyboard and input events to distinguish focus loss from a host replacement. It does not weaken the result assertions or deadlines, add retries, or establish the cause of the earlier failure. The earlier folder reload correction still waits for exact edited bytes in the committed manifest. Focused typechecking, lint/format, validation and actual clean-environment pre-push hooks pass. Both preceding workflows finished before this push; none was cancelled. Current-head normal CI run39839012605 and headless run39839012942 both completed successfully, including the full browser build and all three headless OS lanes. Runtime application code and the source-a424 input receipt are unchanged. This current-head CI evidence is distinct from the earlier preserved source-specific local build; no product fix or full MCK/profile qualification is claimed.
This is application integration, not full MCK/profile qualification. Fresh source authority, the acquired image and fixed source-action factories, physical joins, shared report/replay, the original campaign allocation and required platform/strict gates remain open. Inventory observations are not relabeled as semantic-model adoption facts.
Refresh after #200 landed: head 5d28d23 merges main in two signed-off steps. The first takes #242 and resolves its overlap in
elm-workflow.tswith main'swaitForSavedCoreSource, which covers the same edited-source save race as 26e54cd and scopes it to the active workspace. The second records the #200 squash commit with theoursstrategy, which is exact because its tree equals the merge of 39df05e and 6a0c4fb, both already in this branch. Against main, 40 of 41 changed files are byte-identical to this PR's previous diff;elm-workflow.tsdiffers only by that resolution. Local lint, format, validation,bun check --all, type tests, the workbench MoonBit JS tests, the build and the non-browser workbench tests pass on 5d28d23. Browser lanes run in CI only.