Show the injector's reason for a world collection it does not publish #146

Manually merged
vinny merged 0 commits from vinny/cache-injector-error into master 2026-10-17 07:39:16 -04:00 AGit
Owner

Summary

  • A world collection the injector does not publish now shows the injector's own reason (its last_error and last_field_error) in the connection panel's world cache status, instead of only "The injector has not published a full cycle yet."
  • Live 2026-10-17 (lab trial tpl-mixed-takeover-heldout): the units collection never published for that scenario, because the injector reported sensors: Unsupported value type ValueTuple2.` CMOnet correctly fell back to Lua polling, but the game ran at about 5.5x against its 15x compression, and nothing visible said why.
  • The lifecycle plan's diagnostics item mentions the new detail.

Test plan

  • New test_a_collection_the_injector_cannot_publish_shows_its_reason: a synthetic injector that fails units shows the reason, and units stay on Lua (the roster job succeeds).
  • tests/test_world_cache.py, tests/test_world_coverage.py and tests/test_cache_socket_order.py: 24 passed.
  • Full check in the background on the merged revision.

🤖 Generated with Claude Code

## Summary - A world collection the injector does not publish now shows the injector's own reason (its `last_error` and `last_field_error`) in the connection panel's world cache status, instead of only "The injector has not published a full cycle yet." - Live 2026-10-17 (lab trial `tpl-mixed-takeover-heldout`): the units collection never published for that scenario, because the injector reported `sensors: Unsupported value type ValueTuple`2.` CMOnet correctly fell back to Lua polling, but the game ran at about 5.5x against its 15x compression, and nothing visible said why. - The lifecycle plan's diagnostics item mentions the new detail. ## Test plan - [x] New `test_a_collection_the_injector_cannot_publish_shows_its_reason`: a synthetic injector that fails units shows the reason, and units stay on Lua (the roster job succeeds). - [x] `tests/test_world_cache.py`, `tests/test_world_coverage.py` and `tests/test_cache_socket_order.py`: 24 passed. - [ ] Full check in the background on the merged revision. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The connection panel said only that the injector had not published a full
cycle yet. Live 2026-10-17 the units collection never published for the
held-out takeover scenario because a sensors value was one the injector
cannot write, and the game ran at a third of its compression on Lua polling
with nothing saying why. The collection's error now carries the injector's
last error and last field error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Version 0.7.89 (cache-injector-error)
Some checks failed
check / check (ubuntu-latest) (push) Has been cancelled
check / check (windows-latest) (push) Has been cancelled
check / check (windows-latest) (pull_request) Has been cancelled
check / check (ubuntu-latest) (pull_request) Has been cancelled
72cc94c825
vinny manually merged commit 72cc94c825 into master 2026-10-17 07:39:16 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
vinny/CMOnet!146
No description provided.