AAcharioteerGlobal Marketplace
Selected market context: EN · IN · INRBuyerSellerWalletAccountERP

Buyer workspace

Buyer Operations

Search products, compare suppliers, request quotes, track orders, documents, finance, and delivery status.

Buyer Export RFQ Readiness Proof

Frontend-only read-only proof for comparison readiness, export comparison, landed cost placeholders, customs, insurance, currency, incoterm evidence, negotiation intelligence, seller response proof, buyer negotiation proof, and counter-offer state.

Trade Chain: listing -> comparison -> landed_cost -> order -> escrow -> logistics -> delivery -> wallet -> payout -> receipt_audit

Buyer Identity: Loading buyer identity - Loading canonical buyer identity...

Canonical RFQ create endpointPOST /api/rfq/createCanonical RFQ list endpointGET /api/rfq/listCanonical RFQ respond endpointPOST /api/rfq/respondCanonical RFQ create sourcebackend/routes/rfq.js -> POST /api/rfq/createCanonical RFQ list sourcebackend/routes/rfq.js -> GET /api/rfq/listCanonical RFQ respond sourcebackend/routes/rfq.js -> POST /api/rfq/respondCanonical frontend RFQcreate/list/respond routes onlyCompatibility aliaseslegacy yarn aliases are compatibility-only and rewritten before fetchAlias preservationbackend compatibility aliases preserved; no alias deletionRetirement gatereadiness metadata only; no route count reductionAlias Modecompatibility-onlyRetire Nowno
Proof versioncodex135b-export-import-trade-readiness-proof-v1Negotiation proof versioncodex168b-rfq-negotiation-intelligence-proof-v1Final bridge proof versioncodex257b-final-rfq-negotiation-order-bridge-proof-v1Trade chainlisting -> comparison -> landed_cost -> order -> escrow -> logistics -> delivery -> wallet -> payout -> receipt_auditExport readiness prooffrontend readonly metadataCustoms proofmetadata placeholder; no live customs APIInsurance proofmetadata placeholder; no live insurance APILanded cost proofsnapshot estimate onlyIncoterm proofbuyer country, port, currency and incotermLogistics readiness proofprovider/tracking placeholder onlyNegotiation readiness proofRFQ snapshot; no live AIRead-only trade document proofdocument requirements and evidence onlyBuyer export comparison proofcomparison metadata; no duplicate routeNegotiation intelligence statusdeterministic RFQ metadata readback; no live AICounter-offer statusbuyer offer, seller counter, range, and decision evidence onlySeller response statuscanonical seller response readback through POST /api/rfq/respondBuyer negotiation statusbuyer revise/accept/reject continuity through POST /api/rfq/respondExport RFQ negotiation statusexport RFQ status carries negotiation snapshot through the fixed trade chainRFQ create statusPOST /api/rfq/create -> GET /api/rfq/listSeller response statusPOST /api/rfq/respond view onlyBuyer accept/reject statusbuyer decision metadata gates conversion; rejected RFQs stay blockedNegotiation proofcomparison snapshot -> RFQ negotiation snapshot -> order bridge snapshotConversion to order statusaccepted/seller-responded RFQ -> POST /api/trade-core/order/create-from-preparationExport RFQ continuity prooflisting/slab/trade terms/documents/landed cost snapshots preservedCanonical endpoint guardcanonical RFQ helpers preserved; yarn compatibility aliases remain backend-onlyPM2 safety statusmetadata/view only; no DB schema, route, payment, escrow, logistics, wallet, or payout change

Buyer Profile Purchase Identity Proof

Read-only proof that buyer profile identity carries into RFQ metadata and hands off to existing order and receipt readback.

CODEX207B
Buyer profile readinessRISK

codex207b-buyer-profile-purchase-identity-readiness-proof-v1 reads buyer identity from localStorage:ach_client_active_role | localStorage:ach_canonical_buyer_identity | localStorage:ach_user:readonly; no profile promotion or KYC write path is mounted.

Loading canonical buyer identity...
RFQ ownership continuityWATCH

RFQ proof keeps buyerId/companyId as existing page metadata and does not call /api/rfq/create from this read-only proof page.

buyer identity required
Order/receipt readback continuityREADY

Purchase, order, and receipt readback remains on the existing buyer orders page through /api/trade-core/orders/mine after an order exists.

/textile/buyer/orders
No duplicate buyer routeREADY

Existing buyer RFQ and order pages are reused; no backend route, route handler, middleware, DB schema, escrow, wallet, payout, or receipt write is added.

/textile/buyer/rfq/export | /textile/buyer/orders

Buyer Maturity Visibility

Comparison / RFQ / Landed Cost / Order / Receipt / Wallet Proof

4/6 visible
version codex108-buyer-67-pages-current-200-rfq8-maturity-visibility-v1buyerPages 67frontendPages 393tradeCore routes 200rfq routes 8

yarn export RFQ proof | 5 document signals | listing pending

Comparison proof / READONLYyarn comparison readinessExport RFQ proof displays comparison readiness and export comparison metadata before order creation.frontend proof bundle -> comparison readiness
RFQ proof / READYcodex257b-final-rfq-negotiation-order-bridge-proof-v1RFQ create, seller response, buyer negotiation, counter-offer, and final bridge metadata stay visible.existing /api/rfq route family
Landed cost proof / WATCHFOB / INR / destination pendingLanded-cost placeholders are explicit and remain metadata-only until real commercial rows exist.export RFQ landed-cost metadata
Order proof / WATCHlisting pendingOrder handoff remains on existing marketplace/orders surfaces; this page does not create orders./textile/buyer/orders
Receipt proof / READY5 document requirement signalsReceipt/audit proof is represented as required document metadata before order receipt exists./textile/buyer/receipt-audit
Wallet proof / READONLYwallet not started from RFQ pageWallet ledger and payout proof are intentionally delegated to order readback after order creation.GET /api/trade-core/wallet-ledger after order

listing -> comparison -> landed_cost -> order -> escrow -> logistics -> delivery -> wallet -> payout -> receipt_audit

Required Documents

Selected: Commercial Invoice, Packing List, COA, Customs Declaration, Insurance Certificate

No live API calls are made from this proof page. Backend RFQ and trade-core routes remain untouched here; canonical RFQ negotiation and draft lifecycle mutations continue on existing marketplace/orders pages.

Read-only proof updates locally. No live API calls run from this page; canonical RFQ/Order mutations continue on existing /textile/yarn and /textile/buyer/orders surfaces.

Export RFQ Read-only Proof

Metadata-only proof for comparison readiness, export comparison, landed cost, documents, duty, insurance, negotiation intelligence, seller response, buyer negotiation, and counter-offer readiness.

readonly-metadata-only
Canonical RFQ create endpointPOST /api/rfq/createCanonical RFQ list endpointGET /api/rfq/listCanonical RFQ respond endpointPOST /api/rfq/respondCanonical RFQ create sourcebackend/routes/rfq.js -> POST /api/rfq/createCanonical RFQ list sourcebackend/routes/rfq.js -> GET /api/rfq/listCanonical RFQ respond sourcebackend/routes/rfq.js -> POST /api/rfq/respondCanonical frontend RFQcreate/list/respond routes onlyCompatibility aliaseslegacy yarn aliases are compatibility-only and rewritten before fetchAlias preservationbackend compatibility aliases preserved; no alias deletionRetirement gatereadiness metadata only; no route count reductionAlias Modecompatibility-onlyRetire Nowno
Canonical RFQ Endpoint ProofREADY

Read-only endpoint proof is limited to the canonical RFQ create/list/respond routes.

Canonical RFQ create endpoint
POST /api/rfq/create
Canonical RFQ list endpoint
GET /api/rfq/list
Canonical RFQ respond endpoint
POST /api/rfq/respond
Canonical RFQ create source
backend/routes/rfq.js -> POST /api/rfq/create
Canonical RFQ list source
backend/routes/rfq.js -> GET /api/rfq/list
Canonical RFQ respond source
backend/routes/rfq.js -> POST /api/rfq/respond
RFQ Alias Retirement ReadinessREADY

Legacy yarn RFQ aliases are marked compatibility-only for observation; no alias is removed in this patch.

Mode
readonly-canonical-alias-proof
Legacy Alias Mode
compatibility-only
Aliases Preserved
yes
Route Count Reduction
none
Safe To Retire Now
no
Export Readiness ProofREADY

Export readiness is proven from frontend metadata, the exact 22-module registry, and the fixed trade chain without calling trade-core, customs, insurance, logistics, payment, wallet, or payout APIs.

Version
codex135b-export-import-trade-readiness-proof-v1
Module Registry
Yarn / 22 modules
Trade Chain
listing -> comparison -> landed_cost -> order -> escrow -> logistics -> delivery -> wallet -> payout -> receipt_audit
Buyer
Loading buyer identity
Incoterm
FOB
Currency
INR
Live API
disabled
Comparison Readiness ProofWATCH

Canonical comparison metadata is read for proof only; no duplicate comparison route or live AI scorer is introduced.

Module
yarn
Canonical Rows
50
Snapshot Keys
metadata pending
Price
TBD
Live AI
disabled
Payment Change
none
Buyer Export Comparison ProofWATCH

Export comparison proof ties buyer country, port, incoterm, currency, and document choices to the existing RFQ metadata chain.

Buyer Country
Missing
Destination Port
Missing
Incoterm
FOB
Currency
INR
Required Docs
Commercial Invoice, Packing List, COA, Customs Declaration, Insurance Certificate
Buyer Export RFQ Readiness ProofWATCH

Read-only buyer export RFQ readiness uses local metadata only and does not submit to RFQ or trade-core APIs.

Module
yarn
Listing
Optional
Buyer
Loading buyer identity
Buyer Company
Buyer company pending
Quantity
Missing
Required Docs
Commercial Invoice, Packing List, COA, Customs Declaration, Insurance Certificate
Live API
disabled
Incoterm ProofWATCH

Buyer currency, incoterm, country, and port readiness are proven before any export RFQ execution.

Incoterm
FOB
Buyer Country
Missing
Destination Port
Missing
Currency
INR
Customs ProofPLACEHOLDER

Customs and duty evidence stays metadata-only; no live customs, tariff, or compliance API is called.

Duty
TBD
Customs Document
metadata pending
Customs API
disabled
Mode
metadata placeholder
Route Change
none
Insurance ProofREADY

Insurance requirement and estimate evidence stay metadata-only; no live insurance API is called.

Required
Yes
Estimate
TBD
Insurance Document
required-document-selected
Insurance API
disabled
Read-only Trade Document ProofREADY

Required buyer document choices and listing document evidence are displayed read-only with no upload, verification, or document lifecycle mutation.

Required
Commercial Invoice, Packing List, COA, Customs Declaration, Insurance Certificate
Available Evidence
0
Export Docs
WATCH
Invoice Docs
WATCH
Lifecycle Mutation
disabled
Logistics Readiness ProofWATCH

Logistics readiness is a local proof of port, incoterm, provider, and dispatch metadata only; no carrier, tracking, freight, wallet, or payout API is called.

Destination Port
Missing
Incoterm
FOB
Mode
metadata pending
Provider
PROVIDER_PLACEHOLDER_ONLY
Status
PLACEHOLDER_READY
Live Provider API
disabled
Landed Cost ProofWATCH

Landed cost comparison remains an estimate snapshot for RFQ proof and order preparation readiness.

Base
TBD
Freight
TBD
Insurance
TBD
Duty
TBD
Local Transport
TBD
Estimate
TBD
Live API
disabled
Negotiation Readiness ProofREADY

Negotiation state is carried forward as a readonly RFQ proof snapshot without live AI or payment changes.

Status
PENDING
Buyer Offer
TBD
Seller Counter
Pending
Recommended Range
TBD
Live AI
disabled
RFQ Negotiation Intelligence ProofWATCH

Deterministic negotiation intelligence is derived from RFQ snapshot fields only; no live AI, pricing model, DB, payment, escrow, wallet, or payout call is made.

Version
codex168b-rfq-negotiation-intelligence-proof-v1
Buyer Offer
TBD
Seller Counter
Pending
Seller Response
Pending
Buyer Decision
Pending
History
0 negotiation events
Export Context
WATCH
Live AI
disabled
Final RFQ Negotiation to Order Bridge ProofREADY

Final RFQ bridge proof carries create, seller response, buyer decision, negotiation, order bridge readiness, and export continuity metadata without adding routes or running downstream payment services.

Version
codex257b-final-rfq-negotiation-order-bridge-proof-v1
RFQ Create
POST /api/rfq/create
Seller Response
Pending seller response
Buyer Decision
Pending buyer accept/reject
Order Bridge
POST /api/trade-core/order/create-from-preparation
Export Continuity
WATCH
Runtime Boundary
no DB schema, route, PM2, payment, escrow, logistics, wallet, or payout change
Counter-Offer Placeholder ProofPLACEHOLDER

Counter-offer status stays placeholder metadata until seller counter data exists; it does not call AI, pricing, payment, or escrow services.

Counter Offer
Pending seller counter
Buyer Offer
TBD
Allowed
metadata-only placeholder
Counter-offer status
PLACEHOLDER_ACTIVE
No Live AI
true
Payment Change
none

RFQ / Order Document Handoff Proof

Metadata-only handoff proof from seller attachment metadata into buyer RFQ and order readiness. No upload provider, storage read, schema change, or route deletion is introduced.

codex204b-attachment-document-continuity-v1
Seller document metadata source
uploadMetadata.documentMetadataProof + attachmentMetadataSnapshot + existing files object buckets
RFQ document handoff proof
listing pending -> RFQ metadata preview -> no order write from this page
Order handoff readiness proof
create-from-preparation can carry documentMetadataProof after seller response; this RFQ page does not invoke it
RFQ runtime proof consolidation
codex251b-final-buyer-seller-admin-runtime-proof-consolidation-v1; RFQ proof stays in this existing document handoff panel and the export RFQ proof bundle
Selected document requirements
5 required document signals metadata-only
No files array regression
files object-not-array shape preserved; no files array introduced
No real upload provider
codex204b-attachment-document-continuity-v1 / no live storage API or upload provider attached

Buyer order status

Commercial Flow Status

buyer-rfq-export
Versioncodex139b-prelive-commercial-flow-proof-v1
Fixed Trade Chainlisting -> comparison -> landed cost -> order -> escrow -> logistics -> delivery -> wallet -> payout -> audit
ExecutionNo payment, logistics, release, refund, payout, receipt, or audit write call is mounted here.

Listing -> RFQ -> Order Proof

WATCH
listing pending / RFQ metadata only

RFQ readiness is shown from local form metadata and canonical RFQ proof labels; order creation remains uncalled from this page.

GET listing readback -> /api/rfq/create proof -> order preparation not invoked

Export RFQ Negotiation Proof

READONLY
codex168b-rfq-negotiation-intelligence-proof-v1

Export RFQ negotiation proof is rendered from local metadata and the shared RFQ proof builder; seller response and buyer negotiation states are not submitted from this page.

frontend proof only: negotiation snapshot -> export RFQ proof bundle

Final RFQ -> Order Bridge Proof

READY
codex257b-final-rfq-negotiation-order-bridge-proof-v1

Final bridge proof preserves RFQ create, seller response, buyer decision, negotiation, order conversion, and export continuity metadata while draft lifecycle mutations stay on existing buyer/seller order pages.

existing proof only: canonical RFQ helpers -> create-from-preparation readiness

Escrow / Release Proof

DISABLED
No escrow release action

Payment, escrow hold, release processing, and live settlement APIs remain detached for pre-live RFQ proof.

no /api/trade-core/order/pay or /api/trade-core/process-releases fetch

Refund / Return Proof

READONLY
Policy readiness only

Refund and return-window proof is reserved for order readback surfaces after an order exists; this RFQ page does not call refund routes.

no /api/trade-core/order/refund fetch

Wallet / Payout Proof

DISABLED
Wallet and payout not started

Wallet ledger and payout posting are shown only on order and ledger readback pages; this RFQ page does not mount payout controls.

no wallet or payout write route

Receipt / Audit Proof

READY
5 document signals

Receipt and audit proof is represented as a readonly document requirement snapshot before any order or receipt write exists.

frontend read-only proof bundle

Admin Commercial Control Proof

ADMIN
Admin readback only

Commercial controls remain on the existing admin observability and ERP readiness surfaces with no route addition.

/textile/admin/trade-observability

Compatibility Alias Proof

COMPATIBILITY
compatibility-only

Yarn RFQ compatibility aliases stay preserved while this page displays canonical route proof labels.

POST /api/rfq/yarn/create -> POST /api/rfq/create preserved
Frontend scope
RFQ proof page only; no backend, schema, payment, logistics, wallet, payout, or audit write change.
Route count guard
Existing RFQ and trade-core compatibility aliases are preserved.
Document handoff guard
codex204b-attachment-document-continuity-v1; seller uploadMetadata and attachmentMetadataSnapshot are read as metadata only.

Buyer order status

Batch 3 Source Readback Parity

buyer-rfq-export
Versioncodex139b-prelive-commercial-flow-proof-v1
Fixed Trade Chainlisting -> comparison -> landed cost -> order -> escrow -> logistics -> delivery -> wallet -> payout -> audit
ExecutionNo payment, logistics, release, refund, payout, receipt, or audit write call is mounted here.

Exact 22-module registry

READY
22/22 modules

Registry proof is read from frontend/lib/textileModules.ts; no seller listing page is created or rewritten.

frontend/lib/textileModules.ts

Buyer readback consistency

READY
/dashboard + /rfq/export + /orders + /receipt-audit

Buyer dashboard, RFQ, orders, and receipt-audit pages consume the same fixed source/readback parity helper.

/textile/buyer/dashboard + /textile/buyer/rfq/export + /textile/buyer/orders + /textile/buyer/receipt-audit

Seller readback consistency

READY
/dashboard + /orders + /wallet-ledger

Seller dashboard, orders, and wallet-ledger pages consume the same helper without touching seller listing pages.

/textile/seller/dashboard + /textile/seller/orders + /textile/seller/wallet-ledger

Fixed one-direction chain

READY
listing -> comparison -> landed_cost -> order -> escrow -> logistics -> delivery -> wallet -> payout -> receipt_audit

Batch 3 keeps listing -> comparison -> landed_cost -> order -> escrow -> logistics -> delivery -> wallet -> payout -> receipt_audit.

frontend/lib/moduleMarketplace.ts

Helper/schema preflight

READONLY
shared helper export/import guard

Closure is helper-level first; sellerListingSharedHelpers, sellerListingEnterpriseHelpers, and sellerSchemaRegistry remain import/export checked.

frontend/lib/sellerListingSharedHelpers.ts + frontend/lib/sellerListingEnterpriseHelpers.ts + frontend/lib/sellerSchemaRegistry.ts

Runtime mutation boundary

READONLY
no gateway/provider/mutation proof

No payment gateway, logistics provider, production mutation proof, new route family, or backend readback family is attached.

existing /api/rfq + /api/trade-core reads only
Batch 3 version
codex382-batch3-source-readback-parity-v1
Surface
buyer-rfq-export
Role
buyer
Readback row counts
Selected Documents 5 / Selected Module 1 / Listing Id 0
Source routes
/textile/buyer/rfq/export + /textile/buyer/orders + /textile/buyer/receipt-audit
Frozen no-touch files
frontend/app/textile/yarn/page.tsx + frontend/app/textile/seller/yarn/listing/page.tsx + frontend/lib/canonicalSellerMasterTruth.ts
Count policy
source-vs-inventory count drift is report-only; no 73/392 hard fail
Note 1
RFQ proof is frontend metadata/readback only; no RFQ/order mutation is called here

Read-only Proof Bundle

Static frontend bundle for verifier review. It records disabled live API state and placeholder landed cost dependencies.

{
  "source": "frontend-readonly-proof",
  "mode": "readonly-metadata-only",
  "version": "codex135b-export-import-trade-readiness-proof-v1",
  "tradeChain": [
    "listing",
    "comparison",
    "landed_cost",
    "order",
    "escrow",
    "logistics",
    "delivery",
    "wallet",
    "payout",
    "receipt_audit"
  ],
  "readinessProofLabels": [
    {
      "label": "Export readiness proof",
      "value": "frontend readonly metadata"
    },
    {
      "label": "Customs proof",
      "value": "metadata placeholder; no live customs API"
    },
    {
      "label": "Insurance proof",
      "value": "metadata placeholder; no live insurance API"
    },
    {
      "label": "Landed cost proof",
      "value": "snapshot estimate only"
    },
    {
      "label": "Incoterm proof",
      "value": "buyer country, port, currency and incoterm"
    },
    {
      "label": "Logistics readiness proof",
      "value": "provider/tracking placeholder only"
    },
    {
      "label": "Negotiation readiness proof",
      "value": "RFQ snapshot; no live AI"
    },
    {
      "label": "Read-only trade document proof",
      "value": "document requirements and evidence only"
    },
    {
      "label": "Buyer export comparison proof",
      "value": "comparison metadata; no duplicate route"
    }
  ],
  "negotiationIntelligenceProofLabels": [
    {
      "label": "Negotiation intelligence status",
      "value": "deterministic RFQ metadata readback; no live AI"
    },
    {
      "label": "Counter-offer status",
      "value": "buyer offer, seller counter, range, and decision evidence only"
    },
    {
      "label": "Seller response status",
      "value": "canonical seller response readback through POST /api/rfq/respond"
    },
    {
      "label": "Buyer negotiation status",
      "value": "buyer revise/accept/reject continuity through POST /api/rfq/respond"
    },
    {
      "label": "Export RFQ negotiation status",
      "value": "export RFQ status carries negotiation snapshot through the fixed trade chain"
    }
  ],
  "finalNegotiationOrderBridgeProofLabels": [
    {
      "label": "RFQ create status",
      "value": "POST /api/rfq/create -> GET /api/rfq/list"
    },
    {
      "label": "Seller response status",
      "value": "POST /api/rfq/respond view only"
    },
    {
      "label": "Buyer accept/reject status",
      "value": "buyer decision metadata gates conversion; rejected RFQs stay blocked"
    },
    {
      "label": "Negotiation proof",
      "value": "comparison snapshot -> RFQ negotiation snapshot -> order bridge snapshot"
    },
    {
      "label": "Conversion to order status",
      "value": "accepted/seller-responded RFQ -> POST /api/trade-core/order/create-from-preparation"
    },
    {
      "label": "Export RFQ continuity proof",
      "value": "listing/slab/trade terms/documents/landed cost snapshots preserved"
    },
    {
      "label": "Canonical endpoint guard",
      "value": "canonical RFQ helpers preserved; yarn compatibility aliases remain backend-only"
    },
    {
      "label": "PM2 safety status",
      "value": "metadata/view only; no DB schema, route, payment, escrow, logistics, wallet, or payout change"
    }
  ],
  "endpointProof": [
    {
      "label": "Canonical RFQ create endpoint",
      "value": "POST /api/rfq/create"
    },
    {
      "label": "Canonical RFQ list endpoint",
      "value": "GET /api/rfq/list"
    },
    {
      "label": "Canonical RFQ respond endpoint",
      "value": "POST /api/rfq/respond"
    }
  ],
  "compatibilityProof": [
    {
      "label": "Canonical frontend RFQ",
      "value": "create/list/respond routes only"
    },
    {
      "label": "Compatibility aliases",
      "value": "legacy yarn aliases are compatibility-only and rewritten before fetch"
    },
    {
      "label": "Alias preservation",
      "value": "backend compatibility aliases preserved; no alias deletion"
    },
    {
      "label": "Retirement gate",
      "value": "readiness metadata only; no route count reduction"
    }
  ],
  "canonicalRouteSourceLabels": [
    {
      "label": "Canonical RFQ create source",
      "value": "backend/routes/rfq.js -> POST /api/rfq/create"
    },
    {
      "label": "Canonical RFQ list source",
      "value": "backend/routes/rfq.js -> GET /api/rfq/list"
    },
    {
      "label": "Canonical RFQ respond source",
      "value": "backend/routes/rfq.js -> POST /api/rfq/respond"
    }
  ],
  "aliasRetirementReadiness": {
    "version": "codex124b-rfq-alias-retirement-readiness-v1",
    "mode": "readonly-canonical-alias-proof",
    "scope": "frontend-helper-metadata-only",
    "safeToRetireNow": false,
    "legacyAliasMode": "compatibility-only",
    "aliasesPreserved": true,
    "noAliasDelete": true,
    "noRouteDelete": true,
    "noRouteCountReduction": true,
    "noMutationBehaviorChange": true,
    "canonicalRouteSourceLabels": [
      {
        "label": "Canonical RFQ create source",
        "value": "backend/routes/rfq.js -> POST /api/rfq/create"
      },
      {
        "label": "Canonical RFQ list source",
        "value": "backend/routes/rfq.js -> GET /api/rfq/list"
      },
      {
        "label": "Canonical RFQ respond source",
        "value": "backend/routes/rfq.js -> POST /api/rfq/respond"
      }
    ],
    "legacyAliases": [
      {
        "alias": "POST /api/rfq/yarn/create",
        "canonical": "POST /api/rfq/create",
        "status": "COMPATIBILITY_ONLY",
        "preserved": true
      },
      {
        "alias": "POST /api/rfq/yarn/respond",
        "canonical": "POST /api/rfq/respond",
        "status": "COMPATIBILITY_ONLY",
        "preserved": true
      },
      {
        "alias": "GET /api/rfq/yarn/list",
        "canonical": "GET /api/rfq/list",
        "status": "COMPATIBILITY_ONLY",
        "preserved": true
      }
    ],
    "readinessGates": [
      "traffic audit proves zero legacy alias callers",
      "buyer and seller RFQ smoke tests pass on canonical routes",
      "backend/routes/rfq.js alias handlers remain untouched until a later retirement patch"
    ]
  },
  "cards": [
    {
      "key": "canonical-rfq-endpoints",
      "title": "Canonical RFQ Endpoint Proof",
      "status": "READY",
      "summary": "Read-only endpoint proof is limited to the canonical RFQ create/list/respond routes.",
      "rows": [
        {
          "label": "Canonical RFQ create endpoint",
          "value": "POST /api/rfq/create"
        },
        {
          "label": "Canonical RFQ list endpoint",
          "value": "GET /api/rfq/list"
        },
        {
          "label": "Canonical RFQ respond endpoint",
          "value": "POST /api/rfq/respond"
        },
        {
          "label": "Canonical RFQ create source",
          "value": "backend/routes/rfq.js -> POST /api/rfq/create"
        },
        {
          "label": "Canonical RFQ list source",
          "value": "backend/routes/rfq.js -> GET /api/rfq/list"
        },
        {
          "label": "Canonical RFQ respond source",
          "value": "backend/routes/rfq.js -> POST /api/rfq/respond"
        }
      ],
      "snapshot": {
        "create": "/api/rfq/create",
        "list": "/api/rfq/list",
        "respond": "/api/rfq/respond",
        "canonicalRouteSourceLabels": [
          {
            "label": "Canonical RFQ create source",
            "value": "backend/routes/rfq.js -> POST /api/rfq/create"
          },
          {
            "label": "Canonical RFQ list source",
            "value": "backend/routes/rfq.js -> GET /api/rfq/list"
          },
          {
            "label": "Canonical RFQ respond source",
            "value": "backend/routes/rfq.js -> POST /api/rfq/respond"
          }
        ],
        "routeScope": "canonical-rfq-only",
        "noNewRoute": true,
        "backendRouteChanged": false,
        "liveApiCalled": false
      }
    },
    {
      "key": "rfq-alias-retirement-readiness",
      "title": "RFQ Alias Retirement Readiness",
      "status": "READY",
      "summary": "Legacy yarn RFQ aliases are marked compatibility-only for observation; no alias is removed in this patch.",
      "rows": [
        {
          "label": "Mode",
          "value": "readonly-canonical-alias-proof"
        },
        {
          "label": "Legacy Alias Mode",
          "value": "compatibility-only"
        },
        {
          "label": "Aliases Preserved",
          "value": "yes"
        },
        {
          "label": "Route Count Reduction",
          "value": "none"
        },
        {
          "label": "Safe To Retire Now",
          "value": "no"
        }
      ],
      "snapshot": {
        "version": "codex124b-rfq-alias-retirement-readiness-v1",
        "mode": "readonly-canonical-alias-proof",
        "scope": "frontend-helper-metadata-only",
        "safeToRetireNow": false,
        "legacyAliasMode": "compatibility-only",
        "aliasesPreserved": true,
        "noAliasDelete": true,
        "noRouteDelete": true,
        "noRouteCountReduction": true,
        "noMutationBehaviorChange": true,
        "canonicalRouteSourceLabels": [
          {
            "label": "Canonical RFQ create source",
            "value": "backend/routes/rfq.js -> POST /api/rfq/create"
          },
          {
            "label": "Canonical RFQ list source",
            "value": "backend/routes/rfq.js -> GET /api/rfq/list"
          },
          {
            "label": "Canonical RFQ respond source",
            "value": "backend/routes/rfq.js -> POST /api/rfq/respond"
          }
        ],
        "legacyAliases": [
          {
            "alias": "POST /api/rfq/yarn/create",
            "canonical": "POST /api/rfq/create",
            "status": "COMPATIBILITY_ONLY",
            "preserved": true
          },
          {
            "alias": "POST /api/rfq/yarn/respond",
            "canonical": "POST /api/rfq/respond",
            "status": "COMPATIBILITY_ONLY",
            "preserved": true
          },
          {
            "alias": "GET /api/rfq/yarn/list",
            "canonical": "GET /api/rfq/list",
            "status": "COMPATIBILITY_ONLY",
            "preserved": true
          }
        ],
        "readinessGates": [
          "traffic audit proves zero legacy alias callers",
          "buyer and seller RFQ smoke tests pass on canonical routes",
          "backend/routes/rfq.js alias handlers remain untouched until a later retirement patch"
        ]
      }
    },
    {
      "key": "export-readiness-proof",
      "title": "Export Readiness Proof",
      "status": "READY",
      "summary": "Export readiness is proven from frontend metadata, the exact 22-module registry, and the fixed trade chain without calling trade-core, customs, insurance, logistics, payment, wallet, or payout APIs.",
      "rows": [
        {
          "label": "Version",
          "value": "codex135b-export-import-trade-readiness-proof-v1"
        },
        {
          "label": "Module Registry",
          "value": "Yarn / 22 modules"
        },
        {
          "label": "Trade Chain",
          "value": "listing -> comparison -> landed_cost -> order -> escrow -> logistics -> delivery -> wallet -> payout -> receipt_audit"
        },
        {
          "label": "Buyer",
          "value": "Loading buyer identity"
        },
        {
          "label": "Incoterm",
          "value": "FOB"
        },
        {
          "label": "Currency",
          "value": "INR"
        },
        {
          "label": "Live API",
          "value": "disabled"
        }
      ],
      "snapshot": {
        "version": "codex135b-export-import-trade-readiness-proof-v1",
        "moduleKey": "yarn",
        "moduleDisplayName": "Yarn",
        "exactModuleRegistryCount": 22,
        "tradeChain": [
          "listing",
          "comparison",
          "landed_cost",
          "order",
          "escrow",
          "logistics",
          "delivery",
          "wallet",
          "payout",
          "receipt_audit"
        ],
        "readinessChecks": {
          "exactModuleRegistry": true,
          "buyerIdentity": true,
          "incoterm": true,
          "currency": true,
          "requiredDocuments": true,
          "fixedTradeChain": true,
          "frontendOnly": true
        },
        "frontendOnly": true,
        "liveApiCalled": false,
        "backendRouteChanged": false,
        "dbChanged": false
      }
    },
    {
      "key": "comparison-readiness",
      "title": "Comparison Readiness Proof",
      "status": "WATCH",
      "summary": "Canonical comparison metadata is read for proof only; no duplicate comparison route or live AI scorer is introduced.",
      "rows": [
        {
          "label": "Module",
          "value": "yarn"
        },
        {
          "label": "Canonical Rows",
          "value": "50"
        },
        {
          "label": "Snapshot Keys",
          "value": "metadata pending"
        },
        {
          "label": "Price",
          "value": "TBD"
        },
        {
          "label": "Live AI",
          "value": "disabled"
        },
        {
          "label": "Payment Change",
          "value": "none"
        }
      ],
      "snapshot": {
        "moduleKey": "yarn",
        "comparisonRowCount": 50,
        "comparisonSnapshotKeys": [],
        "selectedSlabSnapshot": {},
        "priceComparisonLabel": "TBD",
        "readinessChecks": {
          "moduleRegistry": true,
          "moduleKey": true,
          "canonicalRows": true,
          "comparisonSnapshot": false,
          "priceSnapshot": false,
          "tradeTermsSnapshot": true,
          "noLiveAi": true,
          "noPaymentChange": true
        },
        "noDuplicateRoute": true,
        "liveAiCalled": false,
        "paymentChanged": false,
        "backendRouteChanged": false
      }
    },
    {
      "key": "buyer-export-comparison",
      "title": "Buyer Export Comparison Proof",
      "status": "WATCH",
      "summary": "Export comparison proof ties buyer country, port, incoterm, currency, and document choices to the existing RFQ metadata chain.",
      "rows": [
        {
          "label": "Buyer Country",
          "value": "Missing"
        },
        {
          "label": "Destination Port",
          "value": "Missing"
        },
        {
          "label": "Incoterm",
          "value": "FOB"
        },
        {
          "label": "Currency",
          "value": "INR"
        },
        {
          "label": "Required Docs",
          "value": "Commercial Invoice, Packing List, COA, Customs Declaration, Insurance Certificate"
        }
      ],
      "snapshot": {
        "moduleKey": "yarn",
        "contractVersion": "dom06-rfq-export-landed-cost-contract-v1",
        "buyerCountry": "",
        "destinationCountry": "",
        "destinationPort": "",
        "incoterm": "FOB",
        "incotermHandling": {
          "incoterm": "FOB",
          "supportedIncoterms": [
            "EXW",
            "FCA",
            "FOB",
            "CFR",
            "CIF",
            "DAP",
            "DDP"
          ],
          "sellerCostScope": [
            "export clearance",
            "origin port loading/on-board handoff"
          ],
          "buyerCostScope": [
            "freight",
            "insurance",
            "customs",
            "duty",
            "taxes",
            "destination logistics"
          ],
          "landedCostInputsExpected": [
            "freight",
            "insurance",
            "customs",
            "duty",
            "taxes",
            "logistics",
            "bankFinance",
            "partnerFee"
          ],
          "cifFobMetadata": {
            "incoterm": "FOB",
            "priceBasis": "FOB",
            "fobContract": true,
            "cifContract": false,
            "sellerFreightIncluded": false,
            "sellerInsuranceIncluded": false,
            "buyerFreightInputExpected": true,
            "buyerInsuranceInputExpected": true,
            "readinessContract": {
              "version": "dom06-rfq-export-landed-cost-contract-v1",
              "hardLockVersion": "dom06-w7-rfq-export-hard-lock-v1",
              "finalHardLockVersion": "dom06-w10-rfq-export-final-hard-lock-v1",
              "w11HardLockVersion": "dom06-w11-rfq-export-hard-lock-v1",
              "w12FinalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
              "incoterm": "FOB",
              "fobReady": true,
              "cifReady": false,
              "freightIncluded": false,
              "insuranceIncluded": false,
              "buyerFreightInputExpected": true,
              "buyerInsuranceInputExpected": true,
              "metadataOnly": true,
              "noFinancePosting": true
            },
            "incotermVisibility": {
              "version": "dom06-w11-rfq-export-hard-lock-v1",
              "finalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
              "supportedIncoterms": [
                "EXW",
                "FCA",
                "FOB",
                "CFR",
                "CIF",
                "DAP",
                "DDP"
              ],
              "visibleFields": [
                "incoterm",
                "priceBasis",
                "fobContract",
                "cifContract",
                "sellerFreightIncluded",
                "sellerInsuranceIncluded"
              ],
              "fobVisible": true,
              "cifVisible": false,
              "metadataOnly": true
            },
            "landedCostMetadataOnly": true,
            "noFinancePosting": true
          },
          "metadataOnly": true,
          "noFinancePosting": true
        },
        "cifFobMetadata": {
          "incoterm": "FOB",
          "priceBasis": "FOB",
          "fobContract": true,
          "cifContract": false,
          "sellerFreightIncluded": false,
          "sellerInsuranceIncluded": false,
          "buyerFreightInputExpected": true,
          "buyerInsuranceInputExpected": true,
          "readinessContract": {
            "version": "dom06-rfq-export-landed-cost-contract-v1",
            "hardLockVersion": "dom06-w7-rfq-export-hard-lock-v1",
            "finalHardLockVersion": "dom06-w10-rfq-export-final-hard-lock-v1",
            "w11HardLockVersion": "dom06-w11-rfq-export-hard-lock-v1",
            "w12FinalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
            "incoterm": "FOB",
            "fobReady": true,
            "cifReady": false,
            "freightIncluded": false,
            "insuranceIncluded": false,
            "buyerFreightInputExpected": true,
            "buyerInsuranceInputExpected": true,
            "metadataOnly": true,
            "noFinancePosting": true
          },
          "incotermVisibility": {
            "version": "dom06-w11-rfq-export-hard-lock-v1",
            "finalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
            "supportedIncoterms": [
              "EXW",
              "FCA",
              "FOB",
              "CFR",
              "CIF",
              "DAP",
              "DDP"
            ],
            "visibleFields": [
              "incoterm",
              "priceBasis",
              "fobContract",
              "cifContract",
              "sellerFreightIncluded",
              "sellerInsuranceIncluded"
            ],
            "fobVisible": true,
            "cifVisible": false,
            "metadataOnly": true
          },
          "landedCostMetadataOnly": true,
          "noFinancePosting": true
        },
        "currency": "INR",
        "countryCurrencyStructure": {
          "buyerCountry": "",
          "destinationCountry": "",
          "currency": "INR",
          "contractVersion": "dom06-rfq-export-landed-cost-contract-v1"
        },
        "requiredDocuments": [
          "Commercial Invoice",
          "Packing List",
          "COA",
          "Customs Declaration",
          "Insurance Certificate"
        ],
        "readinessChecks": {
          "buyerCountry": false,
          "destinationPort": false,
          "incoterm": true,
          "currency": true,
          "requiredDocuments": true,
          "routeScopeUnchanged": true
        },
        "routeScope": "existing-rfq-proof-page",
        "liveApiCalled": false,
        "backendRouteChanged": false
      }
    },
    {
      "key": "buyer-export-rfq-readiness",
      "title": "Buyer Export RFQ Readiness Proof",
      "status": "WATCH",
      "summary": "Read-only buyer export RFQ readiness uses local metadata only and does not submit to RFQ or trade-core APIs.",
      "rows": [
        {
          "label": "Module",
          "value": "yarn"
        },
        {
          "label": "Listing",
          "value": "Optional"
        },
        {
          "label": "Buyer",
          "value": "Loading buyer identity"
        },
        {
          "label": "Buyer Company",
          "value": "Buyer company pending"
        },
        {
          "label": "Quantity",
          "value": "Missing"
        },
        {
          "label": "Required Docs",
          "value": "Commercial Invoice, Packing List, COA, Customs Declaration, Insurance Certificate"
        },
        {
          "label": "Live API",
          "value": "disabled"
        }
      ],
      "snapshot": {
        "moduleKey": "yarn",
        "listingId": "Optional",
        "buyerIdentityLabel": "Loading buyer identity",
        "buyerCompanyLabel": "Buyer company pending",
        "buyerIdentityStatus": "Loading canonical buyer identity...",
        "quantity": "",
        "requiredDocuments": [
          "Commercial Invoice",
          "Packing List",
          "COA",
          "Customs Declaration",
          "Insurance Certificate"
        ],
        "countryCurrencyStructure": {
          "buyerCountry": "",
          "destinationCountry": "",
          "currency": "INR",
          "contractVersion": "dom06-rfq-export-landed-cost-contract-v1"
        },
        "contractVersion": "dom06-rfq-export-landed-cost-contract-v1",
        "readinessChecks": {
          "moduleRegistry": true,
          "moduleKey": true,
          "buyerCountry": false,
          "destinationPort": false,
          "incoterm": true,
          "currency": true,
          "quantity": false,
          "requiredDocuments": true,
          "liveApiDisabled": true
        },
        "ready": false,
        "mode": "readonly-metadata-only",
        "liveApiCalled": false,
        "backendRouteChanged": false
      }
    },
    {
      "key": "currency-incoterm-readiness",
      "title": "Incoterm Proof",
      "status": "WATCH",
      "summary": "Buyer currency, incoterm, country, and port readiness are proven before any export RFQ execution.",
      "rows": [
        {
          "label": "Incoterm",
          "value": "FOB"
        },
        {
          "label": "Buyer Country",
          "value": "Missing"
        },
        {
          "label": "Destination Port",
          "value": "Missing"
        },
        {
          "label": "Currency",
          "value": "INR"
        }
      ],
      "snapshot": {
        "moduleKey": "yarn",
        "incoterm": "FOB",
        "incotermHandling": {
          "incoterm": "FOB",
          "supportedIncoterms": [
            "EXW",
            "FCA",
            "FOB",
            "CFR",
            "CIF",
            "DAP",
            "DDP"
          ],
          "sellerCostScope": [
            "export clearance",
            "origin port loading/on-board handoff"
          ],
          "buyerCostScope": [
            "freight",
            "insurance",
            "customs",
            "duty",
            "taxes",
            "destination logistics"
          ],
          "landedCostInputsExpected": [
            "freight",
            "insurance",
            "customs",
            "duty",
            "taxes",
            "logistics",
            "bankFinance",
            "partnerFee"
          ],
          "cifFobMetadata": {
            "incoterm": "FOB",
            "priceBasis": "FOB",
            "fobContract": true,
            "cifContract": false,
            "sellerFreightIncluded": false,
            "sellerInsuranceIncluded": false,
            "buyerFreightInputExpected": true,
            "buyerInsuranceInputExpected": true,
            "readinessContract": {
              "version": "dom06-rfq-export-landed-cost-contract-v1",
              "hardLockVersion": "dom06-w7-rfq-export-hard-lock-v1",
              "finalHardLockVersion": "dom06-w10-rfq-export-final-hard-lock-v1",
              "w11HardLockVersion": "dom06-w11-rfq-export-hard-lock-v1",
              "w12FinalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
              "incoterm": "FOB",
              "fobReady": true,
              "cifReady": false,
              "freightIncluded": false,
              "insuranceIncluded": false,
              "buyerFreightInputExpected": true,
              "buyerInsuranceInputExpected": true,
              "metadataOnly": true,
              "noFinancePosting": true
            },
            "incotermVisibility": {
              "version": "dom06-w11-rfq-export-hard-lock-v1",
              "finalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
              "supportedIncoterms": [
                "EXW",
                "FCA",
                "FOB",
                "CFR",
                "CIF",
                "DAP",
                "DDP"
              ],
              "visibleFields": [
                "incoterm",
                "priceBasis",
                "fobContract",
                "cifContract",
                "sellerFreightIncluded",
                "sellerInsuranceIncluded"
              ],
              "fobVisible": true,
              "cifVisible": false,
              "metadataOnly": true
            },
            "landedCostMetadataOnly": true,
            "noFinancePosting": true
          },
          "metadataOnly": true,
          "noFinancePosting": true
        },
        "cifFobMetadata": {
          "incoterm": "FOB",
          "priceBasis": "FOB",
          "fobContract": true,
          "cifContract": false,
          "sellerFreightIncluded": false,
          "sellerInsuranceIncluded": false,
          "buyerFreightInputExpected": true,
          "buyerInsuranceInputExpected": true,
          "readinessContract": {
            "version": "dom06-rfq-export-landed-cost-contract-v1",
            "hardLockVersion": "dom06-w7-rfq-export-hard-lock-v1",
            "finalHardLockVersion": "dom06-w10-rfq-export-final-hard-lock-v1",
            "w11HardLockVersion": "dom06-w11-rfq-export-hard-lock-v1",
            "w12FinalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
            "incoterm": "FOB",
            "fobReady": true,
            "cifReady": false,
            "freightIncluded": false,
            "insuranceIncluded": false,
            "buyerFreightInputExpected": true,
            "buyerInsuranceInputExpected": true,
            "metadataOnly": true,
            "noFinancePosting": true
          },
          "incotermVisibility": {
            "version": "dom06-w11-rfq-export-hard-lock-v1",
            "finalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
            "supportedIncoterms": [
              "EXW",
              "FCA",
              "FOB",
              "CFR",
              "CIF",
              "DAP",
              "DDP"
            ],
            "visibleFields": [
              "incoterm",
              "priceBasis",
              "fobContract",
              "cifContract",
              "sellerFreightIncluded",
              "sellerInsuranceIncluded"
            ],
            "fobVisible": true,
            "cifVisible": false,
            "metadataOnly": true
          },
          "landedCostMetadataOnly": true,
          "noFinancePosting": true
        },
        "buyerCountry": "",
        "destinationCountry": "",
        "destinationPort": "",
        "currency": "INR",
        "countryCurrencyStructure": {
          "buyerCountry": "",
          "destinationCountry": "",
          "currency": "INR",
          "contractVersion": "dom06-rfq-export-landed-cost-contract-v1"
        },
        "quantity": "",
        "contractVersion": "dom06-rfq-export-landed-cost-contract-v1",
        "mode": "readonly-metadata-only",
        "liveApiCalled": false
      }
    },
    {
      "key": "customs-proof",
      "title": "Customs Proof",
      "status": "PLACEHOLDER",
      "summary": "Customs and duty evidence stays metadata-only; no live customs, tariff, or compliance API is called.",
      "rows": [
        {
          "label": "Duty",
          "value": "TBD"
        },
        {
          "label": "Customs Document",
          "value": "metadata pending"
        },
        {
          "label": "Customs API",
          "value": "disabled"
        },
        {
          "label": "Mode",
          "value": "metadata placeholder"
        },
        {
          "label": "Route Change",
          "value": "none"
        }
      ],
      "snapshot": {
        "duty": "TBD",
        "customsDocumentSignal": "",
        "customsApi": "disabled",
        "liveApiCalled": false,
        "backendRouteChanged": false,
        "source": "readonly-proof"
      }
    },
    {
      "key": "insurance-proof",
      "title": "Insurance Proof",
      "status": "READY",
      "summary": "Insurance requirement and estimate evidence stay metadata-only; no live insurance API is called.",
      "rows": [
        {
          "label": "Required",
          "value": "Yes"
        },
        {
          "label": "Estimate",
          "value": "TBD"
        },
        {
          "label": "Insurance Document",
          "value": "required-document-selected"
        },
        {
          "label": "Insurance API",
          "value": "disabled"
        }
      ],
      "snapshot": {
        "required": "Yes",
        "insurance": "TBD",
        "insuranceDocumentSignal": "required-document-selected",
        "insuranceApi": "disabled",
        "liveApiCalled": false,
        "backendRouteChanged": false,
        "source": "readonly-proof"
      }
    },
    {
      "key": "readonly-trade-document-proof",
      "title": "Read-only Trade Document Proof",
      "status": "READY",
      "summary": "Required buyer document choices and listing document evidence are displayed read-only with no upload, verification, or document lifecycle mutation.",
      "rows": [
        {
          "label": "Required",
          "value": "Commercial Invoice, Packing List, COA, Customs Declaration, Insurance Certificate"
        },
        {
          "label": "Available Evidence",
          "value": "0"
        },
        {
          "label": "Export Docs",
          "value": "WATCH"
        },
        {
          "label": "Invoice Docs",
          "value": "WATCH"
        },
        {
          "label": "Lifecycle Mutation",
          "value": "disabled"
        }
      ],
      "snapshot": {
        "requiredDocuments": [
          "Commercial Invoice",
          "Packing List",
          "COA",
          "Customs Declaration",
          "Insurance Certificate"
        ],
        "availableEvidenceCount": "0",
        "badges": {},
        "documentLifecycleMutation": false,
        "liveApiCalled": false,
        "source": "readonly-proof"
      }
    },
    {
      "key": "logistics-readiness-proof",
      "title": "Logistics Readiness Proof",
      "status": "WATCH",
      "summary": "Logistics readiness is a local proof of port, incoterm, provider, and dispatch metadata only; no carrier, tracking, freight, wallet, or payout API is called.",
      "rows": [
        {
          "label": "Destination Port",
          "value": "Missing"
        },
        {
          "label": "Incoterm",
          "value": "FOB"
        },
        {
          "label": "Mode",
          "value": "metadata pending"
        },
        {
          "label": "Provider",
          "value": "PROVIDER_PLACEHOLDER_ONLY"
        },
        {
          "label": "Status",
          "value": "PLACEHOLDER_READY"
        },
        {
          "label": "Live Provider API",
          "value": "disabled"
        }
      ],
      "snapshot": {
        "destinationPort": "",
        "incoterm": "FOB",
        "logisticsMode": "",
        "logisticsProviderSignal": "PROVIDER_PLACEHOLDER_ONLY",
        "logisticsStatus": "PLACEHOLDER_READY",
        "liveProviderApiCalled": false,
        "walletChanged": false,
        "payoutChanged": false,
        "backendRouteChanged": false
      }
    },
    {
      "key": "landed-cost",
      "title": "Landed Cost Proof",
      "status": "WATCH",
      "summary": "Landed cost comparison remains an estimate snapshot for RFQ proof and order preparation readiness.",
      "rows": [
        {
          "label": "Base",
          "value": "TBD"
        },
        {
          "label": "Freight",
          "value": "TBD"
        },
        {
          "label": "Insurance",
          "value": "TBD"
        },
        {
          "label": "Duty",
          "value": "TBD"
        },
        {
          "label": "Local Transport",
          "value": "TBD"
        },
        {
          "label": "Estimate",
          "value": "TBD"
        },
        {
          "label": "Live API",
          "value": "disabled"
        }
      ],
      "snapshot": {
        "landedPreview": {},
        "currency": "INR",
        "incoterm": "FOB",
        "incotermHandling": {
          "incoterm": "FOB",
          "supportedIncoterms": [
            "EXW",
            "FCA",
            "FOB",
            "CFR",
            "CIF",
            "DAP",
            "DDP"
          ],
          "sellerCostScope": [
            "export clearance",
            "origin port loading/on-board handoff"
          ],
          "buyerCostScope": [
            "freight",
            "insurance",
            "customs",
            "duty",
            "taxes",
            "destination logistics"
          ],
          "landedCostInputsExpected": [
            "freight",
            "insurance",
            "customs",
            "duty",
            "taxes",
            "logistics",
            "bankFinance",
            "partnerFee"
          ],
          "cifFobMetadata": {
            "incoterm": "FOB",
            "priceBasis": "FOB",
            "fobContract": true,
            "cifContract": false,
            "sellerFreightIncluded": false,
            "sellerInsuranceIncluded": false,
            "buyerFreightInputExpected": true,
            "buyerInsuranceInputExpected": true,
            "readinessContract": {
              "version": "dom06-rfq-export-landed-cost-contract-v1",
              "hardLockVersion": "dom06-w7-rfq-export-hard-lock-v1",
              "finalHardLockVersion": "dom06-w10-rfq-export-final-hard-lock-v1",
              "w11HardLockVersion": "dom06-w11-rfq-export-hard-lock-v1",
              "w12FinalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
              "incoterm": "FOB",
              "fobReady": true,
              "cifReady": false,
              "freightIncluded": false,
              "insuranceIncluded": false,
              "buyerFreightInputExpected": true,
              "buyerInsuranceInputExpected": true,
              "metadataOnly": true,
              "noFinancePosting": true
            },
            "incotermVisibility": {
              "version": "dom06-w11-rfq-export-hard-lock-v1",
              "finalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
              "supportedIncoterms": [
                "EXW",
                "FCA",
                "FOB",
                "CFR",
                "CIF",
                "DAP",
                "DDP"
              ],
              "visibleFields": [
                "incoterm",
                "priceBasis",
                "fobContract",
                "cifContract",
                "sellerFreightIncluded",
                "sellerInsuranceIncluded"
              ],
              "fobVisible": true,
              "cifVisible": false,
              "metadataOnly": true
            },
            "landedCostMetadataOnly": true,
            "noFinancePosting": true
          },
          "metadataOnly": true,
          "noFinancePosting": true
        },
        "cifFobMetadata": {
          "incoterm": "FOB",
          "priceBasis": "FOB",
          "fobContract": true,
          "cifContract": false,
          "sellerFreightIncluded": false,
          "sellerInsuranceIncluded": false,
          "buyerFreightInputExpected": true,
          "buyerInsuranceInputExpected": true,
          "readinessContract": {
            "version": "dom06-rfq-export-landed-cost-contract-v1",
            "hardLockVersion": "dom06-w7-rfq-export-hard-lock-v1",
            "finalHardLockVersion": "dom06-w10-rfq-export-final-hard-lock-v1",
            "w11HardLockVersion": "dom06-w11-rfq-export-hard-lock-v1",
            "w12FinalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
            "incoterm": "FOB",
            "fobReady": true,
            "cifReady": false,
            "freightIncluded": false,
            "insuranceIncluded": false,
            "buyerFreightInputExpected": true,
            "buyerInsuranceInputExpected": true,
            "metadataOnly": true,
            "noFinancePosting": true
          },
          "incotermVisibility": {
            "version": "dom06-w11-rfq-export-hard-lock-v1",
            "finalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
            "supportedIncoterms": [
              "EXW",
              "FCA",
              "FOB",
              "CFR",
              "CIF",
              "DAP",
              "DDP"
            ],
            "visibleFields": [
              "incoterm",
              "priceBasis",
              "fobContract",
              "cifContract",
              "sellerFreightIncluded",
              "sellerInsuranceIncluded"
            ],
            "fobVisible": true,
            "cifVisible": false,
            "metadataOnly": true
          },
          "landedCostMetadataOnly": true,
          "noFinancePosting": true
        },
        "landedCostTruth": {
          "version": "dom06-rfq-export-landed-cost-contract-v1",
          "incoterm": "FOB",
          "components": {},
          "sellerIncludedComponents": [],
          "buyerAdditionalComponents": [
            "freight",
            "insurance",
            "customs",
            "duty",
            "taxes",
            "logistics",
            "bankFinance",
            "partnerFee"
          ],
          "missingBuyerCostInputs": [
            "freight",
            "insurance",
            "customs",
            "duty",
            "taxes",
            "logistics",
            "bankFinance",
            "partnerFee"
          ],
          "providedCostTotal": "",
          "buyerAdditionalCostTotal": "",
          "status": "WATCH",
          "cifFobMetadata": {
            "incoterm": "FOB",
            "priceBasis": "FOB",
            "fobContract": true,
            "cifContract": false,
            "sellerFreightIncluded": false,
            "sellerInsuranceIncluded": false,
            "buyerFreightInputExpected": true,
            "buyerInsuranceInputExpected": true,
            "readinessContract": {
              "version": "dom06-rfq-export-landed-cost-contract-v1",
              "hardLockVersion": "dom06-w7-rfq-export-hard-lock-v1",
              "finalHardLockVersion": "dom06-w10-rfq-export-final-hard-lock-v1",
              "w11HardLockVersion": "dom06-w11-rfq-export-hard-lock-v1",
              "w12FinalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
              "incoterm": "FOB",
              "fobReady": true,
              "cifReady": false,
              "freightIncluded": false,
              "insuranceIncluded": false,
              "buyerFreightInputExpected": true,
              "buyerInsuranceInputExpected": true,
              "metadataOnly": true,
              "noFinancePosting": true
            },
            "incotermVisibility": {
              "version": "dom06-w11-rfq-export-hard-lock-v1",
              "finalLockProofVersion": "dom06-w12-rfq-export-final-lock-proof-v1",
              "supportedIncoterms": [
                "EXW",
                "FCA",
                "FOB",
                "CFR",
                "CIF",
                "DAP",
                "DDP"
              ],
              "visibleFields": [
                "incoterm",
                "priceBasis",
                "fobContract",
                "cifContract",
                "sellerFreightIncluded",
                "sellerInsuranceIncluded"
              ],
              "fobVisible": true,
              "cifVisible": false,
              "metadataOnly": true
            },
            "landedCostMetadataOnly": true,
            "noFinancePosting": true
          },
          "metadataOnly": true,
          "noFinancePosting": true
        },
        "contractVersion": "dom06-rfq-export-landed-cost-contract-v1",
        "countryCurrencyStructure": {
          "buyerCountry": "",
          "destinationCountry": "",
          "currency": "INR",
          "contractVersion": "dom06-rfq-export-landed-cost-contract-v1"
        },
        "customsPlaceholder": "TBD",
        "insurancePlaceholder": "TBD",
        "liveApiCalled": false,
        "mode": "readonly-estimate-only"
      }
    },
    {
      "key": "negotiation-readiness",
      "title": "Negotiation Readiness Proof",
      "status": "READY",
      "summary": "Negotiation state is carried forward as a readonly RFQ proof snapshot without live AI or payment changes.",
      "rows": [
        {
          "label": "Status",
          "value": "PENDING"
        },
        {
          "label": "Buyer Offer",
          "value": "TBD"
        },
        {
          "label": "Seller Counter",
          "value": "Pending"
        },
        {
          "label": "Recommended Range",
          "value": "TBD"
        },
        {
          "label": "Live AI",
          "value": "disabled"
        }
      ],
      "snapshot": {
        "buyerOffer": "TBD",
        "sellerCounter": "",
        "recommendedRange": "TBD",
        "liveAiCalled": false,
        "paymentChanged": false,
        "source": "metadata-only"
      }
    },
    {
      "key": "rfq-negotiation-intelligence",
      "title": "RFQ Negotiation Intelligence Proof",
      "status": "WATCH",
      "summary": "Deterministic negotiation intelligence is derived from RFQ snapshot fields only; no live AI, pricing model, DB, payment, escrow, wallet, or payout call is made.",
      "rows": [
        {
          "label": "Version",
          "value": "codex168b-rfq-negotiation-intelligence-proof-v1"
        },
        {
          "label": "Buyer Offer",
          "value": "TBD"
        },
        {
          "label": "Seller Counter",
          "value": "Pending"
        },
        {
          "label": "Seller Response",
          "value": "Pending"
        },
        {
          "label": "Buyer Decision",
          "value": "Pending"
        },
        {
          "label": "History",
          "value": "0 negotiation events"
        },
        {
          "label": "Export Context",
          "value": "WATCH"
        },
        {
          "label": "Live AI",
          "value": "disabled"
        }
      ],
      "snapshot": {
        "version": "codex168b-rfq-negotiation-intelligence-proof-v1",
        "proofLabels": [
          {
            "label": "Negotiation intelligence status",
            "value": "deterministic RFQ metadata readback; no live AI"
          },
          {
            "label": "Counter-offer status",
            "value": "buyer offer, seller counter, range, and decision evidence only"
          },
          {
            "label": "Seller response status",
            "value": "canonical seller response readback through POST /api/rfq/respond"
          },
          {
            "label": "Buyer negotiation status",
            "value": "buyer revise/accept/reject continuity through POST /api/rfq/respond"
          },
          {
            "label": "Export RFQ negotiation status",
            "value": "export RFQ status carries negotiation snapshot through the fixed trade chain"
          }
        ],
        "buyerOffer": "TBD",
        "sellerCounter": "",
        "sellerResponseSignal": "",
        "buyerDecision": "",
        "recommendedRange": "TBD",
        "negotiationStatus": "PENDING",
        "negotiationHistoryCount": 0,
        "negotiationIntelligenceScore": 3,
        "negotiationIntelligenceChecks": {
          "buyerOffer": false,
          "negotiationStatus": true,
          "sellerCounter": false,
          "sellerResponse": false,
          "recommendedRange": false,
          "buyerDecision": false,
          "exportContext": false,
          "noLiveAi": true,
          "frontendOnly": true
        },
        "exportRfqNegotiationProof": true,
        "liveAiCalled": false,
        "dbChanged": false,
        "backendRouteChanged": false,
        "paymentChanged": false,
        "escrowChanged": false,
        "walletChanged": false,
        "payoutChanged": false
      }
    },
    {
      "key": "final-rfq-negotiation-order-bridge",
      "title": "Final RFQ Negotiation to Order Bridge Proof",
      "status": "READY",
      "summary": "Final RFQ bridge proof carries create, seller response, buyer decision, negotiation, order bridge readiness, and export continuity metadata without adding routes or running downstream payment services.",
      "rows": [
        {
          "label": "Version",
          "value": "codex257b-final-rfq-negotiation-order-bridge-proof-v1"
        },
        {
          "label": "RFQ Create",
          "value": "POST /api/rfq/create"
        },
        {
          "label": "Seller Response",
          "value": "Pending seller response"
        },
        {
          "label": "Buyer Decision",
          "value": "Pending buyer accept/reject"
        },
        {
          "label": "Order Bridge",
          "value": "POST /api/trade-core/order/create-from-preparation"
        },
        {
          "label": "Export Continuity",
          "value": "WATCH"
        },
        {
          "label": "Runtime Boundary",
          "value": "no DB schema, route, PM2, payment, escrow, logistics, wallet, or payout change"
        }
      ],
      "snapshot": {
        "version": "codex257b-final-rfq-negotiation-order-bridge-proof-v1",
        "proofLabels": [
          {
            "label": "RFQ create status",
            "value": "POST /api/rfq/create -> GET /api/rfq/list"
          },
          {
            "label": "Seller response status",
            "value": "POST /api/rfq/respond view only"
          },
          {
            "label": "Buyer accept/reject status",
            "value": "buyer decision metadata gates conversion; rejected RFQs stay blocked"
          },
          {
            "label": "Negotiation proof",
            "value": "comparison snapshot -> RFQ negotiation snapshot -> order bridge snapshot"
          },
          {
            "label": "Conversion to order status",
            "value": "accepted/seller-responded RFQ -> POST /api/trade-core/order/create-from-preparation"
          },
          {
            "label": "Export RFQ continuity proof",
            "value": "listing/slab/trade terms/documents/landed cost snapshots preserved"
          },
          {
            "label": "Canonical endpoint guard",
            "value": "canonical RFQ helpers preserved; yarn compatibility aliases remain backend-only"
          },
          {
            "label": "PM2 safety status",
            "value": "metadata/view only; no DB schema, route, payment, escrow, logistics, wallet, or payout change"
          }
        ],
        "canonicalRoutes": {
          "create": "/api/rfq/create",
          "list": "/api/rfq/list",
          "respond": "/api/rfq/respond",
          "orderBridge": "/api/trade-core/order/create-from-preparation"
        },
        "buyerOffer": "TBD",
        "sellerCounter": "",
        "sellerResponseSignal": "",
        "buyerDecision": "",
        "exportComparisonReady": false,
        "noDbSchemaChange": true,
        "noRouteDelete": true,
        "noDuplicateRfqRoutes": true,
        "noDuplicateEndpointConstants": true,
        "canonicalRfqHelpersPreserved": true,
        "noYarnRfqRegression": true,
        "pm2Safe": true
      }
    },
    {
      "key": "counter-offer-placeholder",
      "title": "Counter-Offer Placeholder Proof",
      "status": "PLACEHOLDER",
      "summary": "Counter-offer status stays placeholder metadata until seller counter data exists; it does not call AI, pricing, payment, or escrow services.",
      "rows": [
        {
          "label": "Counter Offer",
          "value": "Pending seller counter"
        },
        {
          "label": "Buyer Offer",
          "value": "TBD"
        },
        {
          "label": "Allowed",
          "value": "metadata-only placeholder"
        },
        {
          "label": "Counter-offer status",
          "value": "PLACEHOLDER_ACTIVE"
        },
        {
          "label": "No Live AI",
          "value": "true"
        },
        {
          "label": "Payment Change",
          "value": "none"
        }
      ],
      "snapshot": {
        "sellerCounter": null,
        "buyerOffer": "TBD",
        "counterOfferAllowed": "metadata-only placeholder",
        "placeholderActive": true,
        "mode": "readonly-metadata-placeholder",
        "liveAiCalled": false,
        "paymentChanged": false,
        "escrowChanged": false,
        "backendRouteChanged": false
      }
    }
  ]
}