{ "schema_version": "0.1.0", "record_type": "industry_value_research", "industry_id": "ecommerce", "industry_name": "US small ecommerce merchants", "as_of": "2026-09-05", "jurisdiction": "United States research pilot; merchant policies, platform permissions, consumer-protection obligations and applicable state/federal privacy rules require an authorized review.", "status": "research_only_not_admitted", "source_frame": "Action Model system-map industry slug ecommerce; taxonomy reference only, not client demand or implementation proof.", "scope_note": "Research covers supervised order administration, payment/refund coordination, privacy handling and fulfillment exception work for small US merchants. No merchant account, payment credential, customer record or live order was accessed.", "summary": "Small merchants can test supervised coordination around orders, refunds, privacy requests and fulfillment exceptions. A workflow may prepare records, route evidence and surface exceptions, but payment/refund authority, privacy decisions, customer remedies and fulfillment release remain with authorized people and systems. Vendor and project pages show capability, not adoption, compliance or savings.", "automation_research": { "finding": "NIST's Privacy Framework describes risk-based privacy management rather than an autonomous decision authority; Shopify's Admin API and Stripe's refund documentation expose controlled operations with account/payment context. Automation should therefore be measured as traceable task assistance with explicit review, not as permission to decide refunds, disclose data or release shipments.", "source_ids": ["nist-privacy-framework", "shopify-refund-api", "stripe-refunds", "usps-shipping"], "forecast_percent": null, "forecast_note": "No independently measured small-merchant automation rate, adoption prevalence or savings estimate is used; documentation establishes capability and constraints only." }, "software": [ { "name": "Shopify Admin", "capability": "Vendor documentation exposes order-administration, refund mutation and fulfillment objects for an authorized shop; these are operational interfaces, not evidence of merchant installation or outcomes.", "evidence_scope": "vendor_api_documentation_not_installation_or_outcome_proof", "source_ids": ["shopify-refund-api", "shopify-fulfillment-api"], "price": null, "price_note": "Plan, transaction, app and operator costs are merchant-specific and unmeasured." }, { "name": "Medusa", "capability": "Open-source commerce platform documentation describes commerce modules including products and orders; deployment can be used as a merchant-owned coordination component subject to integration and rights review.", "evidence_scope": "upstream_documentation_and_repository_capability_not_adoption_or_outcome_proof", "source_ids": ["medusa-order-docs", "repo-medusa"], "price": null, "price_note": "Hosting, engineering, payment provider and operational support costs are merchant-specific and unmeasured." } ], "modules": [ { "repository": "medusajs/medusa", "capability": "Commerce platform modules for catalog and order coordination, as described by upstream documentation and repository.", "source_revision": "bda24b9725ac697ec5e8f706b503013e20babf12", "existing_foundry_ref": "intelligence/agency/coverage-inventory.json: candidate S6.medusa; repository medusajs/medusa", "reuse_shape": "Synchronize order state and draft exception queues; keep payment capture, refunds and fulfillment release behind allowlisted authenticated actions and human review.", "rights_state": "Repository metadata and license must be reviewed for the intended edition and deployment; this record does not grant reuse rights.", "source_ids": ["repo-medusa", "medusa-order-docs"], "limits": "Documentation does not prove connector correctness, idempotency, merchant authorization, privacy controls or production reliability." }, { "repository": "saleor/saleor", "capability": "GraphQL-first commerce core listed in the existing coverage inventory; relevant as an alternative order/catalog integration surface.", "source_revision": "0a11eb911e006199daa1352ff5b76a07214f43fa", "existing_foundry_ref": "intelligence/agency/coverage-inventory.json: candidate S6.saleor; repository saleor/saleor", "reuse_shape": "Use only for read/prepare/reconcile flows until payment, refund, customer-data and fulfillment permissions are independently tested.", "rights_state": "Upstream repository license and any hosted/enterprise terms require review before reuse; no license conclusion is made here.", "source_ids": ["repo-saleor"], "limits": "Candidate metadata and repository availability do not establish a supported merchant deployment, data-protection posture or outcome." }, { "repository": "vendurehq/vendure", "capability": "Commerce framework repository listed in the existing inventory, potentially useful for order and fulfillment integration patterns.", "source_revision": "523b57304c5850b86069de30a97b723a3f4da284", "existing_foundry_ref": "intelligence/agency/coverage-inventory.json: candidate S10.vendurehq-vendure; repository vendurehq/vendure", "reuse_shape": "Prototype read-only reconciliation and exception routing; do not infer payment/refund or shipment authority from framework capability.", "rights_state": "Upstream license and edition/extension terms require review before reuse.", "source_ids": ["repo-vendure"], "limits": "Repository evidence does not prove merchant fit, integration safety, privacy compliance or reliable fulfillment outcomes." } ], "processes": [ { "id": "order_administration", "process": "Order intake, status reconciliation and customer-service queue preparation", "automation_boundary": "Normalize incoming order/status events, identify missing fields and draft a traceable queue; do not alter payment state, promise delivery, or make a customer remedy decision.", "evidence_state": "capability_supported_value_hypothesis", "source_ids": ["shopify-fulfillment-api", "medusa-order-docs", "repo-medusa"], "current_software": ["Shopify Admin", "Medusa"], "github_modules": ["medusajs/medusa", "saleor/saleor", "vendurehq/vendure"], "baseline_required": "Matched orders, intake/reconciliation/review minutes, duplicate or missing-state rate, exception queue aging and actual tool/operator cost.", "metric": "Human minutes per accepted reconciled order, including review/rework and exceptions; unresolved or incorrectly routed order states.", "falsifier": "Reject if review/rework erases net effort reduction or a material order-state error reaches a customer communication or operational handoff.", "human_authority": "Named merchant operator owns customer communication, order corrections, promises and escalation decisions; platform remains system of record.", "value": {"formula_ref": "observed-value-v0.1", "currency": "USD", "annual_net_cash": null, "annual_capacity_hours": null, "status": "unmeasured"} }, { "id": "payment_refund_coordination", "process": "Refund request intake, evidence assembly and authorized execution handoff", "automation_boundary": "Collect order/payment context, check policy fields and draft a refund recommendation or handoff; never independently approve, calculate a disputed remedy, capture funds or issue a refund.", "evidence_state": "capability_supported_value_hypothesis", "source_ids": ["shopify-refund-api", "stripe-refunds"], "current_software": ["Shopify Admin"], "github_modules": ["medusajs/medusa", "saleor/saleor"], "baseline_required": "Matched requests, triage/review minutes, correction and duplicate-refund rate, exception aging, chargeback/escalation counts and actual spend.", "metric": "Human minutes per correctly authorized refund handoff, including review/rework; unauthorized, duplicate or incorrect refund actions.", "falsifier": "Reject if net review effort is not reduced or any refund/payment action lacks authenticated authority, policy evidence or required review.", "human_authority": "Authorized merchant/payment operator decides eligibility, amount and execution; payment provider and merchant policies remain authoritative.", "value": {"formula_ref": "observed-value-v0.1", "currency": "USD", "annual_net_cash": null, "annual_capacity_hours": null, "status": "unmeasured"} }, { "id": "privacy_request_handling", "process": "Customer privacy request intake, identity/evidence routing and response preparation", "automation_boundary": "Log request, route it to the authorized privacy owner and assemble system-held records; do not infer identity, legal scope, retention exception or disclosure decision.", "evidence_state": "capability_supported_value_hypothesis", "source_ids": ["nist-privacy-framework"], "current_software": ["Shopify Admin"], "github_modules": ["medusajs/medusa", "vendurehq/vendure"], "baseline_required": "Matched requests, intake/search/review minutes, identity-verification failures, missed deadlines, disclosure corrections and actual tool/operator cost.", "metric": "Human minutes per accepted privacy-request packet, including review/rework; unresolved identity, scope or disclosure defects.", "falsifier": "Reject if review does not reduce net effort or an unverified requester, unauthorized disclosure, retention error or missing audit trail survives.", "human_authority": "Named merchant privacy owner decides identity, scope, exemptions, retention and response; automation has no legal or professional authority.", "value": {"formula_ref": "observed-value-v0.1", "currency": "USD", "annual_net_cash": null, "annual_capacity_hours": null, "status": "unmeasured"} }, { "id": "fulfillment_exceptions", "process": "Shipment status monitoring, exception triage and carrier/customer handoff", "automation_boundary": "Reconcile fulfillment events, flag late/damaged/missing shipments and draft next-step queues; do not promise delivery, select a remedy or release inventory without authorization.", "evidence_state": "capability_supported_value_hypothesis", "source_ids": ["shopify-fulfillment-api", "usps-shipping"], "current_software": ["Shopify Admin"], "github_modules": ["medusajs/medusa", "vendurehq/vendure"], "baseline_required": "Matched shipments, monitoring/review/exception minutes, stale-event rate, late/misroute rate, customer-contact rework and actual spend.", "metric": "Human minutes per accepted exception resolution handoff, including review/rework; unresolved or incorrectly escalated fulfillment exceptions.", "falsifier": "Reject if exceptions erase time reduction or a wrong carrier/order, unsupported delivery promise or unauthorized remedy reaches the customer.", "human_authority": "Merchant fulfillment lead and carrier/account authorities own shipment release, delivery promises and customer remedy decisions.", "value": {"formula_ref": "observed-value-v0.1", "currency": "USD", "annual_net_cash": null, "annual_capacity_hours": null, "status": "unmeasured"} } ], "sources": [ {"id": "nist-privacy-framework", "url": "https://www.nist.gov/privacy-framework", "title": "NIST Privacy Framework", "publisher": "National Institute of Standards and Technology", "kind": "government_primary_authority", "accessed_at": "2026-09-05", "retrieval_status": 200, "note": "Risk-management framework for privacy; does not determine a merchant's legal obligations or authorize automated disclosure decisions."}, {"id": "shopify-refund-api", "url": "https://shopify.dev/docs/api/admin-graphql/latest/mutations/refundcreate", "title": "refundCreate mutation", "publisher": "Shopify", "kind": "vendor_primary_documentation", "accessed_at": "2026-09-05", "retrieval_status": 200, "note": "API capability and input shape; does not prove plan access, authorization, policy correctness or outcome."}, {"id": "shopify-fulfillment-api", "url": "https://shopify.dev/docs/api/admin-graphql/latest/objects/fulfillment", "title": "Fulfillment object", "publisher": "Shopify", "kind": "vendor_primary_documentation", "accessed_at": "2026-09-05", "retrieval_status": 200, "note": "Fulfillment data model and status fields; does not prove carrier accuracy or merchant adoption."}, {"id": "stripe-refunds", "url": "https://docs.stripe.com/refunds", "title": "Refunds", "publisher": "Stripe", "kind": "vendor_primary_documentation", "accessed_at": "2026-09-05", "retrieval_status": 200, "note": "Payment-provider refund mechanics and constraints; not a merchant policy or authorization decision."}, {"id": "usps-shipping", "url": "https://www.usps.com/ship/", "title": "USPS shipping services", "publisher": "United States Postal Service", "kind": "government_service_documentation", "accessed_at": "2026-09-05", "retrieval_status": 200, "note": "Shipping service context; does not establish a merchant's carrier contract, delivery promise or exception outcome."}, {"id": "medusa-order-docs", "url": "https://docs.medusajs.com/resources/commerce-modules/order", "title": "Order module", "publisher": "Medusa", "kind": "project_documentation", "accessed_at": "2026-09-05", "retrieval_status": 200, "note": "Project capability documentation; no deployment, reliability, adoption or savings proof."}, {"id": "repo-medusa", "url": "https://github.com/medusajs/medusa/tree/bda24b9725ac697ec5e8f706b503013e20babf12", "title": "medusajs/medusa", "publisher": "Medusa project", "kind": "source_repository", "accessed_at": "2026-09-05", "retrieval_status": 200, "note": "Pinned repository view; rights, extensions, deployment and operational suitability require independent review."}, {"id": "repo-saleor", "url": "https://github.com/saleor/saleor/tree/0a11eb911e006199daa1352ff5b76a07214f43fa", "title": "saleor/saleor", "publisher": "Saleor project", "kind": "source_repository", "accessed_at": "2026-09-05", "retrieval_status": 200, "note": "Pinned repository view; capability and candidate inventory are not adoption, compliance or outcome evidence."}, {"id": "repo-vendure", "url": "https://github.com/vendurehq/vendure/tree/523b57304c5850b86069de30a97b723a3f4da284", "title": "vendurehq/vendure", "publisher": "Vendure project", "kind": "source_repository", "accessed_at": "2026-09-05", "retrieval_status": 200, "note": "Pinned repository view; framework capability does not establish merchant fit or fulfillment authority."} ], "value_model_ref": "../economics/observed-value-model.json", "observed_business_value": {"currency": "USD", "annual_net_cash": null, "annual_capacity_hours": null, "eligible_businesses": null, "societal_value": null, "status": "unmeasured", "reason": "No merchant baseline, measured trial or cost evidence was collected; documentation only supports bounded hypotheses."}, "pilot": {"design": "Matched pre/post or parallel-order pilot with allowlisted read/prepare workflows, named merchant approvers, audit logs and separate review of payment/refund, privacy and fulfillment authority.", "record": ["orders and requests processed", "human review/rework/exception minutes", "correction and unauthorized-action counts", "privacy and payment audit outcomes", "carrier/status reconciliation quality", "actual software and operator cost"], "reject_if": ["net review/rework effort is not reduced", "any unauthorized refund, disclosure, payment or shipment action occurs", "critical order, privacy or fulfillment error survives review", "audit trail or identity/permission evidence is incomplete"]}, "limitations": ["No merchant interviews, production access, installation counts, market share, pricing, realized savings or regulatory determination were collected.", "Vendor and open-source documentation describes capability, not adoption, reliability, security, compliance or value.", "Payment/refund, privacy and fulfillment decisions remain outside generic workflow authority and require merchant, provider or qualified human review.", "The FTC pages checked for consumer-order and privacy guidance returned 403 to this environment and are not used as supporting evidence; no claim is inferred from that block."], "blocked_sources": [{"url": "https://www.ftc.gov/legal-library/browse/rules/mail-internet-or-telephone-order-merchandise-rule", "status": 403, "note": "FTC page was inaccessible from this environment; excluded from supporting evidence."}, {"url": "https://www.ftc.gov/business-guidance/privacy-security", "status": 403, "note": "FTC page was inaccessible from this environment; excluded from supporting evidence."}] }