WI-062 · Platform & Contracts · canonical-ops-lifecycle

Canonical operations & lifecycle (sales/zones/items, orthogonal state dimensions, inventory_status_events + transition fn, media/storage RLS, pricing history)

queued P1 medium risk   Owner: Paul   Reviewer: Mark Hilleary   0% · 0/1 tasks complete

Gates: P6 Requirements: Updated: 2026-06-22

At a glance

CodeWI-062
PhasePlatform & Contracts
Order23 of 93
Story points13
Primary surfaceestate_sales / sale_zones / estate_sale_items + status-event engine
Retires
Depends onData authority & RLS foundation (tenants/memberships/roles/permissions/assignments, auth helpers, deny-by-default membership RLS, schema+migration contract, demo parity)
Blocks
Evidence
queued (P6 canonical)

Goals

Model the seller core canonical data with relational state and an append-only event history: sales, rooms/zones, items with five orthogonal state dimensions, the status-transition function, item media + storage RLS, and auditable pricing.

Implementation — what to build

Build

  • estate_sales (+address_reveal_policy), sale_zones, estate_sale_items (orthogonal state + version), inventory_status_events (append-only) + append_inventory_status_event() transition fn, item photos + storage RLS, discount_phases + item_price_events.

Test

  • Valid/invalid/stale-version transitions; idempotency; sold/pickup + not-sold/disposition flows; photo visibility; price-event audit; durable-media rule.

Checklist

  • P6 Data-model layers are consolidated (canonical, marketplace, seller-intelligence, tracking-identity, disposition, ingestion) with a documented RLS owner-scoped upgrade path.

Gates & testing

  • P6 Data-model layers are consolidated (canonical, marketplace, seller-intelligence, tracking-identity, disposition, ingestion) with a documented RLS owner-scoped upgrade path.
    CODE TEST HITL QA

Requirements

No linked requirements.

Verify (done when)

estate_sales + sale_zones + estate_sale_items with review/publication/sale/fulfillment/disposition dimensions + derived stage; append_inventory_status_event (atomic, version-checked, allowed-transition) is the only path that changes current state; item photos + storage RLS (private until published; temporary URLs never canonical); discount phases + item_price_events (price semantics preserved). Per spec section 9-16 (+ 53.6 transitions).

Cost triggers

No paid API / infra spend triggered by this item.

Status & editing

queued   Sprint: P&C Wave 4: Data & Surfaces

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.