Ops worklist: ten queued pull requests against #266 and #267, with merge order and what each is safe to land alone #282

Open
opened 2026-08-13 22:35:43 +00:00 by coilyco-ops · 0 comments
Member

For whoever holds the merge lane. Filed by Angie (ENG, claude seat). Every pull request below is mine, gated green, and against main as of 5e05296 — which is still where main sits, so none of them has landed.

I created this queue and it should not be ten threads to find. This is the single handoff.

The queue, in the order I would land it

271  fix(skills)    cross-check reports success without performing it     #269
272  fix(cost)      unpriced rollup reports no total rather than zero     #266
279  fix(economy)   a dataset we could not parse is unmeasured, not zero  #266
280  fix(currency)  a refused server is not a server with no currencies   #266
273  fix(social)    newArrivals says when it truncates                    #267
274  fix(atlas)     limit bounds every array, not only flows              #267
276  fix(trades)    limit reaches every array that grows with the world   #267
277  feat(social)   get_social takes a limit, edges honour it             #267
278  fix(social)    the reputation top lists are bounded like their twins #267
281  test(payloads) every serialised array is accounted for              #267

What stacks and what is independent

Only one ordering constraint exists. 278 is cut from 277's head, not from main, because both edit the same _bound_rows call. Land 277 first or land them together.

Everything else is independent — different files or different argument lists. 275 is already closed by me as superseded by 276, so it should not appear in your list.

281 last is a preference rather than a constraint. It is the inventory guard, and its declared table describes main as it is today. Landing it after the others means one row set rather than two, though it passes either way since none of the other nine adds or removes an array.

Which are safe to land alone, if you would rather not take ten

279  a treasury of 87,912.99 reported as 0, with health: "healthy"
     derived from it. Wrong answer, no behaviour risk.
280  a 401 described as "no currencies have been created or traded yet"
     beside a payload carrying 40 active currencies.
271  a cross-check reporting success against a host that does not resolve.

Those three are correctness fixes with the narrowest blast radius. The seven #267 ones change response sizes, which is safe but visible, so a reader comparing payloads before and after will see arrays get shorter and warnings appear.

Evidence after merge

Each pull request body carries its own, and every one has a mutation recorded showing the test fails without the fix. Nothing here needs a live server to verify — all ten are covered by ward exec test, lint, and for 272 the frontend suite as well.

One thing that does need live verification and is not in this queue: #269's second criterion, the six specialties against eco.coilysiren.me:3001. 271 makes that case report its own cause instead of a clean empty list, but whether the six then appear needs the real server.

What I am not asking for

Any of these merged against your judgement. If the invariant sweeps want reviewing as a whole rather than in slices, that is a reasonable call and the ordering above still holds.

**For whoever holds the merge lane.** Filed by Angie (ENG, `claude` seat). Every pull request below is mine, gated green, and against `main` as of `5e05296` — which is still where `main` sits, so none of them has landed. I created this queue and it should not be ten threads to find. This is the single handoff. ## The queue, in the order I would land it ``` 271 fix(skills) cross-check reports success without performing it #269 272 fix(cost) unpriced rollup reports no total rather than zero #266 279 fix(economy) a dataset we could not parse is unmeasured, not zero #266 280 fix(currency) a refused server is not a server with no currencies #266 273 fix(social) newArrivals says when it truncates #267 274 fix(atlas) limit bounds every array, not only flows #267 276 fix(trades) limit reaches every array that grows with the world #267 277 feat(social) get_social takes a limit, edges honour it #267 278 fix(social) the reputation top lists are bounded like their twins #267 281 test(payloads) every serialised array is accounted for #267 ``` ## What stacks and what is independent **Only one ordering constraint exists.** `278` is cut from `277`'s head, not from `main`, because both edit the same `_bound_rows` call. Land `277` first or land them together. Everything else is independent — different files or different argument lists. `275` is already closed by me as superseded by `276`, so it should not appear in your list. **`281` last** is a preference rather than a constraint. It is the inventory guard, and its declared table describes `main` as it is today. Landing it after the others means one row set rather than two, though it passes either way since none of the other nine adds or removes an array. ## Which are safe to land alone, if you would rather not take ten ``` 279 a treasury of 87,912.99 reported as 0, with health: "healthy" derived from it. Wrong answer, no behaviour risk. 280 a 401 described as "no currencies have been created or traded yet" beside a payload carrying 40 active currencies. 271 a cross-check reporting success against a host that does not resolve. ``` Those three are correctness fixes with the narrowest blast radius. The seven `#267` ones change response *sizes*, which is safe but visible, so a reader comparing payloads before and after will see arrays get shorter and warnings appear. ## Evidence after merge Each pull request body carries its own, and every one has a mutation recorded showing the test fails without the fix. Nothing here needs a live server to verify — all ten are covered by `ward exec test`, `lint`, and for `272` the frontend suite as well. **One thing that does need live verification and is not in this queue:** `#269`'s second criterion, the six specialties against `eco.coilysiren.me:3001`. `271` makes that case report its own cause instead of a clean empty list, but whether the six then appear needs the real server. ## What I am not asking for Any of these merged against your judgement. If the invariant sweeps want reviewing as a whole rather than in slices, that is a reasonable call and the ordering above still holds.
Sign in to join this conversation.
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
coilyco-gaming/eco-app#282
No description provided.