37 lines
2.6 KiB
JSON
37 lines
2.6 KiB
JSON
{
|
|
"version": "1.0",
|
|
"timestamp": "2026-06-03T16:33:39Z",
|
|
"phase": "7",
|
|
"phase_name": "Redo and Optimize LLM Integration",
|
|
"phase_dir": ".planning/phases/07-redo-and-optimize-llm-integration",
|
|
"plan": 0,
|
|
"task": 0,
|
|
"total_tasks": 15,
|
|
"status": "paused",
|
|
"completed_tasks": [],
|
|
"remaining_tasks": [
|
|
{"id": "07-01", "name": "Foundation: migration 0005 + SystemSettings ORM + ai_config.py HKDF + Wave 0 stubs", "status": "not_started"},
|
|
{"id": "07-02", "name": "ProviderConfig + GenericOpenAIProvider + OpenAI singleton + registry get_provider + MAX_AI_CHARS removal", "status": "not_started"},
|
|
{"id": "07-03", "name": "Anthropic output_config + AnthropicProvider singleton + classifier wiring via load_provider_config", "status": "not_started"},
|
|
{"id": "07-04", "name": "Celery retry 30/90/270s + _ClassificationError + re-classify endpoint re-queues", "status": "not_started"},
|
|
{"id": "07-05", "name": "Admin AI Providers panel + DocumentCard badge + Re-analyze button + human UAT checkpoint", "status": "not_started"}
|
|
],
|
|
"blockers": [],
|
|
"human_actions_pending": [
|
|
{
|
|
"action": "UAT checkpoint in Plan 07-05 Task 4: manually test admin AI Providers panel and DocumentCard badge end-to-end",
|
|
"context": "Plan 05 is autonomous=false with a blocking human checkpoint — executor will pause and request manual verification",
|
|
"blocking": false
|
|
}
|
|
],
|
|
"decisions": [
|
|
{"decision": "D-03: Anthropic uses output_config.format.type='json_schema' (not tool_use)", "rationale": "Constrained decoding, no beta headers needed, SDK >=0.95.0", "phase": "7"},
|
|
{"decision": "D-07: Client lifecycle = instance-level singleton self._client in __init__", "rationale": "AsyncOpenAI/AsyncAnthropic manage httpx connection pool; recreating per call destroys pool reuse", "phase": "7"},
|
|
{"decision": "D-14: extra_hosts already present in docker-compose.yml — no changes needed", "rationale": "RESEARCH.md confirmed both backend and celery-worker already have host.docker.internal:host-gateway", "phase": "7"},
|
|
{"decision": "D-02/Gemini: supports_json_mode=False, falls back to parse_classification()", "rationale": "Gemini OpenAI-compat does not support json_object string mode", "phase": "7"}
|
|
],
|
|
"uncommitted_files": [],
|
|
"next_action": "Run /gsd:execute-phase 7 after /clear — start with plan 07-01",
|
|
"context_notes": "Phase 7 planning 100% complete. All 5 plans created and verified (commit 3df6250). anthropic pin must be bumped to >=0.95.0 in Plan 02. POST /api/documents/{id}/classify already exists — Plan 04 changes behavior only. AdminAiConfigTab.vue per-user table must be preserved; Plan 05 adds global section ABOVE it."
|
|
}
|