# Explicit-root NPU batch triage dry-run examples These examples are wrappers only. They do not install cron jobs, enable services, change Atlas/Hermes routing, write Obsidian/RAG/vector DBs, move/delete files, or send outbound messages. The committed manifest template at `config/triage-roots.example.yaml` is intentionally unapproved. For real private data, copy it to `config/triage-roots.local.yaml` and approve exactly one narrow lane-specific staging folder. Request-level `--root` may narrow that manifest root but cannot broaden it. Synthetic document/image smoke, CPU-only/no NPU claim: ```bash python scripts/npu-batch-triage-dry-run.py \ --manifest config/triage-roots.test.yaml \ --lane screenshots \ --root openvino-doc-image-triage-npu/samples \ --limit 5 \ --dry-run \ --no-npu \ --json ``` Synthetic document/image smoke with the existing local embeddings NPU service, if `127.0.0.1:18817` is healthy. Treat NPU as proven only when `npu.proof_ok` is true and `npu.busy_delta_us` (or item-level delta) is positive: ```bash python scripts/npu-batch-triage-dry-run.py \ --manifest config/triage-roots.test.yaml \ --lane receipts \ --root openvino-doc-image-triage-npu/samples \ --limit 5 \ --dry-run \ --json ``` Audio smoke should use generated/public synthetic audio only until a private audio staging root is approved: ```bash python scripts/npu-batch-triage-dry-run.py \ --manifest config/triage-roots.test.yaml \ --lane voice_memos \ --root tmp/synthetic-voice-memos \ --limit 3 \ --dry-run \ --no-npu \ --json ``` Cron/n8n shape (disabled example only): ```text Manual Trigger / disabled cron -> Execute Command: python /home/will/lab/swarm/scripts/npu-batch-triage-dry-run.py --manifest /home/will/lab/swarm/config/triage-roots.local.yaml --lane receipts --limit 25 --dry-run --json -> IF ok && npu.proof_ok && files_processed > 0 -> local dashboard/report only ``` Do not connect this output to Telegram/Discord/email sends, Obsidian writes, RAG/vector reindex, file moves/deletes, Kanban mutation, service restarts, or Atlas/Hermes routing without a separate reviewed approval gate.