Auction Detail Component Boundary
This document is the Sprint 04 component-boundary note for the auction detail surface.
It is intentionally code-first.
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 04 component-boundary note for the auction detail surface.
It is intentionally code-first.
Labels used here:
VERIFIEDINFERREDUNVERIFIEDREALMIXEDUI-FIRSTSHELLMISSINGVERIFIED
Sprint 03 separated the auction web surface into:
canonicalReadcompatibilitysessionfutureDurableSprint 04 does not change those backend-truth boundaries.
It makes the AuctionDetailClient UI structure match them more honestly.
| Module | Status | Responsibility | Notes |
| --- | --- | --- | --- |
| apps/web/src/portal/components/AuctionDetailClient.tsx | VERIFIED MIXED | Top-level detail orchestrator | Still owns session subscriptions, bidder identity resolution, derived view models, and explicit compatibility action handlers. |
| apps/web/src/portal/components/auctionDetail/AuctionReadPresentation.tsx | VERIFIED MIXED | Canonical read/presentation surface | Renders lot summary, key facts, dossier, instrument terms, transport terms, and auction context from the existing read payload. |
| apps/web/src/portal/components/auctionDetail/AuctionDeliveryOptionsPanel.tsx | VERIFIED UI-FIRST | Pre-commit transport selection surface | Shows transport choices before bid/Buy Now and keeps degraded delivery-data states explicit. |
| apps/web/src/portal/components/auctionDetail/AuctionBidActionCluster.tsx | VERIFIED UI-FIRST | Compatibility bid action cluster | Pure UI surface for bid input, bidder identity summary, and current bid guidance. It does not write directly. |
| apps/web/src/portal/components/auctionDetail/AuctionBuyNowAction.tsx | VERIFIED UI-FIRST | Compatibility Buy Now surface | Pure UI surface for immediate purchase presentation. It does not write directly. |
| apps/web/src/portal/components/auctionDetail/AuctionFulfillmentPanel.tsx | VERIFIED UI-FIRST | Winner fulfillment surface | Renders post-award inputs and confirmation UI, but still depends on compatibility/session actions. |
| apps/web/src/portal/components/auctionDetail/AuctionCompatibilityNotice.tsx | VERIFIED MIXED | Explicit degraded/compatibility notice block | Used to make missing delivery data visible instead of silently hiding the block. |
| apps/web/src/portal/components/auctionDetail/types.ts | VERIFIED REAL | Shared detail-surface view types | Keeps component contracts explicit instead of letting prop shapes drift inline. |
AuctionDetailClientVERIFIED
The parent component still owns the following on purpose:
This is intentional for Sprint 04. It keeps behavior stable while shrinking the render surface.
VERIFIED MIXED
The read-only top section now has a clear home:
What it renders:
Lot SummaryKey FactsDossierInstrument TermsTransport & FulfillmentAuction ContextTruth note:
VERIFIED UI-FIRST
The public action surfaces are now visibly separated:
Important:
AuctionDetailClientVERIFIED UI-FIRST
Raw session behavior still lives only in:
The new detail components do not import those modules.
That is the key Sprint 04 cleanup outcome:
VERIFIED MISSING
The future durable seam remains:
Current hookup point:
Current explicit seam:
publicAuctionCompatibilityActionPortWhen durable bidder mutations exist later:
AuctionDetailClientVERIFIED
Still centralized in AuctionDetailClient:
This is acceptable for Sprint 04 because:
VERIFIED
After Sprint 04:
AuctionDetailClient is still the orchestrator, but no longer the only place where the UI is understandableThis does not make the public auction action surface durable.
It makes the current UI-FIRST reality harder to misunderstand and easier to replace later.