Skip to content

#1206 Retire fleet's lint deferrals - #1211

Merged
williamthorsen merged 9 commits into
mainfrom
1206
Aug 5, 2026
Merged

#1206 Retire fleet's lint deferrals#1211
williamthorsen merged 9 commits into
mainfrom
1206

Conversation

@williamthorsen

@williamthorsen williamthorsen commented Aug 5, 2026

Copy link
Copy Markdown
Owner

What

Fixes deferred lint violations in the fleet package and restores the severity of the associated rules to "error" when a strict-lint check is run.

Why

Fleet's own deferral list downgraded six unicorn rules to warnings and pinned a strict-lint ceiling that kept them from being promoted back, so violations passed both lint:check and lint:strict unchallenged. Seventeen had accumulated behind that gap, and nothing stopped new code from adding more.

Details

♻️ Refactoring

  • git.ts extracts a probeOrDegrade helper in place of .catch() on the injected probe, which also closes a latent gap: a probe that throws synchronously now degrades to an unanswered observation instead of escaping as an unhandled rejection.
  • git.ts folds three branch === … comparisons into a NO_BRANCH_OUTPUTS set, matching the doc comment that already treated them as one condition, and reads ahead/behind counts through Number.isSafeInteger.
  • event-store.ts builds listLanes from an iterator chain rather than a spread-then-map.

🧪 Tests

  • Five suites replace module-level let state assigned in beforeEach with helpers that create a resource and register its teardown through onTestFinished, so a test cannot allocate a temp directory, adapter, or server without arranging its cleanup. Reverse-ordered teardown stops each server before the events root beneath it is removed.
  • Helpers move below their describe block into // region | Helpers, matching the suites that already followed that order.

⚙️ Tooling

  • packages/fleet/.config/ is deleted and eslint.config.ts reduces to a pass-through over the root config, restoring the six rules to their default error severity.
  • Both packages/fleet/tsconfig.json and packages/mcp/tsconfig.json drop an include glob naming a .config/ tree neither package still has.

The repo-root deferral list keeps both of its entries, which retain violations in demos/catwalk, agents, factory, and kb.

Closes #1206

Clears five of the seventeen lint violations that fleet's deferral list suppresses.
Clears the two `unicorn/no-unnecessary-splice` findings that fleet's deferral list suppresses.
Clears one `unicorn/no-top-level-assignment-in-function` finding that fleet's deferral list suppresses.

The suite's helpers also move below the describe block, per the repo's test-file layout convention.
Clears six `unicorn/no-top-level-assignment-in-function` findings that fleet's deferral list suppresses.

The suite's helpers also move below the describe blocks and into alphabetical order, per the repo's test-file layout convention.
Clears the last three `unicorn/no-top-level-assignment-in-function` findings that fleet's deferral list suppresses.

Each test now holds its own server and events root, and the suite's helpers move below the describe block, per the repo's test-file layout convention.
Fleet's six deferred unicorn rules are back at their default `error` severity, so a new violation fails lint rather than passing as a warning.
Brings the suite into line with the repo's test-file layout convention, which fleet's other touched suites already follow.
A server that fails to stop now fails its test instead of being dropped silently during teardown.

Each suite registers cleanup where the resource is created, so teardown runs in reverse creation order and no suite carries a registry of its own.
Both packages' `tsconfig.json` named a `.config/` tree neither package has, matching nothing while asserting a directory that is gone.
@williamthorsen williamthorsen added refactoring Improvement to code without change in functionality scope:fleet labels Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Dependency audit

Production dependency audit passed.

@williamthorsen
williamthorsen marked this pull request as ready for review August 5, 2026 22:33
@williamthorsen williamthorsen self-assigned this Aug 5, 2026
@williamthorsen
williamthorsen merged commit e635a22 into main Aug 5, 2026
3 checks passed
@williamthorsen
williamthorsen deleted the 1206 branch August 5, 2026 22:40
williamthorsen added a commit that referenced this pull request Aug 7, 2026
…ssembly-mcp-v0.2.4 codeassembly-v0.6.0

codeassembly-v0.6.0
- #794 feat: Guide kb-add note placement with the store's declared taxonomy (#1223)
- #1111 feat: Declare which harnesses sync targets (#1221)
- #1214 feat: Allow an artifact to belong to more than one collection (#1219)
- #1186 drop!: Dissolve `common-mistakes` into its consumers' guidance (#1217)
- deps: Upgrade all deps to latest version
- #1203 fix: Bar acceptance-criteria revision prompts to genuine conflicts (#1212)
- #1196 feat: Add the .kb/taxonomy.yaml format with drift reporting and back-fill (#1210)
- #1165 feat: Make a vetted subset of the library declarable (#1207)
- #1197 feat: Report the retired `harnesses:` frontmatter key from `validate` (#1204)
- #963 feat!: Rename the harness id to rovo and qualify the frontmatter key (#1199)
- #1188 drop!: Retire the bundled Bitbucket inline-comment script (#1198)
- #1187 feat: Gate the boolean prefix on a test and add the tail rule it rests on (#1195)

factory-v0.2.4
- deps: Upgrade all deps to latest version
- deps: Upgrade all deps to latest version
- #1209 refactor: Clear factory's remaining lint violations and retire both deferral lists (#1216)
- #1208 refactor: Clear the visualizations lint violations and retire six rule deferrals (#1213)

kb-v0.4.0
- #794 feat: Guide kb-add note placement with the store's declared taxonomy (#1223)
- #1196 feat: Add the .kb/taxonomy.yaml format with drift reporting and back-fill (#1210)

codeassembly-lifecycle-v0.3.0
- #963 feat!: Rename the harness id to rovo and qualify the frontmatter key (#1199)

codeassembly-mcp-v0.2.4
- #1206 refactor: Retire fleet's lint deferrals (#1211)
- #1200 tooling: Retire mcp's lint deferrals and prune the dead root entries (#1205)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactoring Improvement to code without change in functionality scope:fleet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix lint suppressed by fleet's deferrals

1 participant