|
1 | | -# AGENTS.md — iSMART Gateway Simulator |
2 | | - |
3 | | -This project is governed by **specsmith** (AEE spec 0.11.3). |
4 | | -All changes must pass governance preflight before execution. |
5 | | - |
6 | | -## Sister repos |
7 | | -- [specsmith](https://github.com/layer1labs/specsmith) — AEE governance engine |
8 | | -- [kairos](https://github.com/layer1labs/kairos) — specsmith desktop companion |
9 | | - |
10 | | -## Governance contract |
11 | | - |
12 | | -- REQUIREMENTS.md and TESTS.md are **derived** — edit YAML sources in `docs/requirements/` and `docs/tests/` |
13 | | -- Run `specsmith sync` after any YAML governance change |
14 | | -- Run `specsmith validate --strict` before committing |
15 | | -- Every change must be logged in LEDGER.md via `specsmith ledger add` |
16 | | - |
17 | | -## Language-specific conventions |
18 | | - |
19 | | -### Python (`src/ismart_core/`) |
20 | | -- `ruff` for lint and format (line-length 100) |
21 | | -- `pytest` for all tests — no unittest |
22 | | -- Type annotations required on all public functions |
23 | | - |
24 | | -### Rust (`firmware/rust/`) |
25 | | -- `cargo clippy -- -D warnings` must pass |
26 | | -- `cargo fmt --all -- --check` must pass |
27 | | -- All public items must have doc comments |
28 | | - |
29 | | -### C (`firmware/c/`) |
30 | | -- MISRA-C advisory subset; warnings as errors |
31 | | -- No dynamic memory allocation in real-time paths |
32 | | - |
33 | | -## Test IDs |
34 | | -- TEST-001..003 → Python unit (CAN parse, ADC filter) |
35 | | -- TEST-004..006 → Rust unit (CRC, ring buffer) |
36 | | -- TEST-007..009 → Python integration (REST, SSE, SocketCAN) |
37 | | -- TEST-010 → Manual (Wayland headless) |
38 | | -- TEST-011..013 → specsmith CLI assertions (audit, sync, validate) |
| 1 | +# AGENTS.md — iSMART Gateway Simulator |
| 2 | + |
| 3 | +This project is governed by **specsmith** (AEE spec 0.11.3). |
| 4 | +All changes must pass governance preflight before execution. |
| 5 | + |
| 6 | +## Sister repos |
| 7 | +- [specsmith](https://github.com/layer1labs/specsmith) — AEE governance engine |
| 8 | +- [kairos](https://github.com/layer1labs/kairos) — specsmith desktop companion |
| 9 | + |
| 10 | +## Governance contract |
| 11 | + |
| 12 | +- REQUIREMENTS.md and TESTS.md are **derived** — edit YAML sources in `docs/requirements/` and `docs/tests/` |
| 13 | +- Run `specsmith sync` after any YAML governance change |
| 14 | +- Run `specsmith validate --strict` before committing |
| 15 | +- Every change must be logged in LEDGER.md via `specsmith ledger add` |
| 16 | + |
| 17 | +## Language-specific conventions |
| 18 | + |
| 19 | +### Python (`src/ismart_core/`) |
| 20 | +- `ruff` for lint and format (line-length 100) |
| 21 | +- `pytest` for all tests — no unittest |
| 22 | +- Type annotations required on all public functions |
| 23 | + |
| 24 | +### Rust (`firmware/rust/`) |
| 25 | +- `cargo clippy -- -D warnings` must pass |
| 26 | +- `cargo fmt --all -- --check` must pass |
| 27 | +- All public items must have doc comments |
| 28 | + |
| 29 | +### C (`firmware/c/`) |
| 30 | +- MISRA-C advisory subset; warnings as errors |
| 31 | +- No dynamic memory allocation in real-time paths |
| 32 | + |
| 33 | +## Test IDs |
| 34 | +- TEST-001..003 → Python unit (CAN parse, ADC filter) |
| 35 | +- TEST-004..006 → Rust unit (CRC, ring buffer) |
| 36 | +- TEST-007..009 → Python integration (REST, SSE, SocketCAN) |
| 37 | +- TEST-010 → Manual (Wayland headless) |
| 38 | +- TEST-011..013 → specsmith CLI assertions (audit, sync, validate) |
0 commit comments