From a4a4dcf74f599f451603686b81424884e7fd05aa Mon Sep 17 00:00:00 2001 From: slhx agent Date: Fri, 12 Jun 2026 13:08:46 +0200 Subject: [PATCH] feat(workout): hide registry conversion from golden path Let the Workout generated interaction builder satisfy DispatchRegistry directly and guard canonical sources/docs against .into_registry() so the beginner path does not teach manual registry conversion. req: examples/001 req: examples/006 req: public_api/002 --- AGENTS.md | 2 +- REQUIREMENTS.md | 2 +- examples/workout/src/lib.rs | 1 - hemx-test/tests/examples_contract.rs | 2 ++ 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index a1d5eee..be8df98 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -50,7 +50,7 @@ Keep it stable. Prefer pointers to canonical sources over copied structure, file - Avoid project trees, architecture maps, generated inventories, current file sizes, issue lists, TODO inventories, and other snapshots that will rot. - Stable commands: `cargo run -p hemx-xtask -- test`, `cargo check --workspace`, `redgate health --strict`. Use the xtask runner for full verification so jobs are capped from local CPU and memory. req: test/004 - Run the workout product exemplar with `cargo run -p hemx-xtask -- workout dev` and open `http://127.0.0.1:3028`; set `HEMX_WORKOUT_ADDR=127.0.0.1:3030` if the default port is busy. Its durable visual direction and recovery expectations live in `examples/workout/DESIGN.md`. req: examples/001 -- Use the same Workout command surface for tests, production build, and mobile release: `cargo run -p hemx-xtask -- workout test`, `cargo run -p hemx-xtask -- workout build`, `HEMX_WORKOUT_ORIGIN=https://workout.example.com cargo run -p hemx-xtask -- workout mobile-release`, and `HEMX_WORKOUT_ORIGIN=https://workout.example.com cargo run -p hemx-xtask -- workout mobile-verify`; Android/iOS SDKs and signing remain external blockers, not repo-owned secrets. req: examples/006 +- Use the same Workout command surface for tests, production build, and mobile release: `cargo run -p hemx-xtask -- workout test`, `cargo run -p hemx-xtask -- workout build`, `HEMX_WORKOUT_ORIGIN=https://workout.example.com cargo run -p hemx-xtask -- workout mobile-release`, and `HEMX_WORKOUT_ORIGIN=https://workout.example.com cargo run -p hemx-xtask -- workout mobile-verify`; Android/iOS SDKs, store submission targets, and signing remain external blockers, not repo-owned secrets. req: examples/006 - hemx core stays small: effects, typed ids, registries, and wire schema only. - Routing, auth, sessions, transport, transitions, sync, and storage belong in integration/user crates. - Public examples and beginner APIs should use generated resources and `IntoEffect`, not raw ids or runtime opcodes. diff --git a/REQUIREMENTS.md b/REQUIREMENTS.md index 5202e50..29362ee 100644 --- a/REQUIREMENTS.md +++ b/REQUIREMENTS.md @@ -810,7 +810,7 @@ what a valid business email is. 005 Canonical examples must not contain user-authored browser JavaScript. They may load the shared hemx runtime (`/hemx.js`) and may use declarative `data-hemx-*` attributes; inline `