Auction Action Surface Boundary
This document is the Sprint 03 frontend boundary map for auction actions.
It is intentionally code-first and blunt.
Labels used here:
Resolving locale, route permissions, and workspace projection.
Current scope: Guest
Category: 10_normative | Version: v1.0.0
Owner: DOCUMENT_CUSTODIAN | Review cycle: 90 days
Approval authority: GOVERNANCE_ADMIN
Documentation portal is read-only. Editing and mutation endpoints are disabled.
Kvary platform is originally created in Georgian. Where a Georgian version exists, Georgian is authoritative for platform UI, documentation, and legal interpretation.
Translations into other languages are provided for convenience. Some records may originate in other languages and carry their own source or legal locale for a specific flow, but where a Georgian version is available, the Georgian version prevails for platform-level wording and interpretation.
Metadata incomplete: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
This document is the Sprint 03 frontend boundary map for auction actions.
It is intentionally code-first and blunt.
Labels used here:
VERIFIEDINFERREDUNVERIFIEDREALMIXEDUI-FIRSTSHELLMISSINGThe auction web surface is now split into four explicit layers:
canonicalRead
compatibility
session
futureDurable
| Layer | Status | Evidence | Purpose |
| --- | --- | --- | --- |
| canonicalRead | VERIFIED MIXED | apps/web/src/ui/auctions/canonicalRead/portalReadBoundary.ts | Canonical web read-consumption seam for auction list/detail pages. Still receives mixed truth because portal/api.ts can degrade to compatibility or mock data. |
| compatibility | VERIFIED UI-FIRST | apps/web/src/ui/auctions/compatibility/sessionAuctionMutationPort.ts | Explicit mutation implementation for the public portal today. This is not durable backend behavior. |
| session | VERIFIED UI-FIRST | apps/web/src/ui/auctions/session/bidOverlay.ts, apps/web/src/ui/auctions/session/fulfillmentOverlay.ts, apps/web/src/ui/auctions/session/transportSelectionOverlay.ts | Browser sessionStorage scaffolding for bid, Buy Now, fulfillment, and transport pre-commit state. |
| futureDurable | VERIFIED MISSING | apps/web/src/ui/auctions/futureDurable/auctionMutationPort.ts | Stable future mutation seam. Real durable public bidder writes are not implemented yet. |
VERIFIED MIXED
Auction pages now consume reads through:
Current consumers:
Important limit:
VERIFIED UI-FIRST
Public bidder mutations now route through:
Current mutation operations:
submitBid()buyNow()selectTransportPreCommit()advanceFulfillment()Current main consumer:
This is intentionally explicit:
VERIFIED UI-FIRST
Actual session-backed overlay state lives under:
Consumers:
Legacy wrapper files remain for import stability:
Those wrappers are no longer the implementation home.
VERIFIED MISSING
The future seam is:
It defines:
AuctionMutationPort interfacefutureDurableAuctionMutationPortDurableAuctionMutationNotImplementedErrorThis is where a real public durable mutation path should be attached later.
VERIFIED REALsvc-tendersVERIFIED MIXEDportal/api.ts still has compatibility and mock fallback behaviorVERIFIED UI-FIRSTThose are now structurally explicit as compatibility + session behavior.
canonicalRead/portalReadBoundary.tsportal/api.tscompatibility/ or session/AuctionMutationPortcanonicalRead is now structurally separated from public mutationssession/That does not make the public auction action surface durable. It makes the current non-durable reality much harder to misunderstand.