Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,819 changes: 221 additions & 1,598 deletions AGENT_HANDOFF.md

Large diffs are not rendered by default.

261 changes: 32 additions & 229 deletions SPEC.md

Large diffs are not rendered by default.

2,066 changes: 279 additions & 1,787 deletions docs/development/RATE_OF_CLOSURE_CAMPAIGN_HANDOFF.md

Large diffs are not rendered by default.

73 changes: 61 additions & 12 deletions docs/release/rate_of_closure_campaign.v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@
"pr": 4282,
"branch": "feat/4199-wind-workflow",
"base_branch": "feat/4199-wind-scalar-adapter",
"head_sha": "b2baf6ef615b0d756a86ac4ca7eef2fc583210ee",
"head_sha": "18fe89201d657116bbca99922297c14968356c44",
"state": "open",
"merge_commit_sha": null,
"protection_evidence": "not_recorded"
Expand All @@ -154,7 +154,7 @@
"pr": 4285,
"branch": "feat/4268-ground-contract",
"base_branch": "feat/4197-capability-observer",
"head_sha": "584e4e53a7990053a346938c4e45538786887ec7",
"head_sha": "6a2bc9d06f6f9a28a0d615b19d2ed4fc13871059",
"state": "open",
"merge_commit_sha": null,
"protection_evidence": "not_recorded"
Expand All @@ -164,7 +164,7 @@
"pr": 4288,
"branch": "feat/4269-flight-ground-transfer",
"base_branch": "feat/4268-ground-contract",
"head_sha": "c39297d37a17d5d8d3520ed62c5563cdcc609cab",
"head_sha": "4972e55e0bb6e5b6bf7da0f899eed5d4f54e7d9d",
"state": "open",
"merge_commit_sha": null,
"protection_evidence": "not_recorded"
Expand Down Expand Up @@ -194,7 +194,7 @@
"pr": 4302,
"branch": "feat/4270-ground-impact-bounce",
"base_branch": "feat/4269-flight-ground-transfer",
"head_sha": "62beb3e1aa951645fd556a53f9cbae4bb46c47e5",
"head_sha": "cf6e72bad98e5f36f782254942e6895b8b71e670",
"state": "open",
"merge_commit_sha": null,
"protection_evidence": "not_recorded"
Expand All @@ -204,7 +204,7 @@
"pr": 4304,
"branch": "feat/4271-ground-skid-roll",
"base_branch": "feat/4270-ground-impact-bounce",
"head_sha": "3f861c1faaa7455faee92eaa7f813174667208e0",
"head_sha": "0ea6740965068542e9d8c7449e06ec07d88969e0",
"state": "open",
"merge_commit_sha": null,
"protection_evidence": "not_recorded"
Expand All @@ -214,7 +214,7 @@
"pr": 4332,
"branch": "feat/4271-regional-surface-transitions",
"base_branch": "feat/4271-ground-skid-roll",
"head_sha": "5ac3c1f233de30dd42eeac57073cbdb149bde652",
"head_sha": "04ccf08dd990de1cd056a3420e67772773a4be2e",
"state": "open",
"merge_commit_sha": null,
"protection_evidence": "not_recorded"
Expand All @@ -224,7 +224,7 @@
"pr": 4335,
"branch": "feat/4271-regional-wire-contract",
"base_branch": "feat/4271-regional-surface-transitions",
"head_sha": "8f933ed8dcb29e55ece4ec6bb1e60813f6794d57",
"head_sha": "9e01ccc3e891cc45907293751a192624195a77a5",
"state": "open",
"merge_commit_sha": null,
"protection_evidence": "not_recorded"
Expand All @@ -234,7 +234,17 @@
"pr": 4339,
"branch": "feat/4274-regional-surface-ui",
"base_branch": "feat/4271-regional-wire-contract",
"head_sha": "d21741e312b849a63f73cabf351a15d9de80fb94",
"head_sha": "db335937afc4b587d235eb705e315f577519c5e6",
"state": "open",
"merge_commit_sha": null,
"protection_evidence": "not_recorded"
},
{
"id": "pr-4342",
"pr": 4342,
"branch": "feat/4274-regional-plan-io",
"base_branch": "feat/4274-regional-surface-ui",
"head_sha": "c1f47f2ef68b3db102da5416aaac17a40f675207",
"state": "open",
"merge_commit_sha": null,
"protection_evidence": "not_recorded"
Expand Down Expand Up @@ -423,6 +433,42 @@
"src/rate_of_closure/AGENT_HANDOFF.md",
"docs/development/RATE_OF_CLOSURE_CAMPAIGN_HANDOFF.md"
]
},
{
"id": "ground-regional-ui-helper-local-d217",
"kind": "local",
"commit_sha": "d21741e312b849a63f73cabf351a15d9de80fb94",
"outcome": "passed",
"commands": [
"python -m pytest tests/rate_of_closure/test_regional_surface_plan.py tests/rate_of_closure/test_gui.py tests/rate_of_closure/test_layout_minsize.py -q",
"npm test -- --run",
"npm run type-check && npm run lint && npm run build",
"uvx --from ruff==0.14.10 ruff check src/rate_of_closure tests/rate_of_closure && uvx --from ruff==0.14.10 ruff format --check src/rate_of_closure tests/rate_of_closure"
],
"summary": "The current PR #4339 parent passed focused Python/PyQt and React qualification plus the complete 672-test React suite after replacing its six-parameter number-input helper with a frozen specification and three-parameter helper. This remains local evidence, not protected release evidence.",
"source_paths": [
"AGENT_HANDOFF.md",
"src/rate_of_closure/AGENT_HANDOFF.md",
"docs/development/RATE_OF_CLOSURE_CAMPAIGN_HANDOFF.md"
]
},
{
"id": "ground-regional-io-local-8e1c",
"kind": "local",
"commit_sha": "8e1c7ccd99a7c4886c5fb9ccc7e4d94a6d7e3833",
"outcome": "passed",
"commands": [
"python -m pytest tests/rate_of_closure/test_regional_surface_plan.py tests/rate_of_closure/test_regional_surface_plan_io.py tests/rate_of_closure/test_workspace_files.py -q",
"npm test -- --run src/components/RegionalSurfacePlanPanel.test.tsx",
"npm run type-check && npm run lint && npm run build",
"uvx --from ruff==0.14.10 ruff check src/rate_of_closure tests/rate_of_closure && uvx --from ruff==0.14.10 ruff format --check src/rate_of_closure tests/rate_of_closure"
],
"summary": "The published PR #4342 child passed strict native atomic and bounded browser regional request I/O qualification, safe-number parity, bounded UTF-8 import, static analysis, build, and governance gates before parent reconciliation. Fresh protected evidence remains open.",
"source_paths": [
"AGENT_HANDOFF.md",
"src/rate_of_closure/AGENT_HANDOFF.md",
"docs/development/RATE_OF_CLOSURE_CAMPAIGN_HANDOFF.md"
]
}
],
"programs": [
Expand Down Expand Up @@ -1204,7 +1250,8 @@
"pr-4304",
"pr-4332",
"pr-4335",
"pr-4339"
"pr-4339",
"pr-4342"
],
"supported_surfaces": {
"tools.pyqt6": "implemented_unverified",
Expand All @@ -1217,14 +1264,16 @@
"ground-skid-roll-local-f475",
"ground-regional-local-1a48",
"ground-regional-wire-local-74a0",
"ground-regional-ui-local-cbb9"
"ground-regional-ui-local-cbb9",
"ground-regional-ui-helper-local-d217",
"ground-regional-io-local-8e1c"
],
"evidence_gap": "The contract, flight-transfer, impact/bounce, static-plane skid/roll, regional-surface, regional-plan wire, and regional-editor carriers remain open on draft PRs 4285, 4288, 4302, 4304, 4332, 4335, and 4339. Exact local evidence exists, but fresh protected evidence for the reconciled heads, execution/playback, result interchange, workspace model-input persistence, changing geometry, compiled-runtime physics, and downstream parity remain absent.",
"evidence_gap": "The contract, flight-transfer, impact/bounce, static-plane skid/roll, regional-surface, regional-plan wire, regional-editor, and regional request-I/O carriers remain open on draft PRs 4285, 4288, 4302, 4304, 4332, 4335, 4339, and 4342. Exact local evidence exists, but fresh protected evidence for the reconciled heads, execution/playback, result interchange, workspace model-input persistence, measured calibration, changing geometry, compiled-runtime physics, and downstream parity remain absent.",
"limitations": [
"Airborne flight must first terminate against physical terrain and preserve terminal angular velocity.",
"Current UpstreamDrift terrain and putting implementations are reference inputs rather than the qualified authority.",
"The #4270 rigid impact law does not consume firmness, grass, compressibility, moisture, or rolling-resistance fields.",
"Published open PR #4304 qualifies one immutable planar profile and optional finite tangent-axis edge; open PR #4332 adds bounded coplanar material overlays; open PR #4335 adds a strict Python/TypeScript plan wire boundary and Python resolver; and open PR #4339 adds matched session-only PyQt6/React request editors. Changing normals, height or velocity discontinuities, terrain deformation, torsional-spin damping, roll-to-skid transitions, internal transition-ledger export, execution/playback, result interchange, measured calibration, workspace model-input persistence, compiled or TypeScript regional physics, and downstream adapters remain unimplemented."
"Published open PR #4304 qualifies one immutable planar profile and optional finite tangent-axis edge; open PR #4332 adds bounded coplanar material overlays; open PR #4335 adds a strict Python/TypeScript plan wire boundary and Python resolver; open PR #4339 adds matched PyQt6/React request editors; and open PR #4342 adds editor-qualified canonical request import/export with native atomic semantics and explicit browser limitations. Changing normals, height or velocity discontinuities, terrain deformation, torsional-spin damping, roll-to-skid transitions, internal transition-ledger export, execution/playback, result interchange, measured calibration, workspace model-input persistence, compiled or TypeScript regional physics, and downstream adapters remain unimplemented."
],
"depends_on_issues": [
4191
Expand Down
22 changes: 17 additions & 5 deletions docs/specs/GROUND_SKID_ROLL.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,23 @@ schema, unit, provenance, and request readback.

The regional v1 wire schema has no calibration record, so the editor does not
invent one or widen that schema. `unvalidated` is explicit presentation/source
qualification and is included in the source digest. This first slice is
session-only: current web workspace file commands do not persist model inputs,
and neither client claims request export/import, execution, result playback,
or measured-course calibration. Those capabilities require separate contracts
and acceptance evidence.
qualification and is included in the source digest. PyQt6 native Open/Save As
and React browser import/download persist only the canonical regional request;
workspace model-input persistence remains a separate contract. Import is
transactional and accepts only the editor producer/provider v1, fixed qualified
axis/geometry, and editor row capacity. An unchanged import retains the exact
request and provenance; editing rebinds the draft digest. Browser downloads
cannot promise a native path, atomic replacement, or recent-file access.
Wire numbers are bounded to the shared cross-runtime safe range. Native
precedence entry preserves every nonnegative integer through
9,007,199,254,740,991 exactly, so a qualified import cannot be silently narrowed
before validation or Save As.
Native import reads one binary handle with a one-byte overflow sentinel before
strict UTF-8 decoding, so mutable files cannot bypass the 1 MiB allocation cap
between a metadata check and content parsing.
Neither client claims execution, result playback, or measured-course
calibration. Those capabilities require separate contracts and acceptance
evidence.

Skid and roll distances are accumulated separately from centre speed relative
to the moving surface. Collinear constant-acceleration segments use the exact
Expand Down
Loading
Loading