beads-check-dolt-migration — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited beads-check-dolt-migration (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Read-only detection of whether a repository needs classic-to-Dolt migration, a Dolt schema upgrade, or no action. Reports the current state without changing files, databases, remotes, or Git state.
/beads-migrate-to-doltbd, especially across a minor or major versionbd reports pending schema migrations or a remote migration gatebd commands fail and the storage format or schema may be stalels -la .beads/ 2>/dev/nullIf no .beads/ directory exists, report "No beads installation found" and stop.
On-disk inspection is authoritative:
# Classic format indicators
test -f .beads/beads.db && echo "FOUND: SQLite database"
test -f .beads/issues.jsonl && echo "FOUND: JSONL issues file"
# Dolt format indicators
test -d .beads/dolt && echo "FOUND: server-mode Dolt directory"
test -d .beads/embeddeddolt && echo "FOUND: legacy embedded-Dolt directory"
test -f .beads/metadata.json && cat .beads/metadata.jsonissues.jsonl is not proof of classic storage: modern bd can export JSONL for interchange while Dolt remains authoritative.
Safety gate before store-opening probes: bd may auto-migrate on store open. On an old, unknown or potentially pending schema, stop at file-only evidence unless the installed probe path is proven nonmutating. Recommend the migration core's protected-backup path for separate authorization; do not perform its backup or migration from this read-only check. The bd commands below are conditional on that proof, not permission to open an unprotected store.
cat .beads/config.yaml 2>/dev/null
git worktree list 2>/dev/nullFor a Dolt repository also run:
bd dolt status 2>&1 || true
bd dolt remote list 2>&1 || true
bd config get no-push 2>&1 || trueLook for:
sync.remote or sync.branch in config.git/beads-worktrees/ from the classic sync mechanismbd --version 2>/dev/null
bd migrate --inspect --json 2>&1 || trueTreat the inspection output as diagnostic even when it exits non-zero. On bd 1.1+, a remote-backed database with pending migrations intentionally refuses automatic migration and returns a remote_migrate_gate. Do not bypass that gate during this read-only check.
For classic data, optionally collect the legacy diagnostic too:
bd doctor --migration=pre 2>&1 || trueDo not trust bd doctor to classify storage: newer versions may inspect configured defaults rather than the files on disk, and embedded mode may not support it.
| State | Indicators | Recommendation |
|---|---|---|
| Classic | beads.db exists, no Dolt directory | Full migration needed |
| JSONL-only | issues.jsonl exists, no SQLite or Dolt directory | Initialize Dolt and import |
| Dolt, current | Dolt directory exists, bd migrate --inspect reports no pending migrations | No migration needed |
| Dolt, pending (local-only) | Inspection reports pending migrations and no Dolt remote | Back up, then run the schema-upgrade path |
| Dolt, pending (remote-backed) | Inspection returns remote_migrate_gate | Choose exactly one designated clone to migrate and push; every other clone must adopt with bd bootstrap |
| Partial/broken Dolt | Dolt directory exists but bd list or bd dolt status fails | Diagnose and recover from backup or bootstrap; do not destroy data automatically |
| No beads | No .beads/ directory | Run bd init only if the repo should use beads |
Include in the report:
no-push is enabled and will require a one-command approved overrideremote_migrate_gate and its two choicesWhen bd 1.1+ reports pending schema migrations on a database with a remote:
BD_ALLOW_REMOTE_MIGRATE=1 during this check.BD_ALLOW_REMOTE_MIGRATE=1 bd migrate, verifies, then pushes.bd dolt push.bd bootstrap to adopt the published schema. They must not migrate independently because that forks schema history.bd doctor versions.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.