Skip to content

chore: harden release — green suite, lint 0, ANSI unification (INT-2271, INT-2260)#190

Merged
unohee merged 2 commits into
mainfrom
chore/harden-release-0.14.0
Jul 1, 2026
Merged

chore: harden release — green suite, lint 0, ANSI unification (INT-2271, INT-2260)#190
unohee merged 2 commits into
mainfrom
chore/harden-release-0.14.0

Conversation

@unohee

@unohee unohee commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Pre-0.14.0 hardening: the whole suite is green for the first time, so the CI/release hard gates are now meaningful.

Changes

  • INT-2271 — fix the 2 stale service.test.ts failures. Not a regression: the provider-override reapply lives inside the if (config.autonomous?.enabled) block (it calls runnerInstance.switchProvider), but the tests drove it with a non-autonomous config. Fixed to use mockAutonomousConfig / drop the autonomous-only assertion. service.test.ts 37/37.
  • Lint 36 → 0 warnings. Removed unused imports/vars across 11 files, prefixed intentionally-unused params, one no-control-regex disable, two endsWith() swaps.
  • Finish ANSI unification (INT-2260 follow-up). checkHandler.ts (~108 sites) now uses the shared NO_COLOR/TTY-safe c / status from src/support/colors instead of a hand-rolled always-on ANSI map. Output byte-identical under non-TTY.
  • postbuild chmod +x dist/cli.js — a clean rm -rf dist && build otherwise drops the exec bit → global CLI "permission denied".
  • ci.yml: promote the test job to a hard gate (drop continue-on-error), now that the suite is green.

Verification

  • typecheck / build / lint (0 warnings) / test (1306 passed, 0 failed) — all green.

🤖 Generated with Claude Code

unohee added 2 commits July 1, 2026 16:28
…e (INT-2271)

The 2 failing service.test.ts tests were stale, not a regression: the provider-
override reapply lives inside the `if (config.autonomous?.enabled)` block (it
calls runnerInstance.switchProvider, which needs a runner), but the tests drove
it with a non-autonomous config — one spread `mockConfig.autonomous` (undefined
→ {}), the other asserted readProviderOverride on a plain boot.

- 'reapplies override on boot' now uses mockAutonomousConfig (+ adapter override).
- 'initialize all required modules' drops the autonomous-only readProviderOverride
  assertion (the reapply is covered by the two override-specific tests).
- service.test.ts: 37/37 green.

Also harden the release pipeline now that the suite is green:
- package.json: postbuild `chmod +x dist/cli.js` — a clean `rm -rf dist && build`
  otherwise drops the exec bit and the global CLI hits "permission denied".
- ci.yml: promote the test job to a hard gate (drop continue-on-error).
…, INT-2270)

Now that the suite is green, make lint meaningful and finish the status-color
consistency work so the hard CI/release gates hold.

Lint (36 warnings → 0):
- Remove unused imports / variables across 11 files (issues bridges, discordCore,
  chatMemory, scanner's recursion-only param, cli.ts self-registering command
  binding, several test files).
- Prefix intentionally-unused mock params with `_`; disable no-control-regex on
  the ANSI-stripping regex; two endsWith() swaps in bsDetector.

ANSI unification (checkHandler.ts):
- Replace the file's hand-rolled always-on ANSI `c` map (~108 call sites) with the
  shared NO_COLOR/TTY-safe helper from src/support/colors — `c.green('x')` +
  `status.ok/err/warn/glyph` where a status glyph fits. Non-status badges keep
  their glyph. Output is byte-identical under non-TTY, so substring tests hold.

Full suite now green: typecheck / build / lint (0 warnings) / test (1306 passed).
@unohee unohee merged commit 4ea8a91 into main Jul 1, 2026
9 checks passed
@unohee unohee deleted the chore/harden-release-0.14.0 branch July 1, 2026 08:15
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