Repository navigation
refactor(repo): fix the four boundary escalations on main - #346
Merged
Merged
Conversation
Plans one PR that fixes F8, F10 and the two F13 rows on main: a run-stage blueprint and handle acquired at each site's current scope position, harness-owned GuestJobs types, and a rename of the Service-less harness telemetry module. Carries the report-only ce-doc-review corrections verified against main 3797deb.
Per the sub-conductor ruling: fix F8, F10, #321's mcp-server.cell.ts:146 binding and plan-request.cell.ts:259-260 sequential runs only. MCP rerun gets a blueprint-acquired stage handle; plan composes its two stage cells. Carries the report-only round-2 doc review (four DeepSeek V4.1 lenses and an omp-routed MiniMax M3.1 peer) corrections.
stryker plan runs its prepare and plan-instrument cells as one composed cell. The MCP rerun acquires its run stage through a blueprint and handle in the scope that closes with the rerun's exit. The e2e GuestJobs contract owns its mount type, the microsandbox job blueprint moves to a driver helper, and the Service-less harness-telemetry module drops its .service suffix. vitest-test-runner.ts:20 already complies since #322. Plan 1610 supersedes 0941 with the same contract on main b4db6d8.
ryanleecode
approved these changes
Oct 13, 2026
ryanleecode
left a comment
Contributor
There was a problem hiding this comment.
Root verdict on ef7e3b7: full path on ed3a6d2 with 11 lenses on DeepSeek V4.1 plus an adversarial peer on MiniMax M3.1, and no Claude or Grok. The 57-rule pack ledger has 0 violations. The pinned gritlint cell-architecture gate exits 0 on the head. Finding 1 was not accepted, per the root's no-in-process-entry ruling, and its gap is recorded. Finding 2 is intended (KTD5). The only commit after the review is the main merge ef7e3b7, which is conflict-free with an empty combined diff (git show --cc). It authors no line to review, and CI on that merged head is green. 0 threads, and no file overlaps the 4 main commits since then.
systemfsoftware-maker
added a commit
that referenced
this pull request
Oct 13, 2026
…t, wire-text stream decode Takes main through b08379d (#333, #343, #339, #320, #346, #344, #286, #348, and the gate per-project thresholds fix). Conflicts: - stryker-outputs.ts: main's labeled output list (#320) keeps this branch's two extra exclusions, each with its own label for the --ignorePatterns help: the incremental file's temp siblings (the killed-run fix) and an fs verdict store's directory. An output may now name several files. - instrument.cell.ts, plan-instrument.cell.ts: main's instrument-phase placement (#348), carrying this branch's fileContentDigests. - plan-request.cell.ts: main's planStageCell; the costs and probe schemas this branch retired stay gone, and the plan reads the one incremental file. - program-digest.integration.test.ts: this branch's config/program digest scenarios plus main's importerCheck scenario. - e2e-harness.fixture.ts, run-artifacts.fixture.ts: main's RunEventWireText decode (#339); the store-entry count stays and the checkpoint reader, with no caller left, does not come back. #286 added a local configKeyOf in ts-compiler.handle.ts, so this branch's schema export of that name becomes checkerConfigKeyOf.
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.
Summary
A grader holding this repo to the
cell-architecturepack now finds none of the four boundary escalations #321 and #322 left open onmain, andstryker plan, the MCPrerun_mutanttool, the vitest runner and the e2e lane behave exactly as before. Plan:docs/plans/2026-10-13-1610-refactor-boundary-escalations-plan.md(supersedes 0941). The next unit, T2 (versioned runner/checker protocol), waits for this PR.What changed
plan-request.cell.ts:250-251(pipeline-composition):planProjectruns one module-levelplanStageCell(Cell.andThen+Cell.mappairing{ prepared, done }) instead of two sequentialCell.provideContext(...).runcalls.vitest-test-runner.ts:20(refactor(repo): enforce cell-architecture layer placement and fix the six refused services #321 ledger): already fixed onmainby refactor(repo): move driver-backed layers beside their services #322. At117bff02line 20 imported./drivers/vitest-node.js; onb4db6d8ethe import is./vitest-node.js(:22) andgit ls-tree -r origin/main -- packages | grep -c /src/drivers/is0. No vitest file changes here.Mcp/mcp-server.cell.ts:146(service-and-layer-boundaries):runRestrictedno longer builds or provides a layer.Mcp/rerun-stage.blueprint.tsacquires the run stage (RunEnvironment.layerStage+MachineConsolecapture) insiderunRestricted'sEffect.scoped;Mcp/rerun-stage.handle.tsrunsmutationTestCellagainst it.Effect.orDiestays outside the scope.MicroVM/TestTelemetryservice modules (F8, F10):GuestJobsShapenames no driver type (harness-ownedGuestMount; one oprequireCleanExit(step, cmd, mounts)); the job blueprint moves to the driver helpermicrosandbox-job.ts, used bymicrosandbox-guest-job.tsandwarm-sandbox.handle.ts.harness-telemetry.service.ts(no Service) is nowharness-telemetry.ts.Evidence
Checks and review ran on
ed3a6d2f(baseb4db6d8e). The pushed headef7e3b7b81adds only a plain, conflict-free merge ofmainatefd19962(#340, #328, #329, #316); none of those touch a file here, and the diff againstmainis line-for-line the reviewed diff (14 files, +442 -41).turbo run typecheck api:check lint lint:tsgoforstryker-jsandstryker-e2e(package-filtered, not workspace-wide): 28/28 tasks.turbo run test --filter=@systemfsoftware/stryker-js: 21/21 tasks.dprint checkclean.packages/stryker-js/etc/stryker-js.api.mdunchanged.release.jsonc turbo.json gritlint.json flake.lock flake.nix .compound-engineering .github test/e2e-coreunchanged vsmain.gritlint0e2e07b3built from the pin,cell-architectureenrolled in a scratch config outside the repo):mainexit 0 (service-exports-no-layer: evaluated 45 file(s)); head exit 0 (evaluated 44 file(s); the rename removes one).Layer.build/Cell.provideContext/Effect.provide(inrunRestricted; no sequential stage runs inplanProject; nomicrosandboximport inguest-job.service.ts; everytest/e2e/src/Harness/*.service.tsdeclares a Service; nodrivers/import invitest-test-runner.ts.plan.integration.test.tsbyte-identical plan output,compile-error-reuse,plan-costs,plan-recorded-costs,plan-shard-reuse,plan-stream-location,plan-without-sandbox,mcp-server.integration.test.tsover the builtstryker mcp). This refactor admits no failing-first test: nothing observable changes, and the one new property (stage scope exit) has no public surface reachable without a new in-process entry, which the Q1 ruling refused.Scopeand ran a passing and a failing cell through the oldEffect.provideroute and the new blueprint/handle; both closed the stage scope withsuccess/failurerespectively. Deleted (OP12).test/e2e-corefiles.Review (ce-code-review, report-only, full path, base
b4db6d8ed27e024646e8ee6f3a7dc863dd4ba8f6)openrouter/deepseek/deepseek-v4.1-flashopenrouter/deepseek/deepseek-v4.1-flashopenrouter/deepseek/deepseek-v4.1-flashopenrouter/deepseek/deepseek-v4.1-flashopenrouter/deepseek/deepseek-v4.1-flashopenrouter/deepseek/deepseek-v4.1-flashopenrouter/deepseek/deepseek-v4.1-flashopenrouter/deepseek/deepseek-v4.1-flashopenrouter/deepseek/deepseek-v4.1-flashopenrouter/deepseek/deepseek-v4.1-flashopenrouter/deepseek/deepseek-v4.1-flashminimax-code/MiniMax-M3.1-Flash-PreviewPeer:
omp -p --model minimax-code/MiniMax-M3.1-Flash-Preview --tools read,grep,glob(read-only), 8 tool calls. No Claude or Grok model served any pass.GuestJobs, so a substitutedGuestJobsstops covering warm bootsGuestJobs.Pack rule ledger (57 rules, 0 violate)
cell-architecture/callable-vs-resource-syntaxcell-architecture/handle-state-privacycell-architecture/pipeable-dual-paritycell-architecture/pipeline-compositioncell-architecture/resource-vs-handle-dualitycell-architecture/scoped-lifecycle-boundariescell-architecture/service-and-layer-boundariescell-architecture/staged-lawful-buildersboundary-testing/port-fakes-pass-the-port-contractpackage-topology/import-time-inertnesspackage-topology/surface-changes-are-versionedNot applicable: learnings-cell: 7; learnings-testing: 19; learnings-topology: 20 — cell-architecture/decode-never-cast, cell-architecture/four-channel-contracts, cell-architecture/pure-decision-workflows, cell-architecture/sandwich-phase-order, cell-architecture/single-namespace-barrel, cell-architecture/store-serializable-unit-of-work, cell-architecture/store-unit-of-work-handle, boundary-testing/expected-values-never-come-from-the-subjects-output, boundary-testing/fake-and-real-store-laws, boundary-testing/no-mocks-on-internal-glue, boundary-testing/pin-dependency-semantics, boundary-testing/real-system-oracles, boundary-testing/staged-protocol-evidence, schema-laws/arbitrary-filter-floors, schema-laws/cross-field-invariants-as-struct-checks, schema-laws/data-only-schema-classes, schema-laws/invariants-as-refinements, schema-laws/law-failure-is-a-codec-defect, schema-laws/recursive-schema-suspend, schema-laws/refusals-beside-generated-laws, schema-laws/rich-type-over-foreign-encoded, schema-laws/tagged-unions-over-state-by-presence, schema-laws/tests-own-no-schemas, mutation-discipline/kill-survivors-with-contract-properties, mutation-discipline/suppress-by-shape-in-an-ignorer, mutation-discipline/unkillable-survivors-are-dead-code, package-topology/condition-branch-agreement, package-topology/declared-entry-points, package-topology/enumerated-entry-modules, package-topology/one-access-path, package-topology/public-signature-types, ci-wall-clock/failures-name-the-gate-and-location, ci-wall-clock/flake-outputs-build-once-on-main, ci-wall-clock/gates-share-one-job, ci-wall-clock/heavy-lanes-state-their-daily-minutes, ci-wall-clock/heavy-suites-judge-every-main-commit, ci-wall-clock/light-checks-run-the-pinned-tool, ci-wall-clock/local-gate-equals-pr-gate, ci-wall-clock/no-dev-shell-on-verdict-lanes, ci-wall-clock/no-lane-grades-the-repos-own-docs, ci-wall-clock/one-stuck-job-backstop, ci-wall-clock/pr-gate-runs-only-what-the-diff-affects, ci-wall-clock/red-main-reverts-its-culprit-same-day, ci-wall-clock/release-promotes-the-staging-proven-build, ci-wall-clock/setup-under-a-minute, turbo-task-graph/selection-and-caching-go-through-turbo.
Known gaps (recorded, not fixed)
stryker mcp:mcp-server.integration.test.ts:44runscleanTempDir: 'always'. Settled in process only (probe above).:215-220).maine2e lane (typecheck and lint here).*.service.tsfiles; F7 (GuestJobFailure'sMicroVMcause union); other F13 stage bindings (plan-request.cell.ts:253,Serve.cell.ts:166,run-request.cell.ts:159,audit-request.cell.ts:200); three unescalated binding sites (run/prepare.cell.ts:62,Serve/Serve.cell.ts:569,Reporter/reporter.service.ts:44,67).Pre-push checks (OP13b)
Both failed for reasons outside the product: the stacked check needs
gh stack init, which refuses because this branch's worktree is registered at a path the container cannot reach (repair was not authorized); the overlap check names other streams' PRs below. Neither reflects a defect in this change. The repository's own pre-push hook passed on the pushed head (tip containsmain;single-plan: holds - 1 plan(s) added).Overlap with other open PRs
#298 (
Mcp/mcp-server.cell.ts), #296, #289, #287, #271 (plan-request.cell.ts; #271/#289 alsofixture-cache.service.ts,warm-sandbox.handle.ts; #287microsandbox-stryker-cli-runner.ts). Whichever lands second mergesmain.CI
Running on
ef7e3b7b81636434d1df75f2cbf963a2e1878779; this line is replaced with the run ids and conclusions when they finish.