Skip to content

# Dashboard v0.17.0 shows "No projects yet" on OpenCode 2 (v2.0.18) + magic-context 0.43.2 #542

Description

@scookiem

Short description

Dashboard v0.17.0 shows "No projects yet" on OpenCode 2 (v2.0.18) + magic-context 0.43.2

What happened?

Image # Dashboard v0.17.0 shows "No projects yet" on OpenCode 2 (v2.0.18) + magic-context 0.43.2

Summary
After upgrading from OpenCode 1 to OpenCode 2 (v2.0.18) with magic-context 0.43.2 and Dashboard v0.17.0, the Dashboard Projects page is empty ("No projects yet", "0 tracked"), even though Magic Context is actively writing memory/notes/tags for the current project. The Magic Context store itself is healthy (doctor = PASS 17 / FAIL 0), so this looks like a Dashboard-side project-enumeration gap on OpenCode 2, not data loss or a failed migration.

Environment

  • OS: Windows 11, PowerShell 5.1
  • OpenCode: v2.0.18 (active via PATH; launched through OpenChamber)
  • Magic Context: 0.43.2 (@cortexkit/opencode-magic-context@latest)
  • Magic Context Dashboard: v0.17.0
  • OpenCode store: ~/.local/share/opencode/opencode.db (OpenCode 2 schema: session_v2/session_message; no v1 session/message tables)
  • Magic Context store: ~/.local/share/cortexkit/magic-context/context.db (schema v90)

What I observe

  • Dashboard (screenshot attached below) left nav Projects → "No projects yet." / "0 tracked".
  • Dashboard footer still reads live data: DB: 2.0 MB · 3 memories · 0 compartments · 0 facts · 1 notes — i.e. the Dashboard connects to the right DB and can read rows, it just doesn't list any project.
  • magic-context doctor reports a healthy install:
    Magic Context Doctor
    * SQLite integrity_check: ok
    * Storage versions: context_db_schema_version=90, plugin_supported_version=90
    * Magic Context CLI v0.43.2 is current (npm latest v0.43.2)
    * OpenCode 2 plugin cache up to date (v0.43.2)
    ! Magic Context config has 1 warning(s) — "sidekick" configuration was removed and is ignored.
    ! Local embedding runtime unverified: no installed plugin tree found to inspect
    Summary: PASS 17 / WARN 2 / FAIL 0
    — Fixed 1 issue(s). Restart OpenCode to apply.
    
    Doctor does not flag the empty project registry as a problem, and does not check project_state / session_projects / workspaces at all.

Evidence (read via DBX, replaying -wal)

context.db at time of writing (row counts):

table rows
memories 5 and growing
notes 1
tags 1200+ (all harness=opencode2)
session_meta 7 and growing
compartments 0
historian_runs 0
message_history_index / message_history_source 0 / 0
project_state 0
session_projects 0
workspaces 0
workspace_members 0
project_key_files 0

memories are scoped directly by a directory identity that OpenCode 2 uses, not by the OpenCode-1 registry:

SELECT id, project_path, scope FROM memories;
-- id 1..5, project_path = 'dir:6fb76e42d6dd', scope='project'

So a project does exist (as dir:<hash> in memories.project_path, and it renders in the TUI <project-memory> block), but there are no rows in project_state / session_projects / workspaces.

The active session in that very directory (ses_f2239013…, 100+ turns, memory present) also has no session_projects row — so this is not merely "old OpenCode-1 sessions weren't backfilled".

Fleet log (%LOCALAPPDATA%\Temp\opencode\magic-context\magic-context.log) is stale since 2026-09-25 23:14 — exactly the OpenCode 1 → 2 upgrade window. Before that (OpenCode 1 era) it logged [dreamer] timer tick … projects=5 and boot … dir=~\.config\opencode, i.e. projects and the historian/dreamer loop were healthy. The 0.43.2 process does not appear to be writing this log path.

Note: doctor (via node:sqlite, apparently without applying -wal) reports memories=0 / notes=0, while DBX replaying the WAL reads 5 / 1. A restart checkpoints the WAL and should make them agree — but it does not change the fact that the project registry tables are empty.

Root-cause hypothesis

On OpenCode 2, Magic Context keys projects by memories.project_path = dir:<hash> and does not write the OpenCode-1 project registry tables (project_state / session_projects / workspaces). Dashboard v0.17.0's Projects page appears to enumerate projects from those OpenCode-1 registry tables, which are empty under OpenCode 2, so it renders "No projects yet" even though projects exist as dir:<hash> identities with memories.

Release notes for Dashboard v0.17.0 ("Works with Magic Context 0.43.0, including OpenCode 2", "matches it by that id across both labels") suggest the store/harness detection was addressed, but the project listing path may still assume the OpenCode-1 registry shape.

Expected

Under OpenCode 2, the Dashboard Projects page should either:

  1. derive projects from the OpenCode-2 identity (memories.project_path = dir:<hash>), or
  2. otherwise enumerate projects in a way that returns the active dir:<hash> project — and Dashboard should render a human-readable directory (e.g. D:/projects/global) rather than the raw dir:<hash>.

Questions for maintainers

  1. How should Dashboard v0.17.0 enumerate projects under OpenCode 2 — is memories.project_path (dir:<hash>) the intended source instead of project_state/session_projects?
  2. Is the empty project_state/session_projects/workspaces set expected on OpenCode 2, or is Magic Context itself failing to populate them (which would be a plugin-side bug rather than a Dashboard one)?
  3. Should doctor verify a Dashboard-compatible project listing (and warn when a project exists as dir:<hash> but has no registry entry)?
  4. Why does the 0.43.2 process stop writing the fleet log to %LOCALAPPDATA%\Temp\opencode\magic-context\magic-context.log on OpenCode 2? (Dashboard → Logs page relies on it.)

Secondary issue (independent of Projects page)

historian/dreamer in ~/.config/cortexkit/magic-context.jsonc are set to opencode-go/muse-spark-1.3-contributor, but the opencode-go provider is not defined in opencode.jsonc. Result: historian_runs=0, compartments=0, message_history_index=0, so Dashboard's Context/Cache/Compartment charts are empty even when a project is visible. (Please confirm whether an undefined provider should surface as a doctor warning rather than silently never running.)

Repro state

This is an observed post-upgrade state rather than discrete steps. To reproduce: run OpenCode 2.0.18 + magic-context 0.43.2 + Dashboard v0.17.0 migrated from an OpenCode 1 store, open a project directory, generate some turns/notes, then open Dashboard → Projects.

Attachments

  • doctor output (above).
  • DBX row-count + SELECT id, project_path, scope FROM memories output (above).
  • Dashboard screenshot (Projects = "No projects yet", footer showing memories/notes).

Notes

  • No secrets included in this report.
  • Can provide a redacted copy of context.db / opencode.db (or targeted SELECT outputs) on request.

Diagnostics

C:\Users\luiju>npx @cortexkit/magic-context@0.43.2 doctor --harness opencode
npm notice run npx
npm notice run magic-context doctor --harness opencode
|
o  Running doctor for OpenCode…
T  Magic Context Doctor
|
•  Authority:
|
•    no authority_managed markers
|
•  OpenCode installations:
|
•    marker   | path | version | source
|
•    [active] | C:\Users\luiju\AppData\Roaming\npm\opencode.cmd | opencode v2.0.18 | PATH
|
•             | C:\Users\luiju\AppData\Roaming\ai.opencode.desktop\opencode.settings | unknown | desktop
|
*  OpenCode opencode v2.0.18 installed (active install marked above)
|
*  OpenCode session database: C:\Users\luiju\.local\share\opencode\opencode.db (source=default, channel=latest)
|
*  OpenCode compaction markers are convertible to OpenCode 2: before=0 missing time.completed; after=0
|
*  Compartment boundary ids resolve in the OpenCode session store
|
*  All 0 session(s) with compartments are already anchored to this host's v2 store projection
|
*  No compartment is excluded from range recovery by a store change
(node:20096) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
|
*  Magic Context CLI v0.43.2 is current (npm latest v0.43.2)
|
*  OpenCode config: C:\Users\luiju\.config\opencode\opencode.jsonc
|
*  Magic Context config: C:\Users\luiju\.config\cortexkit\magic-context.jsonc
|
*  magic-context.jsonc parses as valid JSONC
|
!  Magic Context config has 1 warning(s) — see 'magic-context doctor --issue' for details
|
!  The "sidekick" configuration was removed and is ignored.
|
*  Plugin registered in opencode.jsonc
|
•  Compaction check: file-based; the running server's resolved config may differ — `opencode debug config` is authoritative
|
*  No conflicts detected (compaction, DCP, OMO hooks)
|
*  TUI sidebar loads from the plugin entry on OpenCode 2 (tui.json not used)
|
!  Local embedding runtime unverified: no installed plugin tree found to inspect
|
•  Shared storage: C:\Users\luiju\.local\share\cortexkit\magic-context (source: platform default)
|
•  Shared context DB exists at C:\Users\luiju\.local\share\cortexkit\magic-context\context.db
|
*  Opened the shared DB with a supported schema
|
•  Storage versions: context_db_schema_version=90, plugin_supported_version=90
|
•  Upstream migration fence: context.db and this build are both v90.
|
*  SQLite integrity_check: ok
|
•  Shared DB row counts: tags=954, compartments=0, memories=0, notes=0, dream_runs=0
|
*  Background maintenance completed its last pass
|
*  OpenCode 2 plugin cache up to date (v0.43.2)
|
•  Log file read: C:\Users\luiju\AppData\Local\Temp\opencode\magic-context\magic-context.log (grammar=legacy, lines=376, 53 KB)

|
|  Summary: PASS 17 / WARN 2 / FAIL 0
|
—  Fixed 1 issue(s). Restart OpenCode to apply.

Plugin version

0.43.2

OpenCode version

2.0.18

Platform

windows 11

Client

Magic Context Dashboard

Log output (optional)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions