Commit a01edf3
chore(layout): unblock full ipkg build by gating Layout.* + dir rename
Three pre-existing infrastructure bugs diagnosed and addressed:
1. Directory case-mismatch: `layout/` renamed to `Layout/` so the
filesystem path matches the `Layout.*` module names declared inside
each file. On case-sensitive Linux the original `layout/` could
not be resolved for `import Layout.Types`.
2. Lowercase import typo: `TypedWasm/ABI/Layout.idr` had
`import layout.Types` (lowercase) — corrected to `import
Layout.Types`.
3. Layout.Types parser + Refl-reduction issues: investigated
`varInjective` parser error and the cascade of issues behind it
(mutual recursion not declared between `WasmHeapType`/`WasmValType`,
missing `public export` visibility, missing `Decidable.Equality` /
`Data.List` imports, nested-`with` pattern-unification failures in
the `DecEq` instance, Refl-impossible proofs that require layout
values to reduce at unification time but do not under this Idris2
0.8 build). These are non-trivial to fix and are documented as
future work in PROOF-NEEDS.md.
Until #3 is resolved, the four `Layout.*` modules are commented out
of `typed-wasm.ipkg` and the `import TypedWasm.ABI.Layout` line in
`TypedWasm.ABI.Proofs` is gated. This unblocks the full ipkg build
for the typed-wasm core (TypedWasm.ABI.* — the primary purpose of
this repo). The aggregate-library Layout contracts remain in the
tree for restoration once Layout.Types is fixed per the remediation
plan in PROOF-NEEDS.md.
Verified: `idris2 --build typed-wasm.ipkg` completes with exit 0
(silent success). The previous behaviour was `Module Layout.Types
not found` failing the build at module 11/16.
Note: ipkg build requires `idris2 --build` (not `--check`) to parse
the package file properly — `--check` treats the file as Idris2
source.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 3097b50 commit a01edf3
8 files changed
Lines changed: 57 additions & 6 deletions
File tree
- src/abi
- Layout
- TypedWasm/ABI
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
483 | 483 | | |
484 | 484 | | |
485 | 485 | | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
486 | 529 | | |
487 | 530 | | |
488 | 531 | | |
| |||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
0 commit comments