Part of the ADR-0003 epic #1105. Plan: docs/operations/proposals/advisor-qp-direct-retrieval.md (PR #1104). Decision: ADR-0003.
Goal: Make the QP async job model the canonical, versioned contract a direct consumer can depend on.
Scope:
- Resolve the inverted "temporary" naming — sync
/query is marked for removal (bases/lif/query_planner_restapi/core.py:101-104), /query_async marked future (core.py:151-154). Promote async to canonical; keep sync as a deprecated shim or a wait=true param.
- Replace the free-form
status: str with an enum PENDING | PARTIAL | COMPLETED | FAILED (components/lif/datatypes/core.py:119-131).
- Fix the dead
MAX_QUERY_TIMEOUT_SECONDS=60 vs the hardcoded 300s→408 (core.py:116-117).
Size: M · Depends on: —
Part of the ADR-0003 epic #1105. Plan:
docs/operations/proposals/advisor-qp-direct-retrieval.md(PR #1104). Decision: ADR-0003.Goal: Make the QP async job model the canonical, versioned contract a direct consumer can depend on.
Scope:
/queryis marked for removal (bases/lif/query_planner_restapi/core.py:101-104),/query_asyncmarked future (core.py:151-154). Promote async to canonical; keep sync as a deprecated shim or await=trueparam.status: strwith an enumPENDING | PARTIAL | COMPLETED | FAILED(components/lif/datatypes/core.py:119-131).MAX_QUERY_TIMEOUT_SECONDS=60vs the hardcoded 300s→408 (core.py:116-117).Size: M · Depends on: —