Files
ThothII/.superpowers/sdd/2026-08-08-internal-qdrant-ollama/task-9-report.md
T

3.9 KiB

Status: completed on August 8, 2026.

Summary:

  • Updated the frontend workspace contract from schema v2 editing to schema v3 publishing.
  • Kept only semantic_index.vector_store.collection editable; rendered qdrant / internal Ollama semantic values as fixed read-only architecture values.
  • Removed external vector transport / endpoint / credential / embedding diagnostics branches from frontend draft sanitization, conflict parsing, and editor UI.
  • Added a migration-required banner in workspace management and blocked migration_required workspaces from new-session selection.
  • Aligned the example workspace YAML comments with the fixed internal qdrant/Ollama architecture.

Files changed:

  • frontend/src/api/workspaces.ts
  • frontend/src/api/workspaces.test.ts
  • frontend/src/workspaces/drafts.ts
  • frontend/src/workspaces/drafts.test.ts
  • frontend/src/shell/WorkspaceEditor.tsx
  • frontend/src/shell/WorkspaceEditor.test.tsx
  • frontend/src/shell/WorkspaceManager.tsx
  • frontend/src/shell/WorkspaceManager.test.tsx
  • frontend/src/shell/WorkspacePublishDialog.test.tsx
  • frontend/src/api/sessions.ts
  • frontend/src/shell/SteerInput.tsx
  • frontend/src/shell/SteerInput.test.tsx
  • deploy/workspaces/example.yaml
  • deploy/workspaces/psd.yaml.example

Verification:

  • cd frontend && npx vitest run src/shell/SteerInput.test.tsx src/shell/WorkspaceEditor.test.tsx src/shell/WorkspaceManager.test.tsx src/shell/WorkspacePublishDialog.test.tsx src/workspaces/drafts.test.ts src/api/workspaces.test.ts
    • Result: 6 files passed, 59 tests passed.
  • cd frontend && npx tsc -b
    • Result: passed.
  • git diff --check
    • Result: passed.

Self-review:

  • The frontend now publishes the exact schema v3 semantic shape and no longer persists legacy semantic transport/credential branches.
  • Migration-required workspaces are visible in management with an explicit banner and are excluded from the composer workspace selector.
  • One dependent test file outside the original brief list (WorkspacePublishDialog.test.tsx) and the composer/session-selection path (api/sessions.ts, SteerInput.tsx, related test) were updated because they were directly coupled to the old v2 semantic/edit-selection behavior.

Concerns:

  • The composer still retains backward-compatible behavior for summaries that omit revision entirely; only explicit revision.state === "migration_required" is blocked. That matches the current mixed-test environment, but once summary responses are guaranteed to include revision, that fallback may be removable.

Fix round 1/5 — August 8, 2026

Summary:

  • Made missing or invalid workspace summaries fail safe in frontend session creation and composer selection instead of falling open as legacy.
  • Added an actionable unavailable message in workspace management for incomplete summaries with no canonical revision.
  • Replaced the old runtime-oriented example descriptor files with exact backend WorkspaceV3 descriptor YAML.

Additional files changed:

  • frontend/src/api/sessions.test.ts
  • backend/test/workspaces-schema.test.ts

Fix-round verification:

  • cd frontend && npx vitest run src/api/sessions.test.ts src/shell/SteerInput.test.tsx src/shell/WorkspaceManager.test.tsx src/shell/WorkspaceEditor.test.tsx src/shell/WorkspacePublishDialog.test.tsx src/workspaces/drafts.test.ts src/api/workspaces.test.ts
    • Result: 7 files passed, 73 tests passed.
  • cd frontend && npx tsc -b
    • Result: passed.
  • cd backend && npx vitest run test/workspaces-schema.test.ts
    • Result: 1 file passed, 17 tests passed.
  • git diff --check
    • Result: passed.

Notes:

  • Missing revision in a workspace summary now fails with the same session/composer safety posture as migration_required, using the existing safe workspace-policy error for session creation and an explicit unavailable message in workspace management.
  • The committed example files now validate as actual schema-v3 descriptors instead of deployment/runtime templates with forbidden semantic endpoint fields.