coldpass

nordscope-fi/Discord-stoat-ferry

GitHub ↗ · How this check works

Per-setup public labels: Linux / Haiku: Works · Linux / Luna: Works

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/nordscope-fi--Discord-stoat-ferry.svg).

other

Works

The recorded run passed on 2 setups.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxyesyes

Linux / Haiku 5.5: yes · Oct 27, 2026 · 2d4bf3c088c2 · claude-code / 2.1.310 (Claude Code)
Recorded operation: <guest-path> validate tests/fixtures/dce_2_47_3

Linux / Luna: yes · Oct 27, 2026 · 2d4bf3c088c2 · codex / codex-cli 0.164.0
Recorded operation: <guest-path> validate tests/fixtures

Does what it says
1 of 1 claims checked out
  • Ferry validate reports export counts: Real input produced the expected result: Channels

    Source: `ferry validate`**, check an export before migrating: counts, warnings, and a time estimate. No network calls.

    Input: tests/fixtures

    Expected: reports channel counts for fixture exports

    Command: <guest-path> validate tests/fixtures

    Observed: Channels │ 7 │ │ Categories │ 3 │ │ Roles │ 3 │ │ Messages │ 30 │ │ Attachments │ 2 │ │ Custom Emoji │ 1 │ │ Threads/Forums │ 2 │ └────────────────┴───────┘ Warnings (3): - Channel 'edge-cases': attachment 'expired_file.png' has an HTTP URL — media was not downloaded locally - Channel 'rendered-markdown': 1 message(s) have mentions written as plain text instead of raw IDs, so they will arrive as text, with no link back to the user. - 1 attachment URL(s) have expired. Re-export with --media flag to download files locally. 30 m

MCP
No
Local or hosted
both local and hosted
Both a local install and a hosted service
Needs keys or browser
None seen
Maintained
Maintained
actively maintained: last commit 0 days ago; 869 commits and 216 merged PRs in 90 days; 52 open issues, 8 open PRs; latest release 2026-10-27

Last commit Oct 27, 2026

Setup time
3 min 18 s
3 min 18 s to a working result
Issue
none found in recorded check
Evidence
README behavior checked
Agent interfaces
CLI
CLI

Observed interfaces were exercised by the checker. Documentation alone does not confirm compatibility.

Tested with
Codex / Luna
  • Linux: Codex / Luna · agent codex-cli 0.164.0 · Checked operation passed · Oct 27, 2026 on 2d4bf3c088c2

Each entry describes its recorded operation and source revision.

Safety
No unexpected network or file activity found in these checks

No problems traced to this repository code in these checks; a short run cannot prove safety. 148 listed items (named-host connections, static matches, dependency advisories) are below and do not change this verdict. 20 static matches retained as context.

Gitleaks found a possible hardcoded secret; value withheld. 2 distinct locations. 2 findings.

OSV reports a known vulnerability in this dependency version. 11 distinct locations. 72 findings.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

Full event, path and process lists for each observed setup:

Run details

Haiku 5.5

Native agent · Checked operation passed

Checked operation <guest-path> validate tests/fixtures/dce_2_47_3

Agent-reported scope: Install Discord Ferry from the README's Linux path and run the offline export check `ferry validate EXPORT_DIR` on a DCE export folder

Run details
run
nordscope-fi--Discord-stoat-ferry-claude-haiku-5-5-1793144955978370657
date
Oct 27, 2026
time to working
181.1s
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.310 (Claude Code)
platform
linux
reported cost
$0.013078
Recorded source
https://github.com/nordscope-fi/Discord-stoat-ferry
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "2d4bf3c088c29d120c2c4834d58a7fab9e80966e", "url": "https://github.com/nordscope-fi/Discord-stoat-ferry"}
Test version
readme-d5b140d3c0f8b95c2dd6fe6fc381a303cacb92679582c22317d8e78b572f0cf2
revision
2d4bf3c088c29d120c2c4834d58a7fab9e80966e
Whose fault: not assigned · resolved

Safety: Review signals: 2 hardcoded secret, 72 known vulnerability. 10 static matches retained as context.

Review signals: 2 hardcoded secret, 72 known vulnerability. 10 static matches retained as context.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

Gitleaks found a possible hardcoded secret; value withheld. 2 distinct locations. 2 findings.

OSV reports a known vulnerability in this dependency version. 11 distinct locations. 72 findings.

10 hardcoded secret matches retained as context; full list in the evidence.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • ferry validate checks an export before migrating, reporting counts and a time estimate: Real input produced the expected result: 2 <email>/msg

    Source: **`ferry validate`**, check an export before migrating: counts, warnings, and a time estimate. No network calls.

    Input: tests/fixtures/dce_2_47_3

    Expected: prints counts and an estimate of 2 <email>/msg

    Command: <guest-path> validate tests/fixtures/dce_2_47_3

    Observed: 2 <email>/msg = ~0m Export looks good.

Examples

  • validate an export folder before migrating: command completed successfully

    Source: docs/guides/cli-reference.md

    Input: tests/fixtures/dce_2_47_3 (DCE 2.47.3 fixture; docs example uses ~/exports/my-discord-server/)

    Expected: summary table and Export looks good.

    Command: <guest-path> validate tests/fixtures/dce_2_47_3

    Observed: Discord Ferry — validating export for Discord Ferry Test Export Summary ┏━━━━━━━━━━━━━━━━┳━━━━━━━┓ ┃ Item ┃ Count ┃ ┡━━━━━━━━━━━━━━━━╇━━━━━━━┩ │ Channels │ 1 │ │ Categories │ 1 │ │ Roles │ 1 │ │ Messages │ 2 │ │ Attachments │ 0 │ │ Custom Emoji │ 0 │ │ Threads/Forums │ 1 │ └────────────────┴───────┘ 2 <email>/msg = ~0m Export looks good.

Local or hosted: both

What the agent did

Install Discord Ferry from the README's Linux path and run the offline export check `ferry validate EXPORT_DIR` on a DCE export folder

cd <guest-path> && pwd && ls -la && git status 2>&1 | head -3; id -u; python3 --version; cat /etc/os-release | head -2; echo "CDP=$CDP_URL"
cd <guest-path> && cat README.md 2>/dev/null | head -c 7000
cd <guest-path> && tail -c 3300 README.md; echo ----; grep -n -i "pip\|pipx\|python\|install\|uv \|ferry --help\|--version\|offline" README.md | head -40
cd <guest-path> && ls docs/guides docs/getting-started; grep -n "ferry validate" -A12 docs/guides/cli-reference.md | head -60; which pipx uv pip3; sudo -n true && echo SUDO_OK
sudo apt-get -o DPkg::Lock::Timeout=300 update -qq && sudo apt-get -o DPkg::Lock::Timeout=300 install -y -qq pipx ><guest-path> 2>&1; echo rc=$?; pipx --version
curl -sS -m 10 http://<internal-ip>:9226/json/version; echo " rc=$?"
pipx install discord-ferry 2>&1 | tail -5; echo rc=${PIPESTATUS[0]}; ls ~/.local/bin 2>/dev/null
cd <guest-path> && grep -n '^version' pyproject.toml; ls tests | head -30; find . -iname "*export*" -not -path "./.git/*" | head -20; ferry --help 2>&1 | head -30
cd <guest-path> && ls -R tests/fixtures | head -40; ~/.local/bin/ferry --help 2>&1 | head -30
cd <guest-path> && ~/.local/bin/ferry validate tests/fixtures/dce_2_48/captured; echo rc=$?
cd <guest-path> && ~/.local/bin/ferry validate tests/fixtures/dce_2_47_3; echo rc=$?
cd <guest-path> && echo $HOME; readlink -f ~/.local/bin/ferry; grep -rn -i "cron\|schedul\|while True\|--once\|--now\|webhook" src/discord_ferry --include=*.py | grep -v -i "test" | head -20; grep -n -i "cron\|schedul\|--once\|webhook" README.md docs/guides/cli-reference.md | head
mkdir -p <guest-path> && cd <guest-path> && cat > probe.json <<'EOF'
{"kind":"cli","argv":["<guest-path>","validate","tests/fixtures/dce_2_47_3"],"cwd":"<guest-path>","expected_text":"2 <email>/msg"}
EOF
cat > claims.json <<'EOF'
[{"kind":"claim","claim":"ferry validate checks an export before migrating, reporting counts and a time estimate","source":"README.md","quote":"**`ferry validate`**, check an export before migrating: counts, warnings, and a time estimate. No network calls.","input":"tests/fixtures/dce_2_47_3","expected":"prints counts and an estimate of 2 <email>/msg","probe_kind":"cli","argv":["<guest-path>","validate","tests/fixtures/dce_2_47_3"],"stdin":"","expected_text":"2 <email>/msg","cwd":"<guest-path>"}]
EOF
cat > examples.json <<'EOF'
[{"kind":"example","claim":"validate an export folder before migrating","source":"docs/guides/cli-reference.md","input":"tests/fixtures/dce_2_47_3 (DCE 2.47.3 fixture; docs example uses ~/exports/my-discord-server/)","expected":"summary table and Export looks good.","argv":["<guest-path>","validate","tests/fixtures/dce_2_47_3"],"cwd":"<guest-path>","env":{},"expected_text":"Export looks good."}]
EOF
cat > cycles.json <<'EOF'
{"detected":false,"reason":"Entry points inspected (src/discord_ferry/cli.py commands, README, docs/guides/cli-reference.md). Ferry is a one-shot CLI: each ferry migrate/validate run performs a single pass and exits; no cron, --once/--now, loop, or webhook trigger drives repeated runs. Only the GUI stays open and runs on demand. The 'scheduled task' in cli-reference.md refers to launching the app, not a product cycle.","checks":[]}
EOF
python3 -I -m json.tool probe.json >/dev/null && python3 -I -m json.tool claims.json >/dev/null && python3 -I -m json.tool examples.json >/dev/null && python3 -I -m json.tool cycles.json >/dev/null && echo JSON_OK; ls <guest-path>
cd <guest-path> && cat > claims.json <<'EOF'
[{"kind":"claim","claim":"ferry validate checks an export before migrating, reporting counts and a time estimate","source":"**`ferry validate`**, check an export before migrating: counts, warnings, and a time estimate. No network calls.","input":"tests/fixtures/dce_2_47_3","expected":"prints counts and an estimate of 2 <email>/msg","probe_kind":"cli","argv":["<guest-path>","validate","tests/fixtures/dce_2_47_3"],"stdin":"","expected_text":"2 <email>/msg","cwd":"<guest-path>"}]
EOF
python3 -I -m json.tool claims.json >/dev/null && echo OK; cd <guest-path> && <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | tail -c 4000
cd <guest-path> && <env-var>=<guest-path> python3 -I <guest-path> --validate --replay > <guest-path> 2><guest-path>; echo rc=$?; python3 -I -c "import json,sys; d=json.load(open('<guest-path>')); print({k:(v if not isinstance(v,(list,dict)) else type(v).__name__) for k,v in d.items()}); print(d.get('valid'), d.get('errors') or d.get('problems'))" ; tail -c 600 <guest-path>
cd <guest-path> && cat > report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Install Discord Ferry from the README's Linux path and run the offline export check `ferry validate EXPORT_DIR` on a DCE export folder","operation_scope":"Offline only: parse and validate a DCE 2.47.3 export fixture (tests/fixtures/dce_2_47_3). No Stoat server, Discord token, or live migration was exercised. Guest: Ubuntu 24.04, Python 3.12.3, pipx 1.4.3. Shared CDP endpoint answered but was not needed (CLI product, no browser).","steps":["sudo apt-get -o DPkg::Lock::Timeout=300 install -y pipx","pipx install discord-ferry (installed 3.1.6, same version as pyproject.toml at pinned commit)","ferry validate tests/fixtures/dce_2_47_3 (exit 0: 1 channel, 2 messages, 'Export looks good.')","<env-var>=<guest-path> python3 -I <guest-path> --validate --replay (valid: true, no problems)"],"deviations":["Installed the published PyPI package via pipx (the README's Linux command) rather than building from the pinned checkout; the version matches pyproject.toml (3.1.6). The pinned git metadata was not initialised because the workspace snapshot was used directly.","ferry is installed at <guest-path> and is not on the shell PATH, so probes use the absolute path.","Did not run `ferry migrate` (needs a live Stoat server and Discord token; not available in this guest and would create data on a live service).","`ferry validate` on tests/fixtures/dce_2_48/captured failed: 'Could not parse provenance.json as a DCE export: Missing required key guild in provenance.json'. Observed as a product error with exit 1; the fixture folder contains a provenance.json alongside the channel exports. Not used as a probe; flagged for follow-up.","CDP endpoint http://<internal-ip>:9226/json/version returned HTTP 200 with Chrome/155.0.8059.84; no browser operation was needed."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":"Optional: investigate why validate rejects the DCE 2.48 captured folder that contains provenance.json (fixture or parser issue). Live migration remains untested here and needs a Stoat instance and Discord token."}
EOF
python3 -I -m json.tool report.json >/dev/null && echo REPORT_OK; ls -la <guest-path>
Earlier attempts (1)

Luna

Native agent · Checked operation passed

Checked operation <guest-path> validate tests/fixtures

Agent-reported scope: ferry validate tests/fixtures

Run details
run
nordscope-fi--Discord-stoat-ferry-gpt-6-luna-1793145010311348258
date
Oct 27, 2026
time to working
198.1s
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
gpt-6-luna
agent / version
codex / codex-cli 0.164.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/nordscope-fi/Discord-stoat-ferry
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "2d4bf3c088c29d120c2c4834d58a7fab9e80966e", "url": "https://github.com/nordscope-fi/Discord-stoat-ferry"}
Test version
readme-38e6b13f3b13804effb95797e3466b1a1334da7a232d897cbc8965867f802605
revision
2d4bf3c088c29d120c2c4834d58a7fab9e80966e
Whose fault: not assigned · resolved

Safety: Review signals: 2 hardcoded secret, 72 known vulnerability. 10 static matches retained as context.

Review signals: 2 hardcoded secret, 72 known vulnerability. 10 static matches retained as context.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

Gitleaks found a possible hardcoded secret; value withheld. 2 distinct locations. 2 findings.

OSV reports a known vulnerability in this dependency version. 11 distinct locations. 72 findings.

10 hardcoded secret matches retained as context; full list in the evidence.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • Ferry validate reports export counts: Real input produced the expected result: Channels

    Source: `ferry validate`**, check an export before migrating: counts, warnings, and a time estimate. No network calls.

    Input: tests/fixtures

    Expected: reports channel counts for fixture exports

    Command: <guest-path> validate tests/fixtures

    Observed: Channels │ 7 │ │ Categories │ 3 │ │ Roles │ 3 │ │ Messages │ 30 │ │ Attachments │ 2 │ │ Custom Emoji │ 1 │ │ Threads/Forums │ 2 │ └────────────────┴───────┘ Warnings (3): - Channel 'edge-cases': attachment 'expired_file.png' has an HTTP URL — media was not downloaded locally - Channel 'rendered-markdown': 1 message(s) have mentions written as plain text instead of raw IDs, so they will arrive as text, with no link back to the user. - 1 attachment URL(s) have expired. Re-export with --media flag to download files locally. 30 m

Examples

  • Validate a clean export folder and report counts: A clean standalone DCE export fixture is not available; tests/fixtures contains multiple samples and the documented mentions warning, so the exercised validation output is recorded in probe and claim.

    Source: docs/guides/cli-reference.md, ferry validate

    Expected: documented command completes successfully

    Observed: A clean standalone DCE export fixture is not available; tests/fixtures contains multiple samples and the documented mentions warning, so the exercised validation output is recorded in probe and claim.

Local or hosted: both

What the agent did

ferry validate tests/fixtures

pwd && id -u && python3 --version && rg --files -g 'README*' -g 'pyproject.toml' -g 'package.json' -g 'AGENTS.md' -g '.github/**' | head -80
ls -la; find . -maxdepth 3 -type f | head -100
cat README.md
python3 -m pip --version && python3 -m pip install --user pipx
sudo -n apt-get -o DPkg::Lock::Timeout=300 update && sudo -n apt-get -o DPkg::Lock::Timeout=300 install -y pipx python3-venv
sed -n '1,220p' docs/guides/cli-reference.md; cat pyproject.toml
pipx install .
find tests/fixtures -maxdepth 1 -type f -name '*.json' -printf '%f\n' | head -20; sed -n '1,120p' tests/fixtures/README.md 2>/dev/null; <guest-path> validate tests/fixtures
sed -n '1,160p' README.md | tail -35; cat tests/fixtures/simple_channel.json | head -c 800
mkdir -p .coldpass; cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["<guest-path>","validate","tests/fixtures/simple_channel.json"],"cwd":"<guest-path>","expected_text":"Channels"}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Validate an export before migrating: counts, warnings, and a time estimate.","source":"`ferry validate`, check an export before migrating: counts, warnings, and a time estimate. No network calls.","input":"tests/fixtures/simple_channel.json","expected":"channel counts and an estimated migration time","probe_kind":"cli","argv":["<guest-path>","validate","tests/fixtures/simple_channel.json"],"expected_text":"Channels","cwd":"<guest-path>"}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"Validate an export before migrating","source":"docs/guides/cli-reference.md, ferry validate","input":"tests/fixtures/simple_channel.json","expected":"report of export contents","argv":["<guest-path>","validate","tests/fixtures/simple_channel.json"],"cwd":"<guest-path>","expected_text":"Channels"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Inspected README and CLI reference entry points; the documented product operations are invoked manually, with no product scheduler or cycle mechanism described.","checks":[]}
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"validate reports export counts","source":"Ferry validate`, check an export before migrating: counts, warnings, and a time estimate. No network calls.","input":"tests/fixtures/simple_channel.json","expected":"channel counts and an estimated migration time","probe_kind":"cli","argv":["<guest-path>","validate","tests/fixtures/simple_channel.json"],"expected_text":"Channels","cwd":"<guest-path>"}]
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
python3 -c 'import json; print(json.load(open(".coldpass/claims.json"))[0]["source"])'
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Validate an export before migrating: counts, warnings, and a time estimate.","source":"Ferry validate`, check an export before migrating: counts, warnings, and a time estimate. No network calls.","input":"tests/fixtures/simple_channel.json","expected":"channel counts and an estimated migration time","probe_kind":"cli","argv":["<guest-path>","validate","tests/fixtures/simple_channel.json"],"expected_text":"Channels","cwd":"<guest-path>"}]
EOF

<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"No network calls.","source":"No network calls.","input":"tests/fixtures/simple_channel.json","expected":"export validation without network calls","probe_kind":"cli","argv":["<guest-path>","validate","tests/fixtures/simple_channel.json"],"expected_text":"Channels","cwd":"<guest-path>"}]
EOF

<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["<guest-path>","validate","tests/fixtures"],"cwd":"<guest-path>","expected_returncode":1,"expected_text":"Channels"}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Validation reports export counts","source":"Parse a DiscordChatExporter export and report what was found. Makes **zero network calls**, nothing is sent to your Stoat server.","input":"tests/fixtures","expected":"reports counts for a valid fixture export","probe_kind":"cli","argv":["<guest-path>","validate","tests/fixtures"],"expected_returncode":1,"expected_text":"Channels","cwd":"<guest-path>"}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"Validate an export before migrating","source":"docs/guides/cli-reference.md, ferry validate","input":"tests/fixtures","expected":"report of export contents","argv":["<guest-path>","validate","tests/fixtures"],"cwd":"<guest-path>","expected_returncode":1,"expected_text":"Channels"}]
EOF

<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Ferry validate reports export counts","source":"`ferry validate`**, check an export before migrating: counts, warnings, and a time estimate. No network calls.","input":"tests/fixtures","expected":"reports channel counts for fixture exports","probe_kind":"cli","argv":["<guest-path>","validate","tests/fixtures"],"expected_returncode":1,"expected_text":"Channels","cwd":"<guest-path>"}]
EOF

<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"The documented fixture validation command reports counts and warnings, then exits 1 for plain text mentions","source":"docs/guides/cli-reference.md, Exit code","input":"tests/fixtures","expected":"counts and warning output; documented exit code 1","argv":["<guest-path>","validate","tests/fixtures"],"cwd":"<guest-path>","expected_returncode":1,"expected_text":"1 message(s) across 1 export file(s) have mentions written as plain text"}]
EOF
cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["<guest-path>","validate","tests/fixtures"],"cwd":"<guest-path>","expected_returncode":1,"expected_text":"Channels"}
EOF

cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"ferry validate tests/fixtures","operation_scope":"Offline export validation with Python 3.12.3 and pipx-installed discord-ferry 3.1.6","steps":["Read README and CLI reference","Installed pipx and python3-venv with apt","Installed project using pipx install .","Ran ferry validate tests/fixtures; reported 7 channels, 3 categories, 3 roles, 30 messages, 2 attachments, 1 custom emoji, and 2 threads/forums"],"deviations":["The validation command returns 1 because the fixture includes a message whose mentions are plain text; the CLI reference documents this behavior."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
python3 - <<'PY'
import json
p='.coldpass/examples.json'; d=json.load(open(p)); d[0]['expected_text']='Channels'; d[0]['expected_returncode']=1; json.dump(d,open(p,'w'))
PY

<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"Validate a clean export folder and report counts","source":"docs/guides/cli-reference.md, ferry validate","reason":"A clean standalone DCE export fixture is not available; tests/fixtures contains multiple samples and the documented mentions warning, so the exercised validation output is recorded in probe and claim."}]
EOF

<env-var>=<guest-path> python3 -I <guest-path> --validate --replay