Mesh view says 'Could not reach the mesh' in production #229
Closed
opened 2026-10-16 05:39:04 +00:00 by kayg
·
84 comments
No Branch/Tag specified
main
j470b-server-mesh-rejoin
mesh-compat-382
j444b-d381-key-wins-flood
j461b-macos-utun-reader-thread
j475b-remove-host-motion
fix-reconnect-new-link
j481-d380
dev
j479-mesh-soak
fix/j476-host-facts
j475-motion-pill-split
j470-mac-node-join
root-upgrade-d376
j474-review-merge
latency-targets-120hz
nightly-suite-shards
gotatun-pin-j469
macos-utun-reader-thread
fix-flood-echo-stall
wip/j416
motion-fast-ease-out
mesh-addhost-j259
takeover-close-terminals-d368
kbd-instant-followups
fix-trust-key-double-click
nightly-suite-partial-report
appwin-icons-j207
rusqlite-slice1
swipe-content-first-d374
mesh-mtu-381
addhost-instant-open
glass-contrast-d365-mock
glass-contrast-d365
signout-followups-442
fix-startup-toast-red
research-gotatun-matrix-j317
themes-sync-j304
fix-load-flakes
fix-nix-zig-patch
fix-compute01-browser-baseline
ratchet-size-baseline-419
predict-auto-d130
revoke-coverage-d367
nightly-suite-queue-timeout
nightly-browser-suite
fix-rustsec-2026-0459
fonts-ioskeley-obel
log-retention-d375
fix-kbd-no-anim-427
fix-dev-red-specs-2
takeover-proof-305-j205
wip/j410-server-pump
ui-consistency-d372
fix-osc52-clipboard
libghostty-vt-1.0
forget-retired-host-d369
j404-merge-426
fix-setup-lock-race
fix-touch-select-426
revoke-access-report-ui
fix-predictive-echo-specs
fix-selinux-agent-exec
wip/j395-checkpoint2
wip/j395
j391-review-scratch
ui-consistency-j195-deferred-rebased
fix-rustc-paths-421
decisions-wording-341
fix-install-suite-red
fix-dev-rtt-specs
fix-pending-removal-align
fix-privileged-skip
fix-install-suite-404
review-j368
mesh-dns-j254
revoke-access-report-d356b
revoke-privilege-round5
fix-removal-confirm
review-j360
gotatun-rotation-367
deps-refresh-340
review-j354
review-J351
review-j350
addhost-takeover-d359
revoke-report-items-347
revoke-end-sessions-d362
review-j348
size-mesh-ssh-346
size-trim-337
revoke-access-diff-d356
j259-pre-rebase-b06c5a6
j305-ended-at-start-spec
addhost-sudo-consent
fix-layout-real-specs-411
fix-shell-open-411
fix-console-hosts-373
fix-shell-exit
fuzz-host-name-353
fix-host-details-410
macos-filter-j197
research-gotatun-tricks
revoke-p3-j216l
stale-state-pill
revoke-followups-j216k
revoke-progress-j216e
backup/macos01-20261106/lume/j197
backup/macos01-20261106/lume/appwin-icons-j207-stash0
backup/macos01-20261106/claude/stash-0
backup/macos01-20261106/claude/stash-1
backup/macos01-20261106/claude/J80-macos-s1
backup/macos01-20261106/claude/J80
backup/macos01-20261106/claude/J80-slice1-20261102
backup/macos01-20261106/claude/J16b-appwin-on-dev
backup/macos01-20261106/claude/appwin-launch-idle-146
backup/macos01-20261106/claude/J80-s1-run
wip/j259
trust-285-p3c
runtime-lock-j216f
mesh-ssh-p3-j175
tun-proof-p3b
trust-285-p3
terminal-polish-j271
tun-proof-p3
ssh-install-flakes-j216i
fuzz-fixes-j264
trust-285-a
trust-285-b
restart-oversized-fixture-j198
backup/macos01-20261106/lume/appwin-icons-j207
restart-bound-j216h
up-preflight-p3-j198
backup/macos01-20261106/lume/j251
up-preflight-j198
wip/up-preflight-j198-j245-p2
wip/up-preflight-j198-j245-p1
agent-fsync-offloop-j196
wip/up-preflight-j198-j245
settings-offscreen-j231
wip/up-preflight-j198-j226-inspection
wip/j103f
themes-j206
wip/up-preflight-j198-j226
flakes-j216c
backup/macos01-20261106/claude/j197
flakes-j216b
backup/macos01-20261106/claude/j197-red
wip/up-preflight-j198-review
flakes-j216
backup/macos01-20261106/claude/appwin-icons-j207
engineering-j208b
appwin-mock-j209
toast-stack-j165
engineering-j208
decisions-d351
decisions-d350
decisions-d349
appearance-presets-mock-j129
decisions-d348
docs-audit-spec
doc-coverage-baseline-raise
decisions-d347
decisions-d346b
decisions-d346
j88h-profile
ui-consistency-j195-deferred
ui-consistency-j195
engineering-practices-j194
preferred-login-ui-j166
signin-pools-263-j174
macos-node-265-s1
decisions-d345
decisions-d344
proxy-cgroup-j164
verify-quick-fuzz-329
proxy-start-io-j168
timing-flakes-j163
up-263-s1
mcp-events-j147
verify-quick-fuzz-j158
proxy-p3-j159
agent-resource-j157-detect
wip/j103d-final
remote-cancel-hang-j155
proxy-traefik-281-j62d
j149-verify-quick
proxy-traefik-281-j62b
j150-drop-unnamed
wip/j79d-red-r4
wip/j103d-d332
rootless-toast-j142
wip/j103d-head
wip/j103d
j125c-mcp
macos-build-j136
backup/macos01-20261106/claude/j136
wip/j79d-red-cli
wip/j79d-red-server
j121-link-liveness
j118c-tracer-failures
wip/j79c-head
release-desktop-j131
j124c-signed-macos
wip/j79c-red-p3
wip/j79c-red-p23
wip/j79c-red-p22
merge-j128-check
perf-deferred-j128
sidebar-toggle-260
j127-shortcut-changed-dot
j125-mcp
j118-tracer-failures
j126-account-summary
settings-sections-mock-j92
j120-pinch-lock
sidebar-292
backup/macos01-20261106/claude/j120
taste-2026-11-03
row-actions-242-215
backup/macos01-20261106/claude/stash-0-untracked
backup/macos01-20261106/claude/J80-265-s1-run
backup/macos01-20261106/claude/J80-macos-s1-20261102
j112-canvas-commands
ui-no-overshoot-scroll
fix-recovery-restart
backup/macos01-20261106/claude/stash-1-untracked
taste-2026-11-02
size-baseline-ratchet
machine-cards-structure-j108
j109-boot-copy-mockups
fix-dev-red
wip/up-263-s1
j95b-settings-rows
proxy-traefik-281
j95-option-rows
docs-human-j91
docs-keys-palette
fix-flood-1013-270-j38d
mesh-ssh-s1
mesh-ssh-s0
addhost-d291-tunnel
test-stability-load
mesh-relay-220
repro-296
shim-thp-off-24
mesh-pins-258-v2
mesh-dns
signin-d311-merged
docs-pages
ui-size-283
fix-ui-batch-specs
wip/j12b-edge-update
gate-on-arm
fix-rename-sync-293
trust-285-j60b
fix-focus-ring-clip
integ-ui-1101
edge-update-v2
signin-d311
taste-2026-11-01
layout-per-tab-250
ui-approved-splitopt-224
ui-approved-splitopt-224-on-dev
icon-text-centre-282
ui-approved-189-212-216
research-reverse-proxy
transfer-budget-320
review-mesh-pins-258-r2
sidebar-pill-259
review-mesh-relay-220
wip/j12-edge-update-v2
nix-package
status-crash-loop-237
fix-dev-test-failures
fix-fixture-socket-path
wip/mesh-relay-220-pre-dev-advance-rebase
fix-canvas-side-clip
research-head-to-head
frosted-real-256
review-mesh-pins-258
wip/mesh-relay-220-pre-final-rebase
review-layout-per-tab-250-r2
broad-suite-triage
nix-devshell
review-status-crash-loop-237-r3
wip/nix-devshell-pre-p3
taste-frosted-real
wip/code-serve-demo-2026-10-30
wip/code-serve-glass-2026-10-30
wip/code-serve-clusters-2026-10-30
wip/code-merge-release94-dev-2026-10-30
wip/rproxy-delta-scratch-2026-10-30
wip/stale-note-257-staged-2026-10-30
wip/d241-size-staged-2026-10-30
review-broad-suite-207
wip/mesh-pins-258-pre-split
wip/mesh-relay-220-pre-rebase
mesh-measure-220
plan-211-update
review-edge-autoupdate-r3
perf24-reconnect
review-stale-note-r2
release-prod-live
d241-shell-marker
review-mesh-pins-server-258
review-revocation-r3
review-setup-token-r2
review-sync-journal-r3
wip/review-mesh-pins-258-prune-review-1995fee46
frosted-scroll-256
sync-journal-r3
revocation-per-account-wip
review-tokio-asyncfd-0386
review-sync-p3s
wip/stash-8by64-stash0-2026-10-30
mesh-drag-r2
setup-token-data-wip
release-9-4
auth-busy-1013
mesh-view-overlap
sync-p3s
review-auth-busy-wake
review-readd-r8-wip
mesh-drag-bounds
audit-auth-93
app-windows-stream-start
review-authority-cap-r3
app-windows-r7-measure
readd-minimal-r6
readd-minimal-r5
app-windows-r7-soak
readd-minimal-r4
app-windows-r7
app-windows-r6
readd-minimal-r3
readd-minimal-r2
readd-minimal
merge-release8-dev
review-busy-page-liveness-r2
review-busy-page-liveness
mesh-view-trim
review-authority-read-retry-r2
review-remove-uninstall-r2
release-retry-reattach
release-retry
review-remove-uninstall
review-authority-read-retry
app-windows-ship
mesh-autoswitch-p2
mesh-ssh
mesh-relay
mesh-macos-node
screen-and-control
session-labels
review-real-logins-r5
review-real-logins-r4
review-real-logins-r3
shim-memory-r2
review-real-logins-r2
shim-memory
shadow-addhost-instant
shadow-real-logins
shadow-same-session-flood
shadow-prod-perf-fix
hosts-from-server
app-windows-real
app-windows-transport
release-prod-6w
mesh-policy-verify
quiet-close-toast
dev-merge-r4
review-mesh-agent-transport
review-app-windows-transport
settings-roundtrip
review-release-pipeline-r4
mesh-agent-transport
ended-strip-fix
review-audit-ca-update-d244
settings-rows
phone-width
signout-clear
fix-restart-tests
dev-merge-rp
signer-hardening
review-audit-ca-update
terminal-fidelity
review-audit-ca-update-wip
mesh-integrate
review-mesh-agent-transport-515d3712
review-mesh-dataplane-feec1988
mesh-dataplane
signout
research-canvas-node
wip/review-renderer-cost
wip/review-terminal-fidelity
padlock-glyph
review-release-pipeline-2e95b689
phone-polish
sidebar-polish
inbox-generic
review-mesh-dataplane-378d4055
prod-batch
ui-inbox
ui-ca-unlock
ui-machine-sections
review-mesh-dataplane-a5f744fb
tls-session-prod
session-bounds-prod
fix-dead-session
session-bounds
tls-session
palette-polish
shortcuts-d222
research-appmeta
phone-gutter
ui-centre-button
wip/ui-centre-button
wip/tls-session
review-addhost-breakit
ui-platform
renderer-cost
remote-agents
mesh-api
ssh-bootstrap
prod-hotfix2
prod-fixes
review-remote-agents
review-mesh-dataplane
session-life
research-browser
review-mesh-api
research-capture
review-mesh-api-round3
review-mesh-api-round1
gate-stability
review-gate-stability
review-relay-direct
review-mesh-api-findings
proto-sessions
font-picker
proto-addhost
proto-windows
mesh-core
latency-gate
research-bsd
research-discovery
keytray-mods
mock-core
ui-tweaks
fix-motion-sel
fix-motion
integrate2
fix-robust
t-web
t-server
vt-ghostty
fix-snap-echo
t-web-auth
review-vt2
t-agent
lane-protocol
lane-shim
lane-auth
s1-base
s1-contracts
s1-workspace
No results found.
No labels
launch-qa
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
kayg/infraternal#229
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Owner screenshot 2026-10-16 ~11:30–11:45 IST (production: binary
492e1505adeployed 10:07 IST, webf210a4f25swapped ~11:30 IST, CA unlocked 10:54 IST): the Mesh view shows "Could not reach the mesh — Check your connection. It will try again on its own. [Try again]" with no map.Client: apps/tracer/src/canvas/mesh/api.ts sets status "error" when
client.list()rejects with anything other than a refusal (refusals other than "mesh unavailable" → "unavailable"), or when the watch ends with an error other than "forbidden". Server: "mesh unavailable" comes from MeshApiError::Storage (crates/plugins/mesh/src/api.rs, socket.rs) and from saturated subscription refusal; the server journal shows no line for it.Starting mesh-unreachable on branch mesh-unreachable at base
f210a4f250(origin/release-prod-live). Read #229 (no comments or linked parent). Reproducing the production-shaped Mesh on the authorized perf VM, tracing client error and server Storage paths, then adding regression tests and atomic fixes. No production access or deploy.Static path audit at
f210a4f25: mesh.list -> MeshService::list_with_deadline -> read_snapshot only reads public SQLite inventory and permissions; it has no CA signer dependency (crates/plugins/mesh/src/api.rs:740-791,1658-1749). MeshPlugin construction/run has no CA readiness check (socket.rs:29-150); production attaches the local node independently (runtime.rs:602-616). Therefore a locked signer alone is not yet an established explanation; release-browser reproduction is pending the clean baseline build.Confirmed observability gap: map_sql_error discards database error details (api.rs:1927-1937); all explicit Storage conversions in api.rs/settings.rs/store.rs discard validation/serialization/load reasons. The public response is correctly sanitized, but there is no diagnostic. Added a failing-before test requiring reason + source location while excluding stored values, and browser cases for cold restart/unlock, invalid stored host name, missing table/repair, and disabled/re-enabled Mesh. No production access used.
Confirmed recovery defects in apps/tracer/src/canvas/mesh/api.ts: watch-triggered list/page failures emit an error while MeshClient retains its subscription; the view discarded stopWatch without calling it, so a successful retry adds another watch and disposal leaks the old one. Also, a synchronous subscription refusal was overwritten by the returned stop handle, preventing a replacement watch. These are real retry/lifecycle bugs; the original production failure trigger is still unconfirmed.
Failing-before tests (api-recovery.test.ts): 0 pass / 2 fail; failed refresh retained 1 watch where 0 was required, synchronous refusal made only 1 subscription attempt where retry required 2. Fixed ownership and single retry-timer scheduling: 2 pass / 0 fail / 22 assertions; four failure/recovery cycles keep 0 watches on error, 1 on recovery, 0 after disposal. Receipts will be attached with the release reproduction. No new UI material or styling.
Completed client recovery step:
3c6ea0c9a(pushed mesh-unreachable). TypeScript check passes; Mesh unit/protocol suite: 48 pass, 0 fail, 9579 assertions. Two new ownership regressions fail before and pass after. Browser/release reproduction and server Storage diagnostics remain in progress; this is not final qualification.Follow-up invariant from the wire contract: there is no unsubscribe frame. Releasing only the browser handle before retry would still leave a server-side watch. The fix now distinguishes a local refresh failure (subscription remains active) from a server withdrawal. It retains the existing watch for local failures, releases withdrawn watches, and resubscribes only after withdrawal. No wire/schema change. The corrected baseline regression fails because retry grows the watch set from 1 to 2; head keeps exactly 1 through four cycles and 0 after disposal. Added the equivalent production-build browser test to count installed watches. Synchronous-refusal regression still fails before/passes after.
Completed wire-lifetime refinement:
e2e63075d(pushed mesh-unreachable). The client now retains one installed server watch on local refresh errors and replaces only withdrawn watches. No unsubscribe frame, ID reuse or server subscription contract changes. TypeScript compiler checks pass; Mesh suite remains 48 pass / 0 fail / 9579 assertions. Chromium baseline regression is queued on the perf-VM lock; native baseline release is still building on the build host. Server diagnostics/regression work remains uncommitted and not final-qualified.Client regression receipts for
e2e63075d: baseline 0 pass / 2 fail (retry duplicates the installed watch; synchronous refusal blocks re-subscription). Head: 2 pass / 0 fail; combined Mesh unit/protocol suite: 48 pass / 0 fail / 9579 assertions. These are functional counts, not build-host performance claims.client-retained-before.log
client-retained-after.log
client-retention-checks.log
Baseline backend regression is confirmed: storage_diagnostics::storage_failures_have_safe_reasons_and_recover_after_repair fails with 0 diagnostics for 5 Storage results. Exercised missing mesh_grants table, negative stored node ID, invalid stored ports JSON, an oversized tag item, and absent server binding; repaired list reads succeed. Baseline release test output is retained for attachment. Existing error sanitization is preserved.
Adding an optional server-only direct edge to tracing, which is already in the production dependency/feature tree. Cargo.lock changes only the Mesh package's existing dependency list; no crate versions or new transitive dependencies. Diagnostic implementation will use fixed categories and source location, excluding driver messages, SQL and stored values. Baseline stripped static x86_64 binary: 21,421,840 bytes; final branch delta remains to be measured.
Reproduction complete on authorized perf VM (4 vCPU), release base
f210a4f25+ its production web, administrator passkey sign-in:Completed/pushed:
5999d3babcancels obsolete retries (49 Mesh unit/protocol tests, 9583 assertions);24c651dfaadds only the server-only edge to existing tracing (fmt, all-target release clippy and Mesh tests pass; no new packages/versions). API diagnostics are now in the iterate gate; coordinator-store and settings logging will be committed as separate module slices.Baseline scale receipt (same VM, load 1.57/0.65/0.44): 1,000 nodes, 100 tags, 3,000 access rules, 10,000 memberships, 50 authorization identities; 200 sequential list samples: p50 65.733 ms / p99 81.504 ms; 100 x 50-viewer fanout samples: p50 3.642 ms / p99 10.904 ms; final RSS 12,944 KiB. This is baseline evidence only; branch comparison remains pending.
base-real-browser-r2.log





base-browser-retention.log
head-browser-recovery.log
storage-before.log
base-native-scale.log
path-matrix.md
The new-web/base-binary compatibility run has waited 45 minutes for the perf-VM lock; continuing to wait. Current owner file (verbatim):
Native work continues: workspace clippy passed; the expected stored-column panic and unreadable-name regressions failed before repair. The snapshot reader now uses fallible column decoding and validates stored host names; its focused native gate is running. No production access or deploy.
New web bundle + baseline production Rust binary: all 5 Chromium cases pass on the perf VM (cold CA/unlock without second restart, invalid stored name, table repair, feature re-enable, saturated subscriptions). No compatibility cause found.
Additional native regressions now prove two stored-row defects before repair: a BLOB in mesh_nodes.name panics the snapshot reader; an empty stored name returns a successful snapshot the client cannot parse. The reader is now using fallible decoding and stored-name validation. A focused native gate is running before that module commit. Existing workspace server tests: 449 pass; only these new cases plus a diagnostic-category expectation failed in the first iteration; the category is now correctly identified as the counting writer frame limit.
head-web-base-binary.log
stored-row-before.log
Completed API diagnostic/row-decoding slice:
7bea98e0a(pushed). Static reason + source location now accompanies every API Storage construction; SQL uniqueness/FK semantics and fixed public replies are preserved. Snapshot columns decode fallibly, and stored host names use the existing writer validation. Before: BLOB host panicked; empty host returned an unreadable successful snapshot; 5 Storage results produced 0 diagnostic events. After: controlled Storage, safe reason, repair resumes reads. Four distinct API failures produce exactly 4 ERROR events, excluding stored markers. fmt + touched-crate clippy PASS; focused Mesh API result:24 passed; 0 failed; 2 ignored. Coordinator and settings diagnostics are the next separate commits; final release/performance/full gate pending.Completed coordinator slice:
6e834191e(pushed). Loading now preserves typed storage causes and reports static reasons at their origin; malformed stored columns refuse without a reader panic. Public attach contract unchanged. Before regressions: missing server produced 0 logs, BLOB host panicked. After: one safe original reason per failure; repaired host compiles successfully; closed pool is distinguished. fmt + touched-crate clippy PASS; 24 active plugin tests PASS; Mesh API:26 passed; 0 failed; 2 ignored. Settings slice next.Completed settings slice:
cc0a57fdf(pushed). Default read/update Storage failures now preserve safe original reason categories; owner/fresh-session/transaction ordering unchanged. Before: closed-pool refusal emitted 0 diagnostics. After: exactly 1 database-pool-closed diagnostic at settings.rs. fmt + touched-crate clippy PASS; 24 active plugin tests PASS; Mesh API:27 passed; 0 failed; 2 ignored. All explicit Storage construction now occurs in the diagnostic helper; socket.rs only maps the public error. Building final client/native artifacts next.Completed browser regression slice:
bd7c154a7(pushed). TypeScript check and 23 focused client/protocol tests PASS; production and preview bundles rebuilt. Tests cover the cold CA sequence, controlled production-shaped inventory, invalid row/repair, missing table/repair, plugin restart, subscription admission, and watch recovery. Final native artifacts are building for the exact-head matrix and paired VM scale comparison. Module before/after receipts:api-diagnostics-gate.log
store-before.log
store-after.log
settings-before.log
settings-after.log
client-final-gate.log
Completed client error-path test slice:
ce03aebfd(pushed). 12 recovery tests / 62 assertions PASS; TypeScript PASS. Explicitly covers list rejection for transport close/deadline/JSON error, Storage refusal, access refusal, invalid stored host, and server watch withdrawal for forbidden/storage/worker errors. Wire-supplied subscriptionActive is ignored. These are source-boundary state tests, not real socket timing claims. Stripped static x86_64: base 21,421,840 B, head 21,429,840 B, delta +8,000 B with unchanged release recipe; ARM build and final gates pending.client-path-matrix.log
static-size.txt
Final native release + final production web: all 5 real-server Chromium cases PASS on perf VM (4 cores, load 0.10/0.62/0.77). Cold CA restart/list succeeds while locked; real passkey unlock succeeds with no second restart. Invalid stored name now returns logged Storage rather than an unreadable success; UI error recovers after row repair. Missing table/repair and disabled/re-enabled Mesh recover automatically. Subscription saturation refuses only the saturated socket; a separate browser remains ready. Controlled public inventory/observations, not real remote-daemon or network-traffic coverage. Screenshots attached for orchestrator visual review; no self-assessed visual-quality claim. Original production trigger remains unconfirmed.
head-real-browser.log



Both stripped shipping builds complete. x86_64 21,429,840 B vs identically built merge base 21,421,840 B: +8,000 B. ARM 19,607,712 B vs inherited exact cap 19,594,856 B: +12,856 B. No package versions or release profiles changed; diagnostics reuse server tracing. Updating D243/D264 exact caps to these measured artifacts (no slack); exact/+1/shrink/unsupported-target size checks all PASS. Native paired scale comparison and full fast gate remain pending.
Completed real-SQLite admission coverage:
30a2388f7(pushed). Added controlled writer contention, read-only pool and exhausted one-connection pool; the Mesh adapters return Storage with exactly the three expected safe reasons, then normal reads succeed. No host limit/storage/load changes. fmt + touched-server clippy PASS; all 7 diagnostic tests PASS. Exact final optimized test artifact is rebuilding; both shipping binaries/caps are already measured and boundary-checked. Final full fast and paired VM comparison remain pending.Final qualification running on head
30a2388f7: scripts/verify fast through the build-slot wrapper (one slot-wrapped command for this job), CARGO_BUILD_JOBS=3, RUST_TEST_THREADS=1, unique TRACER_TEST_PORT=4429 and owned short runtime root. Final optimized scale binary built with the same release/musl/server-remote recipe as base. Paired VM measurement is queued behind the existing lock holder. Author path inventory and additional functional/size receipts:storage-sites.md
client-complete-unit.log
size-boundary.log
The host client test receipt is functional evidence only; timings printed by the test runner are not performance claims. SQLite format/I/O/full and unreachable serialization/arithmetic boundaries were audited, not all forced at runtime. No production access or original-trigger claim.
First full fast qualification failed 7 CLI restart/security tests because my short runtime root was a symlink to the longer job directory. Trusted-path checks correctly returned PermissionDenied or detected canonical-path mismatch. This is a harness error, not a host-load exception: replaced only the owned alias with a real private directory (0700), retained the failed gate receipt, and reran full fast on unchanged head
30a2388f7. No source or check was weakened. Other Rust rows, including both static linkage/key-memory/size checks, passed.fast-runtime-alias-failed.log
Final client release browser: 2/2 PASS, including four failed-refresh/recovery cycles retaining exactly one watch and pushed recovery cancelling retry. First paired native scale window (4-core perf VM, 1,000 nodes / 100 tags / 3,000 rules / 10,000 memberships / 50 viewer identities; 200 sequential list samples and 100x50 receiver fanout, not 50 concurrent list calls):
Load (1m) rose 0.14 to 1.35 over the window; full 1/5/15m values are in raw output. Fixture RSS growth from each process baseline: base 3048–3076 KiB, head 3064 KiB; fixed test-process RSS differs, so this is not a production-server RSS delta. Receiver retained size stays 16 B each ×50 =800 B. One head tail outlier is retained; p50 ranges overlap. Queued another short paired run to resolve the tail variation; no stable tail-regression/improvement claim yet. Full fast rerun has passed the previously failed restart/security tests using the real private runtime directory and is continuing through workspace tests.
head-final-client-browser.log

sqlite-admission-gate.log
Metric scope clarification from the unchanged benchmark implementation:
list_p*times oneMeshService::listpage (the underlying read still sees the 1,000-node/3,000-rule inventory), not complete browser pagination. Fifty authorization identities rotate through sequential samples. The 16 B ×50 =800 B value is the receiver struct footprint, not a full channel-heap memory estimate; process RSS and its baseline are separately reported. No concurrent-viewer throughput or complete-canvas latency claim.Full fast rerun on
30a2388f7passes the corrected restart tests and all new Mesh tests, but server tests report 455 PASS / 1 FAIL / 48 ignored. Sole failure: auth::tests::socket_tests::restart_open_liveness_review::responsive_socket_survives_a_held_terminal_open_with_an_existing_attachment, socket_clock.rs:81socket test stopped before its observed event. Every other Rust row, including both static builds/linkage/key-memory/size, PASS. Applying the #118 host-load rule: created an owned detached origin/dev baseline at190bf088dand queued the exact test with the same private runtime root, recording load before/after. No auth code/check/timeout changed; full-gate PASS is not claimed.fast-auth-socket-failed.log
Auth socket comparison: exact test PASS on detached origin/dev
190bf088dand PASS on unchanged head30a2388f7in the same host-load period. Loads recorded in both outputs. Therefore the #118 same-failure exemption is NOT established or claimed. Serial full-gate failure is retained. Rerunning full fast with the repository default test parallelism (removed only my RUST_TEST_THREADS=1 override), keeping the actual private short runtime root, CARGO_BUILD_JOBS=3 and TRACER_TEST_PORT=4429. No code, assertion, skip or timeout changed.auth-socket-baseline.log
auth-socket-head-isolated.log
Full scripts/verify fast PASS (exit 0), unchanged head
30a2388f73. Actual private runtime root, repository default test parallelism, CARGO_BUILD_JOBS=3, TRACER_TEST_PORT=4429. No exemption, assertion/timeout change or skipped gate. Server suite: 456 PASS / 0 FAIL / 48 ignored diagnostics. Tracer tests: 203 PASS / 0 FAIL; protocol: 37 PASS / 0 FAIL; both compilers, bundle transfer checks and both static/key-memory/size checks PASS. Full unmodified output attached.final-fast.log
Perf confirmation/exact-bundle compatibility rerun remains queued; finish/cleanup comment follows after it. Earlier harness and serial-context failures remain attached, with baseline/head isolated comparison.
Confirmation on 4-core perf VM, same release recipes and workload. Load 1m/5m/15m recorded in the receipt (window starts 0.96/1.55/1.04). No build or copying while our measurement lock was held.
Across both windows, list-page p50 ranges overlap (base 71.805–101.543 ms; head 67.525–79.383 ms). The confirmation pairs do not reproduce the earlier head slowdown. Tail variability remains: retain the earlier head p99 296.530 ms; no stable timing-budget/improvement claim. Workload RSS increase from each process baseline remains about 3 MiB (head 3052–3080 KiB); fixed process RSS is separately shown, not attributed as production-server growth. Same 1,000 nodes, 100 tags, 3,000 rules, 10,000 memberships, 50 rotating identities, 200 sequential page samples, 100×50 receiver fanout. No concurrent-list, full-canvas or real remote-daemon traffic claim.
Exact final full-gate production web bundle (embeds
30a2388f7) passes all five real-server cases with BOTH the production-base Rust binary and repaired binary. Cold CA view is readable while locked and after a real passkey unlock without a second restart. Repaired stored rows/storage/plugin toggles self-recover. Final mobile/cold-locked screenshots attached for orchestrator visual review. Full fast already PASS; cleanup follows.native-pair-confirm.log


static-size.txt
Finished implementation and qualification. Branch mesh-unreachable, pushed head
30a2388f73; worktree clean and matches origin/mesh-unreachable. No deployment or production access.Real fixes: retain one watch across failed refreshes, release actual withdrawals (including synchronous refusal), cancel obsolete retry work after pushed recovery; reject malformed stored host rows/columns without a panic or unreadable success; every explicit Mesh Storage construction logs a static safe reason and source location. No SQL, stored values or driver free text is logged by these diagnostics. Public replies, authority, schema and wire contract preserved. Changes split into atomic pushed commits; per-commit gates recorded above.
Exact final full-gate web artifact passes 5 real-server cases with both production-base and repaired binaries; the repaired preview passes 2 recovery cases. Cold locked-CA view and real unlock work without another restart on the base too. Controlled inventory includes 3 enrolled rows, one never observed, a revoked host and an access rule; this does not prove actual remote-daemon/network traffic. The original production trigger remains unconfirmed. Audited Storage/path inventory and runtime-coverage limits are attached above; no exhaustive fault campaign claim.
Scale evidence: 4-core perf VM, 1,000 nodes / 100 tags / 3,000 rules / 10,000 memberships, 50 rotating identities, 200 sequential list-page samples and 100×50 receiver fanout per run. Across 4 base/head pairs, p50 ranges overlap: base 71.805–101.543 ms; head 67.525–79.383 ms. Confirmation pairs do not reproduce the initial slowdown; retain the head p99 296.530 ms outlier and all raw samples. No stable tail-budget, concurrent-throughput or full-canvas claim. Stripped static x86_64 is 21,429,840 B vs identically built base 21,421,840 B: +8,000 B. ARM is 19,607,712 B; both exact caps/linkage/key-memory gates pass.
Full scripts/verify fast PASS, exit 0, at this head; default test parallelism, actual private runtime root, CARGO_BUILD_JOBS=3, TRACER_TEST_PORT=4429. No exemption or check/timeout changes. Server: 456 passed, 0 failed, 48 ignored diagnostics; tracer: 203 passed/0 failed; protocol: 37 passed/0 failed. Verbatim final Rust summary:
final-fast.log
Final confirmation, exact-artifact browser results and screenshots:
native-pair-confirm.log


static-size.txt
Author checklist completed. Final process audits found no remaining job executable/cwd processes; owned VM fixtures, local targets/artifacts, detached baseline and short runtime were removed. Shared locks and other jobs untouched. Cleanup/checksum receipts:
author-review.md
vm-cleanup.log
local-cleanup.log
artifact-checksums.txt
Reproduction: build the static release and production tracer; run real/mesh-unreachable.spec.ts under the shared perf lock with TRACER_TEST_PORT=4429 and the private namespace fixture. Run the two recovery cases from test/mesh.spec.ts with the preview build. The unchanged optimized mesh_api_scale_benchmark supplies the paired workload; all environment/limits and samples are retained in the receipts.
Independent verification starts on review-mesh-unreachable at detached target
30a2388f73, production basef210a4f25. Read all 28 comments on #229; no linked parent. Reviewing storage diagnostics, malformed-row availability, watch/retry recovery, exact size caps and paired scale evidence. No implementation changes, push or deployment. Target-head fast gate runs before review tests are added.Client verification completed: review commits
72387389eand9aaeb3456each add one failing regression, implementation untouched. P2 R1: retained watch pushes revision 2 while retry list is pending; rejection of the older list restores error after ready. P2 R2: forbidden watch withdrawal retains the error retry timer (1 pending instead of 0). Combined recovery suite: 12 pass / 2 fail. Receipts: ~/.cache/codex-scratch/mesh-unreachable-review/evidence/{pushed-outstanding,forbidden-pending}.log. Native reproductions and pristine target-head fast gate are queued behind all four occupied build slots; VM access succeeds. No P0/P1 confirmed yet.Verification resource wait: pristine
30a2388f7fast gate and native reproductions have not started because all four build slots remain occupied (1: pill-flicker since 10:49+02, 2: addhost-instant since 11:03+02, 3: app-windows-ship since 11:16+02, 4: multiplexer-skip since 11:25+02). Waiting through the required helper; not bypassing or stopping other jobs. Independent size-policy boundary checks pass 6/6 (both exact caps; +1/-1 rejected), static field audit finds no confidential values in new diagnostic events, but no dedupe/rate limit exists. Logical 120-second retry test passes: 7 list calls, 1 installed watch, disposal 0 timers/0 watches. Review commitd7e5c3d56. Additional R1 test in 3dae4a816 shows a late retry success restoring ready/canView after forbidden. Client source ownership gaps reproduce on production base; P2. Native event-count and scoped-malformed-row tests await compilation.Review progress/blocker: review head
45e70adce; combined Mesh unit/protocol suite 59 PASS / 3 FAIL, all three failures recorded under two P2 findings and reproduced onf210a4f25. TypeScript compiler PASS; isolated exact-size-policy boundaries 6/6 PASS. The independent native/performance/full-gate work is delayed by build-slot contention: first slot arrived at 11:44+02 after roughly 16 minutes queued; portable artifacts are compiling, while native failure reproductions and pristine-head fast remain queued. The roughly 45-minute review target is at risk; build capacity needs to become available through the orchestrator. No other job or lock changed. Existing malformed-row screenshot independently inspected: fresh view shows 0 hosts and connection-error/retry text; last-known maps are retained if already loaded. No new performance or full-gate PASS claim.Independent gate environment blocker: after acquiring a build slot, pristine
30a2388f7fails compile-out/clippy/test compilation with missing output files under ~/.cache/codex-scratch/mesh-unreachable-review/target/debug. Direct check confirms target/debug/deps disappeared while the gate was running; auth-tools/release/static target remain. No reviewer cleanup command touched it. First errors include colorchoice/anstyle/arrayvec dependency files, then serde_core generated private.rs and syn/zerovec metadata. This is not an application-test result or a #118 exemption. Preserving the full output; retry will use a differently named private build directory. Orchestrator should prevent cleanup of active build output. Native reproduction is still queued; portable release artifacts remain compiling.Independent portable head artifact built from pristine
30a2388f7; SHA256 0b51808e905eb0db1299ce2f62aa629b021400af643b650beb8017f7b3c7b5db. All 7 existing storage_diagnostics tests PASS / 0 FAIL, exercising actual SQLite failures, fallible rows, repair and sanitized captured diagnostics. Functional counts only; no build-host performance claim. Artifact copied to perf VM; baseline artifact is building. Additional reviewer tests (50 repeated diagnostic failures; malformed owner/scoped inventories) remain compiling. Full gate first run has missing output-directory compilation failures; private-directory retry remains queued.head-existing-native.log
build-directory-failure.txt
P2 R3 confirmed; review commit
f95977f23. Fifty consecutive list requests against the same missing table produce exactly 50 mesh_storage_error ERROR events. diagnostics.rs has no rate/dedupe state; runtime.rs configure_logging adds only an EnvFilter/formatter. Failing regression: repeated_storage_failure_has_bounded_diagnostics. All 7 existing diagnostic/sanitization cases pass; combined native result 7 PASS / 3 FAIL (R3 plus two R4 cases). No implementation changes or push.review-native.log
P2 R4 confirmed; review commit
a0ae83f36. read_snapshot validates every host before permission filtering: one empty name outside a member scope makes that member lose its different healthy host. Regression malformed_unrelated_host_preserves_scoped_inventory: production basef210a4f25PASS;30a2388f7FAIL (Storage). Owner case malformed_host_keeps_healthy_inventory_readable also fails: head refuses the whole view, while base returns the malformed name and fails the existing parser check. Fresh views show 0 hosts and generic connection/retry text; already loaded maps remain stale. Automatic retries do not repair persisted data. This leaves the brief single-row availability requirement unmet. Four P2 findings total, no P0/P1 confirmed; final verdict/full gate/perf pending.review-native.log
scoped-row-baseline.log
owner-row-baseline.log
P2 R5: pristine x86 release builds here to 21,430,096 B, exceeding the 21,429,840-B cap by 256 B (fast-head.log). The image retains the absolute checkout compiler-wrapper path in build metadata. Committed failing artifact test
c22c2fb95: x86_64-unknown-linux-musl compiler metadata is independent of the checkout location (expected false, received true; ARM pending). The path retention is confirmed; its exact contribution to total size variance is not isolated. Matched baseline shipping build queued to verify the +8,000-B feature delta. No caps, profiles or gate checks changed. Five P2 findings now; no P0/P1 confirmed.static-metadata-review.log
Independent VM pair 1 complete: 4 cores, 1,000 nodes / 100 tags / 3,000 rules / 10,000 memberships, 50 rotating identities, 200 sequential list-page samples. Base p50 73.546 ms / p99 185.545 ms; head p50 72.326 ms / p99 152.031 ms. Initial loads base 0.00/0.15/0.26, head 0.43/0.24/0.29. No slowdown observed in this pair; confirmation is waiting on the shared VM lock. Workload test-process RSS increase: base 2,796 KiB; head 2,916 KiB (not production-server attribution).
Shipping artifacts: x86 21,430,096 B (+256 over cap); ARM 19,607,712 B (exact cap). Both fail the checkout-dependent compiler-metadata regression. Review head
c22c2fb95, five P2 findings / no P0/P1 confirmed. First full fast completed with missing-output compile failures plus size failure; clean iterate is rebuilding native checks before final full fast. Matched baseline shipping build and production browser bundle are building/queued.native-pair1.log
static-sizes.txt
static-metadata-final.log
Independent production browser matrix PASS 5/5 on the 4-core perf VM: cold CA restart with view open, list while locked, passkey unlock without second restart, invalid row/repair, missing table/repair, plugin off/on and subscription saturation. Controlled inventory/observations, not remote-daemon traffic. Persistent malformed-row case made exactly 7 mesh.list calls over 120 seconds; no retry storm observed. Fresh view shows 0 hosts and the connection-error/retry screen until stored data is repaired (R4 screenshot).
Two adjacent base/head VM pairs complete at 1,000 nodes/3,000 rules, 50 rotating identities, 200 list-page samples per run: pair 1 p50 73.546/72.326 ms; pair 2 65.302/65.976 ms. p99 base 185.545/154.530 ms, head 152.031/85.908 ms. No material latency regression observed; sequential page workload, not concurrent full-canvas throughput. Raw receipts include machine/load, full dimensions, fanout and RSS.
Matched x86 shipping builds confirm exact +8,000 B: base 21,422,096; head 21,430,096. The head is 256 B over its 21,429,840 cap; ARM 19,607,712 equals its cap. No cap/check/profile workaround. Clean iterate PASS; final full fast is running. Original production trigger remains unconfirmed.
head-real-browser.log



native-pair.log
matched-static-delta.txt
MERGE (no P0/P1). Verdict: merge. Counts: P0=0, P1=0, P2=5, P3=0; fix P2 forward under the owner rule.
Reviewed fixed target
30a2388f73against productionf210a4f25. Review branch review-mesh-unreachable, headc22c2fb956: seven atomic local commits, eight failing regressions plus the passing retry-budget test. Implementation unchanged; no push or deployment.P2 findings (details and per-finding receipts above):
Qualification: own Rust Clippy and strict TS checks PASS. Combined Mesh suite 59 PASS/3 deliberate review FAIL; native diagnostic suite 7 PASS/3 deliberate review FAIL; artifact metadata 2 deliberate FAIL. Pristine target iterate PASS. Final scripts/verify fast exits 1, solely static size: x86 21,430,096 B vs 21,429,840 B cap. Every other Rust row PASS. TypeScript/protocol/transfer checks passed in iterate; final fast stops after the Rust size failure. No cap, profile, assertion or timeout workaround. Earlier missing-output compilation run is retained separately.
Verbatim final scripts/verify fast Rust output on target
30a2388f7:Matched shipping delta is exactly +8,000 B (base 21,422,096; head 21,430,096). ARM 19,607,712 B equals its exact cap. The justified feature growth is confirmed; R5 records the separate build calibration/metadata gap.
Real production browser matrix: 5/5 PASS on the 4-core perf VM. Restart with view open, cold locked CA/list, actual passkey unlock without a second restart, row/table repair, component toggles and subscription saturation all exercised. Persistent row failure: 7 mesh.list calls in 120 seconds. Controlled inventory/observations; no remote-daemon packet-traffic claim. Original production trigger remains unconfirmed.
Two paired VM runs at 1,000 nodes/100 tags/3,000 rules/10,000 memberships, 50 rotating identities, 200 sequential list-page samples each: base p50 73.546/65.302 ms; head 72.326/65.976 ms. Base p99 185.545/154.530 ms; head 152.031/85.908 ms. No material latency regression observed. Raw receipts retain machine/load/fanout/RSS; workload RSS increase base 2,796/2,776 KiB, head 2,916/2,920 KiB (test process, not production attribution). No concurrent full-canvas throughput claim.
Reviewer checklist complete. Owned VM and host process audits: 0. Temporary checkouts, build targets, copied binaries/bundle and fixture roots removed; shared caches, locks and other jobs untouched. Review checkout is clean. Issues remain open.
fast-final.log
iterate-head-r2.log
findings.md
reviewer-checklist.md
head-real-browser.log



native-pair.log
matched-static-delta.txt
Final checksum and cleanup receipts. The API refused the .sha256 attachment with HTTP 422; the identical public artifact hashes are attached as .txt. Terminology correction: browser toggles above exercised the server Mesh plugin through plugins.set_enabled. Final verdict remains MERGE (no P0/P1), five P2 findings; final fast size-only failure remains explicit.
shipping-artifacts-sha256.txt
local-cleanup.log
vm-cleanup.log
Continuation started on mesh-unreachable at
30a2388f73. Read all #229 comments (no linked parent) and independent findings. Cherry-picked seven review commits throughc22c2fb95(local head63a12429e). Confirming regressions before fixes; order R4, R3, client R1/R2, reproducible static metadata R5. No deploy or production access.R1/R2 fixed and pushed in
d9d8ead5c. Review client cases confirmed 13 PASS / 3 FAIL before; after publication-generation and withdrawal cancellation fixes, combined Mesh unit/protocol suite 62 PASS / 0 FAIL / 9636 assertions; bun run check PASS. Pushed snapshots supersede pending list results/failures; forbidden withdrawal clears timers and invalidates pending responses. Native before-fix snapshot is building in an owned detached scratch checkout, permitting R4 implementation without changing its source. No deploy.Native before-fix regressions confirmed in the isolated unchanged Rust checkout (
d9d8ead5c, same Rust as30a2388f7): storage_diagnostics 7 PASS / 3 FAIL. Owner and scoped malformed-row cases both return Storage, and 50 unchanged missing-table requests emit 50 errors. Receipt: mesh-unreachable/evidence/native-before.log (attachment follows with repair results). Stopped only the remaining planned pipeline shell after these tests completed, to qualify R4 before the old static artifact build. No gate/profile/cap changes or other job processes affected.Pushed client revision refinement
5f245c353. Added a positive ordering case: a pending retry with revision 3 must still supersede a pushed revision 2; blanket publication cancellation failed this test (16 PASS / 1 FAIL). Separate request and publication guards now suppress superseded failures while successful replies follow revision order, and withdrawal invalidates all pending replies. Combined Mesh suite: 64 PASS / 0 FAIL / 9640 assertions; tracer check PASS.R4 owner and scoped regressions both PASS in focused repaired-source runs (r4-owner.log, r4-scoped.log). Extended coverage checks an unrelated row produces no diagnostic, then moving the bad row into the member scope preserves the healthy host and reports only the bad ID once. Final R4 touched-crate Clippy/API gate is compiling; not yet a completed commit or final qualification.
R1/R2 latest pushed head
d0ad8f27d: all 65 focused Mesh tests and TypeScript PASS. Additional before/after cases preserve pushed liveness on equal revision and allow strictly newer retry snapshots.R4 candidate is staged independently; direct owner/scoped/one-diagnostic cases pass. A clean isolated candidate passes fmt, touched-crate Clippy and Mesh API tests (30 PASS / 0 FAIL / 2 ignored), with the separate R3 regression excluded. The subsequent plugin test build stalled in shared compiler-cache clients; I interrupted only that owned Cargo process and started a private local cache daemon (caching remains enabled). Its compile smoke succeeds; the whole R4 slice is rerunning before commit. An earlier cross-checkout artifact reuse contaminated a gate: that receipt is invalidated, and source switches now clean the touched outputs with serialized builds.
R3 API work in progress: 50 identical direct/action list failures -> 1 error, recovery count 50; changed cause carries previous count 3; healthy reads do not reset a failing write. These real-SQLite cases pass individually. Coordinator-clone case fails before (10 error events vs 1); its scoped counter fix is now implemented, qualification pending. R5 generator/wrapper tests pass; real static artifact rebuild, both exact caps, full fast, VM and size comparison remain outstanding. No final qualification or deploy.
Durable receipts and staged/API-only candidate patches:
review-repair-functional.txt
r4-candidate.patch.txt
r3-api-work-in-progress.patch.txt
R4 committed and pushed:
9035da31c. Hosts are scoped before decoding, malformed visible rows and their references are omitted, and each bad row ID is logged once across service clones. All four tested source blobs matched the staged candidate exactly.fmt and touched-crate Clippy PASS; isolated Mesh API: 30 passed / 0 failed / 2 ignored (only the separately tracked R3 regression excluded); plugin units: 6 passed / 0 failed; pinned app TypeScript check PASS after installing its scratch-checkout dependencies. Whole-branch full/static qualification remains pending. The job-local cache is advancing compilation; the shared cache daemon was left untouched.
R3 API counter slice committed/pushed:
bcaa09067. Source blobs match the isolated candidate. fmt/Clippy and TypeScript PASS; Mesh API 33 PASS / 0 FAIL / 2 ignored; plugin units 6 PASS. Real SQLite: 50 direct/action list failures emit 1 error; recovery reports count 50; changed cause reports previous count 3; successful reads leave a failing write's history intact. Safe categories/source locations and public replies are preserved. Direct task-local scope construction passes the future-size lint without a waiver or per-request box allocation. Coordinator workers are the next separate module slice; final/static/VM qualification pending.R3 coordinator slice committed/pushed:
4f6ea8ebb. Shared coordinator loading/configuration/preview counters now cover node workers as well as API requests. Real-SQLite clone case: before 10 identical errors; after 1 error and recovery count 10. fmt/Clippy and TypeScript PASS; Mesh API 34 PASS / 0 FAIL / 2 ignored; plugin units 6 PASS. No lint, timeout, profile or size-ceiling waiver. Starting the unchanged-recipe R5 static failure reproduction, then the integrated iterate gate. Shipping metadata/caps, full fast and fresh VM qualification remain pending; no deploy.Per-commit functional receipts for pushed review repairs: R4 native checks (30 API pass, 6 plugin pass) and its repaired scratch TypeScript installation/check are separate logs. R3 API (33 pass) and coordinator (34 pass) logs each include fmt, touched-crate Clippy, plugin units, and TypeScript check. Two intentional scale tests are ignored on the build host. These are focused gates; final static/full qualification remains pending.
r3-api-gate.log
r3-store-gate.log
r4-gate.log
r4-typescript.log
R5 reproduced from
63a12429e(review tests atop unchanged30a2388f7Rust): shipping x86 artifact embeds the absolute checkout compiler wrapper; the review test fails (0 pass / 1 fail / ARM absent). Raw artifact is 21,434,192 bytes in this longer scratch checkout, demonstrating why checkout-dependent metadata cannot qualify an exact cap. Integrated iterate checks now running. Next builds normalize only compiler-description metadata, retaining compiler options and crypto dispatch; no cap increase proposed.Integrated review-repair iterate gate PASS at
4f6ea8ebbplus pending R5 packaging changes: fmt, VT fmt, CLI compile-out, workspace Clippy (-D warnings), workspace tests, cargo-deny, strict tracer check, production tracer bundle and TypeScript protocol differential tests. No load-failure waiver used. Final fast/static gate remains pending. R5 before/focused unit receipts:r5-before-test.log
metadata-unit.log
Author checklist, review-repair slice: authorization is applied before host decoding; skipped host rows log only a numeric ID once across service clones; dangling references are pruned only for omitted visible rows. Retry generations invalidate withdrawn requests, while successful replies use revision ordering and equal-revision pushed liveness wins. Storage diagnostic counters are bounded by validated operation names and report only static categories/source locations/counts; no stored contents or driver messages are logged. Existing removable Mesh plugin boundaries and wire schema remain; no dependency, engine, release-profile or crypto-dispatch change. Full workspace iterate PASS without exceptions. Shipping metadata/static caps and fresh VM evidence are pending, so this is not completion.
Additional R5 finding from the normalized production comparison: compiler description is canonical and contains no checkout prefix, but four occurrences of the job-specific crypto install directory remain (engine/module default directory plus their descriptive strings). They vary with CARGO_TARGET_DIR, so compiler-description-only normalization is insufficient for exact job-independent sizes. Current normalized parent: 21,425,936 bytes; these are intermediate measurements, not final qualification. Inspecting the pinned provider build configuration before removing this remaining path dependence; no runtime crypto engine/configuration feature change proposed.
R5 recipe choice: retain the current static provider's no-shared/no-module build and disabled musl engines, while replacing temporary install-directory defines with stable absolute application directories under /usr/local/lib/infraternal/{engines-3,ossl-modules}. No directories/modules are installed, and explicit library runtime configuration is unchanged. Relative or empty defaults were rejected because they would make lookup depend on the working directory. This removes job-path-dependent constants without selecting an engine, changing crypto algorithms/dispatch, or weakening the release profile. Wrapper tests will require those canonical values for both targets; artifact checks will reject both checkout and target-directory prefixes.
Intermediate matched x86 comparison (compiler description canonical, temporary module-directory defaults still present in both): parent
f210a4f2521,425,936 B;4f6ea8ebb21,461,136 B; +35,200 B. This fails the unchanged 21,429,840-B cap. Stopped own comparison process group 2524107 (exit 130; no group members remain) before spending another full release build on this candidate. Reducing diagnostic wrapper code duplication before final rebuild: construct/pin each operation once and share one non-generic task-local poll boundary. No allocation, lint waiver, profile change or size-cap increase. Functional gate and measurements will be repeated on the resulting candidate.R5 size experiment: sharing diagnostic poll guards reduced intermediate x86 by only 2,016 B (21,459,120 B), insufficient for the cap, and introduced an extra callback layer. Reverted the experiment; original
4f6ea8ebbRust is retained. Artifact inspection instead found 1,100 recorded dependency-source paths plus job-specific provider directories. The canonical static Cargo recipe now remaps repository/build/dependency source roots, retaining the exact CRT and optimization settings; verify, integration/latency builds and release packaging share it. Two recipe tests / 28 assertions PASS, including paths with spaces and preserved inherited flags. Also tracked the delegated compiler script in SCCACHE_EXTRAFILES: the strengthened artifact test caught stale preprocessed-cache objects after that script changed. Final artifacts will reject checkout, target and registry source prefixes; caps remain unchanged pending measured downward ratchets.Browser assertion step committed/pushed:
1afd29848. Strict TypeScript PASS; real Chromium 5/5 PASS on infraternal-perf-test (4 cores; load 0.00/0.02/0.05) using committed4f6ea8ebbruntime and production tracer bundle. Both alpha/bravo windows remain visible after a different row is malformed. CA cold lock/unlock, missing-table repair, component re-enable and saturated subscriptions also pass. This is pre-qualification; final shipping artifact run will follow.browser-prequalification.log
R5 canonical production merge base
f210a4f25: 21,364,496 B; checkout, target and dependency registry prefixes each absent. Reduction from intermediate recipe: 61,440 B. Runtime Rust remains4f6ea8ebb; shared-poll experiment was reverted. Matching branch/ARM builds are active, ceilings unchanged until final measured downward ratchets. No deployment.Final gate first attempt at
efd114292: fmt, VT fmt, CLI compile-out, Clippy, cargo-deny and both static builds PASS. Test row failed solely at daemon::gone_tests::a_vanished_session_gets_a_final_close_and_the_channel_stays_up: Unix socket SUN_LEN, not a timing failure. The selected 36-character TMPDIR plus its random fixture/session suffix produced a 109-character path. Created a fresh private actual directory with a 34-character path (no symlink); the same compiled test now PASS with a 107-character rendezvous. No source/test/timeout/profile change and no exception/waiver. Re-running the complete fast gate with that fixture root; first output retained as fast-initial-root-failure.log, targeted proof short-root-gone-check.log.R5 committed/pushed:
93e9e8b06; ceiling/recipe docs29fb74d47; quoted compiler-option follow-upefd114292(new regression fails before, 2 tests/36 assertions PASS after). Runtime Rust remains4f6ea8ebb. Both shipping artifact checks PASS, no checkout/target/registry prefixes. Exact caps ratcheted DOWN: x86 21,395,600 B (-34,240); ARM 19,564,768 B (-42,944). No optimization, feature or crypto-dispatch change.Matched production merge-base cost is +31,104 B with the same canonical recipe (>16 KiB justification): the fixes preserve both healthy host windows after a damaged row, reduce 50 identical errors to one event plus recovery count 50, and fix stale recovery/access races. Three perf VM pairs at 1,000 nodes/3,000 rules/50 identities show lower list medians in all repaired runs; writes/fanout/tails vary in both directions. All measurements, workload limits and RSS are retained; no general speedup or concurrent-viewer latency claim.
final-static-summary.txt
r5-recipe-unit.log
r5-provider-directories.txt
scale-final.log
scale-confirmation.log
scale-summary.md
r5-quoted-options-before.log
r5-quoted-options-after.log
Full gate remains pending: after correcting the fixture path, a complete run had a 2-second lifecycle receive timeout and a native-control connection-close assertion. Both exact compiled tests pass independently. Neither failure is waived; a fresh-fixture full run with default test parallelism is active. Source unchanged. No deployment.
Finished review repairs R1–R5. Head
efd114292fa3170c7ce04bf1af06d3e4a98b94a9pushed tomesh-unreachable; checkout clean. No deployment.Client retries respect pushed revisions/liveness and access withdrawal cancels queued work. Server reads filter permission scope before decoding, omit/report malformed host IDs once, and retain healthy inventory. Shared diagnostics emit one unchanged error plus counts on transition/recovery (50 failures → 1 error, recovery count 50). Static compilation now canonicalizes compiler/module/source locations and preserves quoted compiler options.
Final
scripts/verify fast: exit 0, all Rust rows PASS; TypeScript checks/tests, production bundle/transfer budget and protocol differential tests PASS. Default test parallelism, no timeout/skip/profile waiver. Verbatim Rust summary:Shipping x86: 21,395,600 B; ARM: 19,564,768 B. Exact ceilings decreased 34,240 / 42,944 B. Both artifact prefix checks PASS (2/2, 10 assertions); recipe tests PASS (2/2, 36 assertions). Matched production-base delta +31,104 B; justification and three paired scale receipts are linked below. No dependency, optimization or crypto-dispatch change.
Fresh final canonical binary + final production web bundle on perf VM Chromium: 5/5 PASS, including cold CA lock→unlock without another restart, visible alpha/bravo after another row is malformed, storage repair, component re-enable and saturated subscriptions. Screenshots are attached for independent visual review. Original production incident trigger remains unconfirmed; no production access was used.
At 1,000 nodes / 3,000 rules / 50 identities, reviewed-runtime list p50s 76.201/79.471/68.387 ms; repaired-runtime 75.052/71.381/66.480 ms. Write/fanout/tail variation is retained; no general speedup claim. The summary records source revisions, machine/load, RSS and workload limits.
Earlier attempts are retained: fixture SUN_LEN failure corrected with a private 34-character root; lifecycle timeout/control-queue assertion each passed independently and then within the final complete PASS run. No failure was waived.
fast-final.log


fast-final-summary.txt
browser-final.log
fast-initial-root-failure.log
fast-full-intermittent-failure.log
short-root-gone-check.log
lifecycle-single-check.log
control-queue-single-check.log
scale-final.log
scale-confirmation.log
scale-summary.md
r5-quoted-options-before.log
r5-quoted-options-after.log
final-static-summary.txt
r5-recipe-unit.log
r5-provider-directories.txt
Cleanup: private cache PID 1878918 verified against its owned listener and stopped; host/VM owned-process audits empty. Owned baseline, build/cache/probe/fixture folders and VM job directory removed. Evidence retained outside checkout.
host-cleanup.txt
vm-cleanup.txt
Starting night-release on branch night-release at base
650472b987. Integrating reviewed mesh-unreachableefd114292with mesh-autoswitch; preserving both storage behaviours and canonical static build coverage. Release artifacts and signed staging proof only on authorized perf VM fixtures; push night-release only, no deploy. Prior issue histories retained in night-release/evidence; neither issue links a parent.Finding/blocker: required /home/kayg/.cache/codex-scratch/reconnect-release/artifacts does not exist (ls exit 2). Retained reconnect-release/result.md and log.txt record
492e1505ax86 SHA256 23fc5e92df83e49da2d351cc19fbf24983475eebc2ce98c961e03bd29254b2c6 (22,299,504 B), ARM f47a8b8396034686e91cc0ae862dc73a21be086a522ab925135669bf53b9806a (19,726,904 B), but no bytes. Exact production-binary service-upgrade proof and old-web tree comparison require those retained artifacts from the orchestrator; a source rebuild will not be substituted. Merge/new-build/independent staging qualification continues. No production or owner-host access.Merge in progress on night-release, base
650472b98, incomingefd114292. Resolved store load_uncached with MeshApiError and cancellation-safe begin_immediate; other incoming storage/client recovery changes retained. Shared .cargo/rustc.sh is sole source-remapping owner and now covers each registry source root plus checkout/cargo/target roots; static-cargo delegates without injected flags. Keep SOURCE_DATE_EPOCH=0 and SCCACHE_EXTRAFILES for delegated C rules. Native generated metadata uses existing complete canonical header, build-owned engine/module defaults only, preserving explicit runtime paths. Removed competing incoming generator; covered argument boundaries/quoted paths through compiler-driver test. Wrapper tests pass both targets, real two-checkout stripped control passes, metadata/driver 2 tests/12 assertions pass. Initial build runs under one priority build-slot, target night-release/target; native mesh core tests pass. Plugin/API/all architecture gate and VM browser/lifecycle still pending. Do not raise inherited minimum caps (x86 21320400, ARM19513440); final measured sizes not yet available. reconnect-release artifact directory absent, exact production upgrade and old web-tree comparison blocked; issue comments posted and asynchronous location question pending. Production unchanged.Web source comparison against live
1bcb7a87b: production changes are confined to apps/tracer/src/canvas/mesh/api.ts and packages/protocol/src/mesh.ts; four other changed paths are Mesh tests. packages/ui has zero changed paths. Build metadata embeds new commit and wall-clock date, so rebuilt bundle hashes also change for metadata. Old web artifact tree is absent; this is a source comparison, not a byte-for-byte artifact comparison.web-source-diff.txt
missing-production-artifacts.txt
Merged source preliminary x86 static build: 21,300,016 B; SHA256 236e8496260f6de12d93ecd0e0ce1f920716e1029b6a3db0ecdf1bccfe055606. Below #201 exact cap 21,320,400 B by 20,384 B and below #229 cap 21,395,600 B by 95,584 B. No profile/engine/feature change or ceiling increase. This is marker-0 build; final production-marker-1 artifacts will be frozen separately. ARM, plugin/API qualification, staging and final fast remain pending.
Both merged-source stripped static builds fit below BOTH parent caps. x86 21,300,016 B (SHA256 236e8496260f6de12d93ecd0e0ce1f920716e1029b6a3db0ecdf1bccfe055606); ARM 19,500,376 B (SHA256 0e300cec45579a7949567ffb26e014c5be7f4027add438095dddc66f54675577). Against stricter #201 ceilings: -20,384 / -13,064 B. Against #229 ceilings: -95,584 / -64,392 B. Exact caps in rust.sh and PROCESS now ratchet down to those measured bytes. Exact / +1 / shrink / unsupported-target boundary controls all PASS. These are preliminary marker-0 artifacts; marker-1 frozen release bytes, matched merge-base comparison and staging remain pending. Plugin/API focused gate is active, serially after the architecture builds.
Merged static controls PASS: both artifacts have no checkout, target, registry or absolute compiler-wrapper prefixes (2 tests / 10 assertions). Exact caps pass both targets; +1-byte, unratcheted smaller artifact and unsupported-target cases refuse. Functional artifact checks only; test-runner durations are not performance evidence. Caps remain 21,300,016 / 19,500,376 B. Focused GNU storage/compiler qualification continues before merge commit; no staging or final-gate pass yet.
static-boundaries.log
static-paths.log
Focused merged-source gate: plugin Mesh all-feature strict Clippy PASS; plugin suite 65 passed / 0 failed / 52 lab-only ignored. Server Mesh API: 34 passed / 0 failed / 2 lab scale tests ignored (492 unrelated tests filtered). Includes healthy owner/scoped inventory around malformed rows, one bad-row diagnostic across clones, repeated-error counting/recovery, real SQLite admission categories and coordinator clone counts. The coordinator uses cancellation-safe begin_immediate with typed diagnostics after conflict resolution. TypeScript and production-marked frozen artifacts are next; no final fast/staging claim.
Integration committed:
cb25dae3b983f28623d5f3af97d7f154f4946fd0merges reviewedefd114292into650472b98. One Rust remapping driver remains; compiler coverage from both sides is retained. Typed Mesh storage errors and cancellation-safe writer ownership coexist.Focused gates: fmt, strict touched-crate Clippy, 65 plugin tests, 34 server Mesh API tests, tracer check/build/transfer and compiler/size controls pass. Matched recipe at merge base: x86 21,267,152 → 21,300,016 B (+32,864); ARM 19,464,288 → 19,500,376 B (+36,088). Both exact caps are below BOTH parents. Growth above 16 KiB retains scoped healthy-host inventory, typed storage diagnostics and bounded repeated-error/recovery reporting; no foundational engine, optimization profile or dependency version changed. Section deltas separate executable code and metadata. Final release-head build/runtime/head gate still pending.
Matched artifacts · section deltas · matched baseline build
Completed separate test step
3b2183eaa: opt-in bounded repeat mode retains one standing PTY/writer for ten mesh/fallback cycles. Each cycle fences enrolled ingress for fresh mesh Output, checks the entire cumulative stream and unchanged TLS/admission/control counts, then retains its receipt. Existing initial path boundaries and durable component-disable checks remain.Per-commit checks:
cargo fmt --all --checkPASS; strict server Clippy (remote,mesh-transport-proof, all targets) PASS; bounded failure-receipt test 1 passed, 0 failed. Real cycle execution is still pending, not claimed from this compile check. Final-head artifacts are rebuilding. Staging source equals this head except the previously reviewed #225 one-way exact-release test adaptation.Final-head release artifacts frozen from
3b2183eaac8a9d8cc52a922dfbbbaecf895fd854using pinned Zig and the exact Nix make/perl Cargo recipe, marker 1. Frozen web install/build/transfer budget PASS; 256 web files, 3,362,009 identity bytes. Both native bytes equal the pre-test-commit candidates and remain below both parents' caps./home/kayg/.cache/codex-scratch/night-release/artifacts/infraternal-x86_64-musl: 21,300,016 B, SHA2565562e6d7d952926c81d1689f1a4a792aef9185a04320ff4576980f3c19e01c6a/home/kayg/.cache/codex-scratch/night-release/artifacts/infraternal-aarch64-musl: 19,500,376 B, SHA2564f4357515e328042a9bdfff367270497f4c58902f25a6530a9abb8814a300400/home/kayg/.cache/codex-scratch/night-release/artifacts/web-dist.tar: 3,573,760 B, SHA256a82f1a25756a0ee47dd7524e53b06a17bb94356e595b1c4c00cac920738feaab/home/kayg/.cache/codex-scratch/night-release/artifacts/web-SHA256SUMS: 22,410 B, SHA2566b08a5c2413f1b18a5b2addeeb10bac593c95fab8ee67ec9e7aabcca3c9a3dc9Artifact manifest · build output
Browser/signed-staging qualification is starting on the locked perf VM with these retained bytes. Original reconnect-release artifact directory and known prior VM service copies are absent; exact production-binary remote upgrade and full old-web artifact comparison remain blocked. Production unchanged. Final fast gate still pending.
#229 real-browser qualification PASS, 5/5, exact frozen x86 and web artifacts at head
3b2183eaa. Cold CA-locked inventory loads and recovers after unlock without reload (restart_after_unlock=false); healthy inventory survives a malformed name; missing storage retries after repair; disabled Mesh recovers after re-enable; subscription saturation returns a bounded error while calls work. Perf VMinfraternal-perf-test, locked CPUWeight=10000 scope, load 1.37/1.50/1.28 before and 2.07/1.65/1.33 after. Functional assertions, no visual-quality verdict.5-test transcript



Restart browser groups, signed handoff, repeated standing-terminal cycles and final fast gate remain pending. Original production artifact restoration still required for the production-binary remote upgrade.
Browser milestone PASS at head
3b2183eaa, no retry/skip: 17/17 real cases (Mesh 5, restart 2, liveness 4, three-window isolation 6) plus 5/5 mock cases. Exact frozen x86 SHA5562e6d7 and frozen web archive SHAa82f1a25; port4493. Every group ran on perf VM under a separate bounded CPUWeight10000 lock scope, with machine/load in its log. Browser cleanup audit: owned executable processes0 before/after, no owned active units/containers. Raw production-build screenshots retained; no self-assigned visual quality verdict.Restart 2 · liveness 4 · three-window 6
browser-results.json
browser-mock.log
browser-cleanup-audit.json
browser-raw.tar.gz
Signed staging, repeated standing-terminal path cycles and final head fast gate are pending. Exact old-production-binary remote upgrade and old web artifact comparison remain blocked on the absent reconnect-release artifacts. No deployment.
Signed staging milestone PASS at final head
3b2183eaaon perf VM under one bounded lock scope. Standard unchanged proof: 12 signed handoffs preserve 128/128 real PTY shim IDs and echoes; real passkey ceremony/CA state preserved and unlocked; 6 reattached retained-session sockets responsive after idle. Unusable-image refusal, automatic rollback, backup integrity (10,000 nodes / 50 users), local polling and negative-control test PASS.Supplemental one-way signed handoff into EXACT normal-trust frozen x86 SHA
5562e6d7d952926c81d1689f1a4a792aef9185a04320ff4576980f3c19e01c6a, with actual ARM/web files staged: 128/128 shim IDs and echoes, CA unlocked, 6 reattached sockets responsive. Three selected ignored tests ran 1/0 each. Original pre-handoff TCP sockets are not claimed to survive replacement. ARM staged/hash-checked, not executed on x86 VM. Exact phase is one-way; rollback is covered separately by the standard proof. Temporary authority exists only in sender/test images, not the retained release artifact.VM load before1.54/1.24/1.19, after standard tests1.50/1.27/1.21. Exact handoff listener-gap bracket28.713855ms, one trial rather than a percentile or availability guarantee. Lock released; unique deploy/r75319416 directory absent. Native 0/150ms path/lifecycle checks are now queued; final fast gate still pending. Exact old-production remote upgrade still blocked on missing original492e artifact.
staging-proof.txt
staging-source-provenance.json
native-fixture-provenance.json
Native release qualification PASS at head
3b2183eaa, both configured RTT venues0/150ms on perf VM in separate bounded locked CPUWeight10000 scopes.native-cycles-summary.json
native-results.json
native-0.log
native-150.log
native-receipts.tar.gz
final-source-provenance.json
All available staging checks now pass. Full final-head fast gate is running (timing calibration delegated to perf VM). Exact old-production remote upgrade and complete old-web artifact comparison remain blocked on absent original reconnect-release artifacts. No deployment.
Resource cleanup milestone at head
3b2183eaa: perf VM owned-process audit0 before/after; all four exact owned container names absent; browser ports4493/4494 closed; browser/native/a0/a150/s fixture directories absent. The signed proof separately removed deploy/r75319416. Only this job’s calibration source remains for possible gate rerun, no running process. Public proof-driver sources (11 files + SHA list) attached for reproduction; no runtime database or signing material in that archive.vm-cleanup-audit.json
vm-fixture-cleanup.txt
proof-drivers.tar.gz
proof-drivers.json
Head fast gate continues on host after successful perf-VM calibration. Original production artifact restoration is still required before the old-binary upgrade/comparison can be verified. No production deployment.
DO NOT DEPLOY. Required original production artifacts are absent: exact492e1505a remote-service upgrade and complete production-artifact byte comparison remain unverified. The orchestrator must restore the original native release bundle (x86 SHA23fc5e92df83e49da2d351cc19fbf24983475eebc2ce98c961e03bd29254b2c6) and the production web reference tree. No source rebuild substituted; no production deployment or owner-fixture access.
Head
3b2183eaac8a9d8cc52a922dfbbbaecf895fd854pushed tonight-release, independently verified at origin. Mergecb25dae3bpreserves both storage behaviours and one Rust remapping boundary; separate test commit3b2183eaaadds the bounded same-writer repeat mode. Checkout clean./home/kayg/.cache/codex-scratch/night-release/artifacts/infraternal-x86_64-musl5562e6d7d952926c81d1689f1a4a792aef9185a04320ff4576980f3c19e01c6a/home/kayg/.cache/codex-scratch/night-release/artifacts/infraternal-aarch64-musl4f4357515e328042a9bdfff367270497f4c58902f25a6530a9abb8814a300400/home/kayg/.cache/codex-scratch/night-release/artifacts/web-dist.tara82f1a25756a0ee47dd7524e53b06a17bb94356e595b1c4c00cac920738feaabWeb directory:
/home/kayg/.cache/codex-scratch/night-release/artifacts/web/;256/256 files matchweb-SHA256SUMS. All retained archive/native hashes match after the gate. Shipping marker1 artifacts above were used for staging; ordinary gate marker0 files have different hashes with identical sizes and were removed with the build target./home/kayg/.cache/codex-scratch/reconnect-release/artifactsremains absent.Matched merge-base size deltas with the same recipe:+32,864 B x86 /+36,088 B ARM. Both exact merged caps21,300,016/19,500,376 B are below BOTH parent caps. Above16KiB cost is justified by scoped healthy-row retention and bounded storage diagnostics/recovery; no engine, optimization profile or dependency version changed. Attribution and matched artifacts are attached earlier.
Web source versus live1bcb7a87b: shipping changes only
apps/tracer/src/canvas/mesh/api.tsandpackages/protocol/src/mesh.ts; four Mesh test files also differ;packages/uiunchanged. Build commit/date metadata changes too. This source comparison is not a complete old-artifact byte diff.Final
scripts/verify faston this head: exit0. Workspace1173 passed/0 failed/163 lab-only ignored; tracer/UI210 passed/0 failed; metadata2/0; protocol37/0. No host-load exception used. Timing calibration ran on the locked perf VM. Verbatim Rust summary and final protocol-test summary (full raw transcript attached):Cleanup: host/VM owned-process audits empty; all4 exact native containers absent; browser ports closed; entire own VM job directory removed. Own target, baseline/snapshot sources, test/runtime scratch and temporary bundles removed. Release/comparison artifacts and evidence retained outside the checkout. Author checklist completed. Issues remain open.
final-fast.log
gate-summary-verbatim.txt
gate-artifact-identity.json
final-workspace-test-counts.json
final-artifact-hash-check.txt
author-review.json
vm-final-audit.json
vm-final-cleanup.txt
host-final-process-audit.json
local-cleanup.json
final-web-file-check.txt
pushed-head.txt
Continuation start: branch night-release, base/head
3b2183eaac(unchanged). Read #229 and #201 history; neither issue links a parent. Run ONLY the remaining enrolled remote production-to-release service restart proof on isolated perf-VM fixtures, no rebuild or deployment. Production x86 SHA256 23fc5e92df83e49da2d351cc19fbf24983475eebc2ce98c961e03bd29254b2c6 (22299504 B); retained night-release x86 SHA256 5562e6d7d952926c81d1689f1a4a792aef9185a04320ff4576980f3c19e01c6a. Reuse a prebuilt enrollment/browser-terminal test controller, with isolated service orchestration; retain shim identity and byte-stream evidence.Continuation milestone, unchanged head
3b2183eaa: original production SHA23fc5e92 -> exact frozen SHA5562e6d7 completed one systemctl restart. Daemon1800232 ->1800251; same shim1800240 and session socket5fa6075f29c3448b90e8bcdb08d2c9b8.sock across replacement. Browser sequence assertions received614 bytes, lost0/duplicated0; remote reconnect assertion passed. Overall test FAILED only its cleanup assertion: retained older test controller ignores the newer configurable repository/home roots. Authenticated socket cleanup removed our retained shim and exact generated state; ps -p1800240 empty. First setup-only attempt also resolved a mount command canonicalization issue, before any service existed. Corrected private mount aliases now keep every generated path inside this job and provide the compiled cleanup-helper path. Clean rerun queued; no rebuild or artifact/source change. Not a final qualification yet.First test · First public receipt
Cleanup correction confirmed on unchanged artifacts: real enrollment/browser-terminal test PASS (1 passed,0 failed), restart output614 contiguous bytes/lost0/duplicated0, and no retained shim. Extra observer wrapper still returned1 because it sampled the post-restart shim after the fast successful test had already removed it. This is an observation race, not a product assertion failure. Final receipt run now pauses only the disposable server/test controller during process identity capture, resumes it for the actual reconnect/byte assertions, then requires normal cleanup. No rebuild, no source/artifact change.
Passing functional test · Observer race receipt
DEPLOY OK — the sole remaining production-binary remote upgrade check PASS on unchanged head
3b2183eaac. No rebuild, source change, commit, push or production deployment in this continuation.Perf VM infraternal-perf-test, exclusive perf-bench lock and CPUWeight10000 scope. Enrolled original production
492e1505a, opened one real remote PTY through an authenticated browser-protocol socket, stopped only its supervising daemon, switched the installed binary, then invoked systemctl restart exactly once. No automatic restarts (NRestarts0 before/after). Daemon1811267 ->1811286; original shim1811274 and original session socket2c94408584f744baaaa4d32d0e48950e.sock survive both the stopped interval and replacement. Browser receives614 contiguous output bytes including output produced during the stopped interval: lost0/duplicated0, session kept, reconnect PASS. Real test1 passed/0 failed; observer exit0/errors0; normal fixture cleanup PASS. Foreign-owner denial assertion also passes.A brief SIGSTOP of only the disposable server/test controller brackets the new daemon/process snapshot, followed by SIGCONT before reconnect and byte assertions. This prevents successful test cleanup racing the observer; it is functional evidence, not a latency claim. Prebuilt controller reused unchanged (SHA2560da48e0b67048a607cb66a603ecb0e56965b7e2f6524f144fc13d8ed526443ab); fixture home/repository aliases exist only in a private mount namespace; private loopback network namespace. Load before/after1.03/1.37/1.43. Earlier setup/observation failures and passing functional results remain attached above; both harness issues resolved in this final run.
Artifacts remain identical:
Cleanup: every recorded PID absent; own executable and command-process audits empty; service LoadState=not-found/ActiveState=inactive; own VM job directory removed; first attempt's exact generated state removed. Private namespaces released. Temporary input archive deleted; public receipts and release artifacts retained. Author release checklist complete; checkout clean. Issues remain open.
The earlier full scripts/verify fast on this exact head remains exit0; per continuation instructions it was not rerun because that would rebuild. Verbatim saved output (full transcript https://git.kayg.org/attachments/4107018f-fb87-4165-a832-ef41737172c8):
production-upgrade-test.log
production-upgrade-receipt.json
production-upgrade.log
production-upgrade-provenance.json
production-upgrade-drivers.tar.gz
upgrade-artifact-identity.json
production-upgrade-cleanup.json
Deployed to production 2026-10-17 03:43 IST: release
3b2183eaa(dev = #201 mesh-autoswitch + #229 mesh-unreachable). x86 5562e6d7…, ARM 4f435751…, web from the same build. MainPID 41798, /healthz 200. Backup /var/backups/infraternal/20261017-001332-3b2183eaa…. release-prod-live and dev =3b2183eaa. CA locked by the restart (outcome="cold"); owner to unlock.Closed by the orchestrator during the 2026-10-28 handover (#254), on the owner's request to close finished issues. Evidence: Mesh unreachable fix released in
3b2183eaa(ancestor of dev and prod), deployed 2026-10-17, review verdict MERGE. Reopen if anything is still missing.kayg referenced this issue2026-10-28 17:53:55 +00:00