Repository navigation
Conversation
tiny_store_tests.rs had grown to 784 lines, over rust:layout's 750-line limit. The trailing file-root and protected-file tests move unchanged into tiny_store_guard_tests.rs, a child module of the same tests module, so they keep the shared helpers through super::*.
a_protected_file_inside_the_working_folder_is_refused asserts TinySecurity's protected-path floor. Without security-module, security is disabled and there is no floor, so the create succeeds and the test failed in that build. It now runs only where the floor exists, like its sibling the_guarded_roots_refuse_to_read_a_protected_file.
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Tiny Sweeper reviewReviewed head: Verdict: Ready for maintainer review · Priority: none Diagnostics and supporting detailsFull summaryPull request purpose (title): test(artifacts): gate the protected-file refusal test on security-module. This PR gates the artifacts protected-file refusal test on the `security-module` feature, matching its sibling test, because TinySecurity's protected-path floor does not exist when security is disabled. The change is test-only: it moves five existing tests into a new `tiny_store_guard_tests.rs` module declared via `#[path]` from `tiny_store_tests.rs`, and widens `a_protected_file_inside_the_working_folder_is_refused` to `#[cfg(feature = "security-module")]` with an explanatory comment. No push delta was available for review. Review snapshot
Completeness: Complete What changedThe pull-request diff adds `crates/openhuman-core/src/artifacts/tiny_store_guard_tests.rs` containing five tests relocated from `tiny_store_tests.rs`, and registers it in `crates/openhuman-core/src/artifacts/tiny_store_tests.rs` via `#[path = "tiny_store_guard_tests.rs"] mod guard_tests;`. The protected-file refusal test now carries `#[cfg(feature = "security-module")]`, joined by a comment explaining that the refusal is TinySecurity's protected-path floor and that a build without the security module has no floor. Test bodies and assertions are otherwise carried over unchanged, so there is no runtime behavior change. Features
Tests
FindingsNo active actionable findings. Before mergeNone. Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
The merge-base changed after approval.
Summary
artifacts::tiny_store::tests::…::a_protected_file_inside_the_working_folder_is_refusedfails in a build withoutsecurity-module. It asserts TinySecurity's protected-path floor, and that floor does not exist when security is disabled.security-module, like its siblingthe_guarded_roots_refuse_to_read_a_protected_file.Base: stacked on #8560 (the
tiny_store_tests.rssplit), because the test lives in that PR's newtiny_store_guard_tests.rs. On main it is still intiny_store_tests.rs, so a PR off main would conflict with #8560. Merge #8560 first; this then carries one commit.Problem
security-modulehas no path policy at all, and file tools reach~/.sshlike any other path.unwrap_err()panics onOk(Saved { … }). This is identical on main 6043171.Solution
#[cfg(feature = "security-module")]on the test, with a comment naming the floor.Submission Checklist
docs/TEST-COVERAGE-MATRIX.md.docs/RELEASE-MANUAL-SMOKE.md).Validation (cuttlefish, CF-W1-fix-029-1)
cargo fmt --checkpnpm rust:layoutsecurity_mode.rs:93), pre-existingcargo check --locked, core ± security-moduleartifacts::tiny_store::tests::with security-moduleguard_tests::)artifacts::tiny_store::tests::without security-module:68)Impact
Related
AI Authored PR Metadata (required for Codex/Linear PRs)
Linear Issue
Commit & Branch
fix/ts-e2e-029-gate-protected-file-test6786d69b0729325e93494935697d78d4f4ffb8e2Validation Run
pnpm --filter openhuman-app format:check, no frontend changepnpm typecheck, no TypeScript changeValidation Blocked
command:N/Aerror:N/Aimpact:N/ABehavior Changes
Parity Contract
Duplicate / Superseded PR Handling
Summary by CodeRabbit