| Filename | Latest commit message | Latest commit date |
|---|---|---|
Cut 2 generalised the one commit owner into a profile so a pipeline profile could share it. Ruling 20 sends admission to Huginn, so the second profile left the repo and the abstraction had exactly one implementation. A one-implementation abstraction is a named STOP condition, so it goes. Cut 2's generalisation did not pay off; this says so rather than keeping the shape to avoid admitting it. Deleted: `struct TypedCommitStore`, `const MIND_COMMIT_STORE`, the `store: &TypedCommitStore` parameter, `fn validate_mind_writes`, and the `&MIND_COMMIT_STORE` argument at each of the five Mind wrappers. The three choices the profile carried are re-inlined at their one use: the backing store, the runtime spine opener, and the write validator, plus the literal "epiphany-mind" as the receipt's store id. `RuntimeSpineBackingStore` lost its last use in this file and left the import. Behaviour is unchanged, including the pinned receipt digest mind-commit-sha256:415283...281e. The owner's order is unchanged and stays fail-closed: identities unique, store open (which refuses a foreign epoch), writes validated, and only then may a stored receipt answer a replay. The profile's two tests could not survive the thing they tested, so their rules are re-expressed against the concrete owner. The two profile-shaped tests are replaced by three that reach the same rules through the Mind path: validation-before-replay now plants exactly the receipt the batch would produce and asserts the refusal wins; uniqueness-before-validation pins which refusal a duplicated invalid batch reports; and one-store asserts a commit touches only the store it was given. Two surviving tests lost "profile" from their names, which had become a lie. Builds clean: 171 tests, 0 warnings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
| .. | ||
| src | ||
| Cargo.toml | ||