Skip to content

AgentHealth v0.8.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 06:33
· 79 commits to main since this release
4f4c202

AgentHealth v0.8.0 — Dependency graph

v0.8.0 implements Phase 10 with explicit shared-node references, independent
edge policies and relationship evidence, bounded parallel execution, and
ordered recursive output. See RFC #26,
the graph contract,
usage guide, and earlier-phase alignment.

Changes

  • Add globally unique target/inline dependency id and dependency ref.
    References select explicitly configured nodes without overriding their
    endpoint, checks, credentials or policies.
  • Evaluate each explicit ID once per run, including opted-in active checks
    and cleanup. Anonymous nested targets remain independent.
  • Preserve critical/optional policy per edge and distinguish supporting,
    downstream, path, gateway and router relationship evidence.
  • Execute targets and dependencies in parallel while preserving output order.
    Add per-run concurrency (1–16, default 16) under the engine-wide 16-call
    bound, including cleanup and uncooperative adapter calls.
  • Add budget_ms (1–60000) for a node's own checks, retries and queue waits.
    Parent budgets do not cancel independently budgeted shared dependencies.
  • Reject duplicate IDs, missing references, cycles, depth above 64 and more
    than 10000 result projections before adapter execution.
  • Extend JSON/YAML results with target.id and dependency-edge metadata.
    Terminal output labels node IDs, relationships and optional edges.
  • Resolve agent-advertised dependency names only against explicit inline or
    referenced nodes. Keep peer and first-runtime communication evidence separate.
  • Redact final results after all graph nodes register dynamically acquired secrets.
  • Align earlier phase contracts and guides, add graph examples, schema fixtures,
    graph/CLI regressions and real-output schema validation.

Compatibility and migration

Configuration/result v1, health states, dimensions, target types and exit codes
remain unchanged. Existing nested configurations require no migration.
Older binaries reject the new graph fields; upgrade before using them.
Parallel scheduling changes request timing, while declaration-order output stays
stable. Trusted custom adapters must tolerate concurrent calls across nodes.

Closed downstream result schemas should allow target.id, relationship
and critical. Incoming-edge policy belongs to each dependency projection;
a root result has no incoming-edge policy. Repeated IDs indicate shared evidence,
not repeated probes. Known secrets in IDs become redacted, which may collapse
identities; do not infer shared identity from that placeholder.

Installation

Download the matching archive and SBOM from the
v0.8.0 release.
Platforms: Linux AMD64/ARM64, macOS AMD64/ARM64 and Windows AMD64, with
five matching CycloneDX SBOMs and checksums. Follow
installation and attestation verification.

agenthealth version
agenthealth check examples/graph-check/agenthealth.yaml --format json
agenthealth doctor examples/graph-check/agenthealth.yaml

The example requires compatible running services and a safe first-agent handler
that contacts the selected peer. See setup requirements.

Limitations

No automatic topology discovery, product certification, root-cause inference,
new adapter protocols, AHP server, SDK packages, Docker or Kubernetes support
is introduced. A healthy backend or router does not establish a working
first-runtime path. Graph metadata can expose topology; restrict access to
results. Active probes remain explicit, bounded, non-destructive and non-retrying.
The existing independent one-second cleanup budget is separate from node budgets.

Validation

Local Go vet/race tests and Python schema/integration tests pass. Optional
SDK interoperability cases require their configured test environment. CI
runs platform Go race tests, current/legacy SDK interoperability, vulnerability
scanning, schema and documentation checks. The release workflow builds five
archives and smoke-tests Linux AMD64; other platforms are cross-compiled
without a claim of local runtime validation. Signed provenance and SBOM
attestations accompany the release; OS-native signing/notarization remains planned.

Cleanup hooks remain serialized across nodes, runs and engines sharing a registry. Waiting for the serialization gate honors the cleanup deadline; an uncooperative hook holds the gate and its adapter-call slots until it actually returns.