Repository navigation
config_env tests: fresh temp dir per call (card 4c820b46) - #5242
Merged
Merged
Conversation
…ast run left behind Card 4c820b46. tmp_config numbered paths with a per-process counter that restarts at 0, so continuum-config-env-test-0/config.env from an earlier run was read back: read_all_on_a_missing_file_is_empty_not_a_panic failed locally (M5, 2026-10-21, cargo test on #5228 7bcdb2b: 9004 passed, this 1 failed) while CI's clean runners passed. tempfile::Builder gives an empty, unique dir. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo
Contributor
Author
|
PASS #5242 at f9a187a, Cormac. Claim checked: each tmp_config call is a fresh empty dir, so a file left by an earlier run can't be read back. tempfile::Builder::tempdir() is unique per call, which the restarting counter was not. |
joelteply
added a commit
that referenced
this pull request
Oct 21, 2026
…e the monolith (redo of #5194 on post-split canary) (#5249) * refactor(core): create continuum-base, the floor crate, and git mv the leaf modules into it Card a31492cb, redone on post-split canary (supersedes #5194, whose branch cannot rebase over the many files canary has since split). New crate core/continuum-base joins the workspace and continuum-core depends on it. Moved with git mv, whole module trees: time (mod + age), config_env, secrets, id_resolve, fs_portable (mod + replace), shell_portable, audio_constants. They have zero Continuum dependencies, so none of their crate:: paths needed repair. The probe!, time_sync! and time_probe! macros (pure tracing) move out of routing/macros.rs into continuum-base/src/probe.rs, carrying canary's probe!(target: ..., class = ...) arm; stack! stays because it needs continuum-core's routing. The root `pub use audio_constants::*` is deleted: users name the owner. fs_portable's publication-fence fault hook moves to fs_portable::fault_injection behind a test-fixtures feature that continuum-core's test-fixtures enables, so continuum-core's spill test no longer reaches into a private test module. config_env keeps canary's own temp-dir fix (#5242). References are rewritten in the next commit; this one is the move. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo * refactor(core): rewrite every reference to the moved modules and probe macros to name continuum-base Mechanical rewrite by script, no re-exports left behind: crate::/continuum_core::/$crate:: time, config_env, secrets, id_resolve, fs_portable, shell_portable, audio_constants and the probe!, time_sync!, time_probe! macros become continuum_base::... in continuum-core's src, tests, benches and examples (1,779 substitutions across 538 files: ~451 module references and ~1,327 macro call sites, matching #5194's count). The macros.rs doc example now imports probe from its owner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo * fix(hygiene): split crates stay under every gate; wall_clock follows time to continuum-base source-hygiene audited only continuum-core/src, so code split into a crate would silently leave every ratchet (unwraps, file size, wall clock, layer discipline). audited_files() now covers continuum-core plus each SPLIT_CRATES entry, with the crate name as a path prefix so totals stay continuous across the cut and per-path rules stay unambiguous; a listed crate with no src fails loudly instead of auditing nothing. wall_clock's owner path and bare wrapper spellings follow time to continuum-base. Same change as #5194's 8d69153, applied cleanly onto canary's current scanner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo * fix(base): Windows dependency for fs_portable; binding doc path follows the moved module continuum-base's fs_portable calls MoveFileExW on Windows, which continuum-core declares and the new crate did not (windows-msvc would fail with E0433 windows_sys, as #5194's CI did). Declared with only the two features it uses. KeysSetResult.ts changes because its Rust doc comment now names continuum_base::secrets (ts-rs copies doc comments). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tmp_config named temp paths with a per-process counter that restarts at 0, so a config.env left by an earlier run was read back and the "missing file" test failed on dev machines (M5, 2026-10-21: 9,004 passed, this 1 failed). CI runners start clean, so it never failed there. Now each call gets a fresh empty dir from tempfile::Builder.
Evidence: local cargo test on #5228 7bcdb2b, failure at config_env.rs:316. CI compiles this change.
🤖 Generated with Claude Code
https://claude.ai/code/session_01LoTjvf5j3Ez13g6k8mRkFo