Commit Graph

35 Commits

Author SHA1 Message Date
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 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 612a66725f feat(xtask): add package-native mutation gate
Expose a capped mutation command that selects only elected packages, rejects unknown input, propagates mutest failures, and keeps output under the workspace target directory.

req: test/020

req: test/021

req: test/022
2026-07-16 22:40:07 +02:00
slhx agent 48d6ea31be fix(release): complete local readiness gates 2026-07-14 01:45:28 +02:00
slhx agent 23b1d75f7f fix(requirements): migrate to installed redgate format 2026-07-14 01:37:05 +02:00
slhx agent 025d9c1563 fix(release): restore canonical local gate
req: public_api/001

req: v1_release/007
2026-07-14 01:24:31 +02:00
slhx agent e5ff513d90 fix(xtask): run verification from workspace root 2026-07-13 11:16:59 +02:00
slhx agent d0e7022c86 feat(runtime): add URL-state GET navigation 2026-06-29 18:21:00 +02:00
slhx agent 379ed02f88 fix(html-examples): make progress click-driven
Remove interval auto-ticking from the progress example, render visible percentage text next to the native progress element, and update smoke coverage to assert explicit click behavior.

req: htmx_equivalents/001

req: examples/001

req: test/006
2026-06-26 07:47:07 +02:00
slhx agent d7cf6fe9f6 test(html-examples): cover interval progress path
Exercise the data-hemx-interval trigger path through the progress-bar example and browser smoke while clearing stale timers before each smoke run.

req: convention/005

req: convention/011

req: test/006
2026-06-25 18:58:10 +02:00
slhx agent 1a67d0c5a4 test(xtask): assert html examples avoid reloads
Wrap html_examples browser smoke interactions with a no-navigation guard so dynamic paths fail if native form fallback or full-page reload occurs.

req: test/014

req: test/006
2026-06-25 18:37:27 +02:00
slhx agent da8fb70168 test(xtask): cover revealed fallback smoke
Add a deterministic html_examples browser smoke path that reloads the runtime with IntersectionObserver disabled and verifies data-hemx-revealed fallback dispatch.

req: convention/014

req: test/006
2026-06-25 18:32:22 +02:00
slhx agent 691c6f009a fix(html-examples): tighten email and progress feedback
Require a complete dotted email before inline validation reports success, preserve the typed email after valid revalidation, and update progress via the actual progress element so visible progress is not stuck at 100%.

req: htmx_equivalents/005

req: examples/001

req: test/006
2026-06-25 16:53:12 +02:00
slhx agent ad7eea6f67 test(html-examples): make lazy load visibly update
Show a server-update count in the lazy panel so manual clicks have an observable change, and strengthen the browser smoke to assert the panel text changes.

req: examples/001

req: htmx_equivalents/005

req: test/006
2026-06-25 14:51:01 +02:00
slhx agent f49efc67b6 docs(requirements): split workout release scope
Split oversized examples/006 into command-surface, generated-helper, and mobile-boundary requirements.

req: examples/006

req: examples/010

req: examples/011
2026-06-25 14:01:04 +02:00
slhx agent 120268acc1 docs(requirements): split htmx equivalent coverage
Split htmx_equivalents/002 into core interaction, navigation/live-update, gallery, and component-shape rows.

req: htmx_equivalents/002

req: htmx_equivalents/004

req: htmx_equivalents/005

req: htmx_equivalents/006
2026-06-25 13:53:15 +02:00
slhx agent cbb9d68733 test(xtask): add html examples browser smoke
Add a repo-owned xtask command that starts html_examples, drives a CDP browser through click/save/input/search/load paths, and cleans up the server process.

req: test/006

req: examples/001

req: htmx_equivalents/002
2026-06-25 13:32:31 +02:00
slhx agent 0f1673834b fix(xtask): polish generated app next steps
Give app new users app-local next steps and generated README/CREATED docs, rename visible v0 text, and fail early when the required hemplate checkout is missing instead of producing a broken path dependency.

req: ceremony/005
2026-06-12 17:26:23 +02:00
slhx agent c71aa63cec fix(xtask): make mobile starter docs app-owned
Overwrite the generated mobile starter README and CREATED receipt so app new --mobile users see hemx-app commands and app-owned next steps instead of repository Workout commands or example internals.

req: ceremony/006
2026-06-12 16:18:59 +02:00
slhx agent 79b4d1e167 fix(xtask): give mobile starters app-owned commands
Make app new --mobile write hemx-app with HEMX_APP_* release settings, app-scoped release output, and docs that name Workout only as the concrete starter flow instead of leaking Workout command identity.

req: ceremony/006
2026-06-12 16:15:09 +02:00
slhx agent d4916b1a1e feat(xtask): add mobile app starter
Add app new --mobile as the public phone-first starter path. It reuses the Workout starter so created apps carry a real page/form/keyed partial/notice flow, typed host capability handling, app-owned recovery truth, and inspectable mobile release/verify commands without adding a mobile framework.

req: ceremony/006

req: examples/006
2026-06-12 15:34:32 +02:00
slhx agent 274f44f91d feat(xtask): scaffold generic hemx apps
Add cargo run -p hemx-xtask -- app new PATH for the generic checked-hypermedia starter: v0 page/form/keyed-row/notice handlers and tests with generated helpers instead of raw ids, opcodes, selector UI JavaScript, or manual registry plumbing.

req: ceremony/005

req: canonical_authoring/003
2026-06-12 15:13:33 +02:00
slhx agent f343e8aaee fix(workout): verify created app mobile blockers
Make the standalone hemx-workout command generated by workout new carry external blocker acknowledgements in release-manifest.json and fail mobile-verify when the manifest or BLOCKERS.md omits current Android/iOS signing/toolchain blockers.

req: examples/006
2026-06-12 13:57:14 +02:00
slhx agent 4bbf417531 feat(workout): make created apps self-service
Write a standalone hemx-workout command into created apps and verify it carries dev, test, build, mobile-release, mobile-verify, runtime integrity, and store blocker checks outside the monorepo.

req: examples/006
2026-06-12 13:32:12 +02:00
slhx agent 3f0cf0a7cb feat(workout): give created apps their release command
Write a standalone hemx-workout command into created Workout apps so new app owners keep the same dev, test, build, mobile-release, mobile-verify, and doctor surface outside the monorepo.

req: examples/006
2026-06-12 13:23:57 +02:00
slhx agent f13e21868c feat(workout): surface store submission blockers
Record Google Play and App Store Connect submission targets as external mobile blockers, and make verification require those blockers to be acknowledged in the release kit.

req: examples/006
2026-06-12 12:57:13 +02:00
slhx agent 815392b232 feat(workout): record runtime asset integrity
Write and verify asset-integrity.tsv for the Workout mobile release kit using the actual hemx runtime path and SHA-256 digest, so mobile shell review has inspectable runtime integrity evidence.

req: examples/006
2026-06-12 12:52:26 +02:00
slhx agent f8f1a9aee5 feat(workout): create standalone app path
Add a workout new PATH command that copies the Workout exemplar into a standalone app with local hemx path dependencies, verifies its manifest in xtask tests, and documents the create/check path.

req: examples/001

req: examples/006
2026-06-12 12:46:06 +02:00
slhx agent d4e99b6e73 feat(workout): gate mobile verification on product tests
Make workout mobile-verify rerun the Workout product tests before release-kit checks so app value, recovery, local state, and host capability boundaries fail closed with mobile artifacts.

req: examples/001

req: examples/006

req: host/002

req: local/001
2026-06-12 12:35:41 +02:00
slhx agent 2b9979e339 fix(workout): make mobile verification fail closed
Make workout mobile-verify reject non-HTTPS origins and release kits that omit detected external signing/toolchain blockers, so verification checks objective release preconditions instead of pretending to predict store approval.

req: examples/006
2026-06-12 12:31:19 +02:00
slhx agent 32fa1a4952 feat(workout): include host result contract in mobile kit
Record share/haptics and the denied/timeout/unavailable/error host result kinds in Android and iOS release metadata, and make mobile verification require them.

req: examples/006

req: host/002
2026-06-12 11:26:34 +02:00
slhx agent 860a4edf61 feat(workout): unify release command surface
Route local dev, tests, production build, mobile release, mobile verification, and doctor through one Workout xtask surface, and update the canonical docs around that surface.

req: examples/001

req: examples/006

req: test/004
2026-06-12 11:20:22 +02:00
slhx agent 5a42f2664a feat(workout): verify mobile release kit
Add a workout-mobile verify command that checks the generated release kit and server artifact, then document it beside release/doctor so the mobile path has a recurring gate.

req: examples/006
2026-06-12 11:12:18 +02:00
slhx agent f2b6aa1aef feat(workout): add mobile release kit command
Add one canonical Workout mobile release command that builds the production server and writes Android/iOS shell metadata, explicit production policy, and honest external signing/toolchain blockers.

req: examples/001

req: examples/006

req: host/002

req: local/001
2026-06-12 11:02:31 +02:00
slhx agent c33500440e refactor!: rename slhx to hemx
Rename the tracked product identity, crate/package names, Rust paths/macros, generated artifacts, runtime files, public attributes, examples, docs, requirements, and tests from slhx to hemx without compatibility shims.

Verified with cargo run -p hemx-xtask -- test, cargo test -p hemx-derive --test compile_fail, cargo test -p hemx-js, cargo test -p hemx-axum, cargo test -p hemx-v0-examples, cargo check --workspace, redgate list, redgate refs, redgate health --strict, git diff --check, and git grep/ls-files legacy-name audits.

req: misc/001

req: codegen/001

req: component/004

req: runtime/001
2026-06-05 06:52:37 +02:00