-
Notifications
You must be signed in to change notification settings - Fork 1
Development
Steven Enamakel edited this page Jul 5, 2026
·
1 revision
TinyJuice is a Rust 2024 crate. Keep changes small, explicit, and testable.
Run before opening a PR:
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo testUseful additional checks:
cargo build --all-targets
cargo run --example passthrough
cargo bench- Unit tests live next to modules or in module-local
test.rsfiles. - Rule-engine fixture tests live in
tests/fixtures/*.fixture.json. - End-to-end profile and CCR behavior lives in
tests/e2e_tool_output.rs. - Hot-path performance benches live in
benches/compression.rs.
Update README or wiki pages when changing:
- public API names
- compressor behavior
- content detection
- recovery marker semantics
- agent profiles
- rule loading behavior
- analytics schema
- OpenHuman adapter contracts
Keep README marketing-heavy and high-level. Keep wiki pages technical and agent-friendly.
Prefer:
- small modules
-
types.rsfor shared data -
test.rsfor module-local tests - explicit pass-through behavior
- deterministic reducers
- fixtures for command-rule regressions
Avoid:
- OpenHuman runtime dependencies in the core crate without a feature or adapter boundary
- raw-content logging
- broad refactors mixed with behavior changes
- compression percentage claims without benchmark fixtures
- Read the source module first.
- Add focused tests around the behavior.
- Keep failure modes pass-through safe.
- Update wiki and README if public behavior or integration contracts changed.
- Run the required checks.
- Use
rgto find APIs and rules quickly. - Use fixture tests for exact reducer output.
- Use e2e tests for profile, CCR, and recovery behavior.
- Preserve unrelated local changes.
- If the repo is dirty, stage or commit only the requested slice.
Token compression for agent context.
Getting started
Concepts
Modules
Agent docs