feat(social): get_social takes a limit, and reputationEdges honours it #277

Closed
coilyco-ops wants to merge 1 commit from coilyco-ops/social-takes-a-limit into main AGit
Member

closes #286 - the tool accepted no limit, so its ~210-row reputationEdges had no bound it could honour

One of five pull requests against #286. PR 278 is stacked on this one, so land this first or land them together. Slice of #267, which stays open.

closes #286 - the tool accepted no limit, so its ~210-row reputationEdges had no bound it could honour One of five pull requests against #286. PR 278 is stacked on this one, so land this first or land them together. Slice of #267, which stays open.
get_social accepted no limit at all, so reputationEdges had no bound it
could honour: roughly 210 rows on a live server, one per trading pair,
growing with the community.

The parameter now appears in the tool's own schema. A bound a caller
cannot pass is not a bound they can use, and a test asserts the property
is declared rather than only implemented.

totalReputationTransfers still counts every transfer, which the test
pins: rule 5 of #267 protects the summaries, and bounding a ranked detail
array does not narrow them.

Deliberately untouched, each for its own reason:

  playByDay, firstLoginsByDay   time series. get_species thins these to
                                evenly-spaced samples with endpoints
                                kept, and a head slice would redefine the
                                curve as the first N days.
  reputationColumnsSeen         the exporter's header row, recorded so a
                                mis-named column is fixable from the
                                warning. Bounding it defeats its purpose.
  topReputationGivers,          sorted and never sliced, so both hold one
  topReputationReceivers        row per citizen despite the name. Same
                                finding as topBuyers in PR 276. Reported
                                on the issue rather than bounded here,
                                because this claim did not name them.

Mutations: dropping the bound fails the bounding test, and renaming the
schema property fails the declaration test.

Slice of #267, which stays open. get_map, get_world and get_climate still
take no limit, get_currency's holder cap is shadowed behind a cached
fetch, and the generic invariant test still wants a should-bound call per
array.

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>
coilysiren closed this pull request 2026-08-14 05:37:43 +00:00

Pull request closed

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!277
No description provided.