Skip to content

refactor(session): take the keyring's file fallback from cli-base 0.68.0 - #303

Merged
leemour merged 2 commits into
mainfrom
refactor/credentials-from-base
Oct 31, 2026
Merged

leemour merged 2 commits into
mainfrom
refactor/credentials-from-base

Conversation

@leemour

@leemour leemour commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Why

drive #297 wrote its own WC-SECR-4 glue around cli-base's Credentials. cli-base 0.68.0 (WireCatLabs/cli-base#422) and cli-core 0.507.0 (WireCatLabs/cli-core#2251) now do it.

What

  • @wirecat/cli-base 0.68.0, @wirecat/cli-core 0.501.0 → 0.507.0.
  • Removed warnOnce (cli-base warns once per run) and the "did the file change" check after sign-in: cli-base drops the file copy once a sign-in reaches the keyring, so the file holds it only when it was kept there.
  • cli-core 0.507.0 adds doctor --online; docs/commands.md regenerated, CHANGELOG notes it.

Testing

  • pnpm test (483 passed, 1 expected fail), pnpm typecheck, pnpm lint, pnpm docs:check, pnpm generate:check, pnpm package:check, pnpm version:check, pnpm standards:check, pnpm contracts:check.

🤖 Generated with Claude Code

leemour and others added 2 commits October 31, 2026 21:52
cli-base 0.68.0's Credentials reads a file sign-in before the keyring,
keeps refreshes there, moves a sign-in back to the keyring with
{ signIn: true } (passed by cli-core 0.507.0's keeper) and warns once
per run. drive drops its warnOnce and the "did the file change" check
after sign-in: the file holds the sign-in only when it was kept there.

cli-core 0.507.0 also brings doctor --online; docs/commands.md is
regenerated for it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r --online a reason

cli-base 0.68.0 ships the --credential-storage flag word (cli-base#419),
so its baseline entry is stale. cli-core 0.507.0's doctor --online
connects to Google and npm; cli-core's app-mcp-command tests drive it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@leemour
leemour merged commit e51ce20 into main Oct 31, 2026
8 checks passed
leemour added a commit that referenced this pull request Oct 31, 2026
Dates the Unreleased section as 0.54.0. Added: `doctor --online` from
cli-core 0.507.0 (#303), so the minor rises. Also carries the keyring
file fallback from cli-base 0.68.0 (#303).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
leemour added a commit that referenced this pull request Oct 31, 2026
## What

- cli-base 0.68.0 → 0.68.1. cli-core 0.507.0 came with #303, merged
while this PR was open; it is rebased on it.
- `appDoctorCommand` gets `packageName: "@wirecat/drive-cli"`. `drive
doctor --online` now also reports whether npm has a newer drive
(`online.version`). It uses cli-core #2232's `--online` and the shared
`doctor` summary.
- Part of
[cli-base#390](WireCatLabs/cli-base#390).

## What breaks for users

Nothing new: #303 already bumped to cli-core 0.507.0 and cli-base 0.68.0
and took cli-base's credential fallback. This PR only adds the version
check to `doctor --online` and moves cli-base to 0.68.1.

## Checks

`pnpm release:check`, step by step:
- **Pass:** `standards:check`, `lint`, `typecheck`, `test:coverage` (484
tests, 1 expected fail), `contracts:check`, `docs:check`,
`generate:check`, `version:check`, `security:no-leak`, `package:check`.
- **Pass after two fixes:**
- `lint:commands`: cli-base 0.68 reported a stale baseline entry,
`session start --credential-storage`; #303 removed it too.
- `test:matrix:check`: `doctor --online` gets an untested reason,
because it asks npm.
- **`contracts:upgrade`:** its script stops on this machine's corepack
pnpm pin (11.20 vs 11.28). Run directly with `cli-contract
contracts/upgrade.json`, every case passes.
- **`audit:commands` fails:** `audit: 7 CLIs, 415 findings, 23 new that
block`.
- Two lines name drive under doctor, mcp or skill: `doctor --online` and
the `doctor` summary. In both, drive now matches tg, wa and max (max's
summary says "MAX"). Only memo and zm differ: memo lacks `--online`, and
zm keeps its old summary.
  - No mcp or skill line names drive.
- The other 21 lines are `notes` (drive against memo) and `search`: the
shared contracts still to come in cli-base#390.

**Packed tarball:** I ran `pnpm pack`, then `npm install -g` into a
scratch prefix. The installed `drive` gives:
- `--version`: 0.53.0
- `doctor --online --json`: `online.version` reports current, latest and
`newer: false`
- `skill show` and `commands --json`: run
- `default mcp serve`: exits 0 when stdin closes
- `personal mcp check --json`: `healthy: true`, `tools: 3`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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