Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,11 @@ benchmark). `--app-entry` and `--bootstrap-entry` require `--secure-ast` and
never execute application code. Bootstrap interpretation is explicitly seeded,
bounded to project-local straight-line helpers, and records unsupported object
escape, mutation, control flow, or dynamic registration as conditional evidence;
no bootstrap/helper names are guessed. Dynamic behavior remains conservatively
unresolved.
no bootstrap/helper names are guessed. The bundled `framework-v1` surface preset
uses the same selected app/app-factory identity: unused and mounted child app
lifecycles are excluded, router lifecycle handlers use include-time copy evidence,
and dynamic router inclusion makes the surface inventory conditional. Dynamic
behavior remains conservatively unresolved.

### `list` - List Endpoints

Expand Down
2 changes: 2 additions & 0 deletions src/fastapi_endpoint_detector/analyzer/change_mapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -542,6 +542,8 @@ def _merge_surface_inventory(
app_path,
self._surface_contracts,
bootstrap_entry=self.bootstrap_entry,
app_variable=self.app_variable,
app_entry=self.app_entry,
).extract_inventory()
return merge_surface_inventory(native, custom)

Expand Down
4 changes: 4 additions & 0 deletions src/fastapi_endpoint_detector/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -549,6 +549,8 @@ def audit_effect_contracts_command(
app,
loaded_surfaces,
bootstrap_entry=bootstrap_entry,
app_variable=app_var,
app_entry=app_entry,
).extract_inventory()
inventory = merge_surface_inventory(inventory, custom)
source_root = app.resolve().parent if app.is_file() else app.resolve()
Expand Down Expand Up @@ -755,6 +757,8 @@ def list_endpoints(
app,
loaded_surfaces,
bootstrap_entry=bootstrap_entry,
app_variable=app_var,
app_entry=app_entry,
).extract_inventory()
inventory = merge_surface_inventory(inventory, custom)
endpoints = inventory.endpoints
Expand Down
Loading
Loading