35 lines
2.9 KiB
Markdown
35 lines
2.9 KiB
Markdown
# Current plan
|
||
|
||
## Closed receipt — HMX-002
|
||
|
||
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.
|
||
Residual risk: Browser behavior is deterministically checked at generated-markup, runtime, and Axum boundaries rather than through an external browser harness.
|
||
|
||
|
||
## Slice HMX-003 — Direct adapters and explicit islands
|
||
|
||
Outcome: Optional transports and local islands compose with the generic runtime without adding effect schemas, a plugin registry, or mirrored client application state.
|
||
Delta: runtime/006–008, boundary/001–004, axum/002.
|
||
Path: root-owned adapter or explicit island marker -> direct bind/scan/cleanup lifecycle -> unchanged effect batch or island-owned subtree -> deterministic ownership result.
|
||
Build: Keep generic runtime behavior in `hemx-js`, framework transport in `hemx-axum`, direct adapter lifecycle beside each adapter, and explicit morph boundaries around islands.
|
||
Risk: Duplicate binding, leaked cleanup, or ambiguous ownership can apply effects twice, cross roots, or overwrite island state.
|
||
Checks: Browser lifecycle scenarios for bind-once, inserted fragments, removal cleanup, wrong-root rejection, and island preservation; static/public-API checks excluding plugin registries, extra core effects, and client stores; unchanged-byte transport tests; `redgate check` for the slice IDs.
|
||
Non-goals: New transports, a general extension API, or application-specific island frameworks.
|
||
Residual risk: Adapter-specific network behavior remains owned by each optional adapter.
|
||
State: Ready
|
||
Blocked by: none
|
||
|
||
## 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
|