app._suspense_dag

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

Private Suspense defer execution DAG compiled at the freeze boundary.

Extends Suspense block discovery + ancestor pruning into an explicit per-route execution DAG (nodes = defer keys / leaf blocks; edges = …

Private Suspense defer execution DAG compiled at the freeze boundary.

Extends Suspense block discovery + ancestor pruning into an explicit per-route execution DAG (nodes = defer keys / leaf blocks; edges =feeds/ couples). Stored on runtime state for concurrent resolution and the defer_couplingindependence contract (#949). Not a public return type or inspection API.

app._suspense_dag

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

_DeferKeyNode
class
_DeferBlockNode
class
_DeferEdge
class
_SuspenseRoutePlan
class

One route's compiled Suspense defer plan.

_SuspenseDeferDAG
class

Frozen Suspense defer execution DAG published with runtime state.

_SuspenseCallFact
class
_dedent_handler_source
function
def _dedent_handler_source(src: str) -> str

Normalize indentation soast.parseaccepts nested method bodies.

Parameters

Name Type Default Description
src str —
_resolve_deferred_keys
function
def _resolve_deferred_keys(*, env: Any, template_name: str, template_source: str | None, context_keys: tuple[str, ...]) -> frozenset[str]

Choose compile-time defer keys for a Suspense call.

Prefer template self-declarations (is deferred/ pending-set membership). Fall back to Suspense kwargs that appear in blockdepends_onroots so sync-only kwargs (title=...) are not treated as defer nodes.

Parameters

Name Type Default Description
env Any —
template_name str —
template_source str | None —
context_keys tuple[str, ...] —
compile_suspense_defer_dag
function
def compile_suspense_defer_dag(*, router: Any, kida_env: Any | None, program: HypermediaProgram | None = None) -> _SuspenseDeferDAG

Compile Suspense route defer execution DAGs at freeze.

DiscoversSuspense(...)calls on route handlers, plans each with the same discovery + ancestor-pruning algorithm as runtime, and publishes an immutable route-indexed DAG.

Parameters

Name Type Default Description
router Any —
kida_env Any | None —
program HypermediaProgram | None None

View source · /home/runner/work/chirp/chirp/site/../src/chirp/app/_suspense_dag.py:1