Commit 8457868
Bump version to 0.4.3
Aligns uor-foundation / uor-foundation-sdk with the wiki's post-v0.4.2
amendments — closes every gap the ADR-035 + ADR-036 reframe introduced:
- `PrismModel<H, B, A, R>`: tighten the third substrate parameter to
`A: AxisTuple + Hasher` (per wiki ADR-036). Resolver-bound ψ-Term
fold-rules consume the canonical hash axis type-associatedly via
`<A as Hasher>::initial()`.
- `prism_model!` / `verb!` ψ-residuals discipline (wiki ADR-035): the
closure-body parser rejects ψ-residual emissions at proc-macro
expansion. Four rejection paths:
* `first_admit(...)` → `Term::FirstAdmit` (search-based admission).
* `hash(...)` → `Term::AxisInvocation` (verb-body axis
dispatch; hash invocations belong in resolver
bodies, ADR-036).
* `<=`, `<`, `>=`, `>` → `Term::Application { Le|Lt|Ge|Gt }`
(byte-comparison residuals of search-based
admission).
* `concat(...)` → `Term::Application { Concat }`
(byte-shape residual of byte-aware admission).
Each rejection emits a closure-violation error citing the ψ-residual
category, architectural rationale, and the canonical ψ-chain
alternative (G21..G29). `Term::FirstAdmit`, `Term::AxisInvocation`,
and `PrimitiveOp::{Le|Lt|Ge|Gt|Concat}` remain in the substrate for
non-verb-body contexts (conformance generators, trace replay).
- Receiver-shape compatibility checks for G21..G29 (wiki ADR-035): the
emitter tags each TermSpec with its produced shape (`PsiShape::Byte`
/ `SimplicialComplex` / `ChainComplex` / `HomologyGroups` /
`CochainComplex` / `CohomologyGroups` / `PostnikovTower` /
`HomotopyGroups`) and rejects ψ-chain operand-shape mismatches at
expansion. `chain_complex(input)` (byte instead of simplicial-complex)
fails with a precise receiver-shape violation pointing at the operand
span.
- Smoke test corpus updates:
* Retired the G16 `FirstAdmitModel` regression (the lowering it
pinned is now a closure violation per the ψ-residuals discipline).
* Added `prism_model_arenas_carry_zero_psi_residuals_per_adr_035`:
walks every Route arena emitted by the prism_model! corpus and
asserts no ψ-residual Term variant slipped through.
Wiki TR-14 (structured-error requirements: rejected variant + offending
span + ψ-residual category + architectural reason + recommended
restructuring path) and TR-15 (RESOLVER_ABSENT runtime path as the
load-bearing resolver-absence reporter) are both satisfied by the
existing surface plus the new rejection paths above.
All quality gates green: fmt, clippy --all-targets -D warnings,
workspace tests (every crate), conformance (543 passed, 0 failures,
0 gaps).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent bfb6b8a commit 8457868
10 files changed
Lines changed: 605 additions & 384 deletions
File tree
- codegen/src
- foundation
- src
- lean4
- 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 | |
|---|---|---|---|
| |||
2996 | 2996 | | |
2997 | 2997 | | |
2998 | 2998 | | |
2999 | | - | |
| 2999 | + | |
| 3000 | + | |
| 3001 | + | |
| 3002 | + | |
| 3003 | + | |
| 3004 | + | |
3000 | 3005 | | |
3001 | 3006 | | |
3002 | 3007 | | |
| |||
0 commit comments