symfonic.diagnostics.cli¶
cli ¶
Typer command implementation for symfonic doctor (v7.16, item 5).
Separated from :mod:symfonic.agent.cli.main so the CLI module can
stay small and so the command surface can be unit-tested in isolation
via a CliRunner against a focused sub-app.
Behaviour:
- Optional
PROJECT_PATHpositional argument -- when present, the command prepends it tosys.pathand tries to import the scaffold conventionfrom app.setup.agent import build_agent. When absent, a default :class:SymfonicAgentis constructed with a :class:MockModelProviderso the env-var checks (embedding, postgres) and the agent-config checks still run. --strictpromotes WARN findings to exit code 2 (mypy-style).--no-networkforces network-sensitive checks to skip; the default honoursCI=true.--jsonemits a single JSON document on stdout and suppresses the human-readable progress lines on stderr.
doctor ¶
doctor(
project_path: Annotated[
Path | None,
Argument(
help="Adopter project root containing ``app/setup/agent.py``. When omitted, a default in-memory agent is constructed -- env-var checks still run."
),
] = None,
strict: Annotated[
bool,
Option(
"--strict",
help="Promote WARN findings to exit code 2.",
),
] = False,
no_network: Annotated[
bool | None,
Option(
"--no-network/--network",
help="Skip network-sensitive checks (POSTGRES_DSN probe). Default honours CI=true in the environment.",
),
] = None,
json_output: Annotated[
bool,
Option(
"--json",
help="Emit a single JSON document on stdout instead of the human-readable report. Suppresses all stderr progress.",
),
] = False,
) -> None
Audit the current symfonic configuration for the v7.16 silent-fail traps.