fleetd #612 A-gaps: coordinator path + reportRoleFallbackGaps inside the assembly boundary #624
Reference in New Issue
Block a user
Delete Branch "worker/612-agaps-73a926-2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes the two A-gaps an architect found in PR #620 (fleetd #612), per the lead's ticket comment "Lead decision on the re-sequencing":
Gap 1 — coordinator path never exercised.
FleetdAssemblyLifecycleTestleftcoordinator:unset, soleadMailbox/leadCoordLoopstayed null. GeneralisedFleetd.LeadMailboxOpener(andFleetdRuntime's field) from the concreteLeadMailboxto a newLeadChannelHandle(LeadChannel+AutoCloseable) —FleetMcp/LeadCoordLoopalready consumed the narrowerLeadChannel, so this only widens the owner's seam.FleetdAssemblyCoordinatorLifecycleTestdrivesFleetdAssembly.assembleAndStartwith a realcoordinator:block and a fake closeable channel, and proves the assembly builds it and shutdown closes it.Gap 2 — a call outside the assembly boundary.
Fleetd.java:185calledreportRoleFallbackGaps(cfg)(andassertChartersNameOnlyRegisteredTools(cfg)) betweencfg.validateAll()and theFleetdAssembly.assembleAndStart(...)call — outside the boundaryFleetdAssemblyLifecycleTestdrives, so deleting either call compiled clean and left the suite green. Moved both intoFleetdAssembly.assembleAndStart, immediately aftercfg.validateAll(), in the same relative order, before any I/O.FleetdAssemblyRoleFallbackBoundaryTestpins the moved call behaviourally (captured log output), not source text.Both new tests were verified red under a targeted mutation and restored (see the hand-off for the pasted output):
leadMailbox.close()inFleetdRuntime.close(), and (b) forcedleadMailbox = nullin the assembly — each turned the new test red on its own assertion.Fleetd.reportRoleFallbackGaps(cfg);fromFleetdAssembly.assembleAndStart— turned the new test red.Expected non-green build (per the lead's brief — do not fix):
mvn clean installfromfleetd/reportsTests run: 1880, Failures: 9, Errors: 0, Skipped: 0, BUILD FAILURE. All 9 are the known source-text tests that readFleetd.javaand assert on text Unit A (PR #620) moved intoFleetdAssembly.java:FleetdCompletionResolverWiringTest(4),FleetdBackendQuarantineWiringTest(1),FleetdLeadRolloverWiringTest(1),FleetdLeadSeatWiringTest(1),FleetdConnectionIdentityConstructionTest(1),FleetdFleetAppConstructionTest(1) — same 9 as the lead's own measurement, no new failures. Not touched, per the brief.Out of scope, reported not fixed: the five report calls in
Fleetd.mainbeforecfg.validateAll()(reportRequiredSecrets,reportGitHostShape,reportMemberTrustModel,reportMemberCredentialsGap,reportExhaustedPatternGap) are already pinned end-to-end byFleetdStartupReportTest(drivesFleetd.mainitself).guard.assertPrimaryClean(System.getenv())inFleetd.main, however, has the same shape gap 2 did: nothing drivesFleetd.mainwith a tainted environment to prove this call site itself still runs (onlySubscriptionGuardTesttests the method directly). Flagging for the lead to scope — not moved or fixed here.Base branch is
worker/fleetd-612-unita-87807e-1(PR #620), notmain, per the brief.