Skip to content

Enable Effect lint rules the service code already follows - #184

Merged
jonbeckman merged 3 commits into
masterfrom
cursor/enable-effect-idiom-lint-ed62
Nov 9, 2026
Merged

jonbeckman merged 3 commits into
masterfrom
cursor/enable-effect-idiom-lint-ed62

Conversation

@jonbeckman

Copy link
Copy Markdown
Contributor

Summary

Turns on five @mpsuesser/oxlint-plugin-effect rules for the existing Effect service paths:

  • effect/use-console-service
  • effect/avoid-direct-tag-checks
  • effect/throw-in-effect-gen
  • effect/prefer-duration-constructors
  • effect/avoid-ts-ignore

nub run lint is clean with these rules set to error. They match the Effect skill: structured logs, tag matching, typed failures, duration constructors, and no ts-ignore.

effect/use-clock-service is not enabled. It currently reports direct Date use across the service tree, and switching those call sites to Clock is a separate migration.

release:none: lint configuration only. No runtime change.

Validation

  • nub run lint with the new rules enabled
  • nub run typecheck
  • nub run format
  • nub run test was not run. No executable behavior changed.

Checklist

  • I added or updated tests for behavior changes, or explained why tests are not needed.
  • I updated documentation and config examples when behavior or configuration changed.
  • I added a .tegami/ release entry, or explained why this pull request uses release:none.
  • I ran nub run config:check, nub run typecheck, nub run lint, nub run format, and nub run test. (config:check and test were not run; see Validation.)
  • I did not include credentials, private data, internal URLs, or organization-specific defaults.
  • I updated THIRD_PARTY_NOTICES.md for new third-party code or separately licensed assets. (No new third-party code.)
Open in Web Open in Cursor 

use-console-service, avoid-direct-tag-checks, throw-in-effect-gen, prefer-duration-constructors, and avoid-ts-ignore now error on the Effect service paths. The current tree already satisfies them.

Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
@jonbeckman jonbeckman added the release:none label Nov 8, 2026 — with Cursor
@jonbeckman
jonbeckman marked this pull request as ready for review November 8, 2026 09:28
@github-actions

github-actions Bot commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

🟢 e2e solzero-core: no tests selected, 30 left out by filters

Change 1 file changed since 487a836
Filter decision left out all 30 tests (1 call, 16.0k tokens)

30 tests left out by filters
Test Filter Reason
tests/accounts.e2e.ts › create, use and revoke an isolated user API key decision 9% likely affected
tests/accounts.e2e.ts › Better Auth 1.7 account APIs select the local account row id decision 9% likely affected
tests/accounts.e2e.ts › Accounts settings shows GitHub as unlinked without OAuth providers decision 9% likely affected
tests/admin.e2e.ts › administrator pages show live control-plane configuration decision 9% likely affected
tests/advanced-sessions.e2e.ts › incognito sessions stay outside normal lists but open directly decision 9% likely affected
tests/advanced-sessions.e2e.ts › session MCP definitions and subagent preferences persist decision 9% likely affected
tests/api-contract.e2e.ts › exported API key and session schemas decode actual Worker responses decision 9% likely affected
tests/auth.e2e.ts › sign-in gate protects every application route decision 5% likely affected
tests/auth.e2e.ts › credential sign-in opens the requested settings page decision 5% likely affected
tests/auth.e2e.ts › anonymous callers cannot access any protected API group decision 4% likely affected
tests/auth.e2e.ts › sign-out removes authenticated UI access decision 3% likely affected
tests/bots.e2e.ts › create a bot and manage a temporary routine through the UI decision 9% likely affected
tests/branding.e2e.ts › the selected deployment brand reaches the browser decision 3% likely affected
tests/branding.e2e.ts › health identifies the configured application without exposing configuration decision 6% likely affected
tests/branding.e2e.ts › OpenAPI uses the selected deployment brand decision 4% likely affected
tests/session-transfer.e2e.ts › admin authentication transfer redeems once and retains its deep link decision 9% likely affected
tests/sessions.e2e.ts › session tools, archive and restoration persist through the real Worker decision 9% likely affected
tests/sessions.e2e.ts › a second account cannot read or mutate another account's session decision 9% likely affected
tests/sessions.e2e.ts › isolate executes a real prompt and persists its output decision 13% likely affected
tests/sessions.e2e.ts › opencode executes a real prompt and persists its output decision 12% likely affected
tests/sessions.e2e.ts › codex executes a real prompt and persists its output decision 9% likely affected
tests/settings.e2e.ts › all settings categories load real data decision 9% likely affected
tests/settings.e2e.ts › runtime default persists after reload decision 9% likely affected
tests/settings.e2e.ts › MCP deep link and legacy settings URL open the MCP tab decision 9% likely affected
tests/settings.e2e.ts › secret editor creates, finds and deletes a disposable secret decision 11% likely affected
tests/settings.e2e.ts › theme preference survives reload decision 9% likely affected
tests/skills.e2e.ts › global skill defaults and per-user preferences persist independently decision 9% likely affected
tests/workflows.e2e.ts › workflow authoring, rename, export, disable and archive persist decision 9% likely affected
tests/workflows.e2e.ts › manual workflow executes JavaScript and stores a real R2 artifact decision 9% likely affected
tests/workflows.e2e.ts › invalid workflow definitions are rejected before storage decision 9% likely affected

e2e 0.21.3 · 6ms · local-cloudflare · run artifacts

@github-actions

github-actions Bot commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Tegami

This repository uses Tegami to manage releases. When your changes affect published packages, add a changelog file under .tegami/ before merging.

Create a changelog → · Changelog format

No changelogs yet

This PR has no pending changelog files. If your changes require a release, add a changelog before merging.

Run nub run tegami locally to create a changelog interactively.

Managed by Tegami.

cursoragent and others added 2 commits November 8, 2026 09:31
Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
@jonbeckman
jonbeckman merged commit 605a4f3 into master Nov 9, 2026
14 of 15 checks passed
@jonbeckman
jonbeckman deleted the cursor/enable-effect-idiom-lint-ed62 branch November 9, 2026 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants