docs(requirements): add rings to laws
Add explicit northstar rings to the law requirements so redgate no longer reports missing-ring warnings for the first rows. req: laws/001 req: laws/002 req: laws/003 req: laws/004 req: laws/005
This commit is contained in:
@@ -55,7 +55,7 @@ Keep it stable. Prefer pointers to canonical sources over copied structure, file
|
|||||||
- Example behavior tests should prefer `hemx_test` generated-resource assertions over raw slot constants or raw effect/payload matching. req: test/008
|
- Example behavior tests should prefer `hemx_test` generated-resource assertions over raw slot constants or raw effect/payload matching. req: test/008
|
||||||
- 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/008
|
- 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/008
|
||||||
- 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 req: examples/011
|
- 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 req: examples/011
|
||||||
- hemx core stays small: effects, typed ids, registries, and wire schema only.
|
- hemx core stays small: effects, typed ids, registries, and wire schema only; keep features in core only when they fit typed resources plus EffectBatch ops. req: laws/001
|
||||||
- Routing, auth, sessions, transport, transitions, sync, and storage belong in integration/user crates.
|
- Routing, auth, sessions, transport, transitions, sync, and storage belong in integration/user crates.
|
||||||
- Public examples and beginner APIs should use templates plus Rust, generated resources, and `IntoEffect`, not raw ids, selectors, wire formats, or runtime opcodes. req: canonical_authoring/001 req: canonical_authoring/004 req: canonical_authoring/006 req: canonical_authoring/010 req: canonical_authoring/015
|
- Public examples and beginner APIs should use templates plus Rust, generated resources, and `IntoEffect`, not raw ids, selectors, wire formats, or runtime opcodes. req: canonical_authoring/001 req: canonical_authoring/004 req: canonical_authoring/006 req: canonical_authoring/010 req: canonical_authoring/015
|
||||||
- Typed partial swaps should stay expressed as generated target plus rendered partial plus swap kind, not selector-driven rerendering. req: canonical_authoring/002 req: canonical_authoring/014
|
- Typed partial swaps should stay expressed as generated target plus rendered partial plus swap kind, not selector-driven rerendering. req: canonical_authoring/002 req: canonical_authoring/014
|
||||||
|
|||||||
+5
-5
@@ -12,19 +12,19 @@ client app state framework.
|
|||||||
## laws
|
## laws
|
||||||
|
|
||||||
### req: law/001
|
### req: law/001
|
||||||
001 A feature belongs in core only if it can be expressed as typed resources plus EffectBatch ops.
|
0 001 A feature belongs in core only if it can be expressed as typed resources plus EffectBatch ops. [north_star]
|
||||||
|
|
||||||
### req: law/002
|
### req: law/002
|
||||||
002 A feature belongs in an integration crate if it depends on transport, framework, auth, storage, browser capability, or deployment policy.
|
0 002 A feature belongs in an integration crate if it depends on transport, framework, auth, storage, browser capability, or deployment policy. [north_star]
|
||||||
|
|
||||||
### req: law/003
|
### req: law/003
|
||||||
003 A feature belongs in generated API if it improves author ergonomics without adding runtime semantics.
|
0 003 A feature belongs in generated API if it improves author ergonomics without adding runtime semantics. [north_star]
|
||||||
|
|
||||||
### req: law/004
|
### req: law/004
|
||||||
004 A feature belongs in user code if it is business logic, domain validation, routing policy, authorization policy, persistence, or layout choice.
|
0 004 A feature belongs in user code if it is business logic, domain validation, routing policy, authorization policy, persistence, or layout choice. [north_star]
|
||||||
|
|
||||||
### req: law/005
|
### req: law/005
|
||||||
005 Add one primitive only if it removes at least five special cases.
|
0 005 Add one primitive only if it removes at least five special cases. [north_star]
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user