test(payloads): every serialised array is accounted for #281

Merged
coilysiren merged 1 commit from coilyco-ops/payload-array-inventory into main 2026-08-13 22:54:32 +00:00 AGit
Member

closes #288 - derives 40 arrays across 7 surfaces so a newly added one fails until someone decides whether it needs bounding

Slice of #267, which stays open: the should-bound judgement per array is not this.

closes #288 - derives 40 arrays across 7 surfaces so a newly added one fails until someone decides whether it needs bounding Slice of #267, which stays open: the should-bound judgement per array is not this.
#267 records that "limit must bound every unbounded array" has not
converged across three rounds of fixing the next demonstrated instance.
The recurrence mode is an array added to a payload with nobody deciding
whether it needs a bound. A prose audit cannot catch that.

This derives every list-valued key from each surface's own to_dict and
asserts the set matches a declared inventory. Seven surfaces, forty
arrays. Adding an array fails the test with a message naming it and
asking whether it grows with world size; removing one fails until the row
goes.

The derivation is the point. My own reading of the handlers missed four
arrays that this found: byCurrency, topBuyers and topSellers in
get_trades, and unavailableActions in get_civics. An inventory written by
hand is accurate for one afternoon.

It carries no should_bound column, deliberately. Whether a given array
ought to be bounded is a judgement per array — reputationColumnsSeen is a
header row, playByDay is a time series wanting even-spacing rather than a
head slice — and encoding sixteen guesses as an invariant would make my
assumptions look authoritative. bounded_now is absent for the same
reason: a row asserting that get_world's byObject cap is *right* would be
a decision, not a measurement.

So this asserts completeness, not correctness. When #267's should-bound
call is made the same table gains the column and the test gets teeth.
Until then it is an inventory that cannot rot.

Refs #267

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
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!281
No description provided.