Skip to content

fix(ci): add github token#3

Merged
calvinbrewer merged 1 commit into
mainfrom
changesets
Nov 16, 2024
Merged

fix(ci): add github token#3
calvinbrewer merged 1 commit into
mainfrom
changesets

Conversation

@calvinbrewer

Copy link
Copy Markdown
Contributor

No description provided.

@calvinbrewer
calvinbrewer merged commit fa285f3 into main Nov 16, 2024
@calvinbrewer
calvinbrewer deleted the changesets branch November 16, 2024 20:16
calvinbrewer pushed a commit that referenced this pull request Feb 10, 2025
Fix optional deps by adding Neon prefix
coderdan added a commit that referenced this pull request Jul 8, 2026
… missing (review #3, #6)

The missing-package translation only wrapped the CONFIG load, which imports bare
`stash` — so its `@cipherstash/stack` branch never fired. The package actually
fails to resolve in the CLIENT file (imported by loadEncryptConfig, used by
db push / schema build / encrypt), whose catch dumped a raw jiti stack trace.

- #3: apply the translation to loadEncryptConfig too, so a missing
  @cipherstash/stack (incl. subpaths like @cipherstash/stack/schema) yields the
  same "install it / run stash init" guidance for every command, not a trace.
- #6: replace the brittle substring matching (includes("'stash'")) with a shared,
  subpath-aware helper. New src/module-error.ts holds the primitives
  (isModuleNotFound + moduleNotFoundSpecifier's `Cannot find (module|package)`
  regex); native.ts now reuses them instead of its own copy, and a new
  config/missing-package.ts reduces a specifier to its package name before
  matching (so @cipherstash/stack/schema resolves to @cipherstash/stack).

Tests: unit coverage for missingCipherStashPackage (subpath, non-matches, code
gate) and a loadEncryptConfig test asserting the client-load path translates a
missing @cipherstash/stack into guidance rather than a raw trace.
coderdan added a commit that referenced this pull request Jul 8, 2026
… missing (review #3, #6)

The missing-package translation only wrapped the CONFIG load, which imports bare
`stash` — so its `@cipherstash/stack` branch never fired. The package actually
fails to resolve in the CLIENT file (imported by loadEncryptConfig, used by
db push / schema build / encrypt), whose catch dumped a raw jiti stack trace.

- #3: apply the translation to loadEncryptConfig too, so a missing
  @cipherstash/stack (incl. subpaths like @cipherstash/stack/schema) yields the
  same "install it / run stash init" guidance for every command, not a trace.
- #6: replace the brittle substring matching (includes("'stash'")) with a shared,
  subpath-aware helper. New src/module-error.ts holds the primitives
  (isModuleNotFound + moduleNotFoundSpecifier's `Cannot find (module|package)`
  regex); native.ts now reuses them instead of its own copy, and a new
  config/missing-package.ts reduces a specifier to its package name before
  matching (so @cipherstash/stack/schema resolves to @cipherstash/stack).

Tests: unit coverage for missingCipherStashPackage (subpath, non-matches, code
gate) and a loadEncryptConfig test asserting the client-load path translates a
missing @cipherstash/stack into guidance rather than a raw trace.
coderdan added a commit that referenced this pull request Jul 17, 2026
Review follow-up on the M2 complete-rollout change (finding #1 + #3; also
Copilot's sole inline comment):

- plan's interactivity gate re-inlined `process.stdin.isTTY && CI !== 'true'`,
  which only matches exact lowercase `true` — it misses `CI=1`/`CI=TRUE` and so
  diverged from the shared `isInteractive()` (config/tty.ts, whose `isCiEnv()`
  matches `/^(1|true)$/i`) and from the case-insensitive contract the stash-cli
  skill documents. Swap the inline for `isInteractiveTty()` (compute-once
  preserved) so a CI=1 runner with a TTY takes the non-interactive path.
- Drop the unused `cli` parameter from `confirmCompleteRollout`'s opts (the
  refusal hardcodes the `--yes` hint; `cli` was threaded but never read).

No behaviour change on the documented CI=true / TTY paths. plan-complete-rollout
e2e 2/2 and plan unit 22/22 green; build + biome clean.

Claude-Session: https://claude.ai/code/session_01MxTTPaPP16m6br7Hoab94w
coderdan added a commit that referenced this pull request Jul 17, 2026
…nest exit (rc.2 M2) (#686)

* feat(cli): make `plan --complete-rollout` automatable with --yes + honest exit (rc.2 M2)

`--complete-rollout` skips the production-deploy gate, so it requires explicit
consent. Previously that was an interactive p.confirm with no bypass: a
non-interactive run auto-cancelled (default-no) and exited 0 via CancelledError
— so CI/agents got exit 0 but no plan was drafted, and would assume one existed.

- New `--yes` flag confirms the gate-skip without a prompt (automation path).
- Non-interactive `--complete-rollout` WITHOUT `--yes` now refuses with a
  non-zero exit (CliExit(1)) and points at --yes, instead of silently
  cancelling with exit 0. An interactive decline stays exit 0 (a deliberate
  'no' is not a failure).
- isInteractive is computed once up front (the confirm needs it too).
- Registry + help + `stash-cli` skill updated; messages.plan.* leaders added
  for e2e stability.

Tests: 2 pty-less e2e (refuses+exit-1 without --yes; --yes confirms + proceeds),
plus manifest resolves the new flag. Suite 540 unit / 64 e2e green, code:check
clean. Changeset: stash minor.

Claude-Session: https://claude.ai/code/session_01MxTTPaPP16m6br7Hoab94w

* refactor(cli): use shared isInteractive() in plan; drop dead cli param

Review follow-up on the M2 complete-rollout change (finding #1 + #3; also
Copilot's sole inline comment):

- plan's interactivity gate re-inlined `process.stdin.isTTY && CI !== 'true'`,
  which only matches exact lowercase `true` — it misses `CI=1`/`CI=TRUE` and so
  diverged from the shared `isInteractive()` (config/tty.ts, whose `isCiEnv()`
  matches `/^(1|true)$/i`) and from the case-insensitive contract the stash-cli
  skill documents. Swap the inline for `isInteractiveTty()` (compute-once
  preserved) so a CI=1 runner with a TTY takes the non-interactive path.
- Drop the unused `cli` parameter from `confirmCompleteRollout`'s opts (the
  refusal hardcodes the `--yes` hint; `cli` was threaded but never read).

No behaviour change on the documented CI=true / TTY paths. plan-complete-rollout
e2e 2/2 and plan unit 22/22 green; build + biome clean.

Claude-Session: https://claude.ai/code/session_01MxTTPaPP16m6br7Hoab94w
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