Skip to content

Campaign map: 0.1.9 coexistence Provider Injection & DSH #436

Description

@NOirBRight

This was generated by AI during triage.

Campaign map — 0.1.9: Coexistence Provider Injection & DSH

CodexHub shifts its client-integration semantics from Managed Takeover to Provider Injection (ADR-0004), and lands DSH as the fifth supported client on the new semantics. One campaign, four phases, four beta versions on milestone 0.1.9.

Phase Version Content Issues
1 0.1.9-beta1 Declarative injection descriptor (adapter seam) + block-fingerprint readback + DSH headless apply/detach seam issue, readback issue, #430 (partial)
2 0.1.9-beta2 DSH real-client qualification (pinned 0.1.0-rc.6, Windows E2E), key rotation via .credentials.yaml (#428), UI fifth client card #430 (remainder)
3 0.1.9-beta3 Migrate pi + codex to injection migration issue
4 0.1.9-beta4 Migrate opencode + omp + zcode,存量用户迁移 migration issue

Decided design points (from grilling session)

  • Q1: injection never flips the client's global default-model key; activation is always the user's own action
  • Q3: detach = surgical removal of the injected block; backups become disaster-recovery-only fallback; drift detection moves to block fingerprint
  • Q4: a pre-existing same-named provider entry pointing at the local Gateway is adopted, not a conflict
  • Q5: the injected entry projects all currently enabled Gateway models, re-projected on catalog change
  • Q6: credentials are written surgically (single key, masked everywhere); DSH uses ~/.dsh/.credentials.yaml
  • Q7: codex is the sole exception to Q1 — stable single history bucket (model_provider pinned), direct-vs-gateway via base_url presence inside the bucket (ADR-0004, "Codex exception")
  • Q8 (final): preserve the existing Gateway page and left column; redesign only the fixed-height Client routing aside as five compact client cards (including DSH), each with an internal unframed status label + standard toggle. Toggle on = inject; off = surgical detach; no model-selection mutation. No Gateway entity card, topology lines, flow animation, Ready badge, Official/CodexHub segmented control, or active indicator. Five cards fit normally; the list alone scrolls when constrained. Final spec: Spec: Connection-metaphor client UI for the Gateway page #438; prototype: prototype/issue-438-client-routing at 3f64127.
  • Q9: existing takeover-era users migrate lazily — no config change on upgrade; first Apply restores the pre-takeover snapshot, then writes under injection semantics. Takeover configs keep working until then.

Dependencies

Specs

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    campaign:0.1.90.1.9 coexistence provider injection & DSH client campaign

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions