process: harden implementation-start gate before coding (#310) #311
@@ -37,6 +37,11 @@ It is distinct from `docs/requirements-log.md`, which records **project/product
|
||||
- Keep `workflow/session-handover.md` updated with a same-day entry for the active branch.
|
||||
- If the check fails, stop and fix handover artifacts first.
|
||||
|
||||
6. **Process-change-first execution gate**
|
||||
- If process/governance change is required, merge the process ticket to the feature branch first.
|
||||
- Do not start code/test edits for implementation tickets until process merge evidence is confirmed.
|
||||
- Subagents must be constrained to read-only exploration until the process gate is satisfied.
|
||||
|
||||
## Change Control
|
||||
|
||||
- Changes to this file follow the same workflow as code changes.
|
||||
@@ -56,3 +61,9 @@ It is distinct from `docs/requirements-log.md`, which records **project/product
|
||||
- All agents must pre-read `docs/commands.md` and `docs/workflow.md` troubleshooting before running Gitea issue/PR/comment commands.
|
||||
- `gh` CLI is prohibited for repository ticket/PR operations; use `tea` (or documented Gitea API fallback only).
|
||||
- Session start must pass `python3 scripts/session_handover_check.py --strict`, with branch-matched entry in `workflow/session-handover.md`.
|
||||
|
||||
### 2026-02-27
|
||||
|
||||
- Apply process-change-first as an execution gate: process ticket must be merged before implementation ticket coding.
|
||||
- Handover entry must record concrete `next_ticket` and `process_gate_checked`; placeholders are not allowed in strict gate.
|
||||
- Before process merge confirmation, all subagent tasks must remain read-only (analysis only).
|
||||
|
||||
@@ -188,6 +188,19 @@ Use `run_in_background=True` for independent tasks that don't block subsequent w
|
||||
- process ticket 미반영 상태에서 기능 티켓 코딩/머지 금지
|
||||
- 세션 전환 시에도 동일 규칙 유지
|
||||
|
||||
### Implementation Start Gate (Mandatory)
|
||||
|
||||
구현 티켓을 시작하기 전에 아래 3개를 모두 만족해야 한다.
|
||||
|
||||
1. `process ticket merge` 증적 확인 (feature branch 반영 커밋/PR)
|
||||
2. `workflow/session-handover.md` 최신 엔트리에 `next_ticket`과 `process_gate_checked` 기록
|
||||
3. `python3 scripts/session_handover_check.py --strict` 통과
|
||||
|
||||
강제 규칙:
|
||||
- 위 3개 중 하나라도 불충족이면 코드/테스트 수정 금지
|
||||
- 서브에이전트 지시도 동일하게 제한한다 (`process merged 확인 전 read-only 탐색만 허용`)
|
||||
- 성급 착수 발견 시 구현 작업을 즉시 중단하고 handover/proces gate부터 복구한다
|
||||
|
||||
### Ticket Maturity Stages (Mandatory)
|
||||
|
||||
모든 티켓은 아래 4단계를 순서대로 통과해야 한다.
|
||||
|
||||
@@ -81,6 +81,7 @@ def _check_handover_entry(
|
||||
"- docs_checked:",
|
||||
"- open_issues_reviewed:",
|
||||
"- next_ticket:",
|
||||
"- process_gate_checked:",
|
||||
)
|
||||
for token in required_tokens:
|
||||
if token not in latest:
|
||||
@@ -98,6 +99,13 @@ def _check_handover_entry(
|
||||
"latest handover entry must target current branch "
|
||||
f"({branch_token})"
|
||||
)
|
||||
if "- next_ticket: #TBD" in latest:
|
||||
errors.append("latest handover entry must not use placeholder next_ticket (#TBD)")
|
||||
if "merged_to_feature_branch=no" in latest:
|
||||
errors.append(
|
||||
"process gate indicates not merged; implementation must stay blocked "
|
||||
"(merged_to_feature_branch=no)"
|
||||
)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
- docs_checked: docs/workflow.md, docs/commands.md, docs/agent-constraints.md
|
||||
- open_issues_reviewed: #...
|
||||
- next_ticket: #...
|
||||
- process_gate_checked: process_ticket=#..., merged_to_feature_branch=yes|no|n/a
|
||||
- risks_or_notes: ...
|
||||
```
|
||||
|
||||
@@ -24,3 +25,19 @@
|
||||
- open_issues_reviewed: #304, #305, #306
|
||||
- next_ticket: #304
|
||||
- risks_or_notes: 세션 시작 게이트를 문서/스크립트/CI로 강제 적용
|
||||
|
||||
### 2026-02-27 | session=codex-handover-start
|
||||
- branch: feature/v3-session-policy-stream
|
||||
- docs_checked: docs/workflow.md, docs/commands.md, docs/agent-constraints.md
|
||||
- open_issues_reviewed: #306, #308, #309
|
||||
- next_ticket: #304
|
||||
- process_gate_checked: process_ticket=#306,#308 merged_to_feature_branch=yes
|
||||
- risks_or_notes: 미추적 로컬 파일 존재(문서/DB/lock)로 커밋 범위 분리 필요
|
||||
|
||||
### 2026-02-27 | session=codex-process-gate-hardening
|
||||
- branch: feature/issue-304-runtime-staged-exit-semantics
|
||||
- docs_checked: docs/workflow.md, docs/commands.md, docs/agent-constraints.md
|
||||
- open_issues_reviewed: #304, #305
|
||||
- next_ticket: #304
|
||||
- process_gate_checked: process_ticket=#306,#308 merged_to_feature_branch=yes
|
||||
- risks_or_notes: process-change-first 실행 게이트를 문서+스크립트로 강화
|
||||
|
||||
Reference in New Issue
Block a user