Close deterministic generation proof

This commit is contained in:
tmk241
2026-09-01 09:50:52 +02:00
parent 9e12b1eb46
commit 5b29100340
2 changed files with 7 additions and 25 deletions
+5 -24
View File
@@ -1,28 +1,9 @@
# Current plan
## Closed receipt — HMX-002
No live Hemx slices remain.
Result: Generated semantic anchors and forms use the canonical marker vocabulary, bounded request policy, accessible validation markup, enhanced requests, and native recovery.
Proof: Focused Redgate checks, workspace gates, request-boundary tests, navigation failure recovery, and fresh-context review passed; HMX-002 IDs have no findings.
## Closed receipt — HMX-001–004
Result: The closed typed effect path, native interaction recovery, root-owned adapters, deterministic generation, and portable server build are delivered.
Proof: `redgate check`, focused requirement checks, workspace format/clippy/tests/license gates, Wasm target/tree checks, archive checks, and fresh-context reviews passed.
Residual risk: Browser behavior is deterministically checked at generated-markup, runtime, and Axum boundaries rather than through an external browser harness.
## Closed receipt — HMX-003
Result: Direct SSE, WebSocket, polling, reveal, and event adapters bind once per owned root, clean removed fragments, carry canonical batches, and preserve explicit islands.
Proof: Focused lifecycle, nested-root ownership, transport-byte, island, closed-core, no-client-store, Axum boundary, Redgate, workspace, and fresh-context checks passed.
Residual risk: Browser lifecycle is deterministically checked at the runtime source boundary rather than through an external browser harness.
## Slice HMX-004 — Deterministic generation and portable server build
Outcome: Template inspection and macros produce stable, actionable generated contracts, and normal server-side Hemx APIs compile for wasm32 without host parser dependencies.
Delta: resource/005, build/001–003, derive/001–004, wasm/001.
Path: Hemplate template input -> build inspection and macro expansion -> generated contract artifact -> unchanged rebuild or actionable compile failure -> portable server target.
Build: Tighten semantic fingerprinting and no-op writes, source-path diagnostics, macro preservation and compile failures, and the target dependency boundary.
Risk: Nondeterministic artifacts cause rebuild churn and ABI drift; leaked host parsers make the promised server target unusable.
Checks: Existing deterministic/no-op build and compile-fail tests; source I/O diagnostic test; wasm32 check plus normal dependency-tree exclusion; `tests/redgate_test.sh`; `redgate check` for the slice IDs.
Non-goals: Changing Hemplate syntax, parser internals, or package publication.
Residual risk: None after focused checks and the repository’s required workspace gates pass.
State: Ready
Blocked by: none
+2 -1
View File
@@ -12,7 +12,8 @@ cargo test -p hemx-js --test runtime runtime_executes_every_closed_effect_with_o
cargo test -p hemx-js --test runtime runtime_applies_batches_in_order_and_stops_on_failure -- --exact # spec: kernel/004 check # spec: kernel/005 check # spec: runtime/005 check
cargo test -p hemx-build public_heml_inspection_entry_points_preserve_paths_and_io_diagnostics --lib # spec: build/001 check
cargo test -p hemx-build generated_contract_fingerprint_is_deterministic --lib # spec: build/002 check
cargo test -p hemx-build no_op_build_preserves_generated_artifact_timestamps --lib # spec: build/003 check
cargo test -p hemx-build no_op_build_preserves_generated_artifact_timestamps --lib # spec: build/003 check # spec: resource/005 check
cargo test -p hemx-build changed_template_refreshes_generated_artifacts --lib # spec: resource/005 check
cargo test -p hemx-derive --test surface surface_macro_preserves_inline_module_with_generated_file -- --exact # spec: derive/001 check
cargo test -p hemx-derive --test compile_fail handler_macro_reports_unknown_handle_and_bad_shape -- --exact # spec: derive/002 check
cargo test -p hemx-derive --test compile_fail component_macro_reports_missing_handler_implementation -- --exact # spec: derive/003 check