How do you construct a declared design-time Artificial Intelligence Bill of…
How do you construct a declared design-time Artificial Intelligence Bill of Materials (AIBOM) for a real tool-using, stateful Artificial Intelligence (AI) workload? A worked example using Amazon Web Services (AWS) Bedrock Agents and LangGraph
- Hypothesis: Bedrock exposes enough documented control-plane and IaC fields to build a declared AIBOM automatically, but the extractor must join `GetAgent`, action-group, knowledge-base, and deployment-version resources rather than relying on a single export endpointAmazon (n.d.)Amazon (n.d.)Amazon (n.d.)Amazon (n.d.)
- Hypothesis: Bedrock gives first-class declared fields for model selection, system instruction, prompt overrides, memory configuration, guardrail versioning, action schemas, and knowledge-base identifiers, which makes it a low-friction substrate for pipeline-generated declared inventoriesAmazon (n.d.)Amazon (n.d.)Amazon (n.d.)Amazon (n.d.)
- Hypothesis: LangGraph also supports declared AIBOM construction, but its authoritative design-time artifacts are source code objects such as state schemas, nodes, edges, tool bindings, prompt literals, and checkpointer configuration instead of a managed platform manifestLangChain (n.d.)LangChain (n.d.)LangChain (n.d.)LangChain (n.d.)
- Hypothesis: LangGraph exposes richer orchestration topology than Bedrock does, because graph structure, reducers, thread-scoped persistence, and tool runtime channels are explicit in code, but that richness is harder to inventory automatically without repository conventions or static-analysis toolingLangChain (n.d.)LangChain (n.d.)LangChain (n.d.)
- Hypothesis: Current CycloneDX and SPDX-aligned AIBOM representations can absorb much of the model, data, service, and configuration metadata from both platforms, but they still need custom properties or extensions for prompts, routing logic, memory semantics, and execution bindingsCycloneDX (n.d.)Mitchell (2026)
- Hypothesis: Declared AIBOMs for both platforms remain incomplete without a runtime companion artifact, because retrieved documents, live memory contents, query-time overrides, and per-run rationale materially affect behavior but are not fully captured in design-time configuration aloneAmazon (n.d.)LangChain (n.d.)Mitchell (2026)
- Hypothesis: The practical automation trade-off is asymmetric: Bedrock is easier to inventory from deployment infrastructure, while LangGraph is easier to inventory from source control, so the better declared AIBOM substrate depends on whether governance centers on platform APIs or repository analysisAmazon (n.d.)LangChain (n.d.)Github (n.d.)
Research Question
How do you extract and construct a declared design-time Artificial Intelligence Bill of Materials (AIBOM), covering model, prompt or system instruction, tools, Retrieval-Augmented Generation (RAG) knowledge bases, and memory configuration, from two representative tool-using and stateful AI platforms, specifically Amazon Web Services (AWS) Bedrock Agents and LangGraph, and what does the resulting AIBOM reveal about schema gaps between the declared configuration and a standards-aligned CycloneDX or Software Package Data Exchange (SPDX) representation?
Findings
Executive Summary
Hypothesis: AWS Bedrock Agents and LangGraph both support declared design-time AIBOM construction, but they expose the necessary inputs through different governance surfaces, Bedrock through control-plane APIs and IaC resources, and LangGraph through source-controlled graph code plus adjacent tool and persistence definitions. [source: Amazon Web Services Bedrock GetAgent API Amazon Web Services CloudFormation AWS::Bedrock::Agent LangChain LangGraph graph Application Programming Interface (API) overview docs.langchain.com Hypothesis: Bedrock is easier to inventory automatically in CI/CD because the declared fields that matter for model choice, instructions, memory, guardrails, action groups, and versions are all documented and machine-addressable, even though they are fragmented across several APIs. [source: Amazon Web Services Bedrock GetAgent API Amazon Web Services Bedrock ListAgentActionGroups API Amazon Web Services Bedrock ListAgentKnowledgeBases API docs.aws.amazon.com Hypothesis: LangGraph exposes richer orchestration topology and state semantics than Bedrock does, but extracting that declared state requires repository analysis rather than platform export because the meaningful configuration lives in code objects, prompts, tool definitions, and checkpointer setup. [source: LangChain LangGraph graph Application Programming Interface (API) overview LangChain LangGraph persistence docs.langchain.com Hypothesis: In both cases, a declared AIBOM still omits important runtime facts such as retrieved documents, live memory contents, and per-run rationale, so it should be treated as the design-time half of a two-artifact accountability model. [source: Amazon Web Services Bedrock trace events LangChain memory concepts davidamitchell.github.io
Key Findings
- Hypothesis: Bedrock exposes enough documented control-plane and IaC fields to build a declared AIBOM automatically, but the extractor must join
GetAgent, action-group, knowledge-base, and deployment-version resources rather than relying on a single export endpoint. (high confidence; source: Amazon Web Services Bedrock GetAgent API Amazon Web Services Bedrock ListAgentActionGroups API Amazon Web Services Bedrock ListAgentKnowledgeBases API Amazon Web Services Bedrock deploy-agent guide - Hypothesis: Bedrock gives first-class declared fields for model selection, system instruction, prompt overrides, memory configuration, guardrail versioning, action schemas, and knowledge-base identifiers, which makes it a low-friction substrate for pipeline-generated declared inventories. (high confidence; source: Amazon Web Services Bedrock GetAgent API Amazon Web Services Bedrock GetAgentActionGroup API Amazon Web Services Bedrock GetKnowledgeBase API Amazon Web Services CloudFormation AWS::Bedrock::Agent
- Hypothesis: LangGraph also supports declared AIBOM construction, but its authoritative design-time artifacts are source code objects such as state schemas, nodes, edges, tool bindings, prompt literals, and checkpointer configuration instead of a managed platform manifest. (high confidence; source: LangChain LangGraph graph Application Programming Interface (API) overview LangChain LangGraph quickstart LangChain LangGraph persistence LangChain tools
- Hypothesis: LangGraph exposes richer orchestration topology than Bedrock does, because graph structure, reducers, thread-scoped persistence, and tool runtime channels are explicit in code, but that richness is harder to inventory automatically without repository conventions or static-analysis tooling. (medium confidence; source: LangChain LangGraph graph Application Programming Interface (API) overview LangChain LangGraph persistence LangChain tools
- Hypothesis: Current CycloneDX and SPDX-aligned AIBOM representations can absorb much of the model, data, service, and configuration metadata from both platforms, but they still need custom properties or extensions for prompts, routing logic, memory semantics, and execution bindings. (medium confidence; source: CycloneDX AI and Machine Learning Bill of Materials David Mitchell (2026) What is the minimal viable schema for an Artificial Intelligence bill of materials for prompt, retrieval, memory, and tool-using AI systems, and how should it align with CycloneDX and SPDX?
- Hypothesis: Declared AIBOMs for both platforms remain incomplete without a runtime companion artifact, because retrieved documents, live memory contents, query-time overrides, and per-run rationale materially affect behavior but are not fully captured in design-time configuration alone. (medium confidence; source: Amazon Web Services Bedrock trace events LangChain memory concepts David Mitchell (2026) How can a runtime-observed AIBOM be generated for an agentic Artificial Intelligence (AI) system, and how much does it diverge from the declared design-time AIBOM?
- Hypothesis: The practical automation trade-off is asymmetric: Bedrock is easier to inventory from deployment infrastructure, while LangGraph is easier to inventory from source control, so the better declared AIBOM substrate depends on whether governance centers on platform APIs or repository analysis. (medium confidence; source: Amazon Web Services CloudFormation AWS::Bedrock::Agent LangChain LangGraph graph Application Programming Interface (API) overview davidamitchell.github.io
Assumptions
- Assumption: LangGraph prompts, model bindings, and tool definitions remain in source-controlled modules that a repository scanner can parse. Justification: The official quickstart and tool documentation keep those artifacts in Python code, which makes static extraction a reasonable default. (source: LangChain LangGraph quickstart LangChain tools
- Assumption: A Bedrock deployment either preserves IaC templates or grants API read access to control-plane resources. Justification: Automated declared extraction requires at least one stable machine-readable source of truth for live or intended configuration. (source: Amazon Web Services CloudFormation AWS::Bedrock::Agent Amazon Web Services Bedrock GetAgent API
Analysis
Hypothesis: The evidence supports a practical declared-construction workflow for both platforms because each exposes durable design-time artifacts for models, tools, memory, and orchestration, even though those artifacts live in very different places. [source: Amazon Web Services Bedrock GetAgent API LangChain LangGraph graph Application Programming Interface (API) overview docs.langchain.com Hypothesis: Bedrock's main advantage is operational simplicity, because deployment resources and immutable versions can be queried or parsed with less ambiguity than application source code. [source: Amazon Web Services Bedrock GetAgent API Amazon Web Services Bedrock deploy-agent guide docs.aws.amazon.com Hypothesis: LangGraph's main advantage is semantic richness, because the workflow graph, state channels, reducers, and persistence choices are explicit rather than hidden behind a vendor-managed abstraction layer. [source: LangChain LangGraph graph Application Programming Interface (API) overview docs.langchain.com Hypothesis: A competing strategy would prioritize runtime traces only and skip declared inventories, but the source evidence shows that pre-deployment governance, change review, and version comparison still require a design-time artifact that exists before any runtime session is run. [source: Amazon Web Services Bedrock trace events LangChain LangGraph persistence davidamitchell.github.io
Risks, Gaps, and Uncertainties
- Hypothesis: Bedrock trace documentation shows that prompt text, rationale, and invocation details can be richer at runtime than in the declared agent object, so a declared-only AIBOM can still understate effective behavior. [source: docs.aws.amazon.com
- Hypothesis: LangGraph documentation describes the building blocks directly, but it does not provide a native manifest format for complete graph export, so custom extraction quality becomes a governance risk. [source: LangChain LangGraph graph Application Programming Interface (API) overview docs.langchain.com
- Hypothesis: Standards evidence is stronger for models, datasets, and training artifacts than for tool-using orchestration stacks, so some recommended mapping still depends on custom-property design from the prior schema item. [source: CycloneDX AI and Machine Learning Bill of Materials davidamitchell.github.io
- Hypothesis: The external literature used here is stronger on schema extension and model-training inventory than on declared agent-orchestration worked examples, which leaves the practice guidance more dependent on platform documentation than on peer-reviewed comparative case studies. [source: Rajbahadur et al. (2026) Building an Open AIBOM Standard in the Wild doi.org
Open Questions
- What static-analysis rules are sufficient to extract LangGraph prompts, tools, and persistence configuration robustly from larger multi-file repositories?
- Can a future CycloneDX or SPDX profile represent graph topology and tool authority as first-class edges rather than as custom properties?
- What minimum runtime companion fields are required to reconcile Bedrock session-state overrides and LangGraph thread-state mutations with the declared artifact?
sources
- [x] Amazon Web Services Bedrock Agents overview - official high-level description of Bedrock agent components and lifecycle
- [x] Amazon Web Services Bedrock GetAgent API - official control-plane API for model, instruction, prompt overrides, memory, orchestration type, and guardrail configuration
- [x] Amazon Web Services Bedrock GetAgentActionGroup API - official action-group detail API
- [x] Amazon Web Services Bedrock ListAgentActionGroups API - official action-group discovery API
- [x] Amazon Web Services Bedrock ListAgentKnowledgeBases API - official knowledge-base association discovery API
- [x] Amazon Web Services Bedrock GetKnowledgeBase API - official knowledge-base detail API
- [x] Amazon Web Services Bedrock trace events - official trace schema showing which prompt and invocation details are runtime rather than design-time
- [x] Amazon Web Services Bedrock deploy-agent guide - official version and alias behavior
- [x] Amazon Web Services CloudFormation AWS::Bedrock::Agent - official IaC declaration surface for Bedrock agents
- [x] Amazon Web Services Bedrock action groups - official action-group design surface
- [x] Amazon Web Services Bedrock knowledge bases for agents - official knowledge-base association guidance
- [x] LangChain LangGraph overview - official overview of LangGraph as a low-level orchestration runtime
- [x] LangChain LangGraph graph Application Programming Interface (API) overview - official documentation for state, nodes, edges, schemas, and compilation
- [x] LangChain LangGraph persistence - official documentation for checkpoints, threads, and checkpointers
- [x] LangChain memory concepts - official documentation for short-term and long-term memory concepts used with LangGraph
- [x] LangChain tools - official documentation for tool definitions, schemas, runtime access, and ToolNode
- [x] LangChain LangGraph quickstart - official end-to-end example showing model binding, tools, state, nodes, edges, and compiled graph
- [x] CycloneDX AI and Machine Learning Bill of Materials - official CycloneDX statement of current AI and machine-learning bill-of-materials coverage
- [x] OWASP AIBOM project - official Open Worldwide Application Security Project (OWASP) AIBOM project framing
- [x] GenAI Security Project AIBOM Generator - public implementation reference for current AIBOM generator behavior
- [x] Rajbahadur et al. (2026) Building an Open AIBOM Standard in the Wild - peer-reviewed experience report on extending SPDX for AI supply chains
- [x] AI Bill of Materials Generator (AIBoMGen) (2026) Generating an AI Bill of Materials for Secure, Transparent, and Compliant Model Training - recent academic paper on generated AIBOMs for model-training settings
- [x] David Mitchell (2026) Why does Software Bill of Materials (SBOM) fail as a complete inventory model for agentic Artificial Intelligence (AI) workloads, and what new conceptual abstractions are required? - prior completed corpus item defining conceptual gaps this practice item tests
- [x] David Mitchell (2026) What is the minimal viable schema for an Artificial Intelligence bill of materials for prompt, retrieval, memory, and tool-using AI systems, and how should it align with CycloneDX and SPDX? - prior completed corpus item defining the target schema used for mapping and gap analysis
- [x] David Mitchell (2026) How can a runtime-observed AIBOM be generated for an agentic Artificial Intelligence (AI) system, and how much does it diverge from the declared design-time AIBOM? - prior completed corpus item used to qualify declared-versus-observed limits