← all kits

Supply Chain Blast Radius

kit · v1.0

9 entity types · 19 relationships · 30 named queries · 13 workflows

base: agent-operation

Supply-chain incident blast-radius domain overlay composed over the agent-operation base. Deterministic base world of suppliers, components, assemblies (recursive BOM), products, and shipments — the launch seed is a real open-hardware BOM with fictional suppliers in real geographies. Incidents arrive as entities and cascade through three staged governed workflows: incident -> supplier -> component/direct assembly. Product and shipment risk are derived context surfaces over accepted upstream impacts, BOM structure, buffers, and shipment state — never direct incident-product edges. Governed edges are rule-centric (bucket signatures carry the cascade rule, not the incident), so trust accumulates on rules across incidents. Operating-layer seams: work items address incidents; risks attach to suppliers through the governed path.

source on GitHub →

Entity types

9
Supplier
External supplier of raw materials, parts, or assemblies.name · primary_geography · tier_hint
Component
Raw material or discrete part that rolls up into assemblies. manufacturer/mpn carry the real-world part identity from open-hardware BOMs; the Supplier edge carries who we buy it from.name · component_kind · manufacturer · mpn · revision · lifecycle_status · criticality · category
Assembly
Buildable subassembly or assembly composed of components and lower-level assemblies.name · revision · lifecycle_status · criticality · category
Product
Finished good shipped to customers.sku · name · lifecycle_status
Shipment
Outbound shipment of products to a customer.customer_id · status · ship_date · eta
Location
Plant, warehouse, supplier, or in-transit location holding inventory.name · location_type · geography
InventoryPosition
Time-stamped inventory evidence for an item at a location.item_type · item_id · location_id · quantity_on_hand · quantity_allocated · net_available · unit_of_measure · as_of
BufferAssessment
Reusable coverage assessment of whether inventory covers expected demand for an item in a product/BOM context.item_type · item_id · product_id · bom_variant_id · net_available · required_per_unit · open_demand_units · estimated_consumption_rate · rate_period · coverage_duration · coverage_unit · horizon_duration · horizon_unit · buffer_state · unit_of_measure · as_of · rationale
Incident
Supplier-side disruption or geography-level supply event.title · severity · scope_type · scope_id · status · reported_at · closed_at · summary

Relationships

deterministic governed19
supplier_supplies_component
SupplierComponent
supplier_supplies_assembly
SupplierAssembly
component_part_of_assembly
ComponentAssembly
assembly_part_of_assembly
AssemblyAssembly
assembly_part_of_product
AssemblyProduct
product_in_shipment
ProductShipment
component_inventory_position
ComponentInventoryPosition
assembly_inventory_position
AssemblyInventoryPosition
product_inventory_position
ProductInventoryPosition
inventory_position_location
InventoryPositionLocation
component_buffer_assessment
ComponentBufferAssessment
assembly_buffer_assessment
AssemblyBufferAssessment
product_buffer_assessment
ProductBufferAssessment
buffer_assessment_inventory
BufferAssessmentInventoryPosition
work_item_addresses_incident
WorkItemIncident
risk_attaches_to_supplier
RiskSupplier
incident_impacts_supplier
IncidentSupplier
incident_impacts_component
IncidentComponent
incident_impacts_assembly
IncidentAssembly

Named queries

30

open_incident_impacts · → incident_impacts_supplier

Suppliers impacted by open incidents through accepted impact edges -- the standing blast-radius work queue. Judgment-admitted impacts only; pending proposals stay in the review queue.

incident_impacted_suppliers · Incident → Supplier

Suppliers judged impacted by this incident, pending judgments visible.

incident_impacted_components · Incident → Component

Components judged impacted via the supplier cascade.

incident_impacted_assemblies · Incident → Assembly

Directly supplied assemblies judged impacted.

incident_work_items · Incident → WorkItem

Open response work addressing this incident.

incident_context · Incident → AnyEntity

The incident war room — impacted suppliers/components/assemblies, response work, and anything else adjacent in the composed graph.

supplier_context · Supplier → AnyEntity

Everything attached to a supplier — supplied items, impacting incidents, attached risks.

supplier_supplied_components · Supplier → Component

Components this supplier is qualified to supply.

supplier_supplied_assemblies · Supplier → Assembly

Assemblies this supplier supplies directly.

supplier_impacting_incidents · Supplier → Incident

Incidents judged to impact this supplier.

assembly_impacting_incidents · Assembly → Incident

Incidents judged to impact this assembly directly.

component_parent_assemblies · Component → Assembly

Direct and higher-level parent assemblies in the BOM.

assembly_child_components · Assembly → Component

Direct child components of this assembly.

assembly_child_assemblies · Assembly → Assembly

Direct child assemblies of this assembly.

product_top_level_assemblies · Product → Assembly

Top-level assemblies in this product's BOM.

product_shipments · Product → Shipment

Shipments containing this product.

shipment_products · Shipment → Product

Products contained in this shipment.

product_buffer_assessments · Product → BufferAssessment

Current buffer assessments in this product's context.

component_inventory_positions · Component → InventoryPosition

Inventory positions for this component.

assembly_inventory_positions · Assembly → InventoryPosition

Inventory positions for this assembly.

incident_exposed_assembly_context · Incident → Assembly

Starting from an incident, derive assembly context exposed by accepted supplier, component, or direct assembly impacts through supply and BOM structure. This is a query/view, not governed state. The supply/BOM hop is required false so a directly impacted assembly is itself included even when it has no parent assembly (same pattern as incident_exposed_shipments).

incident_component_exposed_products · Incident → Product

Starting from an incident, derive finished products exposed through accepted component impacts and the component/assembly BOM hierarchy. This is context for an agentic product or shipment judgment, not governed graph state.

incident_direct_assembly_exposed_products · Incident → Product

Starting from an incident, derive finished products exposed through accepted direct assembly impacts where the assembly is a top-level product assembly.

incident_nested_assembly_exposed_products · Incident → Product

Starting from an incident, derive finished products exposed through accepted direct assembly impacts and higher-level parent assemblies.

incident_exposed_shipments · Incident → Shipment

Starting from an incident, derive outbound shipments exposed through accepted component and direct assembly impacts, the component/assembly BOM hierarchy, exposed finished products, and the product_in_shipment fulfillment edge. This is the terminal (shipment) derived exposure surface — context for an agentic shipment judgment, not governed graph state. No direct incident-shipment edge is created. The BOM-up hop is required false so directly impacted top-level assemblies reach products and shipments without an intermediate BOM rollup.

single_source_components_for_incident · Incident → Component

Starting from an incident, find impacted components that have only one viable supplier path. Surfaces the "no viable alternate supplier" enrichment for the operator summary.

single_source_assemblies_for_incident · Incident → Assembly

Starting from an incident, find impacted directly supplied assemblies that have only one viable supplier path.

product_component_impacting_incidents · Product → Incident

Starting from a product, find incidents that impact components in its BOM.

product_direct_assembly_impacting_incidents · Product → Incident

Starting from a product, find incidents that directly impact top-level assemblies in its BOM.

product_nested_assembly_impacting_incidents · Product → Incident

Starting from a product, find incidents that directly impact nested assemblies in its BOM.

Workflows

13

build_seed_state · 23 steps

Load base-world suppliers, components, assemblies, products, shipments, and deterministic edges.

ingest_incidents · 3 steps

Load incident records arriving from an external incident feed and apply them as Incident entities. Incidents arrive over time rather than in the base seed; this is their canonical creation path before the governed incident cascade runs.

analyze_operations_routing · 1 steps

Load deterministic response work and supplier-risk routing rows from the operations fixture.

apply_operations_routing · 4 steps

Apply routed base WorkItems, base Risks, and deterministic incident response-work links.

sync_inventory_positions · 12 steps

Apply fetched or curated inventory positions and their locations into graph state.

sync_product_buffer_assessments · 10 steps

Apply reviewed buffer coverage assessments into graph state.

refresh_inventory_positions · 1 steps

Load inventory positions from the pinned fixture with optional filters, returning rows for review. For live positions, acquire outside the workflow boundary (scripts/fetch_inventory.py owns the API call and auth) and feed the reviewed JSON to the sync workflow.

refresh_buffer_assessments · 10 steps

Compute reusable buffer coverage assessments from current graph inventory, BOM, and optional demand context. Results can be used by agents or synced into canonical graph state through sync_product_buffer_assessments.

propose_incident_impacts_supplier · 6 steps

Match every open incident's scope to suppliers via direct supplier or geography basis. Bucket signature is rule-centric (rule_id=incident_scope_match_to_supplier), so trust accumulates across many incidents.

propose_incident_impacts_component · 7 steps

Cascade resolved incident_impacts_supplier edges through supplier_supplies_component to candidate component impacts. Records alternate_state to capture whether viable alternate sourcing exists outside incident scope.

propose_incident_impacts_assembly · 7 steps

Cascade resolved incident_impacts_supplier edges through supplier_supplies_assembly to candidate direct assembly impacts. Records alternate_state to capture whether viable alternate sourcing exists outside incident scope.

propose_risk_attaches_to_supplier · 11 steps

Propose governed Risk -> Supplier attachments from routed risks and incident/cascade graph evidence, emitting the standard supply signal pair expected by the configured policy.

assess_incident_product_exposure · 12 steps

Roll resolved impacted components and directly impacted assemblies through the assembly BOM hierarchy to finished products, using buffer assessments as inventory coverage context. This returns ephemeral context for agentic product and shipment decisions; it does not create an incident-product edge.