Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions crates/rds-core/tests/layering.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ const FORBIDDEN_DEPS: &[&str] = &[

#[test]
fn rds_core_manifest_has_no_runtime_or_backend_dependencies() {
let manifest = std::fs::read_to_string(concat!(env!("CARGO_MANIFEST_DIR"), "/Cargo.toml"))
.expect("Cargo.toml readable");
// Cargo may reuse this test artifact after an isolated source checkout
// has been removed. Embed the manifest being compiled, rather than a
// runtime dependency on that checkout's absolute path.
let manifest = include_str!("../Cargo.toml");

let deps = manifest
.split("[dependencies]")
Expand Down
11 changes: 9 additions & 2 deletions crates/rds-observe/tests/pipeline.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ mod admin;

use std::fs;
use std::io::Write as _;
use std::path::{Path, PathBuf};
use std::path::PathBuf;
use std::process::{Command, Output};
use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};

Expand Down Expand Up @@ -56,7 +56,14 @@ impl Stack {
.unwrap();
Self {
root,
config: Path::new(env!("CARGO_MANIFEST_DIR")).join("../../ops/observability"),
// This fixture reads current on-disk Compose files. Resolve the
// checkout Cargo is running now, not a deleted compilation path
// retained in a shared target directory.
config: PathBuf::from(
std::env::var_os("CARGO_MANIFEST_DIR")
.expect("run the infrastructure fixture through cargo test"),
)
.join("../../ops/observability"),
project: format!("rds-observe-{suffix}"),
password,
}
Expand Down
5 changes: 5 additions & 0 deletions docs/continuation-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ older revisions independently; neither is silently assumed to equal main.
| S5 | Input ACK, payload receipt, decoded-frame submission and physical pixels prove different things. | Native diagnostics, visual probe, bench reports | Exact-build typing/Backspace count and causal submission evidence; loss and unanswered probes included |
| S6 | Optional platform/media modules remain real stubs. Directory sync, native serving on macOS/Wayland, audio and automatic GDS grant issuance are not implemented. | Backend probe files, audio crate, sync engine, GDS policy adapters | Explicit later implementation/qualification tasks; never mark these complete from X11 or loopback results |
| S7 | Owned relay drain priority was reused as RTT, making progress budgets effectively infinite. | Noq path policy | Keep real RTT separate from ranking; negative deadline regression and positive engine/drain qualification |
| S8 | A compiled architecture test retained an absolute source-checkout filename, making shared-cache verification depend on a removed checkout. | Core layering test; infrastructure fixture path resolution | Embed source-only assertions; resolve required live fixture files from the runtime checkout; preserve the original assertions |

## Wave A — interactive recovery correctness (W3.6, W6.8)

Expand Down Expand Up @@ -98,6 +99,10 @@ both peers, with truthful measured recovery and no unrequested process restart.
5. Confirm main OID, consumed gitlink, installed artifact digest, running process
identity and effective endpoint/policy config independently on each device.
A clean checkout alone is not complete synchronization.
6. Verify reusable test artifacts independently of an old temporary checkout.
Embedded fixture data belongs to the compiled source; external fixture files
must resolve the actual running checkout. Serialize qualification processes
that share one Cargo target directory, including their test/doctest phases.

Exit: published implementation, estate consumption, runtime receipts and current
documentation agree; any remaining mismatch has its owning task and verifier.
Expand Down
27 changes: 27 additions & 0 deletions docs/reports/rds-relocatable-verification-20261007.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Verification fixtures across isolated checkouts — 2026-10-07

The core layering test embedded `CARGO_MANIFEST_DIR` as an absolute runtime
filename. Reusing its compiled artifact after that checkout was removed failed
with `Cargo.toml readable: NotFound`; this did not establish an invalid core
dependency graph. The failing verification is retained separately.

Embed the tested manifest with `include_str!("../Cargo.toml")`. The dependency
assertions remain mandatory, and the compiler tracks the included input. The
existing test passes after the correction. Its actual compiled artifact also
passes when invoked from an empty directory with a nonexistent runtime
`CARGO_MANIFEST_DIR`, without reading a source checkout.

The explicit Linux observability infrastructure fixture needs live Compose
files instead. Resolve Cargo's runtime manifest directory there, rather than
a removed compilation path. This changes fixture location handling; it does
not claim a new Docker/pipeline qualification. Full platform CI remains the
broader verifier.

This is a verification-lifecycle correction with no transport or wire change.
The [standby measurements](bench-standby-20261007.md) remain scoped transport
evidence; they do not measure this fixture behavior or close a product gate.
[Rust's `include_str!` documentation](https://doc.rust-lang.org/std/macro.include_str.html)
defines compile-time file inclusion relative to the source file. Cargo's
[environment contract](https://doc.rust-lang.org/cargo/reference/environment-variables.html)
distinguishes values expanded during compilation from the running test's
environment. Both mechanisms predate the requested research boundary.
Loading