Skip to content

fix(docker): mount ~/.claude/projects so dashboard reasoning mining works#87

Open
acidkill wants to merge 1 commit into
mainfrom
fix/reasoning-mining-transcript-mount
Open

fix(docker): mount ~/.claude/projects so dashboard reasoning mining works#87
acidkill wants to merge 1 commit into
mainfrom
fix/reasoning-mining-transcript-mount

Conversation

@acidkill

Copy link
Copy Markdown
Owner

Problem

Enabling mining in the reasoning-training dashboard reported "mining enabled", but every Mine finished instantly (~0.6s) with traces_ingested: 0, error: null — no progress, no log, no patterns. Looked broken.

Root cause: the dashboard runs in the docker-compose.surrealdb.yml container (HOME=/home/appuser), but the miner scans Path.home()/.claude/projects. That path was empty in the container — the host's 3200+ transcripts in ~/.claude/projects were never mounted. The mine correctly found nothing and returned quietly.

Fix

Read-only, projects-only bind mount (not the whole ~/.claude, which also holds settings/credentials):

- ${HOST_CLAUDE_PROJECTS:-${HOME}/.claude/projects}:/home/appuser/.claude/projects:ro

Container user is appuser uid 1000 (matches host), so the mount is readable. Overridable via HOST_CLAUDE_PROJECTS in .env.

Verification

After recreating the container:

  • container sees 3289 transcripts (55 projects)
  • POST /api/dashboard/reasoning/mine {backfill:true}502 traces ingested, 9 patterns learned, no error
  • detected model claude-haiku-4-5; sample patterns: data-analysis (conf 0.75), research (0.63), verification (0.56)

Docs-/infra-only (compose + CHANGELOG); no package/version change.

…ng mining

The reasoning-training dashboard runs inside the surrealdb compose container
(HOME=/home/appuser), but the miner scans $HOME/.claude/projects — which was
empty in the container. Every dashboard Mine finished in <1s with 0 traces and
no error, so it looked like nothing happened while the host's 3200+ transcripts
sat unmounted. Add a read-only, projects-only bind mount (not the whole
~/.claude); overridable via HOST_CLAUDE_PROJECTS. Verified: a backfill mine now
ingests 502 traces and distills 9 patterns.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant