Problem
On Sessions 0.12.10 with Codewith 0.1.67, an active Codewith thread stored under ~/.codewith/sessions cannot be resolved by sessions show or discovered by sessions sync. The Sessions CLI has no exact-session project binding command. The cloud PATCH session route only supports title changes.
The only supported projection workaround is sessions create with the existing Codewith source ID plus project path/name. That produces a metadata-only skeleton record: source path, timestamps, messages, and tool calls are absent, and the live Codewith runtime remains in its original cwd.
Project-wide relocate and migrate are unsafe substitutes because they can affect unrelated sessions.
Reproduction
- Start a Codewith session outside a registered project workspace.
- Resolve its exact thread ID from Codewith mission-control/local session state.
- Run sessions show with that exact ID: the active thread is not found.
- Run sessions sync --dry-run --source codex: active ~/.codewith/sessions rollouts are not discovered.
- Inspect Sessions CLI/API: there is no exact-session project association update; PATCH supports title only.
Use placeholder session IDs and paths in automated tests. Do not require transcript contents.
Expected behavior
Provide an idempotent exact-session operation such as:
sessions bind SESSION_ID --project-path PROJECT_PATH --project-name PROJECT_SLUG
It must work in local and self-hosted/cloud modes, preserve existing source path, content, timestamps, metrics, provider identity, and machine ownership, and affect exactly one session.
Sessions ingestion should discover active Codewith rollouts under ~/.codewith/sessions. Live-session behavior must be explicit: either update app-owned project context atomically or return a clear restart-required result.
Acceptance criteria
- Exact Codewith source ID resolves without ambiguous prefixes.
- Binding updates one session and is idempotent.
- Filtering by the canonical project path returns the session exactly once.
- Existing content and metadata are preserved; no skeleton overwrite or content loss.
- ~/.codewith/sessions ingestion is covered by tests.
- Live rebind versus restart-required semantics are documented.
- relocate or migrate is not required for a single-session association.
Impact
Without this capability, operators must choose between a metadata-only duplicate/projection, unsafe project-wide rewrites, or raw live transcript/database edits. The latter two should remain prohibited.
Problem
On Sessions 0.12.10 with Codewith 0.1.67, an active Codewith thread stored under ~/.codewith/sessions cannot be resolved by sessions show or discovered by sessions sync. The Sessions CLI has no exact-session project binding command. The cloud PATCH session route only supports title changes.
The only supported projection workaround is sessions create with the existing Codewith source ID plus project path/name. That produces a metadata-only skeleton record: source path, timestamps, messages, and tool calls are absent, and the live Codewith runtime remains in its original cwd.
Project-wide relocate and migrate are unsafe substitutes because they can affect unrelated sessions.
Reproduction
Use placeholder session IDs and paths in automated tests. Do not require transcript contents.
Expected behavior
Provide an idempotent exact-session operation such as:
sessions bind SESSION_ID --project-path PROJECT_PATH --project-name PROJECT_SLUG
It must work in local and self-hosted/cloud modes, preserve existing source path, content, timestamps, metrics, provider identity, and machine ownership, and affect exactly one session.
Sessions ingestion should discover active Codewith rollouts under ~/.codewith/sessions. Live-session behavior must be explicit: either update app-owned project context atomically or return a clear restart-required result.
Acceptance criteria
Impact
Without this capability, operators must choose between a metadata-only duplicate/projection, unsafe project-wide rewrites, or raw live transcript/database edits. The latter two should remain prohibited.