Skip to content

test: validate v1.0.0-rc.1 across macOS, Windows, KR, and US #150

Closed

Description

@abruption

Objective

Validate published v1.0.0-rc.1 (1.0.0rc1, commit 70f99b2e66846043f2b607d01277fe5bb7d0f0e2) on Mac mini, MacBook, Windows quintet-desktop, KR and US before stable promotion. User approved installation, coordinated KR runtime replacement, actual agent ACK checks and a four-hour soak.

Installation and evidence

  • Published wheel/sdist provenance and fresh installs
  • Mac mini: standalone CLI/skill upgrade and exact MCP/relay venv
  • MacBook: standalone CLI/skill upgrade and exact MCP/relay venv
  • Windows: local-agent handoff, native core/MCP; WSL relay if available
  • KR: user CLI and coordinated production control/relay replacement after verified snapshot
  • US: exact package venv under the existing ubuntu account

Behavioral validation

  • Local discovery, JSON contracts, diagnostics, dry-run and empty/missing-agent behavior
  • Bidirectional Mac SSH, server-to-Mac and available Windows SSH routes
  • Dedicated Claude/Codex/Antigravity sessions: unique marker and actual ACK, separate from submitted/queued
  • MCP initialization, tools, denied policy, dry-run, approved send
  • Forced direct, forced relay and automatic routing
  • Duplicate/conflicting request IDs, revoke, reconnect, key rotation, lost-response reconciliation and durable replay preservation
  • KR public health, device-code/OAuth, authenticated WSS and operational readiness
  • Four-hour soak: health every 60s, direct/relay probes every 5m, actual ACK at T0/T2h/T4h, one coordinated relay restart at T2h
  • Final resource/restart/state checks, release gate and redacted evidence

Acceptance and triage

No unexplained failures, duplicate effects, lost messages, revision regression or secret exposure. All required actual ACK checks pass. Planned relay restart recovers within 60 seconds. Missing prerequisites remain explicitly blocked, not passed.

Create a separate deduplicated issue for each reproducible finding with environment, exact artifact, reproduction, expected/actual result, redacted evidence and ACK status. Runtime/build/packaging/auth/state fixes belong to v1.0.0-rc.2 (target 2026-09-25). Documentation/metadata/promotion-only work belongs to v1.0.0 (target 2026-09-29). Security findings use a private advisory. Dates are targets; failed gates block promotion.

After runtime fixes, install RC2 on all five hosts and repeat the affected routes and baseline matrix. Relay/control/state/recovery changes repeat the four-hour soak; core-only changes require a 30-minute all-host regression run. With no runtime changes, RC2 can be closed as not required after complete evidence. Merges and release publication require separate approval.

Use isolated test sessions/state. Preserve unknown send outcomes and reconcile instead of retrying. Preserve production identity, receipts, tombstones and replay state. KR rollback switches to the previous runtime only when schema-compatible; do not restore an old live database automatically. Do not copy credentials between hosts.

Activity

  1. added this to the v1.0.0 milestone on Sep 22, 2026
  2. abruption commented on Sep 22, 2026

    @abruption
    OwnerAuthor

    RC1 rollout / first validation checkpoint (2026-09-22 KST)

    All five machines now resolve session-peer 1.0.0rc1. Existing standalone installs on both Macs and US were preserved; native Windows retained pip-user installation. KR has a user venv and the production relay uses an immutable RC1 venv. Optional MCP/relay environments are exact-version pinned. Windows WSL2 Ubuntu 24.04 has its own exact relay venv.

    Published wheel SHA256 7f4f4f79e4f17303badb37d4310cd6c22dad4d03f9da747071e91121fe0371d8; sdist SHA256 5c9184021fea0145fd8ea28dcd4c10308f36cc9868a84fd286eec4a1ca165710. Both match PyPI metadata; fresh wheel/extras and sdist installs succeeded. CI and publication runs for the exact RC1 commit are successful.

    KR production

    • Built the exact RC1 control on target Node 24; all 80 control tests passed.
    • Verified cold snapshot before migration. Rehearsed the first-party schema migration against that snapshot, preserving all 12 pre-existing tables' rows.
    • Ran migration once under the existing DynamicUser service, its credentials and writer lock, with the stack stopped and a temporary one-shot override. Removed the override, atomically switched control/relay runtime links and started the stack.
    • Verified schema v1, unchanged device/operation rows and signing key, monotonically advancing revision, both services active and zero unexpected restarts.
    • Enabled the reviewed loopback aggregate metrics listener and explicit existing capacity bounds. Public and loopback health and operator metrics UI pass.
    • Post-upgrade snapshot reports integrity=ok, schemaVersion=1 and signing-key/state match. Previous runtime directories remain preserved. Existing backup helper's three-snapshot retention removed two oldest local snapshots during the pre/post snapshots; no backup restore was performed.

    Passed live / protocol evidence

    • Mac mini: actual Claude, Codex and Antigravity local ACKs.
    • Real installed MCP stdio initialization/list/default send denial/dry-run/approved send; Claude MCP ACK observed.
    • Mac mini to MacBook SSH: actual Claude and Codex ACKs.
    • US to Mac mini direct/relay lists pass; actual Claude public-relay, Codex auto/direct and Antigravity public-relay ACKs observed.
    • Mac mini to MacBook public-relay list and Claude ACK pass.
    • Same request ID/body replay across relay/direct returns duplicate outcome; changed body returns message_id_conflict.
    • Receiver restart preserves paired state and outcomes.
    • MacBook and US completed native device-code authorization/enrollment; GitHub browser login works. Windows WSL enrollment and pinned public-relay pairing also succeed.
    • Deterministic Mac mini suites: 14 MCP tests and 80 relay tests passed. These are fixture evidence, separate from live ACK evidence.

    Findings and remaining gates

    A four-hour operational soak has started for the two Macs, US and KR: 60-second health/resource/state samples, five-minute direct/relay probes, actual-message checkpoints at T0/T2h/T4h and one relay restart at T2h. Windows native/WSL gates remain failed, so even a passing soak will not close the full five-host gate. Runtime fixes and RC2 revalidation are required before stable. No merge/tag/release publication was performed.

  3. abruption commented on Sep 22, 2026

    @abruption
    OwnerAuthor

    Windows follow-up: the user confirms claude-main shows neither an incoming message nor an approval/startup prompt. Registry, running process and actual named-pipe server PID match; one auth-only probe disconnects with ERROR_BROKEN_PIPE before any user message is sent. Filed #157 as an RC2 blocker; exact auth rejection cause remains unconfirmed. No ambiguous send was retried. T0 actual ACKs were observed for all five dedicated Mac targets, but mini Codex required canceling an unrelated SSH approval prompt, so it was not unattended. Operational soak runs 2026-09-22 14:04–18:04 KST, with planned relay restart at 16:04. A bounded reporter will attempt one summary comment at completion/abort; it will not infer T2/T4 actual ACKs or close the release gate. Live rotation/recovery/revoke and remaining actual ACK review are still pending. GitHub and Google browser logins were both validated; provider accounts remained distinct.

  4. abruption commented on Sep 22, 2026

    @abruption
    OwnerAuthor

    MacBook handoff reconciled (2026-09-22 14:18 KST): the local validator reports exact RC1 install, rollback backup, discovery and real MCP initialize/tools/list/list_sessions success. Coordinator independently rechecked current standalone version 1.0.0rc1, SHA256 bb642c323c4e69b98c9c28c711441cac17b821aad56bbf452f997984ec4d1790, RC venv Python 3.14.7 and clean pip check. Its report of missing dedicated ACK targets and abruptly@Windows SSH denial describes an earlier/local validation scope: coordinator subsequently created dedicated MacBook Claude/Codex test sessions and observed actual SSH/T0 relay ACKs, and authenticated Windows with the correct account. These prerequisite resolutions do not resolve the Windows product defects #151/#153/#156/#157. Do not rerun installation or start a second soak from this handoff. Existing four-hour soak remains running; this is not a completion report.

  5. abruption commented on Sep 22, 2026

    @abruption
    OwnerAuthor

    Windows blockers now have draft PRs: #158 (main/RC2: #151/#153/#156/#157) and #159 (release/0.9.x → 0.9.2 minimal hotfix: #151/#157). User independently confirmed exact ACKs WIN-CODEX-153-4712e8d0, WIN-RELAY-156-a29d13e4, WIN-CLAUDE-092-6b9e40a2. Native Windows MCP adapter list/dry-run passes. #151 live SSH diagnostic verified. RC full local suite: 477 tests OK, 11 skips. Stable suite: same 8 fixture-isolation failures as untouched v0.9.1 (381 vs 370 tests), no new failures; wheel/sdist fresh installs passed. CI started for both draft PRs. No release/tag/PyPI publication or production Relay policy change. Original unknown sends/journals preserved and not retried. Windows default RC1 is unchanged; isolated WSL receiver currently runs the candidate on preserved state/policy with a bounded lifetime. Existing KR/US/Mac soak remains separate and ongoing. #152 remains separate. Maintenance publication route must be reviewed before 0.9.2 publication.

  6. abruption commented on Sep 22, 2026

    @abruption
    OwnerAuthor

    Stable hotfix v0.9.2 is published: https://github.com/abruption/session-peer/releases/tag/v0.9.2 and https://pypi.org/project/session-peer/0.9.2/. Exact merged source a751140, protected maintenance preflight, publishing run 35695005641 and post-upload checks all passed. Independent GitHub/PyPI/workflow artifact hash comparison and fresh wheel/sdist installs passed; standalone 0.9.1 sees v0.9.2 as latest stable. v0.9.2 milestone closed. This completes the stable hotfix publication for #151/#157, not the RC2 campaign: #158 and RC2 issues remain open/unmerged, and existing fleet RC installations were not overwritten.

  7. abruption commented on Sep 22, 2026

    @abruption
    OwnerAuthor

    RC2 preparation is now in #160, based on merged #158 (5549be3; main push CI passed). It bumps only the runtime version to 1.0.0rc2 and adds four-language notes/runbooks with issue mapping #151/#153/#156/#157, mandatory WSL codexPython migration, and the exact-package five-host validation plan. Local full suite: 480 tests OK (11 skips); two builds match; archive tests, fresh wheel/sdist installs, extras pip check and installed MCP initialize/tools-list pass with zero messages sent. RC2 is NOT published/installed on the fleet. Because receiver transport code changed, the plan requires a new four-hour campaign; existing RC1 soak/candidate ACK evidence does not substitute. Issues/milestone remain open pending published RC2 acceptance. No production restart/state change, old unknown-message retry, or installation-manager replacement was performed.

  8. abruption commented on Sep 22, 2026

    @abruption
    OwnerAuthor

    RC2 package publication complete: https://github.com/abruption/session-peer/releases/tag/v1.0.0-rc.2 and https://pypi.org/project/session-peer/1.0.0rc2/. Source fe9d8d8, successful publish run 35696656167. Public GitHub/PyPI/workflow hashes match; fresh wheel+extras/sdist installation, pip check, MCP initialization/tools and empty Claude discovery pass. v0.9.2 remains latest stable. This is package publication only: no fleet default install, production restart, identity/replay mutation, or live send was performed. Next acceptance step remains approved exact-RC2 installation on Mac mini/MacBook/quintet-desktop/KR/US, WSL codexPython migration, fresh actual ACK route checks and the new four-hour campaign. Existing RC1/candidate results are not promoted to RC2 acceptance. Keep all four Windows findings and milestone open until evidence is complete.

  9. abruption commented on Sep 22, 2026

    @abruption
    OwnerAuthor

    RC1 stopped; RC2 five-host revalidation running

    User explicitly requested stopping the entire RC1 campaign, reinstalling RC2, and repeating real ACK plus four-hour validation.

    • RC1 soak/reporter and owned old receiver/bridge processes stopped. RC1 ended aborted at 112.8 minutes, with recorded health/Relay failures; it is not a passed soak. Old T2 restart was canceled. Evidence, identities, paired state, policies and unknown request journals are preserved.
    • Exact published RC2 (1.0.0rc2, tag v1.0.0-rc.2, commit fe9d8d83a8f9eb7bb26d47c6c3ebbf6c9b211608) is installed on Mac mini, MacBook, Windows native and WSL, KR user/runtime, and US.
    • KR snapshot passed integrity, schema/signing-key and revision checks before replacing both versioned runtime links. Control was rebuilt on KR; no migration or state rollback was needed. Old runtime/snapshot recovery evidence retained locally.
    • Windows native preflight exact ACKs are user-confirmed for both Claude and Codex. Owned Mac live PTYs provide separate ACK observations; queued/submitted are not counted as ACK.
    • Windows global pip check reports an existing unrelated MySQL/protobuf dependency problem; no unrelated dependency change was made.

    New four-hour clock: 2026-09-22 16:12:59–20:12:59 KST (checkpoint completion/report may finish shortly afterward). Health/resource/state checks every minute; forced-direct/public-Relay route checks every five minutes; new single-attempt ACK tokens at T0/T2h/T4h; one planned Relay restart at T2h (18:12:59 KST). Windows public Relay/native-core paths are included. Checkpoint notifications request independent live-PTY/user ACK review; the bounded final reporter never infers consumption.

    Current result is not PASS: intermittent public Relay failures already reproduced during preflight/T0 and are being tracked separately. The new run records failures rather than silently restarting the clock or masking them. No issue closure, milestone completion, stable promotion, or new release is implied by starting this test.

    Evidence: local RC2 campaign BuZTaE; operational log, checkpoint request IDs, ACK observations, installation transition and final reporter outputs kept separately. No transcript polling, credentials, private keys or raw auth material are published.

  10. abruption commented on Sep 22, 2026

    @abruption
    OwnerAuthor

    RC2 T0 independent observation update: Windows Codex exact ACK RC2-T0-win-native-codex-d7941d4c is user-confirmed. For Windows Claude RC2-T0-win-native-claude-1b1a95e7, the user clarified their initial both-ACKs statement: the request is visible but the agent is waiting for approval. Record request reception confirmed / approval pending / actual ACK unconfirmed, NOT a passed Claude ACK gate. No permission bypass or resend. The earlier preflight confirmation is a separate checkpoint and does not prove unattended Claude behavior. Mini Claude public-Relay T0 exact ACK was independently observed on its owned live PTY.

  11. abruption commented on Sep 22, 2026

    @abruption
    OwnerAuthor

    RC2 diagnostic boundary — issue #161

    User authorized enabling privacy-filtered Relay access logs and a bounded causal investigation, while retaining the existing RC2 campaign as diagnostic evidence.

    • Effective Caddy reload: 2026-09-22 17:34:13 KST / 08:34:13 UTC.
    • Warmup / possible reload-induced WebSocket closure: until 17:39:13 KST.
    • Additional observation hard end: 18:09:13 KST (30 minutes after warmup).
    • Source and installed artifacts remain published RC2. PR fix(relay): diagnose route failures and safely retry setup timeouts #162 is not installed.
    • Existing soak PID 27981 and reporter PID 29068 are unchanged. The run already contains failures; results after this boundary are explicitly diagnostic, not an unchanged clean stable-release soak.
    • Planned T2 service restart remains owned by the existing campaign. Additional authenticated probes exclude the five minutes before/after that restart and run only after the campaign's current network round completes.
    • No agent messages, native ACK requests, authentication changes, security relaxations, or packet payload capture are part of the added diagnostic runner.
    • KR log: /var/log/caddy/session-peer-access.log, caddy:caddy 0600, 10MiB rollover, three backups / 72-hour rolling retention policy.
    • KR configuration backup: /var/backups/session-peer-161-20260922. Applied config SHA256: b53aeed1b0a991a328285da2d2f0b3c9807fcc4a620f21738c2a253f40b10b83.
    • Initial reload was rejected because root validation had created the log as root:root 0600. The file config was restored; after correcting only the new empty log's ownership, reload succeeded. No service restart occurred.
    • Local diagnostic metadata: /tmp/session-peer-161-observe.c2JnIP. KR preparation/validation: /tmp/session-peer-161-observe.l1e8wF.
  12. abruption commented on Sep 23, 2026

    @abruption
    OwnerAuthor

    RC2 campaign reconciliation / RC3 preparation (2026-09-23)

    The RC2 operational soak has no terminal complete record: its last recorded minute is 172 (19:05:01 KST). It therefore did not meet the four-hour acceptance gate, irrespective of the reason its coordinator stopped. Public Relay route failures were present from the beginning and are tracked in #161; the possible coordinator restart explains only the missing ending, not those failures. Do not count previous T0 or one-shot direct/Cloudflare ACKs as T4 validation.

    An independent Claude read-only investigation and code cross-check are summarized in #161. Receiver idle/reconnect and stale-room hypotheses are split into #163. A fresh exact-artifact five-host RC3 matrix and uninterrupted four-hour criterion are specified in #164 under milestone v1.0.0-rc.3; draft PR #162 is only a candidate for that milestone. No RC3 build, fleet install, production switch, new soak, release or issue closure has occurred. The previously prepared 15-minute receiver wrapper's completion gate was not met by the incomplete RC2 run.

  13. abruption commented on Sep 24, 2026

    @abruption
    OwnerAuthor

    The RC1 validation plan was superseded by the completed RC4 five-host campaign tracked in #164. RC1/RC2 defects were triaged into #151/#153/#156/#157/#161/#163 and addressed or explicitly carried forward. The RC4 rerun has a complete 14,436.65 s record and documented T120 Windows Claude operational exception; see #164. Close this obsolete RC1 plan without rewriting its historical acceptance state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions