vibe.web_core.devel¶
Developer mode utilities for VIBE and extensions.
Developer mode enables debug-only features like explain relevance, LLM playback, parsing visualizers, etc. It requires BOTH conditions:
- Flask DEBUG=True (development server)
- User navigates via ?devel=1 which sets session["devel"] = True
This two-gate approach prevents dev-only features from being accidentally exposed even in debug builds.
Usage in Python
from vibe.web_core.devel import is_devel if is_devel(): # dev-only logic
Usage in Jinja templates
{% if devel %} {# dev-only UI #}
Extensions MUST use this shared utility rather than checking the session directly or creating their own session flags.
is_devel ¶
is_devel() -> bool
Check if developer mode is enabled for the current session.
Returns True only when BOTH conditions are met: 1. Flask app is in debug mode (current_app.debug) 2. User explicitly enabled devel mode via ?devel=1 (session["devel"])
This prevents dev-only features from being accidentally exposed even in debug builds.
set_devel_from_request ¶
set_devel_from_request() -> None
Set devel mode in session based on request query parameter.
Call this from entry point routes (e.g., interview start, review sessions list) to enable devel mode when ?devel=1 is present.
Only entry points should call this - subsequent routes inherit the session value.