Skip to content

Commit 3d8da97

Browse files
authored
Merge pull request #12 from flyingrobots/echo/hooks-formatting
echo/hooks formatting
2 parents b1a9383 + 7a7b578 commit 3d8da97

File tree

4 files changed

+38
-0
lines changed

4 files changed

+38
-0
lines changed

.editorconfig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
indent_style = space
9+
indent_size = 4
10+
11+
[*.{md,mdx}]
12+
trim_trailing_whitespace = false
13+
14+
[*.{ts,tsx,js,json}]
15+
indent_size = 2
16+

.githooks/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/usr/bin/env bash
22
set -euo pipefail
33

4+
45
if [[ "${SKIP_HOOKS:-}" == 1 ]]; then
56
exit 0
67
fi

docs/decision-log.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
| 2025-10-26 | EPI bundle | Adopt entropy, plugin, inspector, runtime config specs (Phase 0.75) | Close causality & extensibility gap | Phase 1 implementation backlog defined |
1515
| 2025-10-26 | RMG + Confluence | Adopt RMG v2 (typed DPOi engine) and Confluence synchronization as core architecture | Unify runtime/persistence/tooling on deterministic rewrites | Launch Rust workspace (rmg-core/ffi/wasm/cli), port ECS rules, set up Confluence networking |
1616
| 2025-10-27 | Core math split | Split `rmg-core` math into focused submodules (`vec3`, `mat4`, `quat`, `prng`) replacing monolithic `math.rs`. | Improves readability, testability, and aligns with strict linting. | Update imports; no behavior changes intended; follow-up determinism docs in snapshot hashing. |
17+
1718
| 2025-10-27 | PR #7 prep | Extracted math + engine spike into `rmg-core` (split-core-math-engine); added inline rustdoc on canonical snapshot hashing (node/edge order, payload encoding). | Land the isolated, reviewable portion now; keep larger geometry/broad‑phase work split for follow-ups. | After docs update, run fmt/clippy/tests; merge is a fast‑forward over `origin/main`. |
1819
| 2025-10-28 | PR #7 merged | Reachability-only snapshot hashing; ports demo registers rule; guarded ports footprint; scheduler `finalize_tx()` clears `pending`; `PortKey` u30 mask; hooks+CI hardened (toolchain pin, rustdoc fixes). | Determinism + memory hygiene; remove test footguns; pass CI with stable toolchain while keeping rmg-core MSRV=1.68. | Queued follow-ups: #13 (Mat4 canonical zero + MulAssign), #14 (geom train), #15 (devcontainer). |
1920
| 2025-10-27 | MWMR reserve gate | Engine calls `scheduler.finalize_tx()` at commit; compact rule id used on execute path; per‑tx telemetry summary behind feature. | Enforce independence and clear active frontier deterministically; keep ordering stable with `(scope_hash, family_id)`. | Toolchain pinned to Rust 1.68; add design note for telemetry graph snapshot replay. |
@@ -61,6 +62,13 @@
6162
- Change: docs/assets/collision/animate.js leaves Prev/Next enabled in 'all'; boundary disabling still applies in single-slide mode.
6263
- Consequence: Users can initiate the carousel via navigation controls; E2E tour test passes deterministically.
6364

65+
## 2025-10-29 — Docs E2E carousel init (PR #10)
66+
67+
- Context: Playwright tour test clicks Next to enter carousel from "all" mode.
68+
- Decision: Do not disable Prev/Next in "all" mode; allow navigation buttons to toggle into carousel.
69+
- Change: docs/assets/collision/animate.js leaves Prev/Next enabled in 'all'; boundary disabling still applies in single-slide mode.
70+
- Consequence: Users can initiate the carousel via navigation controls; E2E tour test passes deterministically.
71+
6472
## 2025-10-29 — Docs make open (PR #11)
6573

6674
- Context: Make dev docs open automatically; fix routing and dead-link noise.
@@ -69,3 +77,10 @@
6977
- Convert tour/spec links to root‑relative paths to work site‑wide under VitePress routing.
7078
- Make the dev server polling loop portable (`sleep 1`).
7179
- Consequence: Docs dev flow is consistent across environments; CI Docs Guard happy; links resolve from any page.
80+
81+
## 2025-10-29 — Hooks formatting gate (PR #12)
82+
83+
- Context: Enforce consistent formatting before commit; avoid CI/docs drift when non-doc files change.
84+
- Decision: Pre-commit runs `cargo fmt --all -- --check` whenever staged Rust files are detected. Retain the PRNG coupling guard but remove the unconditional early exit so formatting still runs when the PRNG file isn’t staged.
85+
- EditorConfig: normalize line endings (LF), ensure final newline, trim trailing whitespace, set 2-space indent for JS/TS/JSON and 4-space for Rust.
86+
- Consequence: Developers get immediate feedback on formatting; cleaner diffs and fewer CI round-trips.

docs/execution-plan.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ This is Codex’s working map for building Echo. Update it relentlessly—each s
3333

3434
## Today’s Intent
3535

36+
> 2025-10-29 — Hooks formatting gate (PR #12)
37+
38+
- Pre-commit: add rustfmt check for staged Rust files (`cargo fmt --all -- --check`).
39+
- Keep PRNG coupling guard, but avoid early exit so formatting still runs when PRNG file isn't staged.
40+
- .editorconfig: unify whitespace rules (LF, trailing newline, 2-space for JS/TS, 4-space for Rust).
41+
3642
> 2025-10-29 — Docs make open (PR #11)
3743
3844
- VitePress dev: keep auto-open; polling loop uses portable `sleep 1`.

0 commit comments

Comments
 (0)