Skip to content

fix(cli): print the installed version in the banner, not a hardcoded v0.1.0 - #171

Merged
ralyodio merged 1 commit into
masterfrom
fix/cli-banner-version
Aug 30, 2026
Merged

fix(cli): print the installed version in the banner, not a hardcoded v0.1.0#171
ralyodio merged 1 commit into
masterfrom
fix/cli-banner-version

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

What

banner() printed a literal All-in-one security agent daemon — v0.1.0 on every command. A box running 0.11.6 reported v0.1.0, which reads as a failed upgrade — it sent us hunting for a stale install that wasn't there.

index.ts carried its own copy of the manifest lookup, with its own stale fallback literal ("0.1.8").

Change

  • New apps/cli/src/core/version.ts resolves the version once, reading the package manifest next to the bundle.
  • banner() interpolates it; index.ts imports it instead of re-deriving it.
  • Regression test asserts the banner reports the resolved version and never the literal v0.1.0.

Verification

  • pnpm build clean.
  • pnpm test — 58 passed (6 files), up from 57.
  • node dist/index.js status now prints All-in-one security agent daemon — v0.11.6; --version still 0.11.6.

🤖 Generated with Claude Code

https://claude.ai/code/session_018NXz7vRz6C7vaGSwMgWZfD

…v0.1.0

`banner()` printed a literal "All-in-one security agent daemon — v0.1.0" on
every command, so a box running 0.11.6 reported a version ten minors stale.
That reads as a failed upgrade and sent us hunting for a stale install that
was not there.

Resolve the version once in `core/version.ts` by reading the package manifest
next to the bundle, and use it in both the banner and `index.ts`, which had its
own copy of the same lookup plus its own stale fallback literal ("0.1.8").

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NXz7vRz6C7vaGSwMgWZfD
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

12 finding(s)

HIGH/CRITICAL: 1 | MEDIUM: 6 | LOW: 5

Severity Rule Location
HIGH secret-aws-access-key prd/0003-detect-hardcoded-secrets-before-they-are-committed-or-served.md:126
MEDIUM js-open-redirect apps/web/src/app/auth/login/page.tsx:50
MEDIUM js-unescaped-html-sink apps/web/src/app/hire/page.tsx:96
MEDIUM js-unescaped-html-sink apps/web/src/app/hire/page.tsx:100
MEDIUM js-open-redirect apps/web/src/components/funding/FundingClient.tsx:97
MEDIUM js-unescaped-html-sink apps/web/src/components/GuideReader.tsx:265
MEDIUM js-uninitialized-buffer packages/scan/src/node-rules.ts:456
LOW secret-generic-credential PRD.md:269
LOW tls-verification-disabled prd/0004-find-dangerous-code-patterns-without-pretending-to-be-a-compiler.md:121
LOW tls-verification-disabled prd/0004-find-dangerous-code-patterns-without-pretending-to-be-a-compiler.md:122
LOW sh-remote-script-execution scripts/smoke-test.sh:47
LOW secret-aws-access-key scripts/smoke-test.sh:112

Snippets are redacted; ThreatCrush never prints matched credential material.

@ralyodio
ralyodio merged commit 7f6fafb into master Aug 30, 2026
11 checks passed
@ralyodio
ralyodio deleted the fix/cli-banner-version branch August 30, 2026 15:32
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