Skip to content

Provide and verify a Linux review environment for cloud and HPC #95

Closed

Description

@acgetchell

Closeout disposition — 2026-10-05

The portable Linux environment work is complete under the maintainer-approved scope adjustment. Verified results and receipt identities are recorded in #95 (comment).

The historical request below is retained for context; this disposition and the linked follow-up supersede the original combined TypeSafe/end-to-end checkbox.


Summary

Provide a reproducible, Linux-friendly review environment for Cara's cloud computer and a future HPC deployment. Support installation into user-owned locations without requiring root, Homebrew, or changes to system Python or unrelated shell configuration.

Current State

  • The repository bootstrap targets macOS and installs a Homebrew bundle.
  • Main validation CI runs on macOS; the Ubuntu workflow currently performs workflow security analysis, not the complete portable validation suite.
  • The local implementation for review-validator: make asynchronous timing wrappers shell-portable #89 adds portable execution timing and native Linux/Windows timing CI. Those jobs have not yet supplied passing evidence for these changes.
  • Cloud TypeSafe secret configuration is documented, but documentation and Ubuntu CI alone do not establish a working review environment on the actual cloud computer or HPC cluster.

Proposed Changes

  • Separate the portable review/tooling environment from macOS desktop configuration. Add an explicit Linux setup/check command with an idempotent user-space installation path, existing tool-version authorities, and locked Python dependencies.
  • Detect and record the target distribution, architecture, libc, shell, Python, and required tools. Define the supported matrix and actionable unsupported-environment diagnostics; do not assume every Linux host matches Ubuntu CI.
  • Support configurable installation, cache, temporary-work, and artifact directories, including scratch storage. Respect site-provided tools/environment modules and avoid modifying global Python, unrelated dotfiles, or requiring Docker/privileged services.
  • Install/discover the skills and run portable repository checks on clean Linux CI. Keep macOS-only checks explicit and separate; portable test failures must not be hidden as platform skips.
  • Document HPC execution after discovering the site's scheduler, allocation policy, network restrictions, and module setup. Do not assume Slurm, run heavy checks on login nodes, or require outbound API access from compute nodes. Separate connected provisioning/routing from offline validation where the site requires it, and report unavailable capabilities explicitly.
  • Accept credentials through the environment's approved secret provider. Validate TypeSafe access without persisting or printing the key; exercise missing credentials, blocked network access, and unavailable tools with clear diagnostics. Keep default CI credential-free and make live API probes explicit and bounded.
  • Run a small end-to-end review graph in the actual cloud environment, including timed validation, evidence publication, and final proof verification. Record the source commit, platform/tool identities, commands, exit statuses, elapsed times, and artifact references.

Acceptance Criteria

  • A fresh Linux environment can install and rerun the portable setup as an unprivileged user, using configurable directories and existing version pins.
  • Native Linux CI passes portable tooling/skill/runtime checks, including review-validator: make asynchronous timing wrappers shell-portable #89's timing suite; a successful workflow-security audit alone does not satisfy this criterion.
  • Provisioning and execution prerequisites are documented for the cloud computer and HPC, including supported platforms, modules, scheduler placement, scratch storage, and network/secret boundaries.
  • Update README.md as part of this implementation to describe the supported scope accurately: macOS dotfiles and Linux cloud/HPC development tooling, unless the full shell/dotfile setup is also ported and verified. Include platform-specific setup commands and a support matrix that distinguishes verified platforms from untested cluster configurations.
  • Failure fixtures cover unavailable tools, credentials, and network access without leaking secrets or claiming a successful review.
  • Cara's actual cloud computer passes a bounded TypeSafe probe and an end-to-end graph run with verifiable artifacts.
  • Cloud and HPC verification statuses are recorded separately. Before claiming the cluster is supported, run a bounded native smoke/review fixture through its authorized execution path; record an unavailable or untested cluster as unverified.

Scope

Build on #89's timing helper. Keep this work separate from #87's evidence-format changes and #73's local Jev routing evaluation; Linux/cloud/HPC work does not add a prerequisite to that local experiment. Cluster-specific configuration belongs in local/site configuration rather than machine-specific paths or credentials in this public repository.

Activity

  1. acgetchell commented on Oct 5, 2026

    @acgetchell
    OwnerAuthor

    2026-10-05 verification and scoped closeout

    Closing the portable-environment work under the maintainer-approved disposition. The remaining actual coordinator/worker cloud review is transferred to #123. This preserves the original end-to-end criterion; the scripted graph smoke is not being counted as a real multi-agent review.

    Verified evidence

    • Native Ubuntu 24.04 x86_64: CI run 37267493289 completed successfully. Its Linux portable review job passed initial provisioning, repeated setup, the offline portable suite, timed graph smoke, and artifact publication. Artifact linux-review-93679252ec83824fbc0e92e1b40eb08824746917 (ID 11327022599) has a 14-day retention period. The separate native Linux and Windows timing jobs also passed.
    • Actual cloud executor: Debian 13.6 x86_64, glibc 2.41, at source commit 2b585b3b3a5d45dcd4cfa7a5ae8923a018fac968; content digest sha256:3e151f669d940d93035fa973314e3c402e9d63486615abf2aa131d0579e195e7. Preparation receipts record setup, repeat setup, full check, and smoke exit codes 0. Full portable validation: 1,236 Python tests passed, one native Windows shell test skipped.
    • Prepared filesystem persistence: a separate fresh task first observed the prepared Stow launcher, extracted base, installation, cache, and receipts at 08:32:24 PDT (15:32:24 UTC), before any setup/repair. uv 0.12.23, Just 1.58.0, dprint 0.60.1, rumdl 0.2.78, Python 3.14.8, research-repo-tools 0.1.7, and Stow 2.4.1 matched; all 66 current skill links and all seven clean repository identities matched. The stale home typesafe-ai link was deliberately retained and excluded from the current-skill count.
    • Invocation boundary: the saved activation plus bin/linux-review.sh exec passed its offline dependency/version check. uv refreshed an existing interpreter-cache entry and lock/directory metadata; therefore this was not strictly zero-write. The before/after inventory contained 53,594 entries, with no added/deleted paths and no changes to source, receipts, binaries, or skill links.
    • Retained cloud receipts: operator-held validation/REPORT.txt and validation/results.json; repository evidence under target/linux-review/{setup-niwrytdj,setup-z0her5ao,check-shfssnil,smoke-_iffmsaw}. The smoke's graph/final-proof.json reports a complete scripted protocol proof. REPORT SHA-256: 71ace9e30f6a7562c35ce45eb7df6090bb882e45df6f62db70e9f5214c915f17; results SHA-256: 474cd336b022931ab8dd390e4fa8467d4cff3b76d42c43d93b2a11a144f7e859. These preparation receipts predate publication and correctly retain their original draft-status wording; fresh restoration was verified separately afterward.

    Acceptance disposition

    • The portable installer, repeatability, pinned environment, native Linux CI, skill discovery, prerequisites, and offline failure fixtures are verified. Missing-tool/network/checksum/libc fixtures, bounded/redacted probe fixtures, and credential/network failure tests remain part of the passing suite; fixture success is not a live API result.
    • TypeSafe probe criterion superseded: review-graph: adopt TypeSafe routing only after the shadow evaluation passes #74 declined production adoption and merged remove(skills): drop vendored TypeSafe skill #118 removed the vendored skill. No live TypeSafe probe was run or claimed. The dormant opt-in harness remains available only for separately authorized evaluation.
    • Real cloud graph criterion transferred: Verify an actual multi-agent review in the prepared cloud environment #123 retains a small actual coordinator/worker review, timed validation, evidence publication, and final proof verification on the cloud executor.
    • HPC remains unverified, as expressly allowed by this issue. Other distributions and aarch64 are also unverified. No cluster smoke, deployment, or broad Linux support claim is made.
    • Documentation: docs(review): record verified Linux environments #124 updates the stale README/guide statuses and records these boundaries. It remains a draft awaiting review/merge. Its local just markdown-check passed all 182 Markdown files; diff checks passed. Historical CI receipts are not represented as checks of the documentation PR's new head.

    Close as completed for the scoped portable-environment work. No environment security changes, live TypeSafe calls, or PR merge are part of this closeout.

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions