Commit Graph
11 Commits
Author SHA1 Message Date
ed 4d70dcc7ce conductor(plan): mark t2.11 + phase_2 complete; advance to phase 3 2026-06-11 01:35:22 -04:00
ed 45d316a0bd conductor(plan): mark t2.6-t2.10 complete (t2.7 cancelled: no template); advance to t2.11 2026-06-11 01:34:25 -04:00
ed 3940eb36ac conductor(plan): mark t2.1-t2.5 complete; advance to t2.6 (Green) 2026-06-11 00:53:58 -04:00
ed d5373e8f94 conductor(plan): mark t1.12 + phase_1 complete; advance to phase 2 2026-06-11 00:48:14 -04:00
ed 67782198b6 conductor(plan): mark t1.11 (dashscope dep) complete; advance to t1.12 2026-06-11 00:46:18 -04:00
ed f07e616c38 conductor(plan): mark t1.5-t1.10 complete; advance to t1.11 2026-06-11 00:41:11 -04:00
ed 6f11e7da14 conductor(plan): mark t1.1-t1.4 complete; advance to phase 1 in_progress 2026-06-11 00:31:57 -04:00
conductor-tier2 77ae2ec7a8 conductor(track-update): qwen_llama_grok - spec notes for nagent_review + docs refresh
4 surgical additions to the spec, no task changes:

1. Result return type: Added a coordination note in §3.1 (Data-
   Oriented Design) explaining that the shared send_openai_compatible
   helper should return Result[NormalizedResponse, ErrorInfo] from
   day 1, not NormalizedResponse + ProviderError raise. This is so
   the downstream data_oriented_error_handling_20260606 track is
   a small mechanical pass over new code, not a second migration.
   References nagent_review Pitfall #4 (provider history divergence)
   and the ErrorKind.PROVIDER_HISTORY_DIVERGED_FROM_UI use case.

2. Declarative read, not behavioral dispatch: Added clarification
   to §6 (UX Adaptation) that the capability matrix is a *read* of
   declarative data, not a new dispatch layer. Per nagent_review
   Pitfall #1 (opaque function calling in the Application is the
   correct choice; nagent-style protocol is for Meta-Tooling),
   UI elements are visible/enabled/disabled/hidden but the
   *behavior* they invoke is unchanged. Three concrete examples
   added: screenshot button, cost panel, cache panel.

3. PROVIDERS source of truth: Added a NOTE in §3.2 (Module Layout)
   that src/models.py:79-86 PROVIDERS is the existing single
   source of truth for the (vendor, model) enumeration. The
   capability registry reads from this constant rather than
   introducing a parallel list. Cross-references
   docs/guide_models.md.

4. Docs touchpoint: Expanded Phase 6 (Docs + Archive) in §9 to
   note that docs/guide_ai_client.md needs the new providers +
   the shared helper documented, and that
   docs/guide_context_aggregation.md (added 2026-06-08) is the
   reference for the aggregate.py pipeline that all new providers
   use.

5. See Also cross-references: Added 3 new entries to §13.2:
   - docs/guide_context_aggregation.md (the new pipeline guide)
   - conductor/tracks/nagent_review_20260608/report.md (§1, §5, §15)
   - conductor/tracks/nagent_review_20260608/nagent_takeaways_20260608.md
     (§1, §2, §9)

No plan.md changes. Plan tasks are task-level and will flow from
the spec changes when the track is re-planned.
2026-06-08 20:35:52 -04:00
ed b17cbbdeca conductor(plan): write 6-phase implementation plan for qwen_llama_grok_integration_20260606
~30 tasks across 6 phases, each with explicit Red-Green-Refactor TDD steps:
- Phase 1 (1.1-1.8): Capability matrix framework (src/vendor_capabilities.py)
  + shared OpenAI-compatible helper (src/openai_compatible.py). 13 unit tests.
- Phase 2 (2.1-2.8): Qwen via DashScope native SDK. 5 unit tests.
- Phase 3 (3.1-3.7): Grok (xAI) + Llama (Ollama + OpenRouter + custom URL)
  via shared helper. 8 unit tests.
- Phase 4 (4.1-4.3): MiniMax refactor (_send_minimax from ~250 -> ~50 lines).
  Safety net: existing tests/test_minimax_provider.py.
- Phase 5 (5.1-5.5): 9 capability-driven UX adaptations in src/gui_2.py.
  Manual smoke test for all 3 new vendors.
- Phase 6 (6.1-6.4): Update docs/guide_ai_client.md + guide_models.md.
  Archive the track.

Data-oriented design: shared helper is the algorithm on normalized data;
_send_<vendor>() entry points are thin boundary adapters.

1-space indentation per project style guide. No placeholders. All test
code is concrete. Self-review at end confirms spec coverage (every
section of spec.md mapped to a task).
2026-06-06 15:06:30 -04:00
ed 97daaff29b conductor(spec): Fix Qwen-Audio matrix entry consistency (vision=false, audio deferred)
The capability matrix v1 has no 'audio' field (audio_input is deferred to v2).
Qwen-Audio's vision flag was incorrectly marked true. Changed to false and
clarified that v1 uses Qwen-Audio as text-only; audio attachment UI is
hidden via the absent audio capability check.
2026-06-06 14:58:03 -04:00
ed 7c1d597ef1 conductor(track): Initialize qwen_llama_grok_integration_20260606 spec
Three new vendors + capability matrix framework + MiniMax refactor:

**Capability matrix v1 (7 features):** vision, tool_calling, caching, streaming,
model_discovery, context_window, cost_tracking. Audio and server-side code
execution deferred to a follow-up track.

**Qwen via DashScope native SDK:** Qwen-Turbo, Qwen-Plus, Qwen-Max, Qwen-Long
(1M context), Qwen-VL-Plus/Max (vision), Qwen-Audio. Native API chosen over
OpenAI-compatible mode to unlock Qwen-Audio, Qwen-Long custom chunking, and
Qwen-VL-Max enhanced vision.

**Llama (OpenAI-compatible, multi-backend):** Ollama (local, free), OpenRouter
(cloud aggregator covering Together/Groq/Fireworks), custom URL escape hatch.
Models: Llama 3.1 8B/70B/405B, 3.2 1B/3B, 3.2 11B/90B Vision, 3.3 70B.

**Grok via xAI (OpenAI-compatible):** Grok-2, Grok-2-Vision, Grok-Beta.

**Shared OpenAI-compatible helper** in src/openai_compatible.py processes a
normalized request/response data structure; each _send_<vendor>() is a thin
adapter at the boundary (data-oriented design per Fleury/Acton/Lottes).

**MiniMax refactor:** ~250 lines reduced to ~50 by using the shared helper.
Existing test_minimax_provider.py is the safety net.

**UX adaptation:** 9 UI elements (screenshot, tools toggle, cache panel, stream
progress, fetch models, token budget, cost panel) read from the matrix instead
of hard-coding per-vendor branches.

**Out of scope (deferred):** Anthropic/Gemini/DeepSeek migration to the matrix
(separate track), audio input, server-side code execution, PDF input, batch API,
fine-tuning.

6 phases planned: matrix+helper, Qwen, Grok+Llama, MiniMax refactor, UX
adaptation, docs+archive.
2026-06-06 14:56:00 -04:00