| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| sbom.json | 2026-08-27 | 7.7 kB | |
| README.md | 2026-08-27 | 3.7 kB | |
| v0.18.4 -- friction reduction, part three_ telemetry on by default source code.tar.gz | 2026-08-27 | 2.2 MB | |
| v0.18.4 -- friction reduction, part three_ telemetry on by default source code.zip | 2026-08-27 | 2.5 MB | |
| Totals: 4 Items | 4.7 MB | 0 | |
Friction reduction, part three, and the lights come on. A repeat of an approved action now re-prompts at a one-click confirm instead of the full ladder;
uninstall --globaland the doctor'sHook commandcheck close the dangling-hook trap;demo --quietand the global-hook exclusion round out the CLI. Usage telemetry is on by default with a one-time notice, the same allowlist, and the kill switches unchanged, so from this version the project can see what people actually use.
- Telemetry is now on by default (opt-out). Anonymous usage counts (the same five allowlisted
events, no paths, prompts, secrets, or profiles) are sent unless you turn them off; the first CLI
command prints a one-line notice to stderr before anything is sent,
doberman setupasks with a default of Yes, anddoberman telemetry off,DO_NOT_TRACK,DOBERMAN_TELEMETRY=0, andCIstill switch it off. The PostHog project key ships in the package, so events flow from this version on. doberman demo --quiet: suppresses the banner, the per-scenario narration, and the closingdoberman dashhint, keeping only the summary line/table (silent on a full match, loud on a mismatch) and the exit code — sodemocan run as a CI smoke test ("is the engine alive") without polluting build logs. Mirrorsscan --quiet; display-only, the scenarios and the engine path are untouched.doberman uninstallnow actually stops protection when hooks are global. Previously,uninstallwas project-scoped only: if a global (--global) Claude Code hook or a Codexuser-scope hook was still installed, it kept firing in the "uninstalled" project and silently recreated.doberman/there the next time any decision needed recording.uninstallnow detects this and automatically adds the project to a device-wide exclusion list (~/.doberman/excluded_projects.json) that the (unchanged) global hook checks — first, before anything else — on every call, so an excluded project gets a true no-op instead. The list is only ever written by the already possession-factor-gateduninstallflow; reading it is a pure, side-effect-free check that fails closed. Rundoberman install-hooksin that project again to clear the exclusion (no gate needed — re-arming protection is a strengthen).doberman statusreports whether the current project is excluded.doberman doctorcatches dangling hook entries. New criticalHook commandcheck: when hooks are installed but the baredobermanthey invoke is not on PATH (package removed, bin dir not on PATH), the host fails the hook and carries on unmediated, sodoctornow fails and names the fix - put the binary back on PATH, or strip the entries withdoberman uninstall-hooks. Diagnosis only;doctorstays read-only.- Device-wide uninstall:
doberman uninstall --globalnow removes writable Claude Code and Codex hooks, project state, possession factors, the fingerprint key, and device state before removing the package through pip or pipx. The same fail-closed factor gate runs before any removal;--yesskips only the typedDOBERMANconfirmation,--dry-runchanges nothing, and--keep-packagepreserves the package. Codex plugin hooks remain undercodex plugincontrol. - Five-minute exact-action approval memory. A repeat of an action approved with local auth or
2FA still prompts, but at one-click
soft_confirm, keyed only by an HMAC of the exact pre-redaction action. Destructive, critical, excluded, or tainted-session actions never downgrade; soft confirms never chain;doberman approvals status|clear|ttlexposes bounded human controls.