Files
Atomizer/projects/hydrotech-beam/DECISIONS.md
Antoine 580ed65a26 fix: generic mass extraction in solve_simulation.py (beam + bracket)
- Extract mass RIGHT AFTER geometry rebuild while part is work part
- Replace unreliable p173 expression lookup with MeasureManager
- Skip re-extraction if mass already captured during rebuild
- Relax displacement constraint to 20mm (DEC-HB-012, CEO approved)

Root cause: journal hardcoded M1_Blank for bracket, failed silently on Beam.prt
Fix by: NX Expert + Manager diagnosis
2026-02-13 02:16:39 +00:00

95 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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