fix: #412/#413/#414 runtime stability and PR governance preflight #415

Merged
jihoson merged 2 commits from feature/issue-412-413-414-runtime-and-governance into main 2026-03-04 23:43:36 +09:00

2 Commits

Author SHA1 Message Date
agentson
01e4e0f43f fix: governance ID check must ignore code blocks (review #415)
All checks were successful
Gitea CI / test (push) Successful in 38s
Gitea CI / test (pull_request) Successful in 38s
REQ/TASK/TEST ID 패턴 매칭을 _strip_code_segments() 결과에 적용하여
코드 펜스/인라인 코드 안에만 ID를 넣어 검증을 우회하는 케이스를 차단.

회귀 테스트 추가: test_validate_pr_body_text_rejects_governance_ids_in_code_block_only

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 23:37:10 +09:00
agentson
4200575c8e fix: #412/#413/#414 runtime stability and PR governance preflight
All checks were successful
Gitea CI / test (push) Successful in 38s
Gitea CI / test (pull_request) Successful in 38s
## #413 — runtime_verify_monitor.sh pipefail fix
- find_live_pids() now captures pgrep output via local variable with || true
  so pipefail never triggers on no-match (pgrep exit 1)
- Regression test added: monitor survives MAX_LOOPS=1 without crash

## #412 — startup crash logging improvement
- Add asyncio.CancelledError catch in sync_positions_from_broker call
  so BaseException-level cancellations are logged before propagating
- Provides evidence in run log if CancelledError causes future startup aborts

## #414 — PR governance preflight
- validate_pr_body.py: add REQ-ID/TASK-ID/TEST-ID pattern checks (--no-governance flag to skip)
- docs/workflow.md: new "PR Governance Preflight (Mandatory)" section
- docs/commands.md: "PR Body Governance Preflight" section before tea pulls create
- Tests: 4 new governance traceability tests in test_validate_pr_body.py

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 23:27:12 +09:00