Skip to content

Validate bounded native keyframe tracking against four TUM sequences - #126

Merged
rsasaki0109 merged 15 commits into
mainfrom
codex/tum-keyframe-plane-validation
Oct 12, 2026
Merged

rsasaki0109 merged 15 commits into
mainfrom
codex/tum-keyframe-plane-validation

Conversation

@rsasaki0109

@rsasaki0109 rsasaki0109 commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

Retaining a keyframe can preserve geometric support while producing an incorrect trajectory. Add explicit bounded static, input-overlap and coarse-SVD/fine-plane study adapters, with permanent tracking failure, typed attributes, one world gauge and exact protocol/helper/native hashes. The default estimator is unchanged.

Four official TUM sequences retain preregistered conditions, references withheld until estimates freeze, and all failed/missing poses. All 12 new study/comparison cases fail at least one unchanged coverage/accuracy condition. Desk2 hybrid ATE/RPE is 1.045931/0.179715 m versus the plane baseline's 0.523587/0.102466 m. Maturity remains 87%, provisional; measured canonical clock/mounting calibration and broad accurate-motion gates remain open.

Repair two confirmed integration-test defects without changing production algorithms: wait for complete HTTP headers within the existing 4 KiB bound, and explicitly restore blocking mode on accepted sockets. The macOS failed-job log identifies EOF in both fragmented-request tests. Forcing nonblocking accepted sockets reproduces both failures on Linux before repair; both then pass with unchanged strict HEAD/no-body and exact 206/range assertions.

Validation:

  • Historical Python 3.8/3.12 SDK suites: 731 passed, three expected ONNX skips each. Current relevant TUM tests: 78 passed.
  • Current complete streaming IO profile: 76 passed, no failures/ignores, including six real TCP integration cases. Rust formatting passes.
  • All 12 frozen plan/estimate/score/audit records, historical helpers/native SDK and four final plot sets verify unchanged after main integration.
  • Previous head 395b122 completes 106/107 main jobs and all seven required wheels; its macOS failure is diagnosed and reproduced, so that head cannot merge. Repaired head 921d285 requires its own complete 107 main and seven required wheel jobs and a fresh identical candidate merge tree. Only PyPI publication is intentionally skipped. Main run 38191125524 and wheel run 38191125518 currently have all 107 main and seven initial wheel jobs queued without assigned runners (full explicit-attempt snapshot 2026-10-12T01:22:34.016461+00:00). Hosted verification is pending; no mandatory job is counted as successful. The read-only local watcher is stopped, without cancelling GitHub runs.

See docs/TUM_KEYFRAME_VALIDATION.md and notes/2026-10-12_copc_accepted_socket_regression.md for evidence and limits. Main PRs #122–#146 are preserved. Raw archives, images, point-cloud dumps and native binaries remain local. Attribution: TUM RGB-D Benchmark, Sturm et al. (IROS 2012), CC BY 4.0.

Delivery verification (2026-10-12T01:46:30.100741+00:00):

The exact head 921d285 has 54/107 main jobs successful and all seven required wheel jobs successful. The repaired macOS Streaming job, Linux/Windows Streaming, full-feature tests/Clippy, Python and ONNX verification all succeed. 53 main jobs remain queued without assigned runners. The planned complete 107+7 gate remains incomplete; delivery retains this limitation rather than marking queued jobs passed. The fresh main candidate tree equals the tested head tree (43ec6e7eb0f2e7cbfd7768c6d8a5b27aacdae22c). Maturity remains 87%, provisional, with physical accuracy/calibration gates open.

@rsasaki0109
rsasaki0109 marked this pull request as ready for review October 12, 2026 01:46
@rsasaki0109
rsasaki0109 merged commit dfcec3b into main Oct 12, 2026
115 checks passed
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