WI-034 · Next Build Slices · bulk-ops

Bulk edit, mass label, and batch discount operations

queued P1 low risk   Owner: TBD   0% · 0/1 tasks complete

Gates: C3 Requirements: REQ-OPS-003 Updated: 2026-06-22

At a glance

CodeWI-034
PhaseOperational Floor POC
Order64 of 93
Story points3
Primary surfaceapps/web + supabase
Retires
Depends onRooms / zones / pickup areas in data model and UI
Blocks
Evidence
EstateSail operational lessons

Goals

Bulk edit, mass label, and batch discount operations — advances C3 toward its gate(s).

Implementation — what to build

Domain (src/lib/troveBulk.ts)

  • computeBulkChange(itemIds, {price|category|zone|discount}) -> a diff/preview (per-item before->after + conflicts).
  • applyBulkChange(preview) — only after confirm; writes via the normal audited item-update path.
  • duplicateZoneSetup(fromSaleId, toSaleId); mass-label hook delegates to WI-033.

UI (apps/web)

  • Multi-select on the items list -> bulk action bar -> preview modal -> Apply.
  • Preview modal shows the computed changes + flags conflicts; nothing applies silently.

Safety

  • No bypass of the canonical/candidate contract; every change is logged (who/when).

Acceptance

  • Multi-item price/category/zone/discount update with a reviewable conflict preview before apply.

Checklist

  • C3 Bulk edit, mass label, and batch discount path is validated.

Gates & testing

  • C3 Bulk edit, mass label, and batch discount path is validated.
    CODE TEST

Requirements

Verify (done when)

multi-item update operations apply with reviewable results.

Cost triggers

No paid API / infra spend triggered by this item.

Status & editing

queued   Sprint: Sprint 2 - Operational Floor POC

Edit status / sprint on the ★ Live Board → — changes are logged live with who / when / why.

Human-in-the-loop

No human tasks linked.

Findings

None recorded yet.

Concerns

None recorded yet.

Risks

None recorded yet.

Tech debt

None recorded yet.

Tools used

No tool calls recorded.

Files & artifacts

No files / artifacts recorded.

Update log

No log entries yet.