Commit Graph

510 Commits

Author SHA1 Message Date
slhx agent da28db9775 feat(runtime): support viewport-ahead reveals 2026-08-02 22:06:18 +02:00
slhx agent c530dc5d8f fix(build): lower rendered loop keys
req: list/002
2026-07-27 20:02:32 +02:00
slhx agent 2dc7703936 chore(repo): save local work 2026-07-27 13:23:56 +02:00
slhx agent 276f40ee59 refactor(saas): make navigation and status idiomatic
Use a real enhanceable Settings URL, remove response-simulated navigation, and replace the one-shot public SSE endpoint with an initial canonical event plus ongoing server-owned updates. Keep a bounded one-event probe for production-reference tests.

req: examples/014

req: nav/001

req: nav/002

req: nav/004

req: push/003
2026-07-22 18:18:48 +02:00
slhx agent c4a6edfed1 test(runtime): pin inserted trigger binding
req: runtime/007
2026-07-19 23:12:35 +02:00
slhx agent 895572b735 docs(runtime): tighten dynamic binding proof
req: runtime/007
2026-07-19 23:00:28 +02:00
slhx agent 7c98de1e8c fix(runtime): bind inserted revealed triggers
req: runtime/007
2026-07-19 21:37:26 +02:00
slhx agent e7ca6d2350 test(wasm): close mutation package gate
Run browser-backed mutest sequentially without a parent jobserver, disable Firefox background work, batch replay projections while preserving ordered application, and elect a 250 ms budget for the durable 64-command browser fixture. All four hemx-wasm shards pass with 59 mutants and no survivors, closing the mutation matrix.

req: test/004

req: test/020

req: test/021

req: performance/005

req: performance/007

req: v1_release/006
2026-07-17 17:11:19 +02:00
slhx agent 0be05f4432 test(sync-macros): prove public presence expansion
Exercise the proc-macro entry point from a real consumer crate so item preservation and argument routing are mutation-verified; record the clean 33-mutant package gate.

req: sync/003

req: sync/005

req: test/020

req: test/021
2026-07-17 15:01:00 +02:00
slhx agent f182c1661d docs(plan): record clean sync mutation gate
Record the complete 164-mutant hemx-sync package proof and narrow the remaining mutation frontier to sync macros and wasm.

req: test/020

req: test/021
2026-07-17 14:58:48 +02:00
slhx agent 1ff6ae1de9 docs(plan): record clean host mutation gate
Record the complete 76-mutant hemx-host package proof and narrow the remaining mutation frontier to sync, sync macros, and wasm.

req: test/020

req: test/021
2026-07-17 14:56:46 +02:00
slhx agent 7dfbf104d3 docs(plan): correct mutation package frontier
Classify binary-only hemx-lsp outside the elected library/proc-macro mutation set, record the clean hemx package gate, and name the four actual remaining package gates.

req: test/020

req: test/021
2026-07-17 14:55:07 +02:00
slhx agent df9f8f16fb test(derive): close final mutation shard
Fail closed on malformed symbol lines, prove sorted deduplicated component discovery and component filtering, exclude ordinary functions from handler registration, and emit diagnostics through quoted tokens without string reparsing.

req: diagnostics/003

req: component/003

req: derive_handler/003

req: test/020

req: test/021

req: test/022

req: test/023
2026-07-17 14:52:09 +02:00
slhx agent 5d6486c22c test(derive): close seventh mutation shard
Prove all state, async, and Result registration combinations and the exact no-generated-component repair diagnostic.

req: component/003

req: derive_handler/003

req: test/020

req: test/021

req: test/022

req: test/023
2026-07-17 14:47:17 +02:00
slhx agent d1af300bd4 test(derive): close sixth mutation shard
Exercise malformed parameter manifests, handler patterns, app diagnostics, and registration guards; delete an unreachable empty-handler branch and narrowly classify quote-owned parse invariants.

req: derive_app/001

req: component/003

req: derive_handler/003

req: test/020

req: test/021

req: test/022

req: test/023
2026-07-17 14:40:56 +02:00
slhx agent 31c52698e3 test(derive): close fifth mutation shard
Fail closed when generated form field names cannot map to Rust identifiers and delete the redundant empty generated-parameter branch.

req: form/004

req: diagnostics/003

req: test/022

req: test/023
2026-07-17 14:32:48 +02:00
slhx agent 78a0d91223 test(derive): close fourth mutation shard
Prove generated form decoding for required, optional, and repeated controls plus bare, qualified, mismatched, and empty generic container boundaries.

req: form/004

req: diagnostics/003

req: test/022

req: test/023
2026-07-17 14:27:35 +02:00
slhx agent dd230b470e test(derive): close third mutation shard
Prove missing generated-symbol fallback and exact accumulated form diagnostics for unknown forms, unnamed structs, missing fields, singular/multiple mismatches, and required Option fields.

req: form/004

req: diagnostics/003

req: derive_handler/005

req: test/022

req: test/023
2026-07-17 14:20:29 +02:00
slhx agent a59e9b0bfe test(derive): close second mutation shard
Match public Form<T> paths with one unambiguous segment pattern and record clean hemx-derive shard 2/8 proof.

req: derive_handler/004

req: test/022

req: test/023
2026-07-17 14:11:55 +02:00
slhx agent 62b0787a8e test(derive): close first mutation shard
Create shard output parents, exercise exact handler placement/signature/codegen contracts, preserve generated-file and form-bound diagnostics, and fail closed on malformed form symbol manifests. Public shard 1/8 passes through both 16-way partitions.

req: derive_handler/001

req: client_local/001

req: form/004

req: diagnostics/003

req: test/022

req: test/023
2026-07-17 14:02:19 +02:00
slhx agent 8c79ea26bf test(build): close package mutation gate
Exercise every generated form-control variant through public code generation and record all eight deterministic hemx-build shards clean: 1,304 mutants, 1,070 caught and 234 unviable.

req: form/004

req: codegen/005

req: test/021

req: test/022

req: test/023
2026-07-17 12:26:43 +02:00
slhx agent 1ba2d22f15 docs(plan): record corrected shard seven proof
Record the clean one-based hemx-build mutation shard 7/8 and advance the deterministic package gate frontier to the final shard.

req: test/022

req: test/023
2026-07-17 12:08:45 +02:00
slhx agent becddd6004 docs(plan): record corrected shard six proof
Record the clean one-based hemx-build mutation shard 6/8 and advance the deterministic package gate frontier to shard 7/8.

req: test/022

req: test/023
2026-07-17 11:57:42 +02:00
slhx agent 91c50a35c6 docs(plan): record shard five partition proof
Record complete hemx-build shard 5/8 coverage through its two deterministic 16-way hash partitions after the aggregate run was interrupted.

req: test/022

req: test/023
2026-07-17 11:48:41 +02:00
slhx agent f3a2397631 docs(plan): record shard four partition proof
Record complete hemx-build shard 4/8 coverage through its two deterministic 16-way hash partitions after the aggregate run exceeded the command limit.

req: test/022

req: test/023
2026-07-17 10:08:43 +02:00
slhx agent fb4e317d15 docs(plan): record corrected shard three proof
Record the clean one-based hemx-build mutation shard 3/8 and advance the deterministic package gate frontier to shard 4/8.

req: test/022

req: test/023
2026-07-17 09:38:08 +02:00
slhx agent 03e081a11a docs(plan): record corrected shard two proof
Record the clean one-based hemx-build mutation shard 2/8 and advance the deterministic package gate frontier to shard 3/8.

req: test/022

req: test/023
2026-07-17 09:29:16 +02:00
slhx agent 5586f87f43 fix(xtask): map mutation shards correctly
Translate one-based public shard numbers to mutest's zero-based API, retain requested labels in output paths, and grant compiler-probe tests a 120-second per-mutant floor. Corrected hemx-build shard 1/8 now passes.

req: test/022

req: test/023
2026-07-17 09:07:50 +02:00
slhx agent fdae13b2b6 docs(plan): record hemx-build shard two proof
Record the passing deterministic 2/4 package mutation shard and retain shards 3/4 and 4/4 as the active gate frontier.

req: test/022

req: test/023
2026-07-17 08:28:04 +02:00
slhx agent fe03f17667 feat(xtask): shard package mutation gates
Accept validated native SHARD/TOTAL operands, isolate shard output directories, preserve the unsharded package gate, and prove hemx-build shard 1/4 through the public xtask entry point.

req: test/022

req: test/023
2026-07-17 08:14:03 +02:00
slhx agent 216465f779 test(build): close residual helper mutants
Prove compact Rust type and vector facts plus default template paths, alias collision suppression, data parameter prefixes, keyed descendants, and absent Cargo roots. Classify only hemplate's infallible surface parser seam.

req: diagnostics/006

req: diagnostics/004

req: codegen/005

req: test/021
2026-07-17 07:59:26 +02:00
slhx agent 14f16cba23 test(build): close Rust fact and surface mutants
Prove recursive and inline Rust struct discovery, ignored non-Rust/out-of-tree files, source/parse failures, atom and handle collision propagation, and missing form-fact defaults; classify only non-injectable directory-entry errors and syn's named-field invariant.

req: diagnostics/006

req: diagnostics/004

req: surface/008

req: test/021
2026-07-17 07:16:43 +02:00
slhx agent 05154a58ed test(build): close target and identifier mutants
Prove first-seen cross-kind generated-target ordering and deduplication, exact identifier/literal/canonical-symbol boundaries, invalid UTF-8 and component names, and resource insertion reuse/collisions; simplify CSS class normalization through the shared Rust identifier validator.

req: codegen/005

req: diagnostics/004

req: diagnostics/005

req: surface/008

req: test/021
2026-07-17 06:58:36 +02:00
slhx agent 31534a538b test(build): close authoring diagnostic mutants
Assert exact selector-target and unknown-attribute InvalidData diagnostics and prove invalid scope IDs fail closed in unkeyed-loop diagnostics.

req: locality/001

req: locality/002

req: htmx_equivalents/003

req: convention/009

req: diagnostics/002

req: test/021
2026-07-17 06:36:15 +02:00
slhx agent a6f287e477 test(build): close value and keyed-scope mutants
Assert every static attribute validator boundary, exact missing/empty/invalid diagnostics, and valid AppBuilder lowering. Prove nested keyed ancestry, sibling/invalid scope rejection, keyed resource lowering, and unkeyed nested resource failures.

req: convention/002

req: convention/003

req: convention/004

req: convention/005

req: convention/006

req: list/005

req: diagnostics/004

req: test/021
2026-07-17 06:31:38 +02:00
slhx agent 4e7d772311 test(build): close placement diagnostic mutants
Assert exact InvalidData diagnostics for navigation, boost, client-module, and SSE misplacement and prove each accepted placement through AppBuilder::run.

req: page_swap/001

req: page_swap/007

req: push/006

req: diagnostics/002

req: test/021
2026-07-17 06:07:04 +02:00
slhx agent a322e519d3 fix(build): fail closed on invalid loop locals
Recognize only one valid Rust identifier bound directly to a self vector field as a template local; reject malformed and non-vector bindings, preserve unknown element locals without fabricated fields, and deduplicate repeated locals.

req: diagnostics/006

req: surface/008

req: test/021
2026-07-17 05:57:29 +02:00
slhx agent 2e39fb17a1 fix(build): recognize exact Hemlate derives
Parse derive paths structurally so qualified Hemlate derives provide template context while similarly named derives fail closed. Prove hyphen/underscore template type mapping, empty and non-UTF-8 paths, Cargo-root lookup, Rust source failures, and derived field facts through the public inspection entry point.

req: diagnostics/006

req: surface/008

req: test/021
2026-07-17 05:45:03 +02:00
slhx agent 185cd18990 test(build): close stylesheet scanner mutants
Prove sorted, deduplicated CSS/SCSS class extraction across starts, compounds, delimiters, invalid candidates, and invalid stylesheet module names; simplify token scanning to one boundary loop and classify only deterministic non-terminating progress mutants.

req: style/001

req: diagnostics/004

req: test/021
2026-07-17 05:37:07 +02:00
slhx agent 4058d05f20 test(build): close app input collection mutants
Traverse inputs once, preserve deterministic HE/ML-before-stylesheet lowering, and prove nested discovery, explicit surfaces, OUT_DIR fallback, missing inputs, invalid UTF-8, permission failures, output failures, and stable collision ordering through AppBuilder::run.

req: build/003

req: build/004

req: build/009

req: diagnostics/004

req: test/021
2026-07-17 05:03:03 +02:00
slhx agent 2ba0be4d24 test(build): lock canonical generated contracts
Hash complete generated Rust, global exports, and symbol manifests across component, keyed, collision, duplicate-class/event, form, and parameter branches; simplify root component exports and remove impossible target-fallback bookkeeping.

req: codegen/005

req: codegen/006

req: build/009

req: test/021
2026-07-17 04:50:36 +02:00
slhx agent 72bce73e52 test(build): close resource extraction mutants
Prove fail-closed slot and handler-parameter diagnostics through AppBuilder, consolidate resource insertion around the stored entry, and lower validated runtime events without redundant fallible identifier conversion.

req: build/004

req: diagnostics/004

req: surface/008

req: test/021
2026-07-17 03:57:29 +02:00
slhx agent b28ffacacb test(build): prove class and form extraction
Assert exact generated symbol records for class, form, field, slot, atom, handle, and event resources; cover invalid and colliding class/form identifiers plus repeated compatible form metadata; and remove a redundant class-token conflict branch already owned by identifier validation.

req: style/001

req: form/001

req: diagnostics/004

req: build/009

req: test/021
2026-07-17 03:49:11 +02:00
slhx agent 9cdc91984a test(build): reject invalid client handler names
Drive AppBuilder through a rooted client module with a non-Rust handler name and assert the exact InvalidData diagnostic, closing the public invalid-value mutation seam.

req: build/004

req: client_local/011

req: diagnostics/004

req: test/021
2026-07-17 03:32:12 +02:00
slhx agent db5e4bf56c test(build): prove stale artifact refresh
Drive AppBuilder through a changed template and prove generated Rust and symbols replace stale handles. Tighten the internal write helper to return only the result its callers use and classify the filesystem-equivalent read-guard mutant.

req: build/009

req: test/021
2026-07-17 03:20:53 +02:00
slhx agent 8a21cad98e test(build): prove public inspection contracts
Exercise file and source diagnostics, generated targets, Hemlate-derived context facts, missing-file propagation, and invalid Rust context through hemx-build's public inspection API; classify only the currently infallible hemplate parser seam.

req: diagnostics/004

req: diagnostics/006

req: surface/008

req: test/021
2026-07-17 03:14:24 +02:00
slhx agent 1a9c090028 test(build): harden convention diagnostics
Exercise malformed static policy, client module/event/state, confirmation, SSE, delay, throttle, and mixed-event values so build-time diagnostics fail closed across the public declarative surface.

req: diagnostics/004

req: convention/006

req: client_local/011
2026-07-17 02:30:06 +02:00
slhx agent 89747c8c48 test(axum): close package mutation gate
Exercise every state, typed-form, async, and result registration family; replace fallible numeric headers with typed HeaderValue construction; and classify only validated equivalent multipart/header mutants.

req: axum_integration/003

req: derive_handler/005

req: multipart/003

req: test/020

req: test/021

req: test/022
2026-07-17 01:50:16 +02:00
slhx agent 8aeab5fca1 test(axum): close page edge-case mutants
Prove partial constructor defaults, missing multipart-boundary rejection, first-root fingerprint replacement, and unchanged non-root HTML through public and nearest-boundary paths.

req: page_swap/001

req: multipart/003

req: abi/005
2026-07-17 01:05:48 +02:00
slhx agent 52a32cfb1f test(axum): harden page and media extraction
Prove explicit partial header values, full-page body and fingerprint delivery, and case-insensitive urlencoded media types through public Axum extractors and responses.

req: page_swap/001

req: abi/005

req: security/003
2026-07-17 00:36:04 +02:00