Repository navigation
build(repo): move lint, test and mutation settings to the root - #37
Merged
Merged
Conversation
systemfsoftware-maker
added this pull request to stack #34
October 5, 2026 19:40
This was referenced Oct 5, 2026
ryanleecode
force-pushed
the
lake1/shared-configs
branch
from
October 5, 2026 22:38
484c54c to
e3948bc
Compare
systemfsoftware-maker
force-pushed
the
lake1/shared-configs
branch
from
October 6, 2026 01:32
e3948bc to
cd81ee6
Compare
systemfsoftware-maker
force-pushed
the
lake1/effect4-pins
branch
from
October 6, 2026 01:32
2e5a128 to
5d5bea1
Compare
ryanleecode
force-pushed
the
lake1/shared-configs
branch
from
October 6, 2026 01:46
cd81ee6 to
d2c06d9
Compare
systemfsoftware-maker
force-pushed
the
lake1/shared-configs
branch
from
October 6, 2026 08:38
d2c06d9 to
95620d7
Compare
systemfsoftware-maker
force-pushed
the
lake1/effect4-pins
branch
from
October 6, 2026 08:38
5c4126c to
6532fdd
Compare
systemfsoftware-maker
force-pushed
the
lake1/shared-configs
branch
from
October 6, 2026 08:49
95620d7 to
9a8cee1
Compare
systemfsoftware-maker
force-pushed
the
lake1/effect4-pins
branch
from
October 6, 2026 08:49
6532fdd to
1257804
Compare
systemfsoftware-maker
removed this pull request from stack #34
October 6, 2026 16:04
systemfsoftware-maker
added this pull request to stack #54
October 6, 2026 19:52
systemfsoftware-maker
force-pushed
the
lake1/effect4-pins
branch
from
October 6, 2026 21:56
1257804 to
4a7b602
Compare
systemfsoftware-maker
force-pushed
the
lake1/shared-configs
branch
from
October 6, 2026 21:56
9a8cee1 to
68974f4
Compare
systemfsoftware-maker
removed this pull request from stack #54
October 6, 2026 21:56
systemfsoftware-maker
added this pull request to stack #59
October 6, 2026 21:57
systemfsoftware-maker
removed this pull request from stack #59
October 6, 2026 22:13
systemfsoftware-maker
added this pull request to stack #61
October 6, 2026 22:13
systemfsoftware-maker
force-pushed
the
lake1/effect4-pins
branch
from
October 6, 2026 22:39
4a7b602 to
501e4cb
Compare
systemfsoftware-maker
force-pushed
the
lake1/shared-configs
branch
from
October 6, 2026 22:39
68974f4 to
bbe39c1
Compare
systemfsoftware-maker
force-pushed
the
lake1/effect4-pins
branch
from
October 6, 2026 23:46
501e4cb to
0b5c421
Compare
systemfsoftware-maker
force-pushed
the
lake1/shared-configs
branch
from
October 6, 2026 23:46
bbe39c1 to
758682a
Compare
check:ci no longer runs stryker. The release gate on push to main plans one shard per workspace package that declares a mutation script, refuses an empty set, and runs each shard at break 100 on the fleet with its incremental report cached. The checker drops prioritizePerformanceOverAccuracy, which stryker-js 15 removes. Operator approval: Kiro, 2026-10-05 (GATE1)
The plan and per-package mutation jobs move from the self-hosted fleet, which admits only private repositories, to ubuntu-latest. Mutation stays one parallel job per package. Operator approval: Kiro, 2026-10-05 (GATE1)
A package with a mutation script whose mutate globs match nothing reports zero mutants and passes a break-100 threshold vacuously (review finding #9). Each package now declares its globs once, as stryker.mutate in package.json; its Stryker config reads them and the release gate's shard planner expands them. The planner fails red at plan time naming the package, its directory and its globs when they match no file, including a package with no declared globs. Its Deno tests are ordinary tests: a turbo root task, test:scripts, runs them through the dev shell's deno, and both pnpm test and check:ci run it, so a local check:ci covers the planner exactly as CI does
…ns to mutate A decision is a *.workflow.ts file. When no workspace package has one, the planner emits an empty shard list and a 'No decisions to mutate' notice, and the mutation job is skipped. When decisions exist and no package declares a mutation script, it still refuses the empty set, naming how many decisions went unmutated. Kiro ruling, 2026-10-06
Every catalog entry is an exact version: effect 4.0.1, the systemfsoftware toolchain on its Effect 4 stable majors (recommended preset 4.0.0, stryker-js 15.0.1, vitest 2.0.0, gherkin-spec 7.0.1) and current tooling. minimumReleaseAge 1440 is explicit, so the policy is strict; the exclude list holds the effect name patterns and one exact entry per resolved systemfsoftware package. oxlint-tsgolint stays 7.0.2001, the exact peer the presets require. turbo 2.11 writes an agent guidance block into AGENTS.md unless agentGuidance is false, so turbo.json opts out. Grader package majors move here because they require Effect 4 stable (CONST-W3 declared)
oxlint.shared.ts, vitest.shared.ts and stryker.shared.ts hold the house settings; each package config extends them and declares only its own mutate set and aliases. Both lint overrides are gone: preset 4.0.0 already accepts Gherkin step bodies and build-config imports. The root lint file is named oxlint.shared.ts so lint-staged's nearest-config walk never treats the repository root as a package. Turbo inputs track the shared files. Operator approval: Kiro, 2026-10-05 (GATE1)
…root Root tsconfig.base.json extends the bundler/dom preset and allows exactly effect/http through the effect language service. effect 4.0.1 ships HTTP only as unstable and global-fetch-in-effect bans the fetch alternative. Operator approval: Kiro, 2026-10-05 (GATE1)
systemfsoftware-maker
force-pushed
the
lake1/effect4-pins
branch
from
October 7, 2026 01:01
0b5c421 to
445caba
Compare
systemfsoftware-maker
force-pushed
the
lake1/shared-configs
branch
from
October 7, 2026 01:01
758682a to
330df81
Compare
starter-verify F10 and F13 (Kiro ruling, cycle 35): drop workflow_dispatch so mutation runs on push to main only; the README no longer claims Cell workflows, Cell.provide, tenant-bound store ports or compile-time phase markers, and no longer tells readers to run pnpm mutation locally
Ryan's standing rule via Kiro (cycle 52): no macOS anywhere. The flake builds x86_64-linux and aarch64-linux only; dprint pins only Linux archives; the comment-checker sandbox loses its sandbox-exec branch; AGENTS.md says CI is Linux only
# Conflicts: # AGENTS.md
Conductor ruling, cycle 62: the same bump pnpm-release-management#31 took. effect and every @effect/* stay at 4.0.1; none resolves lower. tsgo 0.50.0 reports nothing new: typecheck and lint are clean uncached. @systemfsoftware/oxlint-config-recommended 4.0.0 still pulls its own @effect/tsgo 0.45.0
# Conflicts: # pnpm-lock.yaml
Contributor
There was a problem hiding this comment.
Conductor verdict: all checks green on 63786d6, 0 threads, no unchecked boxes, no starter-verify findings on this layer, hunt grep clean; squash tree == tested head tree.
Contributor
There was a problem hiding this comment.
Conductor verdict: all checks green on 63786d6, 0 threads, no unchecked boxes, no starter-verify findings on this layer, hunt grep clean; squash tree == tested head tree.
systemfsoftware-maker
dismissed
kiro-systemf[bot]’s stale review
October 7, 2026 15:45
The merge-base changed after approval.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lake 1, U5 (Evaluator) — stacked on #36.
Operator approval: Kiro, 2026-10-05 (GATE1).
oxlint.shared.ts(the recommended preset plus the strict TypeScript tier),vitest.shared.ts(packageTestConfig(aliases)) andstryker.shared.ts(packageStrykerConfig(mutate)) hold the house settings. Each package config extends them and declares only its aliases and itsmutateset.itand node imports in build configs.oxlint.config.ts..lintstagedrc.jslints each staged file under the nearest directory holding anoxlint.config.ts, so a root file with that name would turn root tooling files (commitlint.config.ts) into a type-aware lint target with no program.oxlint.shared.tsavoids that, and the setting stays in one root file.package.jsongains@systemfsoftware/oxlint-config-recommended,@systemfsoftware/stryker-jsandvitest, the three packages the shared files import. Roottsconfig.node.jsontype-checks the shared files; the package node program setsallowImportingTsExtensions(withnoEmit) so its configs can import them by.tspath at runtime.//#typecheck:nodetracks the shared files;lint,testandmutationtrack$TURBO_ROOT$/<shared file>.tsconfig.base.jsondeclares the one repo-wide unstable-API opt-in,effect/http(Kiro ruling, 2026-10-05): Effect 4.0.1 ships HTTP only under the unstable marker, andglobal-fetch-in-effectbans the fetch alternative.QA
Restack, 2026-10-06
The commit extending the opt-in to
effect/observabilityleft with the dropped traces layer (#45): it existed only for the OTLP exporter, and nothing in the trimmed stack imports that module. Gate atbbe39c1, in a clean worktree:pnpm install --frozen-lockfileandpnpm check:ciexit 0.