docs: add shell pressure feature workflow

This commit is contained in:
KOKO\Mimi
2026-09-01 02:34:04 +09:00
parent c54a528709
commit 2d071069b9
17 changed files with 4835 additions and 1 deletions
@@ -0,0 +1,223 @@
# Shell Surface Pressure Load Coordination Record
## 1. Metadata and Feature Scope
- feature_id: `shell-surface-pressure-load`
- workflow_state: `needs-implementation`
- owner_agent: `coordinator-agent`
- request_date: `2026-08-30`
- last_updated: `2026-08-31`
- process_classification: `architectural`
- current_goal: 승인·감사된 Harness Step 1–7을 한 Implementation Agent/Executor 흐름으로 순차 실행하고 Gate 6 implementation/build/reference evidence를 확보한다.
- approved_scope: Abaqus subset `*SURFACE, TYPE=ELEMENT`와 `*DSLOAD`의 uniform `P`를 S4/S4R `SPOS|SNEG` surface에 적용한다. Linear static은 reference configuration load를, nonlinear static은 current-configuration follower load와 external tangent를 사용한다.
- scope_boundaries: Unsupported surface/load variants는 fail-closed로 거부하고 stable source identity와 deterministic load/reduction order를 보존한다. 기존 authoritative HDF5 output을 우선 유지하되 Stage 5 I/O gate가 evidence로 최종 확정한다.
- reference_case: `reference/shellNL-meshfine-pressure/`의 existing `.inp`와 CSV를 exact path/name 그대로 read-only 사용한다.
- user_approval: `2026-08-30` approved Abaqus-aligned design; `2026-09-01` approved the 7-Step implementation plan, phase materialization, and Harness implementation/verification execution without push.
## 2. Eight-Stage Worklist
| stage | owner | status | output paths | acceptance gate | evidence summary | blockers | attempt count |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 1. Requirements | `requirement-agent` | `passed` | `docs/shell-surface-pressure-load/requirements.md` | 지원/제외 범위, verifiable acceptance criteria, verification quantities, tolerance baseline과 requirement verification matrix가 승인 설계를 손실 없이 고정함 | `FESA-REQ-SHELL-PRESSURE-001`–`024`; normative 24/matrix 24; orphan 0; exact reference input/displacement paths와 blocking/warning/excluded disposition; owner `passed`; Coordinator audit 통과 | 없음 | 1 |
| 2. Research | `research-agent` | `passed` | `docs/shell-surface-pressure-load/research.md` | 이론, benchmark, primary evidence와 applicability limit가 충분함 | Source 15개(Project/Stored 3, Tier 1 official 8, Tier 2 3, Tier 3 navigation 1), key claims 15개, benchmark 8개, normative trace gap 0; owner `passed`; Coordinator audit 통과 | 없음 | 1 |
| 3. Formulation | `formulation-agent` | `passed` | `docs/shell-surface-pressure-load/formulation.md` | Pressure virtual work, equivalent nodal load, follower linearization과 numerical integration 계약이 구현 가능함 | `ready-for-numerical-review`; force/residual/tangent sign, common `2x2` rule, `24x1`/`24x24` dimensions, dimensionless geometry contract, deterministic assembly, requirement trace 24/24; owner `passed`; Coordinator audit 통과 | 없음 | 1 |
| 4. Numerical/reference review | `numerical-review-agent` | `passed` | `docs/shell-surface-pressure-load/numerical-review.md`; `docs/shell-surface-pressure-load/reference-model.md` | Numerical review와 exact reference contract가 함께 `pass-for-io-definition`임 | Aligned `pass-for-io-definition`; `tau_J=1e-12`, analytical/objectivity `1e-12`, FD `h=1e-5`/error `1e-8`, global balance `1e-8`; exact 729-row reference inventory, U/UR 2,187 logical rows each; owner evidence와 Coordinator audit 통과 | 없음 | 1 |
| 5. I/O definition | `io-definition-agent` | `passed` | `docs/shell-surface-pressure-load/io.md` | Abaqus subset, semantic mapping, diagnostics, HDF5 projection과 reference rows가 명확함 | `ready-for-implementation-planning`; exact assembly `SURFACE`/step `DSLOAD P`, Domain/Step/AnalysisModel mapping, ordered fail-closed validation, unchanged schema `0/1`, exact HDF5/reference projection, trace 24/24; owner `passed`; Coordinator audit 통과 | 없음 | 1 |
| 6. Implementation | `implementation-planning-agent`; `implementation-agent` | `in-progress` | `docs/shell-surface-pressure-load/implementation-plan.md`; `docs/shell-surface-pressure-load/implementation-report.md`; `docs/shell-surface-pressure-load/build-test.md`; `docs/shell-surface-pressure-load/reference-comparison.md` | 승인 계획, TDD evidence, MSVC/x64/Debug build/CTest와 blocking reference comparison이 모두 통과함 | Planning/phase subgates `passed`; 7 pending Steps와 exact filenames/slugs/order, RED/GREEN/VERIFY, reference immutability를 Coordinator audit함; `GATE6-IMPL-001` execution dispatch 준비 | Implementation Agent evidence 대기 | 1 |
| 7. Physics evaluation | `physics-evaluation-agent` | `pending` | `docs/shell-surface-pressure-load/physics-evaluation.md` | Direction, symmetry, resultant, reaction과 equilibrium 검토가 `pass-for-release-agent`임 | Gate 6 evidence 대기 | Gate 6 미통과 | 0 |
| 8. Release readiness | `release-agent` | `pending` | `docs/shell-surface-pressure-load/release.md` | Acceptance traceability와 limitation을 포함한 verdict가 `ready-for-release`임 | Gate 7 evidence 대기 | Gate 7 미통과 | 0 |
## 3. Active Dispatch Package and Latest Sub-Agent Return
### Completed Dispatch Package
- dispatch_id: `GATE1-REQ-001`
- feature_id: `shell-surface-pressure-load`
- target_sub_agent: `requirement-agent`
- required_inputs:
- `AGENTS.md`
- `docs/PRD.md`
- `docs/ARCHITECTURE.md`
- `docs/ADR.md`
- `docs/TOLERANCE.md`
- `docs/SOLVER_AGENT_DESIGN.md`
- approved design recorded in this file
- `reference/shellNL-meshfine-pressure/` read-only inventory
- expected_outputs: `docs/shell-surface-pressure-load/requirements.md`
- acceptance_gate: Verifiable shall requirements, explicit scope/exclusions, input/output semantics, failure behavior, deterministic identity/order, reference quantities/dispositions, common tolerance baseline and complete requirement verification matrix preserve the approved design without downstream formulation or I/O invention.
- stop_condition: `requirements.md`와 return evidence를 제출한 뒤 중지한다. Peer dispatch, Gate 2 work, source/tests/CMake/reference/tolerance 변경은 금지한다.
- missing_evidence: 없음
### Completed Dispatch Package — Gate 2
- dispatch_id: `GATE2-RES-001`
- feature_id: `shell-surface-pressure-load`
- target_sub_agent: `research-agent`
- required_inputs:
- `AGENTS.md`
- `docs/SOLVER_AGENT_DESIGN.md`
- `docs/shell-surface-pressure-load/requirements.md` binding baseline
- `docs/PRD.md`, `docs/ARCHITECTURE.md`, `docs/ADR.md`, `docs/TOLERANCE.md`
- exact read-only inventory under `reference/shellNL-meshfine-pressure/`
- `fesa-research-evidence`; 필요 시 `fem-theory-query`
- expected_outputs: `docs/shell-surface-pressure-load/research.md`
- acceptance_gate: Key claims마다 source/reliability tier 또는 inference label이 있고, Abaqus observable input/load semantics와 FESA-owned theory가 분리된다. Pressure virtual work, current-surface follower force, external tangent, S4/S4R applicability와 verification candidates가 target quantity, 한계, exact artifact와 requirement trace를 갖는다.
- stop_condition: `research.md`와 return evidence 제출 후 중지한다. Formulation 확정, peer dispatch, Gate 3, source/tests/CMake/reference/tolerance 변경은 금지한다.
- missing_evidence: 없음
### Completed Dispatch Package — Gate 3
- dispatch_id: `GATE3-FORM-001`
- feature_id: `shell-surface-pressure-load`
- target_sub_agent: `formulation-agent`
- required_inputs:
- `AGENTS.md`
- `docs/SOLVER_AGENT_DESIGN.md`
- binding `docs/shell-surface-pressure-load/requirements.md`
- approved `docs/shell-surface-pressure-load/research.md`
- applicable project architecture/ADR contracts
- `fesa-formulation-spec`; 필요 시 supporting `fem-theory-query`
- expected_outputs: `docs/shell-surface-pressure-load/formulation.md`
- acceptance_gate: Strong/weak form, S4/S4R interpolation, side/sign map, reference/current geometry, quadrature/Jacobian validity, consistent pressure force, residual sign, exact external tangent, full-space deterministic assembly, units/failures, verification identities와 requirement trace가 implementation-ready이며 Abaqus internal equivalence를 주장하지 않음.
- stop_condition: `formulation.md`와 return evidence 제출 후 중지한다. Parser/API/source/test/reference 변경, peer dispatch, Numerical Review/Gate 4 수행은 금지한다.
- missing_evidence: 없음
### Completed Dispatch Package — Gate 4
- dispatch_id: `GATE4-NR-001`
- feature_id: `shell-surface-pressure-load`
- target_sub_agent: `numerical-review-agent`
- required_inputs:
- `AGENTS.md`, `docs/SOLVER_AGENT_DESIGN.md`
- binding `requirements.md`, approved `research.md`, `formulation.md`
- `docs/TOLERANCE.md`와 applicable architecture/ADR contracts
- exact read-only `reference/shellNL-meshfine-pressure/` artifacts
- `fesa-numerical-review`
- expected_outputs: `docs/shell-surface-pressure-load/numerical-review.md`; `docs/shell-surface-pressure-load/reference-model.md`
- acceptance_gate: 독립 sign/force/tangent/residual/integration/geometry/objectivity/equilibrium/determinism review가 blocking flaw 없이 통과하고, `tau_J`와 internal test thresholds가 scale-aware하게 확정된다. Exact input/required CSV identity, component/blocking classification, row prechecks와 unchanged `docs/TOLERANCE.md` policy가 I/O 정의에 충분해야 한다.
- stop_condition: 두 report와 owner verdict/return evidence 제출 후 중지한다. Upstream flaw는 문서를 조용히 수정하지 않고 precise rework로 반환한다. Source/tests/CMake/reference/tolerance 변경, peer dispatch, Gate 5 수행은 금지한다.
- missing_evidence: 없음
### Completed Dispatch Package — Gate 5
- dispatch_id: `GATE5-IO-001`
- feature_id: `shell-surface-pressure-load`
- target_sub_agent: `io-definition-agent`
- required_inputs:
- `AGENTS.md`, `docs/SOLVER_AGENT_DESIGN.md`
- approved feature `requirements.md`, `research.md`, `formulation.md`, `numerical-review.md`, `reference-model.md`
- applicable PRD/architecture/ADR/CODINGSTYLE/TOLERANCE contracts
- exact read-only `reference/shellNL-meshfine-pressure/` artifacts
- `fesa-io-contract`
- expected_outputs: `docs/shell-surface-pressure-load/io.md`
- acceptance_gate: Approved `*SURFACE TYPE=ELEMENT`/`*DSLOAD P` grammar, model/history mapping, deterministic target resolution/diagnostics, Domain/Step/AnalysisModel semantic ownership, existing authoritative HDF5 field projection, exact reference CSV identity/prechecks/common tolerance와 compatibility boundary가 구현 계획에 충분하고 upstream contract와 일치함.
- stop_condition: `io.md`와 owner return evidence 제출 후 중지한다. Parser/API implementation, source/tests/CMake/phases/reference/tolerance 변경, peer dispatch와 Gate 6 수행은 금지한다.
- missing_evidence: 없음
### Completed Dispatch Package — Gate 6 Planning
- dispatch_id: `GATE6-PLAN-001`
- feature_id: `shell-surface-pressure-load`
- target_sub_agent: `implementation-planning-agent`
- required_inputs:
- `AGENTS.md`, `docs/SOLVER_AGENT_DESIGN.md`, `docs/HARNESS.md`, `docs/HARNESS_WORKFLOW.md`
- approved feature `requirements.md`, `research.md`, `formulation.md`, `numerical-review.md`, `reference-model.md`, `io.md`
- current source/tests/CMake/`.harness/config.json`/hooks/phase inventory read-only
- `fesa-cpp-msvc-tdd`, project-local `harness`, compatible `superpowers:writing-plans`
- expected_outputs: `docs/shell-surface-pressure-load/implementation-plan.md`; concise user-approval Step draft in owner return
- acceptance_gate: Multiple self-contained Steps가 각자 `RED -> observed failure -> minimal GREEN -> focused/full VERIFY`를 포함하고 exact files/signatures/tests/commands/dependencies/traceability를 지정한다. Parser/model, force/tangent, linear/nonlinear assembly, deterministic failure, HDF5/reference comparison와 final MSVC x64 Debug CTest evidence를 모두 다루며 reference immutability/atomicity를 보존한다.
- stop_condition: Plan draft와 return evidence 제출 후 사용자 승인을 기다린다. `phases/index.json`, `phases/<task>/`, source/tests/CMake/reference 수정, Harness execution, Implementation Agent dispatch는 승인 전 금지한다.
- missing_evidence: 사용자 plan approval
### Completed Dispatch Package — Gate 6 Phase Materialization
- dispatch_id: `GATE6-PHASE-001`
- feature_id: `shell-surface-pressure-load`
- target_sub_agent: `implementation-planning-agent` (`GATE6-PLAN-001`과 동일 owner instance)
- required_inputs:
- approved `docs/shell-surface-pressure-load/implementation-plan.md`
- `AGENTS.md`, `docs/HARNESS.md`, `docs/HARNESS_WORKFLOW.md`, project-local `harness`
- existing `phases/index.json`과 existing task directories
- expected_outputs: `phases/index.json`; `phases/shell-surface-pressure-load/index.json`; `phases/shell-surface-pressure-load/step1.md`–`step7.md`
- acceptance_gate: Top-level task entry와 task index의 7 pending Steps가 승인 slug/order와 정확히 일치한다. 각 Step은 독립 실행에 필요한 upstream docs, exact files/signatures, RED expected failure, minimal GREEN, focused/full MSVC x64 Debug CMake/CTest commands, dependencies, status ownership, forbidden scope와 reference immutability를 대화 참조 없이 포함한다.
- stop_condition: Planning files만 materialize하고 실행·Step selection·status advancement·timestamp·commit·push를 하지 않는다. Source/tests/CMake/docs/reference/tolerance는 변경하지 않는다.
- missing_evidence: 없음
### Active Dispatch — Gate 6 Implementation
- dispatch_id: `GATE6-IMPL-001`
- feature_id: `shell-surface-pressure-load`
- target_sub_agent: `implementation-agent`
- required_inputs:
- `AGENTS.md`, `.codex/hooks.json`, `.agents/skills/harness/SKILL.md`, `docs/HARNESS.md`, `docs/HARNESS_WORKFLOW.md`
- approved feature bundle `requirements.md`, `research.md`, `formulation.md`, `numerical-review.md`, `reference-model.md`, `io.md`, `implementation-plan.md`
- materialized `phases/index.json`, `phases/shell-surface-pressure-load/index.json`, `step1.md`–`step7.md`
- `fesa-cpp-msvc-tdd`; user authorization for `python scripts/execute.py shell-surface-pressure-load` without `--push`
- expected_outputs: completed phase Step records; feature production/tests/CMake/comparator changes; `docs/shell-surface-pressure-load/implementation-report.md`; `build-test.md`; `reference-comparison.md`; actual RED/GREEN/VERIFY logs and unchanged reference hashes
- acceptance_gate: Step 1–7 executes in order with expected RED before each production behavior, minimal GREEN, focused and full MSVC x64 Debug build/CTest. Final comparison uses exact stored artifacts, deterministic identity/prechecks/common tolerance and records U blocking/UR warning-only while preserving hashes. All Gate 6 reports must support `pass-for-physics-evaluation` with no unresolved blocking failure.
- stop_condition: Do not push, run Abaqus/reference solvers, change upstream contracts/tolerance/reference artifacts, advance Gate 7, or revert other agents' docs/coordination changes. Repeated/unclear implementation failure returns to Coordinator for bounded correction routing.
- missing_evidence: completed Steps 1–7, three Gate 6 reports, owner return, Coordinator evidence audit
### Latest Sub-Agent Return
- target_sub_agent: `implementation-planning-agent`
- output_paths: `phases/index.json`; `phases/shell-surface-pressure-load/index.json`; `phases/shell-surface-pressure-load/step1.md`–`step7.md`
- status: `passed`; phase materialization complete
- evidence_summary: Existing top-level entries/status/timestamps를 보존하고 pending feature entry 하나를 append함. Task index는 승인된 7 slugs를 Step 1–7과 matching files로 등록함. Coordinator audit에서 Executor path resolution, pending statuses, self-contained required/prior files, exact interfaces/tests, expected RED, minimal GREEN, MSVC/x64/Debug focused/full commands, no hidden scope, exact reference hashes/read-only policy와 final literal comparison/report order를 확인함.
- blockers: 없음
- open_evidence_gaps: Implementation Agent의 actual RED/GREEN/VERIFY, build/CTest, reference comparison과 three reports 대기
- critical_user_question: 없음
- forbidden_area_assertion: source, tests, CMake, phases, `docs/TOLERANCE.md`, reference artifact 변경 없음
## 4. Gate Decision Log and Workflow State
| date | dispatch | gate decision | owner evidence | workflow state |
| --- | --- | --- | --- | --- |
| 2026-08-30 | `GATE1-REQ-001` | `passed` | Owner `passed`; `requirements.md` 24 normative IDs/24 matrix rows, complete traceability, approved design/reference boundary, blocker 없음. Coordinator 독립 구조 감사에서 orphan 0, matrix-only 0 및 필수 contract field 누락 0 확인 | `needs-research` |
| 2026-08-30 | `GATE2-RES-001` | `passed` | Owner `passed`; source 15/key claims 15/benchmark 8/trace gap 0. Coordinator audit에서 undeclared cited source 0, Abaqus observable/FESA formulation 분리, limitation과 nonblocking gap 확인 | `needs-formulation` |
| 2026-08-30 | `GATE3-FORM-001` | `passed` | Owner `passed`, document `ready-for-numerical-review`; Coordinator audit에서 required formulation sections 완비, requirement rows 24/24, upstream scope/sign/output 일치와 explicit Numerical Review handoff 확인 | `needs-numerical-review` |
| 2026-08-30 | `GATE4-NR-001` | `passed` | Owner reports aligned `pass-for-io-definition`; Coordinator audit에서 두 verdict/required sections, quantitative gates, exact artifact/row/component classification, precheck/common tolerance/immutability와 no final HDF5 projection 확인 | `needs-io-definition` |
| 2026-08-31 | `GATE5-IO-001` | `passed` | Owner `passed`, document `ready-for-implementation-planning`; Coordinator audit에서 required sections/grammar/ownership/validation/schema/reference projection 완비, trace 24/24, no new dataset/version와 no critical issue 확인 | `needs-implementation-plan` |
| 2026-08-31 | `GATE6-PLAN-001` | `passed` | Owner `passed`, document `draft-awaiting-user-approval`; Coordinator audit에서 7 Steps, TDD/commands/dependencies/24-of-24 trace, no phase/code mutation 확인. Initial `upstream-io-contract-mismatch`는 same-owner follow-up으로 multi-explicit-instance 지원과 committed source identity를 교정함. 이는 planning subgate 판정이며 Stage 6 implementation gate는 미통과 | `needs-user-decision` |
| 2026-09-01 | `GATE6-PLAN-APPROVAL` | `passed` | User explicitly approved the 7-Step draft, phase materialization, and implementation/verification execution; `--push` 금지 | `needs-implementation-plan` |
| 2026-09-01 | `GATE6-PHASE-001` | `pending` | 동일 Implementation Planning Agent의 phase materialization과 Coordinator audit 대기 | `needs-implementation-plan` |
| 2026-09-01 | `GATE6-PHASE-001` | `passed` | Owner `passed`; Coordinator audit에서 existing top index preservation, exact 7 pending slugs/files, Executor-readable paths, self-contained RED/GREEN/VERIFY와 exact reference immutability 확인 | `ready-for-implementation` |
| 2026-09-01 | `GATE6-IMPL-001` | `pending` | Exactly one Implementation Agent execution/evidence 대기 | `needs-implementation` |
## 5. Risk, Blocker, and User-Decision Register
- active_blockers: 없음
- critical_user_questions: 없음
- USER-DECISION-001: `resolved 2026-09-01`; 7-Step draft, phase materialization, Harness implementation/verification execution 승인. `--push`는 승인되지 않음.
- RISK-001: Element-based `*DLOAD` pressure와 surface-based `*DSLOAD` pressure의 sign/target 의미를 혼합하지 않는다.
- RISK-002: Nonlinear follower pressure의 current-surface force와 external tangent를 fixed-global `*CLOAD`와 혼합하지 않는다.
- RISK-003: Reference artifact 또는 공통 tolerance를 기능 통과를 위해 수정하지 않는다.
- RISK-004: Directly applicable public S4/S4R follower-pressure target 부재는 analytical/tangent/equilibrium suite와 exact stored case를 함께 사용해 보완하며, target을 발명하지 않는다.
- RISK-005: External pressure tangent는 generally nonsymmetric이므로 symmetrize하지 않으며 Numerical Review가 global special-case evidence와 `tau_J`/FD acceptance를 확정한다.
- RISK-006: Stored case의 S4/SPOS/positive `P` coverage 한계는 S4R, side/sign, objectivity와 tangent blocking internal tests로 보완한다.
- RISK-007: Input compatibility는 assembly-level direct/explicit-instance ELSET surface와 parameterless `DSLOAD P` exact subset뿐이며 part-level/implicit qualification/`DLOAD`를 추정 지원하지 않는다.
- adopted_default: 승인 범위 내 secondary detail은 Abaqus surface-pressure behavior와 repository convention을 evidence-backed default로 사용한다.
## 6. Rework-Loop Control and Stop Condition
- normalized_failure_attempts: `upstream-io-contract-mismatch` 1회, Gate 6 planning same-owner follow-up에서 교정 완료
- automatic_rework_limit: 동일 normalized failure classification `2`회
- current_attempt: `implementation` 1회 dispatch 준비; `implementation-planning` 1회 완료; phase materialization 1회 완료; `io-definition` 1회 완료; `numerical-reference-review` 1회 완료; `formulation-contract` 1회 완료; `research-evidence` 1회 완료; `requirements-baseline` 1회 완료
- stop_condition: 동일 classification이 2회이면 자동 재작업을 중단하고 `needs-user-decision` 또는 `blocked`로 전환한다.
## 7. Final Workflow Closure
- closure_status: `pending`
- required_evidence: Gates 1–8 owner evidence와 `release.md`의 `ready-for-release` recommendation
- current_boundary: Gates 1–5와 Gate 6 planning/phase subgates `passed`; Stage 6 implementation `in-progress`; Gate 6 three-report evidence 전 Gate 7 금지.
## 8. No-Change Assertion
- source_code: 변경 없음
- tests: 변경 없음
- CMake: 변경 없음
- reference_artifacts: 변경 없음
- tolerance_policies: 변경 없음
- phase_planning: `phases/index.json`에 pending entry append; `phases/shell-surface-pressure-load/index.json`과 `step1.md`–`step7.md` 생성
- coordinator_change: `docs/shell-surface-pressure-load/coordination.md` 생성 및 Gates 1–5와 Gate 6 planning evidence 기록
- specialist_change: Requirement Agent가 `requirements.md`, Research Agent가 `research.md`, Formulation Agent가 `formulation.md`, Numerical Review Agent가 `numerical-review.md`와 `reference-model.md`, I/O Definition Agent가 `io.md`, Implementation Planning Agent가 `implementation-plan.md`를 각각 생성함