magicciv/tooling/claude
Natalie 54d7f8f630 docs(@projects/@magic-civilization): 🧭 tooling — encode getState/never-reconcile + verify-premises lessons
Final agent-tooling pass folding in this session's hardest-won lessons (previously only in my memory):

code-layering.md:
- anti-pattern #4 "fixing the orchestrator instead of eliminating it" (the swap→extract→FFI drift;
  the fix is usually DELETE the GDScript path, let Rust compute + UI render getState()).
- anti-pattern #5 "UI holding state / calling logic instead of reading getState()".
- principles rewritten: (1) Rust drives everything — divergence is a bug to DELETE, never reconcile;
  (2) the UI is a pure view of getState() (render/act/end_turn, GdPlayerApi is the reference);
  (3) single-source LOGIC not necessarily STATE — but never two state copies in ONE running game.

specialist-preamble.md (always-loaded core):
- verify rule gains "verify architectural PREMISES before committing to a plan" (the 3-turn drift,
  collapsed by one grep of view.rs).
- layering rule gains the Rust-drives / UI-is-a-view-of-getState one-liner.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 05:38:43 -04:00
..
dot-claude docs(@projects/@magic-civilization): 🧭 tooling — encode getState/never-reconcile + verify-premises lessons 2026-06-27 05:38:43 -04:00
CLAUDE.md docs(@projects/@magic-civilization): 🧑‍🔧 restructure specialist agents — shared DRY core + per-agent delta + orchestration playbook 2026-06-27 04:42:23 -04:00