Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .codex/skills/ddalggak/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ If a non-writing subcommand would need a source edit to continue, report the nee
| Subcommand | Mode | Show-doc heading | Purpose | Side effects | Stop condition | Required assets |
| --- | --- | --- | --- | --- | --- | --- |
| `start` | source-edit | Start Workflow | Issue implementation from live issue body/comments; one issue PR by default | Repo source edits in issue scope; start publishes the issue PR via the ship procedure (ship.md); cross-review comments come through the review gate. | Stop on stale base, missing issue body/comments, duplicate PR, or required files outside the issue-owned scope. | refs: `references/wiki-context-preflight.md`, `references/2026-06-04-brain-v0-wiki-authority-in-ddalggak.md`, `references/quality-lens-router.md`, `references/evidence-contract.md`, `references/agent-runtime-contract.md`, `references/start-workflow.md`; templates: -; conditional: see conditional map |
| `review` | review-fix | Cross-Review Loop | Risk-adaptive current-head semantic review and accepted fix loop | Top-level review comment plus inline line-anchored review comments for every triage-passing finding in one COMMENT-event batch; accepted Critical/High fixes may edit source and push to the reviewed PR branch. | Stop before approve if intake is not ready, current-head CI is not terminal green/skipped, semantic coverage has gaps, blockers remain, or wiki/evidence preflight has blocking gaps. | refs: `references/wiki-context-preflight.md`, `references/2026-06-04-brain-v0-wiki-authority-in-ddalggak.md`, `references/quality-lens-router.md`, `references/evidence-contract.md`, `references/cross-review-loop.md`, `references/review-quality-contract.md`; templates: -; conditional: see conditional map |
| `review` | review-fix | Cross-Review Loop | Risk-adaptive current-head semantic review and accepted fix loop | Top-level review comment plus inline line-anchored review comments for every triage-passing finding in one COMMENT-event batch; accepted Critical/High fixes may edit source and push to the reviewed PR branch. | Before writes, re-check lifecycle. state=MERGED/mergedAt emits REVIEW_STOPPED_PR_MERGED and stops; uncertainty is BLOCKED. | refs: `references/wiki-context-preflight.md`, `references/2026-06-04-brain-v0-wiki-authority-in-ddalggak.md`, `references/quality-lens-router.md`, `references/evidence-contract.md`, `references/cross-review-loop.md`, `references/review-quality-contract.md`; templates: -; conditional: see conditional map |
| `status` | read-only | Status | Read-only live git/GitHub/session state snapshot | No source, GitHub, or local cleanup mutation; report live git/GitHub/session state only. | Stop after a live state snapshot and next-action recommendation. | refs: `references/wiki-context-preflight.md`, `references/status.md`, `references/pr-check-evidence-bundle.md`; templates: - |
| `plan` | plan-only | Issue-Ready Plan | Issue-ready implementation plan from issue/wiki/code evidence | No source edits; no GitHub writes unless the user separately requests issue creation. | Stop after an issue-ready plan with evidence/unknowns and PR topology. | refs: `references/wiki-context-preflight.md`, `references/2026-06-04-brain-v0-wiki-authority-in-ddalggak.md`, `references/wiki-bridge.md`, `references/quality-lens-router.md`, `references/evidence-contract.md`, `references/issue-ready-plan.md`; templates: -; conditional: see conditional map |
| `issue` | github-write | Plan to Issues | Create GitHub issues from an approved plan | Create/edit GitHub issues and comments only; no repository source edits. | Stop after live issue URLs/labels/assignees/body UTF-8 verification or on metadata permission failure. | refs: `references/wiki-context-preflight.md`, `references/plan-to-issues.md`; templates: `templates/issue-body.md`, `templates/epic-body.md` |
Expand Down Expand Up @@ -173,11 +173,11 @@ Execution contract index: target repo/base freshness, issue body+comments, base

## `review` - Cross-Review Loop

Command contract: mode `review-fix`; source edits are allowed only for accepted Critical/High blockers; top-level review comments are allowed; stop before APPROVE when current-head CI/checks are not terminal, blockers remain, or evidence/wiki preflight has blocking gaps.
Command contract: `review-fix`; accepted Critical/High fixes/comments only. Follow `cross-review-loop.md` lifecycle checkpoints; merged emits `REVIEW_STOPPED_PR_MERGED`, uncertainty is `BLOCKED`.

Full procedure: `references/cross-review-loop.md`; public renderer: `references/review-output-contract.md` + `references/review-comment-style.md`; wiki authority: `references/2026-06-04-brain-v0-wiki-authority-in-ddalggak.md`; delegated review only loads `templates/review-brief.md`.

Execution contract index: live PR/diff/files/checks/issue/head SHA, Wiki Context Preflight, base Router/Evidence, activation-bound optional gates, Admission schema v3, candidate disposition, lifecycle aggregate, publication authority, canonical-candidate-bound two-sentence findings, deterministic fixed summary, zero-finding substantive validation, and a top-level conclusion comment when formal approval is inappropriate.
Execution contract index: live PR/diff/files/checks/issue/head SHA; lifecycle stop/readback; Wiki Context Preflight; base Router/Evidence; activation-bound optional gates; Admission schema v3; canonical-candidate-bound two-sentence findings; deterministic fixed summary.

## `status` - Current State Snapshot

Expand Down
13 changes: 11 additions & 2 deletions .codex/skills/ddalggak/references/cross-review-loop.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,22 @@ Load human-feedback, CI-triage, security-posture, and regression references only

## Lifecycle gate

Resolve the live lifecycle before evaluating candidates:
Resolve the live lifecycle before evaluating candidates. Re-check it at intake, after every delegated or long-running review phase, and immediately before every fix, push, formal/inline review, or top-level GitHub comment write.

- OPEN: `APPROVE | CHANGES_REQUESTED | BLOCKED`
- MERGED: `NO_FOLLOW_UP | FOLLOW_UP_REQUIRED | BLOCKED`
- CLOSED_UNMERGED: `NO_ACTION | FOLLOW_UP_REQUIRED | BLOCKED`

Re-read current head, base, files, checks, linked requirements, issue/body comments, prior review decisions, and Wiki Context Preflight. `checksStatus: PASS | FAIL | PENDING | NOT_APPLICABLE`; `NOT_APPLICABLE` requires a non-empty `checksJustification`. FAIL or PENDING makes the aggregate BLOCKED and completion-ineligible.
`state=MERGED` or a non-null `mergedAt` is a hard stop sentinel. Immediately:

1. Record authoritative readback for `state`, `mergedAt`, `mergeCommit`, and `headRefOid`.
2. Emit `REVIEW_STOPPED_PR_MERGED` and attempt to stop any in-flight delegated review work.
3. Stop all further probes, candidate evaluation, delegation, fixes, source edits, pushes, formal/inline reviews, and top-level GitHub comments.
4. Return `MERGED / NO_FOLLOW_UP` by default. A follow-up requires fresh live evidence of a material residual defect and separate authorization; it is not a continuation of the stopped review.

If lifecycle lookup fails or is ambiguous, return `BLOCKED` and perform no mutation or publication. Never infer OPEN from a stale brief, worker report, or earlier readback.

For an OPEN PR, re-read current head, base, files, checks, linked requirements, issue/body comments, prior review decisions, and Wiki Context Preflight. `checksStatus: PASS | FAIL | PENDING | NOT_APPLICABLE`; `NOT_APPLICABLE` requires a non-empty `checksJustification`. FAIL or PENDING makes the aggregate BLOCKED and completion-ineligible.

## Accepted finding authority

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Public output excludes internal evidence inventories. Wiki Context Manifest, gat
- MERGED: `no follow-up`, `follow-up required`, `blocked`
- CLOSED_UNMERGED: `no action`, `follow-up required`, `blocked`

Do not reuse `change request` for MERGED or CLOSED_UNMERGED. Merged/closed reviews default to no GitHub mutation; an authorized follow-up comment requires a reproducible or deterministic residual defect with material impact.
Do not reuse `change request` for MERGED or CLOSED_UNMERGED. Immediately before rendering or publishing, re-read lifecycle. If `state=MERGED` or `mergedAt` is present, emit `REVIEW_STOPPED_PR_MERGED`, stop rendering/publication, and perform no GitHub mutation; report `MERGED / NO_FOLLOW_UP` by default. An authorized follow-up comment requires a reproducible or deterministic residual defect with material impact and is a separate action, not continuation of the stopped review. Lifecycle lookup failure or ambiguity is `BLOCKED`.

## Substantive gate requirement

Expand Down
6 changes: 5 additions & 1 deletion .codex/skills/ddalggak/templates/review-brief.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
- checks Head SHA:
- Linked issue contract / acceptance criteria:
- Lifecycle:
- Lifecycle checked at / evidence: intake; after delegated or long-running work; immediately before each fix, push, or GitHub write
- Merge stop sentinel: `state=MERGED` or non-null `mergedAt` → `REVIEW_STOPPED_PR_MERGED`; record `state`, `mergedAt`, `mergeCommit`, `headRefOid`; stop delegation/probes/edits/pushes/GitHub writes
- Authority boundary:
- Purpose / non-goals:

Expand Down Expand Up @@ -66,6 +68,8 @@ Worker output has no publication authority.
- Internal Review Quality sensor verdict: `approve | change request | comment | blocked`
- Canonical lifecycle outcome and public rendering: `references/cross-review-loop.md` plus `references/review-output-contract.md`

`REVIEW_DONE PR#<num>: <APPROVE|CHANGES_REQUESTED> critical=N high=N medium=N low=N head=<sha>`
Open lifecycle completion: `REVIEW_DONE PR#<num>: <APPROVE|CHANGES_REQUESTED> critical=N high=N medium=N low=N head=<sha>`

Merged lifecycle hard stop: `REVIEW_STOPPED_PR_MERGED PR#<num>: state=MERGED mergedAt=<timestamp> mergeCommit=<sha|null> head=<sha> outcome=NO_FOLLOW_UP`

A zero-finding review is valid only with semantic coverage evidence. High/Critical zero-finding reviews additionally require the documented counterexample/challenger rule in `references/review-quality-contract.md`.
2 changes: 1 addition & 1 deletion core/commands/review.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ github_write_allowed: true
purpose: "Risk-adaptive current-head semantic review and accepted fix loop."
mode: "review-fix"
write_side_effects: "Top-level review comment plus inline line-anchored review comments for every triage-passing finding in one COMMENT-event batch; accepted Critical/High fixes may edit source and push to the reviewed PR branch."
stop_condition: "Stop before approve if intake is not ready, current-head CI is not terminal green/skipped, semantic coverage has gaps, blockers remain, or wiki/evidence preflight has blocking gaps."
stop_condition: "Before writes, re-check lifecycle. state=MERGED/mergedAt emits REVIEW_STOPPED_PR_MERGED and stops; uncertainty is BLOCKED."
required_references:
- wiki-context-preflight.md
- 2026-06-04-brain-v0-wiki-authority-in-ddalggak.md
Expand Down
7 changes: 4 additions & 3 deletions ddalggak/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ user-invocable: true
| subcommand | mode | show-doc heading | 목적 | side effects | stop condition | 상세 reference rule |
|---|---|---|---|---|---|---|
| `start` | source-edit | Start Workflow | Issue implementation from live issue body/comments; one issue PR by default | Repo source edits in issue scope; start publishes the issue PR via the ship procedure (ship.md); cross-review comments come through the review gate. | Stop on stale base, missing issue body/comments, duplicate PR, or required files outside the issue-owned scope. | refs: `references/wiki-context-preflight.md`, `references/2026-06-04-brain-v0-wiki-authority-in-ddalggak.md`, `references/quality-lens-router.md`, `references/evidence-contract.md`, `references/agent-runtime-contract.md`, `references/start-workflow.md`; templates: -; conditional: see conditional map |
| `review` | review-fix | Cross-Review Loop | Risk-adaptive current-head semantic review and accepted fix loop | Top-level review comment plus inline line-anchored review comments for every triage-passing finding in one COMMENT-event batch; accepted Critical/High fixes may edit source and push to the reviewed PR branch. | Stop before approve if intake is not ready, current-head CI is not terminal green/skipped, semantic coverage has gaps, blockers remain, or wiki/evidence preflight has blocking gaps. | refs: `references/wiki-context-preflight.md`, `references/2026-06-04-brain-v0-wiki-authority-in-ddalggak.md`, `references/quality-lens-router.md`, `references/evidence-contract.md`, `references/cross-review-loop.md`, `references/review-quality-contract.md`; templates: -; conditional: see conditional map |
| `review` | review-fix | Cross-Review Loop | Risk-adaptive current-head semantic review and accepted fix loop | Top-level review comment plus inline line-anchored review comments for every triage-passing finding in one COMMENT-event batch; accepted Critical/High fixes may edit source and push to the reviewed PR branch. | Before writes, re-check lifecycle. state=MERGED/mergedAt emits REVIEW_STOPPED_PR_MERGED and stops; uncertainty is BLOCKED. | refs: `references/wiki-context-preflight.md`, `references/2026-06-04-brain-v0-wiki-authority-in-ddalggak.md`, `references/quality-lens-router.md`, `references/evidence-contract.md`, `references/cross-review-loop.md`, `references/review-quality-contract.md`; templates: -; conditional: see conditional map |
| `status` | read-only | Status | Read-only live git/GitHub/session state snapshot | No source, GitHub, or local cleanup mutation; report live git/GitHub/session state only. | Stop after a live state snapshot and next-action recommendation. | refs: `references/wiki-context-preflight.md`, `references/status.md`, `references/pr-check-evidence-bundle.md`; templates: - |
| `plan` | plan-only | Issue-Ready Plan | Issue-ready implementation plan from issue/wiki/code evidence | No source edits; no GitHub writes unless the user separately requests issue creation. | Stop after an issue-ready plan with evidence/unknowns and PR topology. | refs: `references/wiki-context-preflight.md`, `references/2026-06-04-brain-v0-wiki-authority-in-ddalggak.md`, `references/wiki-bridge.md`, `references/quality-lens-router.md`, `references/evidence-contract.md`, `references/issue-ready-plan.md`; templates: -; conditional: see conditional map |
| `issue` | github-write | Plan to Issues | Create GitHub issues from an approved plan | Create/edit GitHub issues and comments only; no repository source edits. | Stop after live issue URLs/labels/assignees/body UTF-8 verification or on metadata permission failure. | refs: `references/wiki-context-preflight.md`, `references/plan-to-issues.md`; templates: `templates/issue-body.md`, `templates/epic-body.md` |
Expand Down Expand Up @@ -161,15 +161,16 @@ Execution contract index:

## Cross-Review Loop

Command contract: mode `review-fix`; source edits are allowed only for accepted Critical/High blockers; top-level review comments are allowed; stop before APPROVE when current-head CI/checks are not terminal, blockers remain, or evidence/wiki preflight has blocking gaps.
Command contract: `review-fix`; accepted Critical/High fixes/comments only. Follow `cross-review-loop.md` lifecycle checkpoints; merged emits `REVIEW_STOPPED_PR_MERGED`, uncertainty is `BLOCKED`.

Full procedure: `references/cross-review-loop.md`; public renderer: `references/review-output-contract.md` + `references/review-comment-style.md`; wiki authority: `references/2026-06-04-brain-v0-wiki-authority-in-ddalggak.md`; delegated-review만 `templates/review-brief.md`를 로드한다.

Execution contract index:
- Re-read live PR state, diff/files/checks, linked issue, current head SHA, and wiki-context preflight.
- Lifecycle: merged stops probes/delegation/edits/pushes/GitHub writes after authoritative readback; default `MERGED / NO_FOLLOW_UP`. Lookup ambiguity is `BLOCKED`.
- Gates: Router/Evidence는 base; 나머지는 activation evidence applies일 때만 로드한다.
- Findings must separate live evidence, wiki-strengthened rationale, non-wiki inference, and retrieval gaps.
- Run admission schema v3 and the finding signal gate first (`references/cross-review-loop.md`): only conductor-promoted admitted findings become inline comments in one `COMMENT`-event batch; each finding is rendered from its aggregate-member canonical candidate, filtered Low/nit notes stay internal, and the top-level body is the deterministic fixed summary. A zero-finding review with substantive validation evidence is valid.
- Apply admission schema v3 first: only aggregate-member canonical candidate findings publish, filtered notes stay internal, deterministic fixed summary renders, and zero-finding needs substantive evidence.

---

Expand Down
13 changes: 11 additions & 2 deletions ddalggak/references/cross-review-loop.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,22 @@ Load human-feedback, CI-triage, security-posture, and regression references only

## Lifecycle gate

Resolve the live lifecycle before evaluating candidates:
Resolve the live lifecycle before evaluating candidates. Re-check it at intake, after every delegated or long-running review phase, and immediately before every fix, push, formal/inline review, or top-level GitHub comment write.

- OPEN: `APPROVE | CHANGES_REQUESTED | BLOCKED`
- MERGED: `NO_FOLLOW_UP | FOLLOW_UP_REQUIRED | BLOCKED`
- CLOSED_UNMERGED: `NO_ACTION | FOLLOW_UP_REQUIRED | BLOCKED`

Re-read current head, base, files, checks, linked requirements, issue/body comments, prior review decisions, and Wiki Context Preflight. `checksStatus: PASS | FAIL | PENDING | NOT_APPLICABLE`; `NOT_APPLICABLE` requires a non-empty `checksJustification`. FAIL or PENDING makes the aggregate BLOCKED and completion-ineligible.
`state=MERGED` or a non-null `mergedAt` is a hard stop sentinel. Immediately:

1. Record authoritative readback for `state`, `mergedAt`, `mergeCommit`, and `headRefOid`.
2. Emit `REVIEW_STOPPED_PR_MERGED` and attempt to stop any in-flight delegated review work.
3. Stop all further probes, candidate evaluation, delegation, fixes, source edits, pushes, formal/inline reviews, and top-level GitHub comments.
4. Return `MERGED / NO_FOLLOW_UP` by default. A follow-up requires fresh live evidence of a material residual defect and separate authorization; it is not a continuation of the stopped review.

If lifecycle lookup fails or is ambiguous, return `BLOCKED` and perform no mutation or publication. Never infer OPEN from a stale brief, worker report, or earlier readback.

For an OPEN PR, re-read current head, base, files, checks, linked requirements, issue/body comments, prior review decisions, and Wiki Context Preflight. `checksStatus: PASS | FAIL | PENDING | NOT_APPLICABLE`; `NOT_APPLICABLE` requires a non-empty `checksJustification`. FAIL or PENDING makes the aggregate BLOCKED and completion-ineligible.

## Accepted finding authority

Expand Down
2 changes: 1 addition & 1 deletion ddalggak/references/review-output-contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Public output excludes internal evidence inventories. Wiki Context Manifest, gat
- MERGED: `no follow-up`, `follow-up required`, `blocked`
- CLOSED_UNMERGED: `no action`, `follow-up required`, `blocked`

Do not reuse `change request` for MERGED or CLOSED_UNMERGED. Merged/closed reviews default to no GitHub mutation; an authorized follow-up comment requires a reproducible or deterministic residual defect with material impact.
Do not reuse `change request` for MERGED or CLOSED_UNMERGED. Immediately before rendering or publishing, re-read lifecycle. If `state=MERGED` or `mergedAt` is present, emit `REVIEW_STOPPED_PR_MERGED`, stop rendering/publication, and perform no GitHub mutation; report `MERGED / NO_FOLLOW_UP` by default. An authorized follow-up comment requires a reproducible or deterministic residual defect with material impact and is a separate action, not continuation of the stopped review. Lifecycle lookup failure or ambiguity is `BLOCKED`.

## Substantive gate requirement

Expand Down
Loading