Repository navigation
Provide and verify a Linux review environment for cloud and HPC #95
Description
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).
- Native Ubuntu 24.04 CI run 37267493289 passed fresh/repeated setup, portable checks, scripted smoke, and artifact publication.
- The actual Debian 13.6 x86_64 cloud executor passed preparation and full checks (1,236 passed / one native Windows skip), and a separate fresh task verified automatic restoration of the prepared tools, receipts, 66 current skill links, and seven clean repositories.
- The TypeSafe probe requirement is superseded, following the no-go decision in review-graph: adopt TypeSafe routing only after the shadow evaluation passes #74 and skill removal in remove(skills): drop vendored TypeSafe skill #118. No live probe is claimed.
- The actual coordinator/worker cloud review remains outstanding in Verify an actual multi-agent review in the prepared cloud environment #123. Scripted protocol smoke does not satisfy that criterion.
- HPC remains unverified, as permitted by the original acceptance criteria; other Linux distributions and aarch64 remain unverified.
- docs(review): record verified Linux environments #124 updates stale README/guide status text and remains a draft awaiting review/merge. The installed tool pins and unrelated settings are unchanged.
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.mdas 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
fix(review-graph): reject empty smoke timing receipts
feat(review): add portable Linux review environments
fix(ci): require Linux review before auto-merge
acgetchell commentedon Oct 5, 2026
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
Linux portable reviewjob passed initial provisioning, repeated setup, the offline portable suite, timed graph smoke, and artifact publication. Artifactlinux-review-93679252ec83824fbc0e92e1b40eb08824746917(ID 11327022599) has a 14-day retention period. The separate native Linux and Windows timing jobs also passed.2b585b3b3a5d45dcd4cfa7a5ae8923a018fac968; content digestsha256: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.typesafe-ailink was deliberately retained and excluded from the current-skill count.bin/linux-review.sh execpassed 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.validation/REPORT.txtandvalidation/results.json; repository evidence undertarget/linux-review/{setup-niwrytdj,setup-z0her5ao,check-shfssnil,smoke-_iffmsaw}. The smoke'sgraph/final-proof.jsonreports 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
just markdown-checkpassed 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.