Skip to content

Make route navigation transactional - #12

Merged
nicodes merged 2 commits into
a12-truthful-gatesfrom
a12-router-transactions
Sep 13, 2026
Merged

nicodes merged 2 commits into
a12-truthful-gatesfrom
a12-router-transactions

Conversation

@nicodes

@nicodes nicodes commented Sep 12, 2026 •

Copy link
Copy Markdown
Member

Summary

  • return explicit pending/succeeded/failed/superseded navigation results
  • commit route, params, and history only after the matching mount succeeds
  • use generation-aware threaded loading and cancellable transition completion
  • dispose stale partial scenes and preserve state on failed back navigation
  • document the breaking API and prepare v0.0.3

Part of aviorstudio/fieldsofrevik#152

Local acceptance evidence

  • Godot 4.7.2.stable.official.ed1daf0bf
  • GODOT_BIN=/tmp/opencode/godot-4.7.2/Godot_v4.7.2-stable_linux.x86_64 ./tests/test.sh — PASS, including six demonstrated negative controls and transactional routing regressions
  • ./scripts/package_addon.py — PASS; ZIP SHA-256 5f850d789c5668a293d7d291d07e7a43932f947eeead03cf14da7798325b9a2a; installed tree SHA-256 3d0e949c9000529b1960e1a2d2c8fb6c301699c4e28a8c4893e4b967f65e8ed1; 36 files
  • tests/package_lifecycle_test.sh — PASS; exact ZIP enable/restart/smoke/Web export/disable/restart and consumer-owned autoload preservation
  • Playwright CLI 0.1.18 against the packaged Web export — PASS gd-router web_package_smoke reachable=1, 0 console errors
  • Browser screenshot: to be uploaded as GitHub-hosted evidence after PR creation

No review requested: Team No Review workstream; coder-owned verification applies.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@nicodes

nicodes commented Sep 12, 2026 •

Copy link
Copy Markdown
Member Author

Correction — originating issue aviorstudio/fieldsofrevik#152: the initially published screenshot URL contained an unverified full commit suffix. It is corrected below to the verified exact head 18cba9c18e15bd3eda197a2bc3b22ec05e902789; the acceptance evidence itself is unchanged.

Self-verification evidence — exact head 18cba9c18e15bd3eda197a2bc3b22ec05e902789

Godot: 4.7.2.stable.official.ed1daf0bf; Playwright CLI: 0.1.18.

Acceptance criterion Exact-head evidence
Transactional route/history commit and failed-back rollback tests/hosted_router_test.gd: successful mounts commit route/params/history; missing-scene back returns FAILED and preserves route, params, and history. ./tests/test.sh passed.
Latest-wins explicit supersession (D03) and request generations Overlapping deferred-host and real threaded-resource tests assert prior result SUPERSEDED, cancellation, stale completion rejection, and latest-only commit.
Transition/host lifecycle cleanup Shared-transition overlap, invalid transition partial disposal, host destruction failure, externally freed previous scene, and abandoned threaded-load draining all passed without the new ObjectDB leak.
Repeated/concurrent regression coverage Repeated push/replace/back and concurrent resource/transition cases passed in the canonical suite.
Exact assembled package/install lifecycle ./scripts/package_addon.py and tests/package_lifecycle_test.sh passed: 36 manifest files, ZIP SHA-256 5f850d789c5668a293d7d291d07e7a43932f947eeead03cf14da7798325b9a2a, installed-tree SHA-256 3d0e949c9000529b1960e1a2d2c8fb6c301699c4e28a8c4893e4b967f65e8ed1, enable/restart/smoke/Web export/disable/restart, consumer-owned autoload preserved.
Browser path Playwright loaded the exact packaged Web export, observed PASS gd-router web_package_smoke reachable=1, and reported 0 console errors. Visual UI behavior itself is unchanged.
Exact-head CI CI run 34718991598 completed successfully for the exact head.

Exact packaged Web export

Native stack linking remains blocked because gh stack link 11 12 is currently rejected by the caller account GraphQL quota; the PR base is correctly chained to a12-truthful-gates. No review requested or awaited under Team No Review.

@nicodes
nicodes added this pull request to stack #13 September 13, 2026 05:01
@nicodes
nicodes merged commit 3839ebf into main Sep 13, 2026
3 checks passed
@nicodes
nicodes deleted the a12-router-transactions branch September 13, 2026 05:01
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