77 lines
4.1 KiB
Markdown
77 lines
4.1 KiB
Markdown
---
|
|
context: phase
|
|
phase: 07-redo-and-optimize-llm-integration
|
|
task: 0
|
|
total_tasks: 15
|
|
status: planned
|
|
last_updated: 2026-06-03T16:33:39Z
|
|
---
|
|
|
|
# BLOCKING CONSTRAINTS — Read Before Anything Else
|
|
|
|
_No constraints discovered through failure this session — planning only._
|
|
|
|
<current_state>
|
|
Phase 7 planning is 100% complete. All 5 plans created, plan checker passed (4 blockers fixed in 1 revision round). Nothing has been executed yet. Next step is /gsd:execute-phase 7.
|
|
</current_state>
|
|
|
|
<completed_work>
|
|
This session (2026-06-03):
|
|
- Phase 7 discuss-phase was already complete (07-CONTEXT.md existed)
|
|
- Research completed → 07-RESEARCH.md (D-03 and D-07 resolved)
|
|
- 07-VALIDATION.md created (13 Wave 0 test stubs mapped)
|
|
- 07-PATTERNS.md created (14 files mapped to analogs)
|
|
- 5 PLAN.md files created (07-01 through 07-05)
|
|
- Plan checker ran — 4 blockers, 3 warnings found
|
|
- Revision round fixed all 7 issues
|
|
- Plan checker re-run → VERIFICATION PASSED
|
|
- STATE.md and ROADMAP.md updated
|
|
- All artifacts committed: 3df6250
|
|
</completed_work>
|
|
|
|
<remaining_work>
|
|
Execute all 5 plans in order:
|
|
- 07-01 (Wave 1): Alembic migration 0005 + SystemSettings ORM + ai_config.py HKDF helpers + 13 xfail stubs
|
|
- 07-02 (Wave 2): ProviderConfig + GenericOpenAIProvider + OpenAI singleton + registry + MAX_AI_CHARS removal + anthropic>=0.95.0 pin
|
|
- 07-03 (Wave 3): AnthropicProvider output_config + classifier wiring via load_provider_config
|
|
- 07-04 (Wave 4): Celery retry 30/90/270s + _ClassificationError + re-classify endpoint
|
|
- 07-05 (Wave 5): Admin AI Providers panel + DocumentCard badge + Re-analyze button + human UAT checkpoint (autonomous=false)
|
|
</remaining_work>
|
|
|
|
<decisions_made>
|
|
- D-03 (Anthropic structured output): Use output_config.format.type="json_schema" — constrained decoding, no beta headers, SDK >=0.95.0 required
|
|
- D-07 (Client lifecycle): Instance-level singleton self._client in __init__ — AsyncOpenAI/AsyncAnthropic manage httpx pools internally; recreating per call destroys pool reuse
|
|
- D-14 (extra_hosts): Already done in docker-compose.yml — no changes needed (verified by RESEARCH.md)
|
|
- D-02/Gemini: GenericOpenAIProvider has supports_json_mode=False for Gemini preset — falls back to parse_classification()
|
|
- Celery retry: _ClassificationError raised from _run(), caught in outer sync extract_and_classify() which calls self.retry() — NOT inside asyncio.run()
|
|
- AdminAiConfigTab.vue: ADDITIVE change only — new global System AI Providers section goes ABOVE existing per-user assignment table (Pitfall 6)
|
|
- MAX_AI_CHARS: Defined in 3 places (openai_provider.py L5, anthropic_provider.py L5, classifier.py L28) — all 3 removed across Plans 02+03
|
|
</decisions_made>
|
|
|
|
<blockers>
|
|
None.
|
|
</blockers>
|
|
|
|
## Required Reading (in order)
|
|
1. `.planning/phases/07-redo-and-optimize-llm-integration/07-CONTEXT.md` — locked decisions D-01..D-18
|
|
2. `.planning/phases/07-redo-and-optimize-llm-integration/07-RESEARCH.md` — resolved patterns (Anthropic output_config, singleton client, Celery retry, system_settings design)
|
|
3. `.planning/phases/07-redo-and-optimize-llm-integration/07-01-PLAN.md` through `07-05-PLAN.md` — execution plans
|
|
|
|
## Critical Anti-Patterns (do NOT repeat these)
|
|
- **Wrong phase number**: User typed `/gsd-plan-phase 3` but meant Phase 7. Phase 3 is complete. Phase 7 is the active phase.
|
|
- **Celery retry inside asyncio.run()**: self.retry() must be raised from the OUTER sync task body. Raising it inside asyncio.run(_run()) corrupts async state (RESEARCH Pitfall 3).
|
|
- **AdminAiConfigTab.vue overwrite**: Existing per-user assignment table (ADMIN-05) must NOT be removed. New section is additive only (RESEARCH Pitfall 6).
|
|
|
|
## Infrastructure State
|
|
- Docker services: not running (stopped between sessions)
|
|
- Last test run: 344 passed / 1 pre-existing failure (test_extract_docx missing module) — from Phase 6.2 execution
|
|
- Git: clean working tree, commit 3df6250
|
|
|
|
<context>
|
|
Session was planning-only. No code was written. Phase 7 planning artifacts are complete and committed. The codebase is unchanged from the end of Phase 6.2. Ready to execute.
|
|
</context>
|
|
|
|
<next_action>
|
|
/clear, then: /gsd:execute-phase 7
|
|
</next_action>
|