Dependency inventory and change impact
Version availability: the tool-source fingerprints and LangChain policy/evaluation inventory described here are implemented in the unreleased follow-up source. The published 0.2.0 CLI has the earlier declaration-based inventory; these additions require the next qualified core release.
Before you begin
Published 0.2.0: declaration inventory
The public binary inventories declared workspace dependencies. Run it from the extracted example directory; inspect the fields actually returned by that build. Do not expect source-code fingerprints or affected LangChain policy/evaluation recommendations from the current public release.
actspan impact workspace.yaml
Keep complete before/after directories when comparing declared configuration; two YAML copies sharing current helper files do not preserve earlier code. A declaration comparison cannot establish that tool implementation bytes are unchanged. Use the release's exact reports as evidence of its current scope.
Follow-up source: not in the public 0.2.0 download
The remaining procedure describes unreleased source behavior. Obtain a qualified replacement artifact and its build identity before relying on these fields.
actspan impact builds a static inventory of an agent workspace without making
provider or MCP calls. It connects prompts, native agents, declared external
agents (including LangChain) and workflows to the
configuration that can change their behavior:
- provider and model bindings
- local and MCP tool definitions, including workspace-local Python tool source
- MCP server permissions and managed-resource bindings
- managed knowledge declarations and hashes of matched local documents
- execution policy, provider lock and pricing files
- evaluation files and their declared targets
- external-agent factory source, selected effective policy and evaluation links
Source procedure
From a workspace directory, inspect the current agent dependencies:
actspan impact workspace.yaml
Expected: a target count, dependency count, stable inventory fingerprint and one readable row per prompt, native/external agent or workflow with its linked eval coverage.
Compare an earlier workspace snapshot with the current one:
actspan impact workspace.yaml --baseline path/to/baseline-workspace.yaml
Keep the earlier source files, policies and evaluations alongside the baseline workspace file. Two YAML copies in the same directory both read that directory's current tool code, so they cannot establish what the earlier implementation was. Separate complete workspace directories or Git snapshots preserve that evidence.
Use --format json in CI. The comparison reports every changed dependency,
the prompts, native/external agents and workflows that depend on it, recorded owners, configured
evaluation coverage and copyable actspan eval run commands. It does not run
the evaluations by default, because they can make paid provider and remote tool
calls. Run only the selected linked evals explicitly with:
actspan impact workspace.yaml \
--baseline path/to/baseline-workspace.yaml \
--run-evals
The command returns nonzero when a selected eval fails. Eval output is summarized per file so the impact report stays readable; normal eval artifacts and portal publication still apply.
The inventory fingerprint is deterministic for the same local configuration and matched knowledge files. Credential values and request headers are excluded. Local document contents appear only as SHA-256 digests. Remote knowledge content, MCP server implementation changes and provider-side model updates cannot be fingerprinted from the workspace and remain external coverage gaps.
For a declared Python tool, changing the local entrypoint file changes its
fingerprint even when the tool name and input schema stay the same. File
entrypoints and workspace-local module entrypoints are read without importing
them. The dependency's source.status reports hashed, missing,
module_not_local or outside_workspace. Imported helper modules and installed
package implementations are outside this static source scope. A missing source
record is a coverage gap, not evidence that the implementation is unchanged.
An external_agents declaration contributes its name, owner, framework, factory
source and eval_refs. Changing its selected policy names the affected external
agent and recommends those evaluations. Editing an unrelated policy catalog
entry does not mark the agent affected. Framework discovery and agent factories
are not executed during this analysis.
An affected target with evaluation_coverage: missing needs a linked eval before
the change can be behaviorally validated. A recommended eval is still only a
recommendation until its result is run, published and bound to the exact
configuration fingerprint.
Portal preview generation stores the same static analysis under the candidate's change summary. Changeset and Revision detail show the current inventory, changed dependencies, affected targets, evaluation coverage, and copyable eval commands. Baseline comparison is performed only for a local workspace source and a Git ref that can be resolved and safely extracted. Otherwise the portal keeps the inventory-only or unavailable state and explains the gap. It never treats an unavailable baseline as evidence that nothing changed.
For monorepos, baseline extraction is limited to the configured workspace directory (or the workspace file's parent directory). References that escape that directory are reported as a coverage gap instead of being silently treated as complete repository coverage.