Phase 156FAEDA-SEED-PACK-001dry-run-ready

Demo Seed Data Pack

Export and import shape for the polymer-to-button seed journey. This is evidence-safe demo data, not live finance, inventory, invoice, ledger, wallet, or settlement truth.

Current chain position

Seed pack to role readiness

Seed groups

9

source, factory, trade, shop, demand, logistics, payment evidence

Import steps

15

ordered to protect dependencies

Hard locks

10

no runtime finance or stock mutation

Idempotency

100%

every group has stable seed keys

Dry-run

Validate without writing

Check scope, schema, dependencies, idempotency, permissions, and mutation locks.

Readiness

Review evidence

Human review of clean, warning, rejected, and blocked dry-run packets.

Maker-checker

Approve design only

Approval for importer design discovery, not runtime build or writes.

161-170

Check every role

Demo personas, permissions, dashboards, workbenches, and functional-lite scopes.

Why this exists

Portable demo truth without unsafe runtime claims

Founder, QA, and demo teams need one repeatable seed pack that proves the whole FAEDA chain. This page defines the order, records, relationships, API targets, and blocks before a real importer is coded.

Import rule

Dry-run first, backend authority always

The importer must validate tenant scope, idempotency, permissions, dependency order, and mutation locks before writing any seed records.

Product truth first

Master product identity is created before shop listing, customer demand, or inventory claims.

Source to factory

Supplier material offer connects to manufacturer need through RFQ and quote evidence.

Market bridge

Manufacturer capacity feeds wholesaler offer, then retailer listing, then customer demand.

Finance stays licensed

Upaisa/SBP partner evidence is represented, but payout, wallet, and ledger mutation stay blocked.

Import order

15 steps
01
Product Bankordered

Create master product identity

Creates

masterProduct:button-20l-pearl-white

Depends on

none

Blocked

shop stock, customer order, payment

02
Supplierordered

Create raw material supplier profile

Creates

supplierProfile:karachi-polymer-source

Depends on

tenant demo scope

Blocked

supplier payout, payable, PO

03
Supplierordered

Create supplier material offer

Creates

materialOffer:pp-resin-pearl-pigment

Depends on

supplier profile

Blocked

inventory stock, dispatch commitment

04
Manufacturerordered

Create manufacturer profile

Creates

manufacturerProfile:faisalabad-button-works

Depends on

tenant demo scope

Blocked

BOM runtime, HR payroll, machine telemetry

05
Manufacturerordered

Create manufacturer material need

Creates

materialNeed:button-resin-pigment-need

Depends on

manufacturer profile and master product

Blocked

purchase order, payment, inventory

06
Procurementordered

Create RFQ draft

Creates

rfq:resin-pigment-rfq-demo

Depends on

material need

Blocked

supplier commitment, PO issue

07
Supplierordered

Create supplier quote response

Creates

quote:karachi-polymer-quote-demo

Depends on

RFQ and material offer

Blocked

payable, GRN, settlement

08
Manufacturerordered

Create manufacturer product capacity

Creates

manufacturerProduct:20l-button-capacity

Depends on

manufacturer profile and master product

Blocked

finished-goods stock posting

09
Wholesalerordered

Create wholesaler profile

Creates

wholesalerProfile:lahore-accessories-wholesale

Depends on

tenant demo scope

Blocked

wholesale stock register

10
Wholesalerordered

Create wholesale bulk offer

Creates

bulkOffer:button-carton-allocation

Depends on

manufacturer product capacity

Blocked

retailer inventory posting

11
Retailerordered

Create retailer shop supply profile

Creates

shopProfile:chiniot-stitching-supplies

Depends on

tenant demo scope

Blocked

hidden supplier cost exposure

12
Retailerordered

Create source-linked shop listing draft

Creates

shopListing:20l-button-pack

Depends on

master product, wholesale offer, shop profile

Blocked

final order, payment, settlement

13
Customerordered

Create customer demand draft

Creates

demandDraft:school-uniform-button-need

Depends on

shop listing draft

Blocked

payment intent, order confirmation

14
Riderordered

Create logistics carrier offer

Creates

carrierOffer:chiniot-shop-to-home-demo

Depends on

customer demand draft

Blocked

delivery completion, COD settlement

15
Payment Opsordered

Create partner payment evidence placeholder

Creates

paymentEvidenceDraft:upaisa-demo-callback-slot

Depends on

demand draft and admin demo scope

Blocked

automatic payout, fake wallet balance, ledger posting

Record groups

stable seed keys

Universal Product Data Bank

Product identity records

seed:product:button-20l-pearl-white

Records

masterProductproductAliasescategoryNodequalityAttributes
{
  "masterProductId": "mp_button_20l_pearl_white",
  "category": "Garment accessories / Buttons",
  "productName": "20L pearl white four-hole button",
  "attributes": [
    "20L",
    "four-hole",
    "pearl white",
    "gloss finish"
  ]
}

Locked

shop stockfactory inventorycustomer orderpayment intent

Supplier

Raw supplier source records

seed:supplier:karachi-polymer-source

Records

supplierProfilematerialOfferoriginEvidencesupplierQuote
{
  "supplierProfileId": "sup_karachi_polymer_source",
  "materialOfferId": "mat_pp_resin_pearl_pigment",
  "evidence": [
    "COA",
    "origin invoice copy",
    "packing photo",
    "quote terms"
  ],
  "quoteStatus": "draft_response"
}

Locked

purchaseOrderGRNsupplierInvoicesupplierPayout

Manufacturer

Manufacturer need and output records

seed:manufacturer:faisalabad-button-works

Records

manufacturerProfilematerialNeedrawMaterialRfqoutputCapacityDraft
{
  "manufacturerProfileId": "mfg_faisalabad_button_works",
  "neededMaterials": [
    "PP/polyester resin",
    "pearl pigment",
    "packing bags"
  ],
  "declaredCapacity": "200000 pcs/month",
  "upgradeReadiness": "Business Pro ERP later"
}

Locked

BOM runtimeproductionOrderfinishedGoodsStockpayroll

Wholesaler

Wholesale bridge records

seed:wholesaler:lahore-accessories

Records

wholesalerProfilebulkOfferretailerAllocationCandidate
{
  "wholesalerProfileId": "wh_lahore_accessories",
  "offerId": "bulk_button_carton_demo",
  "allocationCandidate": "30 cartons to Chiniot Stitching Supplies",
  "stockConfidence": "candidate_only"
}

Locked

wholesaleStockRegisterretailerInventorycreditSettlement

Retailer

Retail listing records

seed:retailer:chiniot-stitching-supplies

Records

shopProfileshopSupplyProfileproductTruthDraftsellerResponsePacket
{
  "shopProfileId": "shop_chiniot_stitching_supplies",
  "listingId": "listing_20l_button_pack",
  "customerPriceMode": "visible_local_price",
  "sourceLink": "bulk_button_carton_demo"
}

Locked

finalOrdersettlementsupplierCostExposureinventoryLedger

Customer

Customer demand records

seed:customer:school-uniform-family-basket

Records

demandDraftbasketPacketdeliveryPreferencesubstitutionConsent
{
  "demandDraftId": "dd_school_uniform_buttons",
  "requestedQuantity": "2 packs / 24 pcs",
  "budgetCap": "PKR 350",
  "substitutionRule": "same size, similar white shade only"
}

Locked

paymentIntentconfirmedOrderotherCustomerDatainternalLedger

Rider / Logistics

Movement proof records

seed:rider:chiniot-delivery-proof

Records

carrierOfferpickupWindowhandoverProofPlaceholderrouteNote
{
  "carrierOfferId": "carrier_chiniot_shop_to_home",
  "pickupWindow": "same-day evening",
  "proofMode": "OTP/photo placeholder",
  "movementStatus": "offer_only"
}

Locked

deliveryCompletionCODSettlementriderPayoutledgerPosting

Payment Ops

Partner payment evidence records

seed:payment-evidence:upaisa-demo-slot

Records

paymentExecutionDraftcallbackPlaceholderreconciliationPlaceholderexceptionPlaceholder
{
  "paymentDraftId": "paydraft_upaisa_demo_button",
  "partner": "Upaisa / licensed SBP partner rail",
  "callbackStatus": "placeholder_only",
  "reconciliationStatus": "not_executed"
}

Locked

automaticPayoutfakeWalletBalancesilentSettlementproviderCredential

Founder / Admin Ops

Governance and QA records

seed:governance:button-demo-qa

Records

seedAuditPacketpermissionGateNotesdemoScenarioLogimportDryRunReport
{
  "auditPacketId": "audit_seed_button_demo",
  "gateMatrix": "phase-153-compatible",
  "qaPurpose": "demo, smoke test, route check",
  "founderLock": "no unapproved runtime mutation"
}

Locked

adminOverrideWithoutAuditpermissionBypasscrossTenantImport

Relationship edges

9 links

defines product identity for

masterProduct -> manufacturerProduct

can satisfy

supplierMaterialOffer -> manufacturerMaterialNeed

creates procurement inquiry for

manufacturerMaterialNeed -> rawMaterialRfq

answers

supplierQuote -> rawMaterialRfq

feeds output candidate into

manufacturerProduct -> wholesaleBulkOffer

source-links local listing

wholesaleBulkOffer -> shopListingDraft

receives demand from

shopListingDraft -> customerDemandDraft

can request movement through

customerDemandDraft -> carrierOffer

may later create licensed partner evidence through

customerDemandDraft -> paymentEvidenceDraft

Export envelope

JSON shape preview

evidence only
{
  "schemaVersion": "faeda.demoSeedPack.v1",
  "packId": "FAEDA-SEED-PACK-001",
  "generatedFor": "demo-dry-run",
  "tenantScope": "demo_only",
  "scenario": "polymer_source_to_button_demand",
  "entities": {
    "masterProduct": "mp_button_20l_pearl_white",
    "supplierProfile": "sup_karachi_polymer_source",
    "manufacturerProfile": "mfg_faisalabad_button_works",
    "wholesalerProfile": "wh_lahore_accessories",
    "retailerShop": "shop_chiniot_stitching_supplies",
    "customerDemandDraft": "dd_school_uniform_buttons",
    "carrierOffer": "carrier_chiniot_shop_to_home",
    "partnerPaymentEvidenceDraft": "paydraft_upaisa_demo_button"
  },
  "relationships": [
    {
      "from": "masterProduct",
      "to": "manufacturerProduct",
      "relation": "defines product identity for"
    },
    {
      "from": "supplierMaterialOffer",
      "to": "manufacturerMaterialNeed",
      "relation": "can satisfy"
    },
    {
      "from": "manufacturerMaterialNeed",
      "to": "rawMaterialRfq",
      "relation": "creates procurement inquiry for"
    },
    {
      "from": "supplierQuote",
      "to": "rawMaterialRfq",
      "relation": "answers"
    },
    {
      "from": "manufacturerProduct",
      "to": "wholesaleBulkOffer",
      "relation": "feeds output candidate into"
    },
    {
      "from": "wholesaleBulkOffer",
      "to": "shopListingDraft",
      "relation": "source-links local listing"
    },
    {
      "from": "shopListingDraft",
      "to": "customerDemandDraft",
      "relation": "receives demand from"
    },
    {
      "from": "customerDemandDraft",
      "to": "carrierOffer",
      "relation": "can request movement through"
    },
    {
      "from": "customerDemandDraft",
      "to": "paymentEvidenceDraft",
      "relation": "may later create licensed partner evidence through"
    }
  ],
  "importPolicy": {
    "mode": "dry_run_or_demo_seed_only",
    "idempotencyRequired": true,
    "backendPermissionRequired": true,
    "crossTenantImportAllowed": false,
    "createsFinancialTruth": false,
    "createsInventoryTruth": false
  },
  "blockedMutations": [
    "purchaseOrder.issue",
    "goodsReceipt.approve",
    "inventoryMovement.post",
    "supplierInvoice.accept",
    "threeWayMatch.autoApprove",
    "payable.approve",
    "partnerPayment.execute",
    "ledger.post",
    "wallet.balanceMutate",
    "customerOrder.confirm"
  ]
}

Import validation checks

must pass

required

Tenant and demo scope check

Import must run inside a clearly marked demo tenant/scope. Cross-tenant import is rejected.

required

Idempotency check

Every group uses stable seed keys so repeated imports update dry-run evidence instead of duplicating records.

required

Dependency order check

Product identity and actor profiles must exist before quotes, listings, demand, logistics, or payment evidence placeholders.

required

Permission gate check

Import cannot bypass role permissions. Backend remains final authority even for demo seed data.

required

Runtime mutation block

PO, GRN, inventory, invoice, ledger, settlement, payout, and wallet mutations are blocked by design.

Blocked mutations

The seed pack cannot cross these lines

purchaseOrder.issuegoodsReceipt.approveinventoryMovement.postsupplierInvoice.acceptthreeWayMatch.autoApprovepayable.approvepartnerPayment.executeledger.postwallet.balanceMutatecustomerOrder.confirm

API target readiness

future importer map

Product identity

/universal-products/data-bank/overview

read-ready

Supplier profile and offering

/supplier-network/profiles

guarded write where available

Manufacturer need and RFQ

/procurement-rfq/rfqs

guarded write where available

Supplier quote

/procurement-rfq/quotes

guarded write where available

Hybrid trust supply profile

/hybrid-trust-map/supply-profiles

guarded write where available

Demand draft

/hybrid-trust-map/demand-drafts

guarded write where available

Carrier offer

/logistics-booking/carrier-offers

guarded write where available

Partner payment evidence

/admin/payments/upaisa-sandbox

sandbox/evidence only

Next build gate

The seed pack chain now reaches role readiness

This pack is the foundation. The current strongest demo route is: data pack, dry-run, readiness report, approval gate, technical design, then role functional readiness for Supplier, Manufacturer, Wholesaler, Retailer, Customer, Rider, and Founder/Admin.

Open role readiness Open dry-run validator