Repository navigation
Description
Problem
The actual global installed mixed-provider startup is blocked before the handler by missing native OpenCode Session metadata. The observed index has 52 orphan messages / 246 parts referring to four missing native Sessions; the exact index_stale/OpenCode error is recorded in issue #205. Original provider rows and current inputs remain retained. Searches of reachable copies, backups and exports did not recover the original four authoritative Session records.
Change
Restore only the authoritative matching original native Session records through a supported provider restore/export or an accessible complete backup with owner-approved target and consistent backup. Then verify the fully active installed mixed-provider target across OMP, Pi, Codex, Claude and OpenCode. Preserve current inputs, provenance, row identity and payload. Retain authoritative native metadata, every active provider input, and the existing source records. Recovery identity fix in #205 is an integration dependency. The absence of the original four records is an external prerequisite. Any source change requires a concrete consumer defect demonstrated during the supported provider repair.
Acceptance
- Verify the authoritative source and binding of the four original Session records; restore valid provider relationships while preserving all 52 messages and 246 parts.
- Record installed artifact revision/version and effective active configuration.
- Exercise ordinary startup and list/search JSON and robot, exact context, OMP command/failure/sequence/pattern behavior, using returned native anchors and all active inputs. Verify repeated startup creates no duplicates. Run the exact targeted command
go test ./internal/readers ./cmd/backscroll -run 'OpenCode|MixedProviderNativeOwnershipReplayAndRecovery' -count=1. If code changes are required, runjust check && just ciexactly once after the code change. Actual CLI proof is required regardless of code changes. - Record scope, evidence privacy and any remaining prerequisites. Keep private paths, IDs, raw payloads and public credential information out of public evidence. Complete private regression before production restore.
Additional runtime integration prerequisite
The operator authorized a reversible pause of OpenCode ingestion to test the remaining providers. The exact original manifest is retained privately; all other inputs and provider stores are unchanged. This pause is not completion of this issue: final acceptance still requires authoritative repair and OpenCode enabled.
That real installed-target test exposed a separate Claude resumed/forked transcript UUID conflict in sync-batch validation. The compatible canonical-event correction is an integration dependency for final global acceptance. Authoritative OpenCode restoration can start independently of the Claude correction. The 32640 existing OpenCode indexed rows and their payload fingerprint were preserved during the failed startup. Native GitHub blocked-by relationships bind the existing recovery identity dependency and the separately tracked Claude correction.
Relationship intent: blocked_by issue:#205 and the compatible cross-path native UUID correction.
Breakdown source: plan
Activity
pablontiv commentedon Oct 22, 2026
Current blocker evidence for the installed mixed target
The actual global installed mixed-provider startup remains blocked before the handler: the index has 52 orphan messages / 246 parts referring to four missing native OpenCode Session records. The exact observed error is
index_stale: index sync failed: OpenCode message has no native session metadata.Existing records and active inputs remain retained. The original four authoritative Session records are still required; authoritative restoration or full active installed mixed-target proof is pending. The earlier recovery evidence is recorded at #205 (comment). The #205 dependency, including the mixed regression, is in PR #224. No workaround is established or claimed.
pablontiv commentedon Oct 22, 2026
The operator authorized a temporary pause of only global OpenCode ingestion to restore use of the remaining providers. The exact original OpenCode input manifest was backed up privately before this change. All other inputs, roots, and reasoning settings remain unchanged, except the OpenCode input is inactive. Existing OpenCode provider records and historical Backscroll rows are retained; no provider rows were deleted and no synthetic metadata was created.
The actual global operational QA after this pause completed FAIL: a separate Claude native-message UUID is reused across two forked/resumed JSONLs, causing sync-batch validation failure before writes. This is not an OpenCode error, and global CLI usability has not been restored. The separate Claude cause is being triaged; no further provider was paused. OpenCode historical rows and payload fingerprint remain unchanged, the global index row count remains unchanged, and the source OpenCode database remains untouched.
The installed merged revision
224e5717897673568f344e2c0a3f8b513170a301is a clean local dev build. Issue #223 remains OPEN pending the four authoritative original Session records and full mixed-target verification with OpenCode enabled. This temporary pause is not a repair or closure, and does not modify the acceptance criteria or all-provider requirement.pablontiv commentedon Oct 22, 2026
Superseded by #233 (PR #234, merged a9b1c52). The original 4 OpenCode session records remain unavailable in every reachable source. Backscroll now skips the 52 messages (246 parts) that have no native session row and reports them on stderr.
Live evidence on the operator index, dev build a9b1c52 with vcs.modified=false:
status --jsonexited 0 on two consecutive runs. The first run printedwarning: opencode: skipped 52 messages without native session metadata.Closing as superseded.