Split from #74 (documentation accuracy sweep, item 1). The README output-style section claimed all user-facing output goes through internal/ui. #74 narrowed that claim to match reality rather than doing this refactor, because routing these call sites through ui is a behavior change that affects --quiet.
These call sites write plain text directly to stdout, bypassing internal/ui, so they are unstyled, uncolored, and ignore w.Quiet():
internal/cli/database.go — database delete, including its interactive confirmation prompt
internal/vaultik/info.go via v.stdoutf (internal/vaultik/vaultik.go)
internal/vaultik/snapshot_list.go — the snapshot list table
Definition of done
Each emits through internal/ui, or a deliberate exception is recorded for output that must stay machine-plain and scriptable (for example config get values and the --json documents); --quiet is honored where it should be; the README output-style section is updated to state the resulting rule exactly; tests cover the --quiet behavior of the affected commands; make check green.
model: claude-opus-4-8
Split from https://git.eeqj.de/sneak/vaultik/issues/74 (documentation accuracy sweep, item 1). The README output-style section claimed all user-facing output goes through `internal/ui`. #74 narrowed that claim to match reality rather than doing this refactor, because routing these call sites through `ui` is a behavior change that affects `--quiet`.
These call sites write plain text directly to stdout, bypassing `internal/ui`, so they are unstyled, uncolored, and ignore `w.Quiet()`:
- `internal/cli/version.go` — all of `version`
- `internal/cli/config.go` — `config init`/`get`/`set` output
- `internal/cli/database.go` — `database delete`, including its interactive confirmation prompt
- `internal/vaultik/info.go` via `v.stdoutf` (`internal/vaultik/vaultik.go`)
- `internal/vaultik/snapshot_list.go` — the `snapshot list` table
## Definition of done
Each emits through `internal/ui`, or a deliberate exception is recorded for output that must stay machine-plain and scriptable (for example `config get` values and the `--json` documents); `--quiet` is honored where it should be; the README output-style section is updated to state the resulting rule exactly; tests cover the `--quiet` behavior of the affected commands; `make check` green.
model: claude-opus-4-8
All command output is now governed by internal/ui. Status lines and the config init/config set/database delete confirmations go through the ui message methods and are silenced by --quiet. The data a command exists to produce — the version, info, and remote info reports, the snapshot list table, config get values, and the --json documents — is written plain, because a marker would corrupt a table or a parsed document. --quiet silences the human reports and tables but never the config get value or the --json documents, which a script depends on; the database delete confirmation prompt is always shown.
The README output-style section now states this rule, and tests cover the --quiet behavior of the affected commands.
Model: opus-4-8
Implemented in https://git.eeqj.de/sneak/vaultik/pulls/201.
All command output is now governed by `internal/ui`. Status lines and the `config init`/`config set`/`database delete` confirmations go through the ui message methods and are silenced by `--quiet`. The data a command exists to produce — the `version`, `info`, and `remote info` reports, the `snapshot list` table, `config get` values, and the `--json` documents — is written plain, because a marker would corrupt a table or a parsed document. `--quiet` silences the human reports and tables but never the `config get` value or the `--json` documents, which a script depends on; the `database delete` confirmation prompt is always shown.
The README output-style section now states this rule, and tests cover the `--quiet` behavior of the affected commands.
Model: opus-4-8
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Split from #74 (documentation accuracy sweep, item 1). The README output-style section claimed all user-facing output goes through
internal/ui. #74 narrowed that claim to match reality rather than doing this refactor, because routing these call sites throughuiis a behavior change that affects--quiet.These call sites write plain text directly to stdout, bypassing
internal/ui, so they are unstyled, uncolored, and ignorew.Quiet():internal/cli/version.go— all ofversioninternal/cli/config.go—config init/get/setoutputinternal/cli/database.go—database delete, including its interactive confirmation promptinternal/vaultik/info.goviav.stdoutf(internal/vaultik/vaultik.go)internal/vaultik/snapshot_list.go— thesnapshot listtableDefinition of done
Each emits through
internal/ui, or a deliberate exception is recorded for output that must stay machine-plain and scriptable (for exampleconfig getvalues and the--jsondocuments);--quietis honored where it should be; the README output-style section is updated to state the resulting rule exactly; tests cover the--quietbehavior of the affected commands;make checkgreen.model: claude-opus-4-8
clawbot referenced this issue2026-09-22 10:33:09 +02:00
Implemented in #201.
All command output is now governed by
internal/ui. Status lines and theconfig init/config set/database deleteconfirmations go through the ui message methods and are silenced by--quiet. The data a command exists to produce — theversion,info, andremote inforeports, thesnapshot listtable,config getvalues, and the--jsondocuments — is written plain, because a marker would corrupt a table or a parsed document.--quietsilences the human reports and tables but never theconfig getvalue or the--jsondocuments, which a script depends on; thedatabase deleteconfirmation prompt is always shown.The README output-style section now states this rule, and tests cover the
--quietbehavior of the affected commands.Model: opus-4-8