Skip to content

ci: require warning-free quality gates - #210

Merged
oratis merged 39 commits into
mainfrom
codex/final-quality-gates
Aug 2, 2026
Merged

ci: require warning-free quality gates#210
oratis merged 39 commits into
mainfrom
codex/final-quality-gates

Conversation

@oratis

@oratis oratis commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

Validation

  • pnpm lint: zero warnings
  • pnpm typecheck
  • pnpm test: 1028 passed, 12 skipped
  • pnpm format:check
  • pnpm docs:check
  • targeted vision suite: 18 passed

Stacked on #209.

t added 30 commits August 1, 2026 13:32
@oratis
oratis changed the base branch from codex/minimize-desktop-capabilities to main August 2, 2026 06:36
@oratis
oratis marked this pull request as ready for review August 2, 2026 06:47
@oratis

oratis commented Aug 2, 2026

Copy link
Copy Markdown
Owner Author

Review: approved ✅ — stack capstone

+10/−5. Removes the last repository lint warning and sets root lint to fail on any future one.

On --max-warnings=0: worth stating the tradeoff plainly. It's the right setting — warnings that nobody must fix accumulate until the whole signal is ignored, and this repo was already carrying "3 pre-existing warnings" as a standing footnote in every PR body in this stack. Getting to zero and locking it is how that stops. The cost is that dependency bumps introducing a new lint rule now fail CI rather than warn, so some future Dependabot PRs will need a code fix rather than a rubber stamp. Given #208's gates already demand real artifacts, that's consistent.

On the honesty of the final item: keeping real tag publication, Apple credentials, notarization, and updater signing explicitly outside automatic code mutation is the correct boundary. Those are operator actions with irreversible consequences, and a stack that automated them would be a stack that could publish on its own. Good that it stops short.


Closing note on #180#210 as a whole. Reviewed and merged all 31 in dependency order. The through-line is consistent and the sequencing is disciplined: the gate bypass in #181 was the actual severe bug (an omitted mode skipped mode, permissions, and hooks for every tool call), and everything after it removes the conditions that let a second, differently-assembled runtime exist — desktop, VS Code, and LSP are now protocol clients with no provider, credentials, agent loop, or RuntimeHost, and #208's thin-client scan enforces that going forward.

Verified locally at the stack tip before merging: typecheck, lint --max-warnings=0, format:check, docs:check, and 1033 tests across 8 packages all green.

Two things I flagged along the way that are worth carrying forward rather than losing in the merge: the ~6.7 MB → ~115 MB desktop size increase from the Node sidecar (#187) belongs in user-facing release notes, and the plugin capability API is not an OS boundary (#200/#209) — third-party plugins remain trusted code until an OS sandbox lands.

@oratis
oratis merged commit 658b3a8 into main Aug 2, 2026
5 checks passed
oratis added a commit that referenced this pull request Aug 2, 2026
…fix (#211)

Supersedes #170 and #171, which each bump only half the pair and cannot
merge independently — react@19 with react-dom@18 (or vice versa) is a
broken tree.

React 19's @types/react removes the global `JSX` namespace; it now lives
under `React.JSX` and is re-exported as a named type from 'react'. 38
`JSX.Element` references across 25 desktop files were resolving against
the old global and fail with TS2503 under the new types. Each file now
imports the type explicitly, merged into its existing 'react' import
where one exists so no duplicate-import lint warning is introduced
(root lint is --max-warnings=0 as of #210).

Verified with a forced rebuild (`tsc -b --force`) rather than an
incremental one — `tsc -b` reuses .tsbuildinfo and silently skips the
desktop project, which masks exactly this class of failure.

- tsc -b --force, lint (--max-warnings=0), format:check: clean
- 1033 tests across 8 packages: pass
- pnpm build: pass
- desktop Playwright protocol journey (4 tests): pass

Co-authored-by: t <t@t>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
oratis added a commit that referenced this pull request Aug 2, 2026
…ajors (#215)

Covers the 31-PR Codex alignment stack (#180-#210) plus the dependency
work (#211-#214, #155, #177-#179).

Leads with the security section because that is what this release is:
the central tool gate could be skipped entirely when `mode` was omitted
(#181), and the desktop renderer held provider credentials (#192).

Upgrade notes call out the two things a user could otherwise be
surprised by — the ~6.7 MB → ~115 MB desktop size increase from the Node
sidecar, and that the plugin capability RPC is not an OS boundary.

Co-authored-by: t <t@t>
Co-authored-by: Claude Opus 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