Actspan Docs Quickstart
DocsGuides

Find declared dependencies, affected targets, and evaluation gaps.

On this page

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.