- 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
95 lines
6.3 KiB
Markdown
95 lines
6.3 KiB
Markdown
# 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 (40–50 trials) to map landscape. Phase 2 = TPE via Optuna (60–100 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 (5–15). 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
|