Skip to content

Make PM submit tolerate assignment replica lag#296

Merged
wallscaler merged 1 commit into
mainfrom
codex/pm-assignment-replica-tolerant
Jun 26, 2026
Merged

Make PM submit tolerate assignment replica lag#296
wallscaler merged 1 commit into
mainfrom
codex/pm-assignment-replica-tolerant

Conversation

@wallscaler

Copy link
Copy Markdown
Contributor

Summary

  • Makes per-miner submit recover tier/seq from the signed pm-* challenge id when per_miner_assignments is not visible yet.
  • Re-materializes the assignment row idempotently before verification, so the ledger catches up without rejecting valid work.
  • Keeps invalid and cross-miner pm-* challenge ids rejected.

Why

Miners were intermittently seeing assignment_required_fetch_challenges_first immediately after fetching a private CNF. Root cause: /per-miner/cnf wrote per_miner_assignments, but immediate /v1/agents/submit could read from a lagging replica/app state and miss the row.

Verification

  • Claude adversarial review: no blockers; requested decoupling from legacy scan flag and cross-miner negative coverage, both addressed.
  • UV_LINK_MODE=copy uv run --extra publisher python publisher_verify.py -> PASS all 149 checks
  • UV_LINK_MODE=copy uv run --extra publisher python assigned_lane_verify.py -> PASS all 15 checks
  • UV_LINK_MODE=copy uv run --extra publisher python weights_verify.py -> PASS all 32 checks
  • UV_LINK_MODE=copy uv run --extra publisher python -m compileall scaffold publisher_verify.py assigned_lane_verify.py weights_verify.py -> PASS
  • git diff --check -> PASS

Launch Note

This is safe to deploy independently. It does not change scoring math. It only removes a false-negative PM submit rejection caused by assignment-ledger visibility lag.

@wallscaler wallscaler merged commit 7b34646 into main Jun 26, 2026
6 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