docs: Complete M1 mirror optimization campaign V11-V15

## M1 Mirror Campaign Summary
- V11-V15 optimization campaign completed (~1,400 FEA evaluations)
- Best design: V14 Trial #725 with Weighted Sum = 121.72
- V15 NSGA-II confirmed V14 TPE found optimal solution
- Campaign improved from WS=129.33 (V11) to WS=121.72 (V14): -5.9%

## Key Results
- 40° tracking: 5.99 nm (target 4.0 nm)
- 60° tracking: 13.10 nm (target 10.0 nm)
- Manufacturing: 26.28 nm (target 20.0 nm)
- Targets not achievable within current design space

## Documentation Added
- V15 STUDY_REPORT.md: Detailed NSGA-II results analysis
- M1_MIRROR_CAMPAIGN_SUMMARY.md: Full V11-V15 campaign overview
- Updated CLAUDE.md, ATOMIZER_CONTEXT.md with NXSolver patterns
- Updated 01_CHEATSHEET.md with --resume guidance
- Updated OP_01_CREATE_STUDY.md with FEARunner template

## Studies Added
- m1_mirror_adaptive_V13: TPE validation (291 trials)
- m1_mirror_adaptive_V14: TPE intensive (785 trials, BEST)
- m1_mirror_adaptive_V15: NSGA-II exploration (126 new FEA)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Antoine
2025-12-16 14:55:23 -05:00
parent d1261d62fd
commit 01a7d7d121
88 changed files with 2574 additions and 62 deletions

View File

@@ -274,9 +274,49 @@ See `docs/protocols/operations/OP_06_TROUBLESHOOT.md` for full troubleshooting g
---
## Learning Atomizer Core (LAC)
## Learning Atomizer Core (LAC) - CRITICAL
LAC is Atomizer's persistent memory. Every session should contribute to and benefit from accumulated knowledge.
LAC is Atomizer's persistent memory. **Every session MUST contribute to accumulated knowledge.**
### MANDATORY: Real-Time Recording
**DO NOT wait until session end to record insights.** Session close is unreliable - the user may close the terminal without warning.
**Record IMMEDIATELY when any of these occur:**
| Event | Action | Category |
|-------|--------|----------|
| Workaround discovered | Record NOW | `workaround` |
| Something failed (and we learned why) | Record NOW | `failure` |
| User states a preference | Record NOW | `user_preference` |
| Protocol/doc was confusing | Record NOW | `protocol_clarification` |
| An approach worked well | Record NOW | `success_pattern` |
| Performance observation | Record NOW | `performance` |
**Recording Pattern:**
```python
from knowledge_base.lac import get_lac
lac = get_lac()
lac.record_insight(
category="workaround", # failure, success_pattern, user_preference, etc.
context="Brief description of situation",
insight="What we learned - be specific and actionable",
confidence=0.8, # 0.0-1.0
tags=["relevant", "tags"]
)
```
**After recording, confirm to user:**
```
✓ Recorded to LAC: {brief insight summary}
```
### User Command: `/record-learning`
The user can explicitly trigger learning capture by saying `/record-learning`. When invoked:
1. Review recent conversation for notable insights
2. Classify and record each insight
3. Confirm what was recorded
### Directory Structure
```
@@ -288,32 +328,27 @@ knowledge_base/lac/
├── session_insights/ # Learnings from sessions
│ ├── failure.jsonl # Failures and solutions
│ ├── success_pattern.jsonl # Successful approaches
── workaround.jsonl # Known workarounds
── workaround.jsonl # Known workarounds
│ ├── user_preference.jsonl # User preferences
│ └── protocol_clarification.jsonl # Doc improvements needed
└── skill_evolution/ # Protocol improvements
└── suggested_updates.jsonl
```
### Usage
### At Session Start
**At session start** - Query for relevant insights:
Query LAC for relevant prior knowledge:
```python
from knowledge_base.lac import get_lac
lac = get_lac()
insights = lac.get_relevant_insights("bracket mass optimization")
similar = lac.query_similar_optimizations("bracket", ["mass"])
rec = lac.get_best_method_for("bracket", n_objectives=1)
```
**During session** - Record learnings:
```python
lac.record_insight(
category="failure", # or success_pattern, workaround, user_preference
context="Modal analysis with CMA-ES",
insight="CMA-ES struggles with discrete frequency targets. TPE works better.",
confidence=0.8
)
```
### After Optimization Completes
**At session end** - Record outcomes:
Record the outcome for future reference:
```python
lac.record_optimization_outcome(
study_name="bracket_v3",