allocate-supply-server-rows

Public task · Field Engineering

← Field Engineering

Move an equipment-allocation app's supply table onto AG Grid's server-side row model, with run deltas, server-resolved group selection for runs, rolled-up restores of a past run's selection, and commits that release reallocated equipment's old allocation.

Version
Category
Engineering
Model configurations
1
Attempts
8
Public trials
83 passed
Median runtime
45m 19s

Instruction

From the planner who runs allocations:

> I think for allocate page I want to change it so visible supply is NOT
> based on demand

> the supply table feels very heavyweight on the browser and slow to load

Rework the Allocate page's supply table:

- Supply shows everything there is to allocate, whatever demand or Sandbox
  projects are selected, and loads lazily through AG Grid's server-side row
  model: one level of the bucket / current allocation / equipment type / lot
  tree per request. Its contract is already in
  `app/src/api/allocate/allocate.supply-rows.schema.ts`.
- Allocated supply stays in the table and can be selected, so a planner can
  reallocate it in a run. Whether a run may reuse allocated equipment depends
  only on what is selected in supply: drop the old supply-buckets endpoint and
  the "reclaimable" idea that tied it to the Sandbox.
- Use AG Grid's own group checkboxes. A run request carries the grid's
  selection state and the server works out which lots it means. Committing a
  run still replaces the earlier plan of the projects it was run for, and now
  also releases the old allocation of equipment the run reallocated. If a
  planner leaves another project's allocation unchecked and the run takes free
  units from the same lot, that allocation stays after the commit.
- While a run is being viewed, the table keeps the per-cell and rolled-up
  deltas of what the run would change, and a parent whose children's changes
  cancel out still shows that something under it changed.
- Restoring a past run checks the supply it used, rolled up so that a fully
  selected parent shows checked: if a run was made from a bucket with one lot
  unchecked and that lot has since left supply, restoring the run shows the
  bucket checked. That restore is in
  `app/src/api/allocate/allocate.supply-selection.schema.ts`.

## Environment

PostgreSQL on localhost:5432 and the local database endpoint the app's
driver uses are running when you start, and the dev env files point at the
dev database.

Public trials

Results by model

Model · harnessMean rewardRange± SEAttempts
Frontier model ACursor CLI37.5%0% – 100%18.3 pp8