Migrate all docs scattered across hidden folders into docs/: - .compozy/tasks/ → docs/planning/ (PRDs, tech specs, tasks, memory) and docs/adr/ (ADRs by phase) - .specs/ → docs/specs/ (codebase, features, project specs) - .docs/ → docs/legacy/ (legacy reference implementation docs) - .discussions/ → docs/discussions/ (design discussions and open questions) Delete .compozy/, .specs/, .docs/, and .discussions/. Update AGENTS.md: add explicit docs/ location table, hard rule against hidden doc folders, and new AI-assisted development section (context lazy loading, scope control, verification). Update CLAUDE.md: fix .docs/ references to docs/legacy/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
Ymir — State
Decisions
| ID | Decisão | Rationale |
|---|---|---|
| D-MONO-01 | pnpm + Turborepo (não NX) | NX não tem suporte nativo C++/CMake; Turborepo é mais simples para 3 apps |
| D-MONO-02 | RK45 Dormand-Prince (não SUNDIALS WASM) | Cross-compilar SUNDIALS é alto risco; naval physics com dt típico não é stiff o suficiente para BDF |
| D-MONO-03 | Embind para bindings WASM | AGENTS.md já exige C API boundary; Embind gera .d.ts automaticamente com --emit-tsd |
| D-MONO-04 | Fastify v4 + TypeBox | TypeBox schema = validação runtime + tipos TS sem camada extra; integra direto no Fastify |
| D-MONO-05 | Web Worker obrigatório para WASM | Simulation loop bloquearia main thread sem Worker; SharedArrayBuffer requer COOP/COEP headers |
| D-MONO-06 | SQLite + Drizzle ORM | Low volume, read-heavy; alinha com "future SQLite" já mencionado no AGENTS.md |
| D-MONO-07 | Zustand para state management | Leve, sem boilerplate, adequado para estado técnico de simulação a 10-60Hz |
Blockers
Nenhum no momento.
Todos
- Validar com usuário: spec + design do M0 (monorepo migration)
- Após aprovação: criar tasks para M0
Deferred Ideas
- Three.js/WebGPU para visualização 3D — aguarda M2 estabilizar
- SUNDIALS como fallback para stiff scenarios — se RK45 não for suficiente, interface IIntegrator permite plugar CVODE de volta no target nativo
- Mooring e ancoragem — fora de scope do roadmap atual
- Multi-usuário e autenticação — decisão adiada até ter produto funcionando
Preferences
Nenhuma registrada ainda.
Lessons Learned
- Motor C++ atual tem arquitetura ideal para WASM: sem I/O na integration loop, sem heap no hot path, C API boundary já planejada no AGENTS.md
- Phase 3 (WebSocket API) do roadmap original era um stub puro — zero custo de migração
- Melhor janela para pivotar: agora, antes de implementar WebSocket no servidor nativo