docs: two-machine sidecar hygiene — import-before-commit rule, editor-side recovery

CLAUDE.md carries the convention (smoke-gate command, sidecars ship
with sources, pull-before-editor, git clean recovery); the redundant
Tools section leaves persistent-memory.md per the redundancy rule.
Local pre-commit hook on nh3-dev refuses staged-new .gd without a
tracked .uid (hook is unversioned; recreation documented).
This commit is contained in:
2026-08-07 12:07:43 -07:00
parent 45c0c78481
commit fbac09a86a
2 changed files with 15 additions and 10 deletions
+15 -1
View File
@@ -91,7 +91,21 @@ Non-negotiable canon highlights (full rationale in CONCEPT.md):
An upgrade is an operator decision applied to both machines at
once.
- Headless verification: `godot --headless` works on nh3-dev for
scripts, tests, and imports.
scripts, tests, and imports. Smoke gate:
`~/bin/godot --headless --path . res://tests/smoke.tscn` (exit 0
pass / 1 fail; run 3x to catch flakes). After adding scenes/assets,
import first: `~/bin/godot --headless --import --path .`
- **Generated sidecars ship with their sources.** Run the headless
import BEFORE committing new scripts/assets so `.uid` / `.import`
sidecars land in the same commit — otherwise the other machine's
editor mints untracked copies and its next `git pull` refuses to
merge. Enforced on nh3-dev by a local `.git/hooks/pre-commit`
(not versioned — recreate on fresh clones: refuse staged-new `.gd`
without a tracked `.uid`).
- **Two-machine hygiene (Mac editor side):** pull BEFORE opening the
editor after new commits land. If a pull ever refuses over generated
sidecars anyway, they're safe to delete wholesale:
`git clean -f '*.uid'` (add `'*.import'` if named) — then pull.
- GDScript for design iteration; C# reserved for hot paths (none
yet).
- 2D, pixel-first: integer scaling, nearest-neighbor filtering
-9
View File
@@ -14,15 +14,6 @@ mech auto-battler rogue-lite. Design canon lives in the advisor repo (see
CLAUDE.md); this repo builds what canon ratifies. Current mission is the
greybox falsifier (ROADMAP.md v1) that tests the design's three core bets.
## Tools and conventions
- Smoke gate: `~/bin/godot --headless --path . res://tests/smoke.tscn`
(exit 0 pass / 1 fail; run 3x to catch flakes). After adding new
scenes/assets, import first: `~/bin/godot --headless --import --path .`
- New GDScript files: run the headless import BEFORE committing so
Godot's `.uid` sidecars land in the SAME commit as their scripts (see
Tried and abandoned, 2026-08-07).
## Current state / in-flight
_As of 2026-08-07:_