9.4 KiB
9.4 KiB
Release Report 문서 작성 가이드
이 디렉터리는 Release Agent가 작성하거나 제안하는 기능별 release readiness report를 보관하는 위치다.
Release Agent는 Physics Evaluation Agent가 pass-for-release-agent로 넘긴 기능에 대해 최종 gate evidence를 감사한다. 이 Agent는 source code, tests, upstream 계약, reference artifacts, tolerance policies를 수정하지 않는다. 또한 Abaqus 해석 실행, reference CSV 생성, 외부 publish/deploy/package/tag/commit 작업을 수행하지 않는다.
기본 문서명은 docs/releases/<feature-id>-release.md 형식을 사용한다.
Release Agent 역할
수행한다:
- upstream gate report가 같은
feature_id를 대상으로 하는지 확인한다. - Build/Test report의
pass-for-reference-verification상태를 확인한다. - Reference Verification report의
pass-for-physics-evaluation상태를 확인한다. - Physics Evaluation report의
pass-for-release-agent상태를 확인한다. - 모든
mustrequirement가 acceptance criterion, test/reference evidence, release scope에 trace되는지 확인한다. - known limitations, deferred issues, unsupported Abaqus keyword, accepted risks를 release note에 기록한다.
- release checklist와 Release Notes Draft를 작성한다.
수행하지 않는다:
- source code를 수정하지 않는다.
- tests를 수정하지 않는다.
- CMake files 또는 build configuration을 수정하지 않는다.
- requirements, formulations, I/O contracts, numerical review reports, reference verification reports, physics evaluation reports를 수정하지 않는다.
- reference artifacts 또는 tolerance policies를 수정하지 않는다.
- Abaqus 해석을 직접 실행하지 않는다.
- reference CSV를 생성하지 않는다.
- 실패하거나 누락된 upstream gate를 우회하지 않는다.
- 사용자 명시 요청 없이 publish, deploy, package, tag, commit, external release를 수행하지 않는다.
실행 순서
Release Agent는 다음 순서를 따른다.
GATE AUDIT -> TRACEABILITY CHECK -> RELEASE DOCUMENTATION -> RELEASE VERDICT
GATE AUDIT에서는 다음 evidence를 확인한다.
- Physics Evaluation report status:
pass-for-release-agent - Reference Verification report status:
pass-for-physics-evaluation - Build/Test report status:
pass-for-reference-verification - Implementation report와 implementation plan의 feature scope 일치
- requirements, formulations, numerical reviews, I/O definitions, reference models 문서의 feature scope 일치
- validation command evidence:
python scripts/validate_workspace.py
문서 템플릿
# <feature title> Release Report
## Metadata
- feature_id: <feature-id>
- source_requirement: docs/requirements/<feature-id>.md
- source_formulation: docs/formulations/<feature-id>-formulation.md
- source_numerical_review: docs/numerical-reviews/<feature-id>-review.md
- source_io_definition: docs/io-definitions/<feature-id>-io.md
- source_reference_model: docs/reference-models/<feature-id>-reference-models.md
- source_implementation_plan: docs/implementation-plans/<feature-id>-implementation-plan.md
- source_build_test_report: docs/build-test-reports/<feature-id>-build-test.md
- source_reference_verification_report: docs/reference-verifications/<feature-id>-reference-verification.md
- source_physics_evaluation_report: docs/physics-evaluations/<feature-id>-physics-evaluation.md
- status: ready-for-release | needs-correction | needs-reference-verification | needs-physics-evaluation | needs-documentation | needs-upstream-decision | blocked
- owner_agent: release-agent
- date: <YYYY-MM-DD>
## Release Scope
| item | included | excluded | notes |
| --- | --- | --- | --- |
| analysis_type | <supported analysis> | <unsupported analysis> | <notes> |
| element_type | <supported elements> | <unsupported elements> | <notes> |
| material_model | <supported materials> | <unsupported materials> | <notes> |
| Abaqus input subset | <supported keywords> | <unsupported keywords> | <notes> |
| output_quantities | <supported outputs> | <unsupported outputs> | <notes> |
## Gate Evidence Inventory
| gate | source | expected_status | observed_status | verdict |
| --- | --- | --- | --- | --- |
| requirements | docs/requirements/<feature-id>.md | approved or release-ready | <status> | pass | fail | missing |
| formulation | docs/formulations/<feature-id>-formulation.md | reviewed | <status> | pass | fail | missing |
| numerical_review | docs/numerical-reviews/<feature-id>-review.md | pass-for-implementation-planning | <status> | pass | fail | missing |
| io_definition | docs/io-definitions/<feature-id>-io.md | ready | <status> | pass | fail | missing |
| reference_model | docs/reference-models/<feature-id>-reference-models.md | ready or artifacts present | <status> | pass | fail | missing |
| implementation | <implementation report> | implemented | <status> | pass | fail | missing |
| build_test | docs/build-test-reports/<feature-id>-build-test.md | pass-for-reference-verification | <status> | pass | fail | missing |
| reference_verification | docs/reference-verifications/<feature-id>-reference-verification.md | pass-for-physics-evaluation | <status> | pass | fail | missing |
| physics_evaluation | docs/physics-evaluations/<feature-id>-physics-evaluation.md | pass-for-release-agent | <status> | pass | fail | missing |
## Acceptance Traceability
| requirement_id | acceptance_criterion | test_id | reference_model_id | verification_report | release_disposition |
| --- | --- | --- | --- | --- | --- |
| <req-id> | <criterion> | <test-id> | <model-id> | <report path> | released | deferred | blocked |
## Validation Evidence
| command_or_report | expected | observed | notes |
| --- | --- | --- | --- |
| python scripts/validate_workspace.py | pass | <result> | <summary> |
| CMake/MSVC/CTest | pass | <result> | <summary> |
| reference verification | pass-for-physics-evaluation | <status> | <summary> |
| physics evaluation | pass-for-release-agent | <status> | <summary> |
## Known Limitations
| limitation | category | user_impact | disposition |
| --- | --- | --- | --- |
| <unsupported Abaqus keyword or solver scope limit> | input | physics | numerical | output | <impact> | documented | deferred | blocker |
## Release Notes Draft
### Feature Summary
- <user-facing summary>
### Verification Scope
- <validated analysis, element, material, I/O, reference model scope>
### Main Limitations
- <known limitation>
### Artifacts
- <release report, reference bundle, verification report paths>
## Release Verdict
- verdict: ready-for-release | needs-correction | needs-reference-verification | needs-physics-evaluation | needs-documentation | needs-upstream-decision | blocked
- reason: <short reason>
## Handoff Recommendation
| target_agent | reason | required_input |
| --- | --- | --- |
| Coordinator Agent | <release decision or blocked issue> | <summary> |
| Correction Agent | <implementation-owned release blocker> | <failure evidence> |
| Reference Verification Agent | <missing or failed reference comparison> | <artifact and report gap> |
| Physics Evaluation Agent | <missing or failed physics evaluation> | <reference verification evidence> |
| Requirement Agent | <requirement or acceptance gap> | <open decision> |
| I/O Definition Agent | <I/O scope or Abaqus keyword limitation gap> | <contract gap> |
| Reference Model Agent | <reference artifact or coverage gap> | <model gap> |
## No-Change Assertion
- source_files_modified: false
- test_files_modified: false
- cmake_files_modified: false
- reference_artifacts_modified: false
- tolerance_policies_modified: false
- notes: <observed no-change evidence or exception>
## Open Issues
- <missing evidence, contradictory upstream report, unresolved defect, incomplete reference artifact, or documentation gap>
상태 값
ready-for-release: required gate가 모두 통과했고, 모든mustrequirement traceability와 known limitations 문서화가 완료되었다.needs-correction: implementation-owned defect 또는 unresolved test/build/reference/physics issue가 있어 Correction Agent가 필요하다.needs-reference-verification: reference verification report가 없거나pass-for-physics-evaluation이 아니다.needs-physics-evaluation: physics evaluation report가 없거나pass-for-release-agent가 아니다.needs-documentation: gate evidence는 통과했지만 release scope, known limitations, release notes, traceability 문서가 불완전하다.needs-upstream-decision: requirement, tolerance, reference artifact, I/O, acceptance evidence가 누락되었거나 상충한다.blocked: 사용자 또는 Coordinator Agent 결정 없이는 안전하게 진행할 수 없다.
품질 기준
ready-for-release는 Build/Test, Reference Verification, Physics Evaluation gate evidence가 모두 present and passing일 때만 사용할 수 있다.- 모든
mustrequirement는 acceptance criterion, test/reference evidence, release scope에 trace되어야 한다. - known limitations와 deferred/open issue는 Release Notes Draft에 명확히 기록되어야 한다.
- missing evidence, contradictory upstream reports, unresolved defects, incomplete reference artifacts는 release pass가 아니라 적절한
needs-*상태로 분류한다. - 이 문서는 Abaqus User Subroutine feature의 내부 readiness 판정을 위한 것이며, 외부 publish/deploy/package/tag/commit 자동화는 포함하지 않는다.