Skip to content

docs: name the 20 options the README never listed - #13

Merged
muellerei merged 1 commit into
mainfrom
docs/contributing-line-count
Sep 15, 2026
Merged

muellerei merged 1 commit into
mainfrom
docs/contributing-line-count

Conversation

@muellerei

Copy link
Copy Markdown
Owner

Closing documentation gaps found by a systematic check rather than by reading.

What was wrong

The CLI accepts 20 options the README never named. Not obscure ones either:

  • find-knowledge-gaps --min-refs
  • suggest-connections --min-shared, --min-confidence, --max-suggestions, --focus
  • analyze-journal-patterns --timeframe, --mood, --topics
  • add-journal-block --date, --upsert-heading, --no-preserve
  • add-journal-content --date, add-journal-entry --date, --multi-block
  • add-note-content --no-create, --property
  • get-page --no-backlinks, --heading
  • get-block --no-children
  • insert-block --after, --before
  • smart-query --include-query

Some of these decide what a command returns. suggest-connections --min-shared
(default 3) sets how many topics two pages must share before the pair is
considered at all — a reader who cannot see it has no way to tell why a result
came back empty.

How they stayed invisible

The README's command tables look complete when you read them. The gap only
shows when every option in the command registry is compared against the file,
which is what was done here. It predates this release: --min-refs was already
undocumented in 0.9.0.

Two decisions worth naming

Boolean options are listed in the form a caller types--no-create,
--multi-block, --no-preserve — not the default-on positive form nobody
passes. This caught one trap: the negative of --preserve-formatting is
--no-preserve, not the --no-preserve-formatting its positive form suggests.

Defaults were read from the code, not recalled. Each documented default
(--min-refs 2, --min-shared 3, --min-confidence 0.3, --timeframe
"last 30 days") was verified against the parameter definition.

Also here

CONTRIBUTING.md claimed cli.py was "~4000 lines". It was 4771 when that
sentence was written, 4952 at 0.11.0 and is 5190 now — the number was never
right and drifted further with each release. Replaced with a statement that
names the consequence instead of a count. A figure maintained by hand is the
same defect this project documents elsewhere.

Verified

  • Every option in the registry now appears in the README in at least one of its
    forms; the check that found the gap reports zero.
  • The section counters (14/5/11/4/3/1) sum to 38, matching the registry.
  • Full suite green, 723 tests. No code changed.

Checked every option in the command registry against the README rather
than reading the tables - which is how these stayed invisible: a table
looks complete when you read it, and only a comparison shows what is
missing from it.

Some of them decide what a command returns. suggest-connections
--min-shared (default 3) is the filter that determines whether a pair
counts at all; without it documented there is no way to tell why a
result is empty.

Boolean options are listed in the form a caller types (--no-create,
--multi-block, --no-preserve), not the default-on form nobody passes.
--no-preserve is notably not the --no-preserve-formatting its positive
form suggests.

CONTRIBUTING said cli.py was "~4000 lines". It was 4771 when that was
written and is over five thousand now. Replaced with a statement that
cannot drift.
@muellerei
muellerei merged commit da02e68 into main Sep 15, 2026
4 checks passed
@muellerei
muellerei deleted the docs/contributing-line-count branch September 15, 2026 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant