Initial server source import
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
## Why
|
||||
|
||||
Remote admission currently reserves each assignment at the absolute 64 MiB bundle limit and 128 MiB projection limit. Production results are much smaller (239 KiB maximum bundle and 273 KiB maximum projection across 6,733 observed remote results), so worst-case reservation blocks useful concurrency long before physical resources are under pressure.
|
||||
|
||||
## What Changes
|
||||
|
||||
- Keep the 64 MiB hard limit for an individual result bundle.
|
||||
- Reserve 2 MiB of bundle and projection capacity when issuing a remote assignment, independently of the hard result limit.
|
||||
- Permit a valid result or projection larger than 2 MiB to atomically acquire additional capacity based on its actual size, with retryable backpressure when capacity is temporarily unavailable.
|
||||
- Add an atomic global limit of 50 unresolved remote assignments in addition to existing per-user caps.
|
||||
- Size production pipeline and keycheck accounting so 50 baseline reservations fit without consuming emergency headroom.
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
- `remote-assignment-capacity`: Bounded global remote concurrency, separate hard result limits and baseline reservations, and actual-size overflow accounting.
|
||||
|
||||
### Modified Capabilities
|
||||
|
||||
## Impact
|
||||
|
||||
This affects remote assignment admission and result settlement in `worker_assignment.py` and `scanner_db.py`, projection capacity handling in `jsonl_projector.py`, runtime configuration validation, PostgreSQL schema migration, production capacity settings, and integration tests. Worker protocol and bundle format remain unchanged.
|
||||
Reference in New Issue
Block a user