contracts.rules_chirpui_alpine_runtime

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

chirp-ui Alpine runtime probe — rendered HTML must wire chirpui-alpine.js (#191).

When an app callsuse_chirp_ui(app)and renders interactive chirp-ui macros (theme toggle, dialogs, dropdowns, …) but thechirpui-alpine.jsregistration script is…

chirp-ui Alpine runtime probe — rendered HTML must wire chirpui-alpine.js (#191).

When an app callsuse_chirp_ui(app)and renders interactive chirp-ui macros (theme toggle, dialogs, dropdowns, …) but thechirpui-alpine.jsregistration script is missing from the served HTML, every component is silently inert. The pure helperchirp_ui.alpine.check_alpine_runtimedetects that mismatch; this rule probes a representative full-page GET route through the live middleware stack (so injection is included) and surfaces problems atapp.check()/ freeze-time debug checks.

Severity mirrors the #191 contract: ERROR whenapp.config.debugis True (dev/freeze path fails loud), WARNING otherwise. Skipped when chirp-ui is inactive or no app template uses a chirp-ui Alpine factory.

contracts.rules_chirpui_alpine_runtime

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

_run_probe
function
def _run_probe(coro)

Run an async probe from sync contract checks (pytest may have a loop).

Parameters

Name Type Default Description
coro
check_chirpui_alpine_runtime
function
def check_chirpui_alpine_runtime(app: App, snapshot: ContractCheckSnapshot, config: Any) -> list[ContractIssue]

Probe rendered HTML for missing chirp-ui Alpine runtime wiring.

Parameters

Name Type Default Description
app App
snapshot ContractCheckSnapshot
config Any

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