Skip to content

Reconcile main with origin ahead of v0.5.0-rc.1 - #51

Merged
naliyi merged 9 commits into
mainfrom
worktree-pre-rc-reconcile
Sep 17, 2026
Merged

naliyi merged 9 commits into
mainfrom
worktree-pre-rc-reconcile

Conversation

@naliyi

@naliyi naliyi commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Local main and origin/main had diverged (27 ahead / 32 behind); this branch reconciles them by cherry-picking the 6 local-only commits (CLI help-text/noise audits, onboarding Example: help text, nmilat v0.3.0 bump) plus the 2 worktree-trim-id-help commits onto a fresh branch off origin/main.
  • Adds one further follow-up trim pass over Long/Short/Example text across all 24 command files, plus a placeholder-name fix (mylabel -> satoshi) for consistency.
  • go mod tidy produces no diff; nmilat resolves to the real published v0.3.0 tag.
  • Prep step ahead of cutting ncli's first release candidate, v0.5.0-rc.1.

Test plan

  • go mod tidy -- no diff
  • GOWORK=off just check (vet + race-enabled test suite) -- all packages pass
  • CI (lint, vulncheck, hermetic integration suite) green on this PR

Catalogs every stderr progress line across cli/ and client/ that's
transient noise or redundant with a nearby line, per AGENTS.md's
stdout=result/stderr=narration convention. No behavior changed yet.
Full re-read (not grep) of every file the audit touches or claims
clean. All 22 original NOISE/REDUNDANT rows match source verbatim,
zero drift. Adds ~38 files that were never actually checked to the
Clean list, and a new stdout/stderr plumbing section for 3 commands
whose real result goes out on stderr via log.Info/log.Error instead
of stdout.
Catalogs every human-facing command's Use/Short/Long and proposes an
example-use-case table for each -- zero cobra Example fields exist
anywhere in the codebase today. Lands in docs/private/ (gitignored,
scratch) as a checkpoint: the root-command duplication fix and the
actual Example: field additions are separate, later steps, not
started here.
Unifies the root ncli command (was defined identically twice, in
cli/ncli/root.go and cmd/ncli/main.go) into a single definition, then
adds a cobra Example block to all 71 human-facing commands across
cli/ncli, cli/relay, cli/bunker, cli/delegate, and cli/blossom --
previously zero existed anywhere in the codebase. Content transcribed
from docs/private/CLI_HELP_TEXT_AUDIT.md's per-command use-case tables.

No command's Use/Short/Long/behavior changes; go build/vet/test all
pass, and --help output was spot-checked across every code path (leaf,
leaf-with-flags, nested leaf, group, root).
Caught by actually running every command's Example against a live
local relay: `miner`'s group-level example omitted --out/--in-place
(miner mine requires exactly one), and find's --targets+--authors
combo violated the real targets-vs-inline-filters mutual exclusion.
Both now use flag combinations verified to actually work.
Verified: ncli doesn't use nipcash (the one package with a breaking
rename in this release), go build/vet/test all pass. The only test
failures are pre-existing environment limitations unrelated to this
bump -- Docker-based integration tests (TestStreamIntegration et al.)
fail because sibling-container port publishing doesn't route to this
sandbox's own localhost (confirmed independently with a manual
`docker compose up` + curl, outside any Go test), and TestMultiRelaySync
hits real public relays and is documented as not run in CI.
Drops the "See ncli id delegate/sign" pointer sentence -- both are
already listed with their own Short descriptions under Available
Commands in the same --help output. Also swaps the placeholder
"mylabel" Example for "satoshi", closer to how the flag is actually
used.
Full sweep of all 24 command files' Long/Short/Example text (a
followup to the same fix on ncli id):

- relay context: drops the "See list/add/remove/use" pointer sentence
  -- those subcommands already show their own Short descriptions under
  Available Commands in the same --help output.
- find: drops "--authors also accepts nip-05 addresses..." -- the
  --authors flag's own description already says this.
- id sign: drops the Long-text restatement of what --identity's own
  flag description already says (vault label/nsec required, pubkey-only
  rejected).
- Replaces the generic "mylabel" placeholder with "satoshi" in every
  Example that names a vault identity (blossom upload/list/mirror/
  rm/report, id sign, id delegate), matching the id command's own
  example.

No other Long text found this noisy across the remaining 20 files --
each explains flag interactions or behavior not already stated
elsewhere. go build/vet/test all pass.
.goreleaser.yaml: skip_upload: auto on the Homebrew tap, skip_push: auto
on both per-arch docker images and both docker_manifests entries (the
manifests would otherwise fail trying to stitch images that skip_push
never pushed), and prerelease: auto on the GitHub release -- so tagging
a -rc.N build never overwrites the stable formula, :latest image, or
GitHub's "Latest release" marker.

CHANGELOG.md: new top heading matching the v0.5.0-rc.1 tag, covering
everything shipped since v0.4.9.
@naliyi
naliyi force-pushed the worktree-pre-rc-reconcile branch from 95e57b5 to dc819fe Compare September 17, 2026 22:41
@naliyi
naliyi merged commit 0974e8d into main Sep 17, 2026
4 checks passed
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