Skip to content

feat(pathfinder): select preparation batches in deterministic rotating order - #63

Draft
apotema wants to merge 1 commit into
feat/prepared-endpoint-foundationfrom
feat/serial-endpoint-preparation
Draft

apotema wants to merge 1 commit into
feat/prepared-endpoint-foundationfrom
feat/serial-endpoint-preparation

Conversation

@apotema

@apotema apotema commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Bounded endpoint preparation must continue past the previous batch instead of repeatedly selecting newly invalidated low-ID entities. This adds world-local selection scratch that chooses a deterministic rotating batch from current ECS-derived pending identities. View order, duplicate membership and deletion of the cursor entity do not change the policy.

Stacked on #62. The cursor advances at the caller's publication barrier after the complete batch is processed; rejected stale results consume their turn too. Allocation failure leaves an empty batch without moving the cursor. There is no default budget or persistent authoritative pending queue.

This is selection machinery, not complete serial preparation. Controller participant discovery, snapshots, searches and CMN publication remain to be wired. Discovery costs O(candidate count × budget), so bounding search count is not a frame-time guarantee; measure the complete pipeline before choosing a budget. See rfc/prepared-endpoint-implementation.md.

Validation: zig build test spec passed (13 unit tests, 81 navigation specs). Five new cases cover fairness, wrap/deletion/insertion, duplicate views, OOM, empty/zero-budget batches and all permutations of a small candidate set. All 20 Flying Platform test targets passed with the local dependency overrides.

@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

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