Review M1: accept with two follow-up tasks

The branch passes the checklist: seven commits, copied files unchanged,
gate and audit green. Reading and probing found that AuditRecord and
ToolCall accept unknown fields, that large Timestamps panic when
formatted, and that the dependency-direction scripts miss table-form
dependencies and pass when their inputs are missing. The last two
families were gaps in the tasks, not only in the code.

Tasks 08 and 09 carry the fixes, defined by an exhaustive unknown-field
test, a bounded-Timestamp test and an extended gate-script self-test.
All three were checked against the reference implementation and fail on
the current branch.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-17 09:14:29 -07:00
co-authored by Claude Fable 5.1
parent 8c1852ec47
commit dcdcf65d83
9 changed files with 388 additions and 6 deletions
+1
View File
@@ -111,6 +111,7 @@ pub struct Epoch(pub u32);
pub struct CallId(pub u64); // assigned by loopd, increasing within a session
pub struct Hash32([u8; 32]); // JSON: 64 lowercase hex chars
pub struct Timestamp(u64); // Unix milliseconds; JSON: "2026-09-17T08:05:00.000Z"
// never above 9999-12-31T23:59:59.999Z (added after the M1 review)
#[serde(rename_all = "lowercase")]
pub enum DataClass { Public, Private, Secret } // derives PartialOrd, Ord in this order