Files
Atomizer/projects/hydrotech-beam/DECISIONS.md

95 lines
6.3 KiB
Markdown
Raw Normal View History

2026-02-10 08:00:17 +00:00
# DECISIONS.md — Hydrotech Beam
Numbered decision log. Check here before proposing anything that contradicts a prior decision.
---
## DEC-HB-001: Single-objective formulation
- **Date:** 2026-02-08
- **By:** Technical Lead 🔧
- **Decision:** Minimize mass as sole objective. Tip displacement (≤ 10 mm) and von Mises stress (≤ 130 MPa) as hard constraints.
- **Rationale:** Mass is Antoine's clear priority. Displacement and stress are pass/fail limits, not competing objectives to trade off. Single-objective converges faster and is appropriate for 4 design variables.
- **Status:** Proposed — awaiting CEO confirmation
## DEC-HB-002: Two-phase optimization strategy
- **Date:** 2026-02-08
- **By:** Technical Lead 🔧
- **Decision:** Phase 1 = Latin Hypercube DoE (4050 trials) to map landscape. Phase 2 = TPE via Optuna (60100 trials) to converge.
- **Rationale:** DoE first catches model failures, maps feasibility, reveals sensitivities. TPE handles mixed integer/continuous natively and is sample-efficient.
- **Status:** Proposed — awaiting CEO confirmation
## DEC-HB-003: Integer handling for hole_count
- **Date:** 2026-02-08
- **By:** Technical Lead 🔧
- **Decision:** Treat `hole_count` as true integer throughout (not continuous + rounding).
- **Rationale:** Only 11 levels (515). NX model must rebuild with integer count anyway. TPE handles mixed types natively.
- **Status:** Proposed — awaiting CEO confirmation
## DEC-HB-004: Project structure — KB-integrated layout
- **Date:** 2026-02-09
- **By:** Manager 🎯 + CEO
- **Decision:** Projects use KB-integrated structure with `models/`, `kb/`, `studies/`, `deliverables/`. Knowledge base follows accumulation principle from shared KB skill. Studies are self-contained with own model copy and introspection.
- **Rationale:** Centralizes project knowledge, supports multiple studies per project, enables CDR compilation from KB, keeps everything in Gitea.
- **Status:** Approved
## DEC-HB-005: No Notion — Gitea + .md as source of truth
- **Date:** 2026-02-09
- **By:** CEO
- **Decision:** All project documentation lives as .md files in the Atomizer Gitea repo. No external project management tools.
- **Rationale:** CEO preference. Efficient, version-controlled, browseable on Gitea, accessible to all agents.
- **Status:** Approved
## DEC-HB-006: KB skill — extension pattern, no fork
- **Date:** 2026-02-09
- **By:** Manager 🎯 + CEO
- **Decision:** Use Mario's shared knowledge-base skill as-is. Atomizer maintains an extension file (`knowledge-base-atomizer-ext.md`) for agent-specific workflows. No fork of the shared repo.
- **Rationale:** Avoids merge conflicts, gets upstream improvements automatically, clean separation between general toolbox and Atomizer playbook.
- **Status:** Approved
## DEC-HB-007: Single source of truth — repo projects folder
- **Date:** 2026-02-09
- **By:** CEO
- **Decision:** All project data lives in `/repos/Atomizer/projects/`. This is the single source of truth for all current and future projects. Synced to Windows (dalidou) via Syncthing. No duplicate local folders.
- **Rationale:** One place for everything — agents, CEO, and Windows all reference the same files. Version-controlled via Gitea, bidirectional sync via Syncthing.
- **Status:** Approved
## DEC-HB-008: Backup/restore in-place solving (not iteration copies)
- **Date:** 2026-02-11
- **By:** CEO + Technical Lead 🔧
- **Decision:** Solve on master model files **in-place** (in `models/` directory) using backup/restore for iteration isolation. Do NOT copy `.sim`/`.fem`/`.prt` files to per-iteration folders.
- **Rationale:** NX `.sim` files store absolute internal references to `.fem` and `.prt` files. Copying model files to iteration folders breaks these references (`Parts.Open` returns `None`). Backup/restore preserves all internal references while still providing isolation between trials.
- **Workflow per trial:**
1. Restore master model files from backup
2. Write `.exp` file with trial DVs, open `.sim`, rebuild, solve
3. Archive outputs (OP2, F06, params.json, results.json) to `iterations/iterNNN/`
4. Iteration folders contain outputs only — NOT model files
- **Status:** Approved — implemented and tested
## DEC-HB-009: Iteration folder architecture
- **Date:** 2026-02-11
- **By:** CEO + Technical Lead 🔧
- **Decision:** Each trial archived to `studies/01_doe_landscape/iterations/iterNNN/` with: `params.json`, `params.exp`, `results.json`, OP2, F06.
- **Rationale:** Full traceability per trial. Any result can be audited, re-examined, or debugged. Smart retention policy keeps last 10 + best 3 with full data, strips the rest to save space.
- **Status:** Approved — implemented in `iteration_manager.py`
## DEC-HB-010: Persistent history database
- **Date:** 2026-02-11
- **By:** Technical Lead 🔧
- **Decision:** Maintain `history.db` (SQLite, append-only) + `history.csv` that survives `--clean` and Optuna resets. Logs all DVs, results, feasibility, timestamps across all studies.
- **Rationale:** Optuna DB is study-scoped and can be cleaned/reset. History DB provides permanent record across studies, enabling cross-study learning, debugging, and auditability. Append-only means no data loss.
- **Status:** Approved — implemented and tested
## DEC-HB-012: Relax displacement constraint to 20mm
- **Date:** 2026-02-13
- **By:** CEO
- **Decision:** Relax max tip displacement constraint from 10 mm to 20 mm. Stress constraint unchanged (≤ 130 MPa).
- **Rationale:** Hydrotech Beam is a dummy/proving case — goal is to validate the full optimization pipeline end-to-end, not achieve a real engineering target. 10mm was unreachable in the current design space (baseline 19.6mm, 0/51 DOE trials feasible). 20mm makes feasibility achievable.
- **Status:** Approved
## DEC-HB-011: Git-only development workflow (Syncthing paused)
- **Date:** 2026-02-11
- **By:** CEO
- **Decision:** During active development, use Git (push/pull) exclusively for code sync between server and dalidou. Syncthing paused to avoid conflicts.
- **Rationale:** Syncthing's bidirectional sync creates conflicts when both sides edit files simultaneously during development. Git provides explicit merge control.
- **Status:** Active — resume Syncthing for production/delivery phases