Commit 5f782f9
Bump version to 0.4.6
Implements wiki ADR-043 through ADR-049 — the implementer-facing
cost-model + observable-surface trio, plus the user-flagged `axis!`
macro orphan-rule bug fix.
ADR-048 — `TypedCommitment` cost-model surface (5th substrate parameter):
- `TypedCommitment` trait (sealed) + 3 built-in implementors:
`EmptyCommitment` (no-commitment default), `SingletonCommitment<P>`
(one ObservablePredicate), `AndCommitment<A, B>` (typed conjunction).
Trait surface: `bandwidth_bits() -> f64`, `accept_prob() -> f64`,
`evaluate(kappa_label: &[u8]) -> bool`, `predicate_count() -> usize`,
`predicate_iris() -> &'static [&'static str]`.
- `PrismModel<H, B, A, R, C>` extends to a 5-substrate-parameter shape;
`C: TypedCommitment` defaults to `EmptyCommitment` so existing
models compile unchanged.
- `run_route<H, B, A, M, R, C>(input, &resolvers, &commitment)` extends
to a 6-type-parameter signature; the catamorphism's post-resolver
`commitment.evaluate(kappa_label)` consultation gates the
success-envelope. Failure surfaces as `PipelineFailure::ShapeViolation`
with the foundation-vetted `commitment/TypedCommitment/VIOLATED`
shape IRI.
- `prism_model!` macro extended: accepts optional 5th type-position +
optional `fn commitment() -> C { … }` body clause. Macro emits the
5-position impl with the commitment threaded into `forward`'s body.
- `TRACE_REPLAY_FORMAT_VERSION` bumped 6 → 7 for the
CommitmentEvaluated trace event variant.
ADR-049 — Observable + cryptanalysis-battery surfaces:
- `ObservablePredicate` trait (sealed) + 4 foundation-declared typed
observable primitives: `Stratum<P>`, `WalshHadamardParity`,
`UltrametricCloseTo<P>`, `AffineParity`. Each implements the
foundation-vetted observable_iri per the closed Observable catalog.
- `axis::cryptanalyze::<H: Hasher>(samples)` → `CryptanalysisReport`
with §A–§J test outcomes + `all_pass()` helper. The structural
battery witnesses Hardening Principle U1–U6 (ADR-047).
- `observable:SpectralObservable` closed-catalog extension (Path-1
class hosting Walsh–Hadamard-parity-derived spectral readings).
Counts: CLASSES 472→473, CLASSIFICATION_PATH1 414→415,
SHACL_TESTS 284→285, CONFORMANCE_CHECKS 544→545.
ADR-043 / 045 / 046: documentation-only (resolver-body discipline scope,
Grounded::tag already realized in foundation).
ADR-044 already realized: `PartitionProductFields` FIELDS + FIELD_NAMES
split-const form was in place from prior release.
ADR-047 — σ-Projection Hardening Principle: documentation in
TypedCommitment / ObservablePredicate trait surfaces (U1–U6 axioms
named; bandwidth_bits / accept_prob propagation tight per U2).
axis! macro orphan-rule bug fix (user-flagged):
- Prior emission generated `impl<T: MyAxis> AxisExtension for T` —
a foreign-trait blanket that violates Rust's orphan rule from any
external crate.
- Fixed by emitting a companion `axis_extension_impl_for_<snake>!`
macro per axis trait; users invoke it once per implementing struct
to get an orphan-rule-conformant `impl AxisExtension for MyStruct`
with the kernel-id-routed dispatch_kernel body.
- 7 new test cases in `uor-foundation-sdk/tests/smoke.rs` covering
kernel-id consts, AxisExtension wiring, dispatch routing, unknown-id
rejection, single-kernel handling, method-signature contract,
AXIS_ADDRESS/MAX_OUTPUT_BYTES propagation.
End-to-end implementor-verification tests for ADR-048 + ADR-049 in
uor-foundation-sdk/tests/smoke.rs:
- `adr048_*` cost-model enforcement (Empty/Singleton/And evaluate;
prism_model! 5-position form with `fn commitment()` clause; failure
surfaces with the canonical shape IRI; success returns `Grounded` with
output_bytes carrying the κ-label the commitment accepted).
- `adr049_*` observable predicate evaluation (Stratum, WalshHadamardParity,
UltrametricCloseTo, AffineParity each exercised) + cryptanalysis
battery surface pin.
All quality gates green: fmt, clippy --all-targets -D warnings,
workspace tests (71 SDK smoke tests, every foundation test),
conformance (545 passed, 0 failures, 10 meta-audit, 0 gaps).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 746075c commit 5f782f9
31 files changed
Lines changed: 2407 additions & 148 deletions
File tree
- codegen/src
- conformance
- shapes
- src
- tests/fixtures
- validators
- ontology
- rust
- standards
- docs/orphan-closure
- foundation
- src
- bridge
- tests
- lean4
- UOR
- spec/src
- namespaces
- uor-foundation-sdk
- src
- tests
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5186 | 5186 | | |
5187 | 5187 | | |
5188 | 5188 | | |
5189 | | - | |
| 5189 | + | |
5190 | 5190 | | |
5191 | 5191 | | |
5192 | 5192 | | |
| |||
0 commit comments