feat(rate-of-closure): land the first React web/src/model slice of #4466 - #4530
Merged
Conversation
101 files: capability observation and result export, club assembly binding and engineering sidecar wire, ground playback workspace, regional-ground variation request/workspace/target projection, scalar ensemble contract, wind-strategy plot data, and their tests. The React tree cannot be taken wholesale, and the measurement is worth recording because it is the opposite of what the earlier slices found. This tree has diverged in *both* directions: - 129 files exist on main that the branch lacks entirely — the Morris component chain (`MorrisWorkflowPanel`, `MorrisResults`, `MorrisFactorEditor`, `MorrisWorkspaceActions`), `LaunchMonitorLinkedScatter`, `morrisAuthorityProxy`, and 15 Playwright specs, all landed by #4473. This is the React mirror of the `application/morris/**` situation in #4524. - 125 of the 270 modified `model` files delete content on the branch side. The worst, `morrisGlobalSensitivityContract.ts`, is +0/-355 — a strict subset of main. I first copied 324 modified files in bulk and then reset it: against a tree where main demonstrably owns 129 files the branch never saw, that was not a safe operation, and shipping it would have reverted exactly the kind of work this whole series has been protecting. What lands instead is the provably safe subset: files whose main->branch diff deletes nothing, then an iterative drop of added files whose dependencies need a main-newer module. That converged in five rounds. `flight.ts` and `wind.test.ts` are explicitly held at main's version so the #4518 ground-crossing guard and the 1e-9 parity tolerance (#4513) survive — verified after the fact, not assumed. 29 added files are deferred. They are not broken; they need their main-side counterparts, and a later slice can carry both together. Verified: `tsc --noEmit` clean, `eslint` clean, 1,324 React tests passing across 157 files, production Vite build succeeds. No Python or Rust changes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
dieterolson
enabled auto-merge (squash)
August 18, 2026 07:32
added 3 commits
August 18, 2026 00:33
Another agent landed 1.17.28 on main while this branch was open. Renumbered rather than leaving a duplicate version in the change log.
This was referenced Aug 18, 2026
dieterolson
added a commit
that referenced
this pull request
Aug 18, 2026
Adds the 45 component, hook and release files that #4530's model-only slice left behind: the camera control bar, club canvas viewport and playback controls, the ground-playback panels, regional execution evidence and ledger tables, the regional surface plan panel, the scalar ensemble and wind-strategy scatters, the wind-strategy panel, the view compositor, seven hooks, the webRuntime descriptor, authorityProxyConfig, the release artifact generator and contract, and the ground-tee visual Playwright spec. Of 125 candidates only 45 could land. Ten symbols the rest need are absent from main and live in five modules that diverged in both directions -- flight, capabilityOptimizer, variationRegistry, mesh and flightPlaybackDrawing. None can be taken wholesale; every one deletes content relative to main, and flight's addition re-types FlightResult.trajectory and rewrites simulateFlight to delegate through an options-based integrator. That is a reimplementation on main's newer core, not a file move, and is tracked separately. PrimaryViewTabs.test.tsx is reverted to main's version: this slice's copy was additive by line count yet failed against main's unchanged component. The prune script is hardened to refuse to remove any file present on origin/main -- it deleted TorqueProfilePanel.test.tsx on this pass. Verified: tsc clean, eslint clean, 1,399 tests across 170 files, and the production Vite build succeeds. Co-authored-by: codex-scheduled <codex-scheduled@users.noreply.github.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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.
101 files: capability observation + result export, club assembly binding and engineering sidecar wire, ground playback workspace, regional-ground variation request/workspace/target projection, scalar ensemble contract, wind-strategy plot data, and their tests.
This tree diverged in BOTH directions
Every earlier slice found the branch behind main in a few files. The React tree is the opposite problem at scale:
MorrisWorkflowPanel,MorrisResults,MorrisFactorEditor,MorrisWorkspaceActions),LaunchMonitorLinkedScatter,morrisAuthorityProxy, and 15 Playwright specs. All landed by CONS-RATE: Complete #4142/#4433 visualization authority #4473. This is the React mirror of theapplication/morris/**situation in feat(rate-of-closure): land the application and web_authority slices of #4466 #4524.modelfiles delete content on the branch side. The worst,morrisGlobalSensitivityContract.ts, is +0/−355 — a strict subset of main.I initially copied 324 modified files in bulk, then reset it. Against a tree where main demonstrably owns 129 files the branch never saw, that was not a safe operation — shipping it would have reverted precisely the work this series exists to protect.
What lands instead
The provably safe subset: files whose main→branch diff deletes nothing, then an iterative drop of added files whose dependencies need a main-newer module. Converged in 5 rounds.
flight.tsandwind.test.tsare explicitly held at main's version so the #4518 ground-crossing guard and the 1e-9 parity tolerance (#4513) survive — verified after the fact, not assumed.29 added files are deferred. They aren't broken; they need their main-side counterparts, and a later slice can carry both together.
Verification
tsc --noEmitcleaneslintcleanPart of epic #4103.
🤖 Generated with Claude Code