From 798a65533c3ddb35537cd2725d8d4ee113b3584c Mon Sep 17 00:00:00 2001 From: "Harness Implementer (T0.1 step 3)" Date: Wed, 19 Aug 2026 23:23:20 +0000 Subject: [PATCH] fix(ids crate): move compile-fail .stderr to tests/compile_fail and remove over-broad *.stderr ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous harness agent placed ids's trybuild fixtures in which left them off the path cargo test --test compile_fail reads (), so every run re-generated new ones (no content match → suite never greens). Move default_task_id.stderr and unscoped_key.stderr next to their .rs inputs. Also remove from . The blanket rule blocked the two intentionally-committed trybuild fixtures (the only non-target .stders in this repo) with no useful gating function; leaving it in place silently drops new or renamed compile-fail assertions on any subsequent clone. Fixes verdict T0.1/compile_fail block per .task-result-T0.1; nothing else changed in lib.rs, derives, or trait impls. --- .gitignore | 2 -- .../tests/compile_fail/default_task_id.stderr | 16 +++++++++++++++ .../tests/compile_fail/unscoped_key.stderr | 20 +++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 poimen/crates/ids/tests/compile_fail/default_task_id.stderr create mode 100644 poimen/crates/ids/tests/compile_fail/unscoped_key.stderr diff --git a/.gitignore b/.gitignore index 7efb658..bf918a7 100644 --- a/.gitignore +++ b/.gitignore @@ -4,8 +4,6 @@ target rust-agentic-task.md tasks/artifacts/* -*.stderr - verify/ reviews/ diff --git a/poimen/crates/ids/tests/compile_fail/default_task_id.stderr b/poimen/crates/ids/tests/compile_fail/default_task_id.stderr new file mode 100644 index 0000000..fb5a93a --- /dev/null +++ b/poimen/crates/ids/tests/compile_fail/default_task_id.stderr @@ -0,0 +1,16 @@ +error[E0599]: no associated function or constant named `default` found for struct `TaskId` in the current scope + --> tests/compile_fail/default_task_id.rs:7:28 + | +7 | let _task_id = TaskId::default(); + | ^^^^^^^ associated function or constant not found in `TaskId` + | +note: if you're trying to build a new `TaskId` consider using one of the following associated functions: + TaskId::new + TaskId::from_bytes + --> src/lib.rs + | + | pub fn new(hash: blake3::Hash) -> Self { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +... + | pub fn from_bytes(bytes: [u8; 32]) -> Self { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/poimen/crates/ids/tests/compile_fail/unscoped_key.stderr b/poimen/crates/ids/tests/compile_fail/unscoped_key.stderr new file mode 100644 index 0000000..de5eb45 --- /dev/null +++ b/poimen/crates/ids/tests/compile_fail/unscoped_key.stderr @@ -0,0 +1,20 @@ +error[E0277]: the trait bound `RunId: StorageKey` is not satisfied + --> tests/compile_fail/unscoped_key.rs:10:16 + | +10 | use_as_key(run_id); + | ---------- ^^^^^^ the trait `StorageKey` is not implemented for `RunId` + | | + | required by a bound introduced by this call + | +help: the following other types implement trait `StorageKey` + --> src/lib.rs + | + | impl StorageKey for Scoped where T: Serialize + for<'de> Deserialize<'de> {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Scoped` + | impl StorageKey for BranchKey {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `BranchKey` +note: required by a bound in `use_as_key` + --> tests/compile_fail/unscoped_key.rs:6:18 + | + 6 | fn use_as_key(_key: K) {} + | ^^^^^^^^^^ required by this bound in `use_as_key`