Skip to content

v1.108.91 - Endpoint-scoped infrastructure links (get_endpoint_impact include_infra)

Choose a tag to compare

@jgravelle jgravelle released this 01 Jul 20:34

Endpoint-scoped infrastructure links

get_endpoint_impact(include_infra=True) now crosses the code/infra boundary at endpoint granularity. Per impact, it attaches an infra block: the project-intel cross-references (env vars, compose services, Dockerfile ENTRYPOINT/COPY, CI jobs, package/Make scripts) intersected against that endpoint's blast-radius file set.

"Change GET /users" now also surfaces the .env variable its handler chain reads and the compose service or Dockerfile that builds the code it touches.

  • infra.downstream[] rows carry {category, label, source, target_file, type}: file-granular evidence, honestly labelled, de-duped by (category, label).
  • infra._meta reports cross_refs_scanned / blast_radius_files, or reason: "no_local_source_root" for GitHub-style indexes.
  • infra.exposes[] (upstream Kubernetes Service/Ingress and compose ports) ships empty as the P2 follow-on.

Enabler: new internal collect_project_intel() factored out of get_project_intel, running discovery + parse + cross-reference over an already-loaded index so the fusion reuses one bounded discovery pass. get_project_intel's public response is unchanged field-for-field.

Default (include_infra=False) output is identical to 1.108.90. The new param is stripped under compact_schemas (standard tier; core_compact unchanged at 3969). benchmarks/schema_baseline.json refreshed. New tests/test_endpoint_infra_impact.py (10). No new parser, no new store, no INDEX_VERSION bump.

Full test suite: 4892 passed / 10 skipped. CI green across the matrix.