Skip to content

Ground Study Suite: Regional Execution, Bounce & Job Workspaces (consolidated 21 PRs) - #4409

Open
dieterolson wants to merge 381 commits into
mainfrom
consolidated/ground-study-batch
Open

Ground Study Suite: Regional Execution, Bounce & Job Workspaces (consolidated 21 PRs)#4409
dieterolson wants to merge 381 commits into
mainfrom
consolidated/ground-study-batch

Conversation

@dieterolson

Copy link
Copy Markdown
Collaborator

Consolidates Ground Study PRs into a single batch (#4369 #4273 #4271 #4270):\n\n- Closes #4332: feat(ground): add coplanar regional transitions\n- Closes #4335: feat(ground): add regional material plan wire contract\n- Closes #4350: feat(ground): bind regional plan execution and evidence\n- Closes #4351: feat(ground): add regional execution evidence readback\n- Closes #4352: feat(ground): complete regional execution result readback\n- Closes #4353: feat(ground): inspect regional execution event ledgers\n- Closes #4354: feat(ground): inspect and export regional trajectories\n- Closes #4355: feat(ground): add repeated-bounce evidence wire contract\n- Closes #4356: feat(ground): bind repeated-bounce execution requests\n- Closes #4357: feat(ground): bind repeated-bounce request execution\n- Closes #4359: feat(ground): compose flight transfer with repeated bounce\n- Closes #4360: feat(ground): compose flight through regional execution\n- Closes #4361: feat(ground-study): adapt qualified regional results (#4273)\n- Closes #4365: feat(ground-study): add seeded material variation runner\n- Closes #4366: feat(ground-study): persist seeded variation requests (#4273)\n- Closes #4367: feat(ground-study): own React request workspace (#4273)\n- Closes #4370: feat(ground-study): add execution job prerequisites (#4369)\n- Closes #4372: feat(ground-study): add fail-closed web authority capability (#4369)\n- Closes #4373: feat(ground-study): add imported-job execution workspaces\n- Closes #4374: feat(ground-study): prepare jobs from current editors\n- Closes #4375: feat(ground-study): cancel qualified flight recomputation

dieterolson and others added 30 commits August 7, 2026 23:18
…n workspaces

Expose the qualified Waterloo/Penner capability optimizer as a primary
Shot Optimizer module in both clients: strict cross-runtime
capability-optimization-workflow/v1 authoring and persistence,
off-UI-thread execution with truthful progress and cooperative
cancellation, complete scalar-ensemble/v1 cohort retention, ranked
alternatives, stage-qualified scatter axes, bounded raw-row paging,
spreadsheet-safe CSV, and stable JSON. The React panel is lazy-loaded
so the main Vite chunk stays under the 500 kB warning threshold, and
saved v1 layouts reveal newly registered modules. Handoff documents are
updated in this implementation commit per fleet policy.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…t reveal

Add PyQt workflow/worker/GUI suites and React workflow, worker-client,
run, panel, and results tests for the Shot Optimizer slice; extend
primary-navigation coverage so saved layouts reveal newly registered
modules and the new tab registers exactly once in both clients.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… gates

Add the SPEC 1.14.6 change-log row, document the end-user workflow in
the capability optimization spec, and update the campaign handoff with
the recovered slice and its verified gate evidence.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
No material source change; handoff pointer update only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…cess

The dict-splat construction of CapabilityWorkflowInputs failed the
hosted delta-mypy gate because **dict[str, float] cannot be proven
against the integer fields. Build the snapshot with explicit typed
keyword arguments instead; behavior is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Handoff update for implementation commit 101020b per fleet policy;
no source change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The prior note wrongly framed the 3.10 StrEnum ImportError as a
stack-wide defect to fix in source. requires-python is >=3.11 and only
quality-gate and tests (3.11) are required checks, so the 3.10 lane is
a stale-matrix artifact. No source change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The observation contract has only complete/no_impact/failed members, so a
horizon nonconvergence is normalized into failed. Reporting a bare
"failed N" reads as numerical breakage when the retained reason says the
flight simply did not reach the ground inside the configured horizon.
Both clients now append the retained reason codes with counts, which is
data the adapter already carries per row.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A descending launch starts at z=0 and is already below ground once the
t > dt guard permits the crossing check, so the interpolation ratio went
negative and extrapolated the crossing to a negative sample time. That
raised RangeError: timeS must be nonnegative, which the observation
layer absorbed as an untyped evaluator_exception on 12 of 96 samples of
a default driver search while Python reported none. Clamping the ratio
to [0, 1] keeps the crossing inside the detecting step, so these samples
report nonconverged and match the Python runtime.

Also builds _lerp_vector's 3-tuple explicitly instead of carrying an
unused type: ignore, and coerces _curve to float, clearing the hosted
delta-mypy gate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Brings in the evaluator branch descending-launch and delta-mypy repairs.
Resolves the two documentation conflicts by keeping both slices: SPEC.md
retains the 1.14.6 workspace row above the amended 1.14.5 evaluator row
at header version 1.14.6, and the tool handoff keeps the workspace
completion record ahead of the evaluator repair entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
feat(rate-of-closure): matched PyQt6/React capability optimization workspaces
feat(rate-of-closure): bind optimizer to full flight
feat(rate-of-closure): stream capability optimizer samples
The per-slice stacked-branch cautions described the stack while it was
open and now read as active constraints, so state plainly that #4283,
#4289, and #4294 are merged onto this branch, how they were folded, what
was verified here (1426 Python, 624 React), and that the incomplete CI
matrix reflects 25 of 28 org runners being offline rather than failures.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
codex-scheduled added 7 commits August 12, 2026 20:30
…dated/ground-study-batch

# Conflicts:
#	SPEC.md
…d/ground-study-batch

# Conflicts:
#	SPEC.md
…idated/ground-study-batch

# Conflicts:
#	SPEC.md
…ated/ground-study-batch

# Conflicts:
#	SPEC.md
…ground-study-batch

# Conflicts:
#	SPEC.md
…idated/ground-study-batch

# Conflicts:
#	SPEC.md
@dieterolson
dieterolson enabled auto-merge (squash) August 13, 2026 03:34

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f3104be198

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@@ -14,6 +14,66 @@
assembly_to_json,
assembly_to_json_dict,
)
<<<<<<< HEAD

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Resolve the golf-club facade conflict

When Rate of Closure imports shared.python.golf_club through modules such as simulation/ground_clearance.py, Python encounters this raw merge marker and raises SyntaxError before any facade exports are defined, preventing the application from launching and the regional-ground tests from collecting. Resolve the conflict while retaining the intended shaft, turf, and wedge exports; the repository's mandatory Ruff gate also rejects this file.

AGENTS.md reference: AGENTS.md:L542-L546

Useful? React with 👍 / 👎.

@@ -81,9 +82,41 @@ def test_upstream_scope_includes_every_release_build_package_root() -> None:
"python/src/utils",
"shared",
"sidekick",
<<<<<<< HEAD

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the cross-repository test conflict markers

The checked changed-file lint and pytest paths in .github/workflows/ci-standard.yml parse this modified test, but the raw conflict marker makes it invalid Python, so CI fails before it can verify the new pinned-submodule workflow behavior. Resolve the conflict and keep the intended vendor/ud-tools assertion and initialization test.

AGENTS.md reference: AGENTS.md:L542-L546

Useful? React with 👍 / 👎.

@@ -21,6 +21,10 @@
def test_public_facade_exports_the_stable_domain_api() -> None:
assert set(golf_club.__all__) == {
"CURRENT_FORMAT",
<<<<<<< HEAD

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the golf-club contract test conflict markers

This raw marker inside the expected export set makes the test module syntactically invalid, so Ruff and pytest collection fail even after the production facade conflict is fixed. Resolve all conflict sections in this file and retain the intended expanded public API expectations.

AGENTS.md reference: AGENTS.md:L542-L546

Useful? React with 👍 / 👎.

Comment thread SPEC.md
@@ -26,16 +26,1947 @@
| **Owner** | D-sorganization |
| **Primary Language(s)** | Python 3.11+, Rust, JavaScript, TypeScript |
| **License** | MIT |
<<<<<<< HEAD

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Resolve the committed SPEC merge conflicts

The canonical repository specification contains 177 unresolved conflict markers and mutually contradictory version and feature sections from the consolidated branches. Any developer or automation using SPEC.md for the current contract cannot determine which branch text is authoritative, so the conflicts should be resolved into one coherent specification rather than committed verbatim.

Useful? React with 👍 / 👎.

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.

1 participant