contracts.rules_context_cascade

Page actions AI-ready formats and sharing
Open LLM text
Share with AI
Ask Claude Ask ChatGPT Ask Gemini Ask Copilot

Context cascade contract validation.

Inspects_context.pyprovider chains for each page route and reports:

  • Shadowing: A child provider contributes a key already contributed by a parent.
  • Unresolvable params: A provider…

Context cascade contract validation.

Inspects_context.pyprovider chains for each page route and reports:

  • Shadowing: A child provider contributes a key already contributed by a parent.
  • Unresolvable params: A provider parameter cannot be satisfied by path params, parent context, or registered service providers.

contracts.rules_context_cascade

Name Type Default Description
type
qualified_name
element_type
description
source_file
line_number
is_autodoc
autodoc_element
_autodoc_template
_autodoc_url_path
_autodoc_page_type
title
doc_content_hash

Symbols on this page

check_context_cascade
function
def check_context_cascade(discovered_routes: list[Any], providers: dict[type, Any] | None) -> list[ContractIssue]

Validate context provider chains for cascade correctness.

Parameters

Name Type Default Description
discovered_routes list[Any]
providers dict[type, Any] | None
_dedupe_issues_by_message_route
function
def _dedupe_issues_by_message_route(issues: list[ContractIssue]) -> list[ContractIssue]

Drop duplicate cascade messages (same route + message).

Parameters

Name Type Default Description
issues list[ContractIssue]
_extract_return_keys
function
def _extract_return_keys(source: str) -> set[str]

Best-effort extraction of dict keys from return statements.

Handles common patterns:

  • return {"key": value, ...}
  • return dict(key=value, ...)

Parameters

Name Type Default Description
source str

View source · /home/runner/work/chirp/chirp/site/../src/chirp/contracts/rules_context_cascade.py:1