By mclayer
+ CFP-2780: css-lint D1 게이트 required 승격(warning-tier→required) — continue-on-error 제거 양 copy(active+template) byte-parity / branch protection 7→9-tuple(css structural lint + css-lint discriminating test, hollow-gate 회피) / ADR-136 Amendment 5 §결정16 / wrapper CSS 0 genuine no-op(permanent-pending 회피) / consumer wave scope-out / MINOR 6.115.0 / marketplace sync(ADR-063). + CFP-2770 (2026-07-21, ADR-143 Amendment 2 + ADR-039 Amendment 11) — Agent 액션 렌더 프리픽스 실표시 갭 정정: model-authored 프리픽스 primary 승격 + CFP-2587 hook 기계주입 fail-open backup 강등(render-loss 근본원인=계층 어긋남, #15897 자체기술 보존·오프레이밍만 정정, 코드·G1-G5 삭제 0). 6.114.0. + CFP-881 (2026-07-20, ADR-060 Amendment 26) — evidence-checks-registry.yaml 구조 무결성 게이트 신설: yaml.safe_load strict-verify(grep→parser) + collecting UniqueKeyLoader duplicate-key surface(warning-tier). CFP-455 built-then-pruned revival(live workflow). 6.113.0. + CFP-2776 (2026-07-20, ADR-158 Amendment 1) — 저작시점 AC well-formedness Hop1 blocking 게이트(internal-docs): author-time self-gate advisory→mechanical 승격 정본화. wrapper scripts/lib/ac_id.py 를 internal-docs 로 byte-identical 복사(D1) + Hop1 thin runner check_ac_wellformed.py(D2, §5 표 파서 + classify 4-way + validate_ac_record, Hop2/Hop3 Non-goal, honest-degrade UNDECIDABLE→RED) + blocking workflow ac-schema-authoring-gate.yml(D3, paths:['*/stories/*.md'] self-hosted 로컬 read/PAT 불요) + pinned-ref(790da84) static-parse-only drift-guard compare_ac_id_parity.py(D4, semantic-value parity + behavioral fixture, byte-diff 0). pytest self-test 42 passed(T1-T7 대칭 fail-closed + T9-T11 discriminating + mutation-kill + LIVE pinned parity), dogfood carrier Story CI PASS. 전 AC declared(0 normative — R5 cross-repo born-fail 구조적 제거), malformed-enum VALUE only(tier-choice mislabel out-of-scope, honest ceiling ADR-119). R1 fixture-outside-glob 봉인. branch-protection 7-tuple·wrapper ac-traceability-matrix.yml 무변경, ADR 신규 번호 0(Amendment 1). 정식 10-lane + Phase 1/2 분리. internal-docs Phase 2 PR 선행 land + wrapper prose ADR 후행. MINOR 6.111.0→6.112.0. marketplace version sync(ADR-063). + CFP-2772 (2026-07-20, ADR-164 신규 new-sibling non-amendment) — 병렬 브랜치 liveness heartbeat + 외부 watchdog Phase 2 구현: per-branch coarse heartbeat emit(emit_branch_heartbeat.py — git-ref slug branch_key + seq durable read-back+1, non-blocking exit0) + comment-body 마이크로포맷 SSOT(heartbeat-format.sh — sentinel(cf-orch) 선두 + HEARTBEAT 토큰, bounded 3-tuple construction) + jira-progress-mirror Arc B-2 per-branch pinned 코멘트 relay(branch->commentId map — addComment 1종 무약화, createJiraIssue 없음) + 외부 watchdog(branch-liveness-watchdog.yml ubuntu-latest HOSTED cron + check_branch_liveness.py 3-state fresh/stalled/unknown, monotonic seq strict-advance + watchdog-own-clock F-5, fail-open 금지 AC-9) + AC-7 partial-hang discriminating fixture(N=3 naive-RED->per-branch-GREEN 양방향 assert + mutation 5-kind) + watchdog read-only Jira credential infra_resources 선언(ADR-157) + §8.1 RTM bare-symbol mechanical 정정. 정식 10-lane. MINOR 6.110.0->6.111.0. marketplace sync(ADR-063). + CFP-2761 (2026-07-19, ADR-085 Amendment 2 짠寃곗젙10 + ADR-073 Amendment 21) ??? ?꽭?뀡 handoff mid-flight ?궛異쒕Ъ ownership쨌freshness ?몴?떇 諛곗꽑: artifact-level provenance marker 愿?濡?(owner?넄active_sessions git_identity / KST-ts ADR-079 / status?늿closed-set{draft,provisional,final}) codify + 4 evidence-check warning-tier ??? mid-flight-marker-stale(tracked content 1-3 + tracked anchor 5 = ADR-RESERVATION md-table reserved status+age proxy, owner/kst 誘몄<?옣 narrow) / active-sessions-presence(PR-workflow) / worktree-self-ownership-verify + lane-entry-ownership-verify(workflow:null hook-only). 援ы쁽-由щ럭 FIX iter1: scan scope 異뺤냼(docs/stories+ADR-RESERVATION, self-poison ?젣嫄?) / 硫댁젣 援ъ“ anchor / type#5 md-table SSOT ?뙆?떛 / lane-entry derive-from-ambient honest-degrade(||true ?젣嫄?) / hook 寃곗젙?쟻 self-test CI 諛곗꽑(anti-hollow=live留?). ?쟾?웾 advisory/warning-tier, branch-protection 7-tuple 臾대??寃?, ?떊洹? ADR 0. MINOR 6.109.0?넂6.110.0. marketplace version sync(ADR-063). + CFP-2650 (2026-07-19) — resource-safety-claim-proof-presence 게이트 warning→blocking-on-pr 승격 (CFP-2594 flip model: 양 workflow(.github + templates byte-identical) job+step continue-on-error 제거 = surfacing, branch-protection 7-tuple 무변경) + registry current_tier flip + promoted_by/promoted_date provenance + 정책문서 file-scoped over-claim sweep(ADR-045:107 · ADR-061:454-455 3-line proof-ref/honest-ceiling 동반) + lint docstring granularity-carrier pointer out-of-scope 정정 + ADR-060 Amendment 25(승격 provenance, 약화 0) + honesty-ceiling 불변(presence≠truth, ADR-151 §결정7 상속) + 신규 flip self-test(tests/scripts/test_resource_safety_flip.py). 6.109.0. + CFP-2751 (2026-07-18) ??? consumer-scripts.manifest helper ?젙?빀(D1: workflow_story_init_project_config_repos.py ?벑?옱 + git mode 100755) + workflow-helper-completeness shape-coverage ?솗?옣(D2: check_whitelist_manifest_3way.py _DEP_PATTERNS ?뿉 scripts/lib/*.py 1-hop 吏곸젒?샇異? shape append, underscore load-bearing char-class, ADR-130 Amendment 2) + 5-case discriminating self-test(諛⑺뼢3 shape-coverage RTM, mutation M-D2a~d kill). P-A N=3(consumer bootstrap story-init helper ?늻?씫) ?옱諛? 洹쇱젅. 짠5.3 AC ?쟾遺? declared/advisory(0 normative, bash self-test). ?젙?떇 10-lane. MINOR 6.106.0?넂6.107.0. marketplace sync(ADR-063). + CFP-2671 (2026-07-18) — ac-traceability 파서/게이트 refinement: C1 pytest CI-wiring(defense-in-depth — ac-traceability-self-test.yml 에 test_ac_pr_markers.py day-1 hard-fail 스텝 추가, shell self-test 중복커버 위 추가 관측층) + C2 value-only-bold leading-strip 대칭(_strip_trailing_decor→_strip_bold_decor 양방향 bounded strip, story_uri: **url** 형 leading-** 잔존 false-red 제거, 정규식 무변경 → ReDoS-safe linearity 보존, fail-closed 경계 불변) + F2(Hop3 .sh) dormant 재확인 + ADR-145 Amendment 6(doc-only, §결정11(B) tolerance clause bidirectional 명문화). 정식 10-lane. MINOR 6.103.1→6.105.0 (6.104.0 = 병렬 CFP-2748 선점 회피). marketplace sync(ADR-063). + CFP-2742 (2026-07-18, ADR-071 Amd16 §결정 24) — 세션 전환 권유 controlled-path: 자족 handoff 프롬프트(6 필수요소·복붙1회·현세션참조0) 동반 시 전환 권유 허용(§결정 18 첫 weaken, ADR-058 §결정5 evidence-gate sunset_justification 4-key). consumer 전파 = 신규 sibling hook session-swap-handoff-reminder(UserPromptSubmit advisory, fail-open) + hooks.json 6th entry + consumer-guide §7.6/§2h.6. bare reflex 전환은 여전히 차단(§결정18). 정식 10-lane. MINOR 6.101.0→6.102.0. marketplace sync(ADR-063). + CFP-2725 (2026-07-18) — 요구사항 lane 사용자 대화 프로세스 정식화 Phase 2 behavioral wiring: templates §5.5 사용자 최종 확정 기록 schema(확정 발화 verbatim primary/양채널 mirror, ADR-159 결정 4) + requirements-output-v1 v1.2 → v1.3 MINOR(why_roundtrip_tracking peer optional block = ADR-077 Amd1 5번째 disjoint measurement channel, reinvestigation_tracking 과 disjoint) + review-verdict-v4 v4.16 → v4.17 MINOR(findings[].type internal-fitness 14번째 literal, ADR-125 Amd3 결정 B 요구사항리뷰 내부적합 축) + requirements checklist·요구사항리뷰 PL agent 배선. advisory ceiling — 신규 기계 게이트 0(rule/record presence 는 testable, user actually confirmed 는 NOT testable). 정식 10-lane. plugin.json 6.100.0 → 6.101.0 MINOR + marketplace version sync(ADR-063). + CFP-2723 (2026-07-17) — parallel-work-sentinel epic-state-poll born-broken 정정: invalid closedBy 필드 제거(gh_args=state,body, D0) + stderr 증거기반 오류분류(_is_quota_evidence 단일 predicate, 앵커드 rate-limit 패턴, V-1/V-2) + 필드계약 검증층(pinned allowlist floor + 실 gh live conditional, D2) + degrade 스키마 정합(epic 계약 3키 UNKNOWN + git-log 무관 CFP 비주입, AC-6) + doc 3-site 정정(AC-8). 신규 ADR 0(코드-로컬 lore 재편). 정식 10-lane + ADR-138 3-round debate. 6.99.1 → 6.99.2 PATCH(버그 정정). marketplace version sync(ADR-063). + CFP-2689 (2026-07-16, ADR-158) — 저작시점 self-gate forcing function(shift-left): 이미 required 인 기계 게이트(ac-traceability / doc-section-schema / doc-frontmatter-schema / RTM format header signature)를 리뷰 lane 진입 前 그 Story 자기 산출물에 선실행(실 게이트 invoke, narrow re-impl 금지)해 구조/위치 conformance 결점을 저작시점에 잡고, 검출 결점을 A dev-process-event ledger 로 emit(defect_finding → B 집계). R1 path-aware(doc-section=wrapper-path-scoped, internal-docs 비적용) + detecting_lane honest-degrade(저작 lane_label 근사, invalid enum emit 금지) + 독립 oracle self-test(대칭 fail-closed known-good→PASS ∧ known-bad→RED + mutation-revert) + dogfood 자기적용(리뷰 前 PASS). A/B substrate 0 수정, branch-protection 7-tuple 무변경, 신규 채널 non-required day-1 hard-fail + inventory enroll(bijection 45→46). Epic #2686 Story C. MINOR 6.94.0→6.95.0. + + CFP-2697 (2026-07-16, Epic #2696 canary A / 신규 ADR 0) — 브랜치보호 phantom-norm '6-tuple 불변' 정산 카나리: 제정된 적 없는 6-tuple invariant/불변 원칙(ADR-087 Amd2 의 5→6 ratchet 증가를 규범으로 오인용) = phantom-norm 6 사본 전량 정정(cross-file phantom-norm=0) + cardinal-임베드 좀비 벡터 in-file 전수 정정(ADR-125 10사본→0 · CLAUDE.md · playbook · SKILL · label-registry · workflow ratchet 주석 26+8 미러 byte-parity) — blanket 6→7 치환 금지, dated 이력(6→7 등록/narrowing) preserve. D7 삭제-표본(codeforge-family AggregateArch phantom-pending 행) = 참조 무결성 가드 4-검사(parser0 ∧ inbound0 ∧ external-id-safe ∧ structure) 통과 후 byte 삭제. D8 이력-거짓(audit:227) = byte-purity 보존 + 신규 domain-knowledge page(decision-record-genre-layers) durable falsehood-mark. 재사용 산출물 = feature-based 4-분기 처분 oracle(scripts/lib/decision_record_disposition.py — referent/tense/cardinal 3판별축, regex-only 금지) + 참조 무결성 가드(scripts/lib/reference_integrity_guard.py) + self-test M1~M3 mutation-kill + 자기적용 dogfood(oracle 를 A 편집결과에 적용, in-file split-brain=0 기계확인). MINOR 6.93.1→6.94.0. + CFP-2702 (2026-07-16, ADR-038 Amd6) — hooks/run-hook.cmd LF→CRLF exec-first 폴리글롯 재구조: cmd.exe 가 LF-only 배치를 오파싱해 @REM 배너 줄을 명령 실행(훅 출력 stderr 노이즈 62%)하던 근인 봉합. .gitattributes 전역 eol=lf 아래 *.cmd/*.bat text eol=crlf override 추가(clone/checkout/archive 3채널 CRLF 배포 보장) + 폴리글롯을 exec-first(1번째 줄 bash 즉시 exec + # trailing-CR 가드)로 재구조화해 heredoc CRLF silent-fail 회피(msys 마스킹·Linux 실패 함정 차단). AC-4/5/6 회귀테스트 신설(windows-latest cmd banner=0 / ubuntu-latest bash exec / eol 3채널) + selftest-liveness enroll(bijection 43). §결정 11 verbatim→CRLF-discipline 정련(ADR-038 Amd6). PATCH 6.93.0→6.93.1. + CFP-2692 (2026-07-15, ADR-073 Amd20) — stale-local-main-checkout registry↔fs drift reconcile(truth-correction): dangling workflow pointer→null(EC-5로 PR-time CI 검출대상 구조적 부재, hook-delivered 실 enforcement) + promotion_trigger auto_blocking→advisory(INV-REG-1 overclaim 제거) + tier-downgrade-justification 마커 + baseline regen(grandfather gate_flag drop) + O1/O2/AC-7 6-oracle self-test(born-hollow-immune, X1 exit-code oracle 금지). ADR-073 Amd9 workflow-축 active 주장 SUPERSEDED. MINOR 6.92.0→6.93.0. + CFP-2687 (2026-07-15, ADR-155) — dev-process 관측 substrate(ADR-155, Epic #2686 Story A): dev-process-event-v1 계약 + O_APPEND ledger + redacted-blob store(redaction→hash→blob) + PostToolUse hook 신규 + 계약==구현 self-test + activation-manifest. wrapper always-on / consumer opt-in default-false. MINOR 6.91.0→6.92.0. + CFP-2684 (2026-07-15, ADR-154) — 게이트 자기검증 forcing-function(hard-gate self-verification): hard gate/required job 설계 시 "검증 대상 실제 실행/검출" + "silent-green·silent-fallback 위양성 차단" 자기검증 규약 codify. 신규 meta-gate check_hard_gate_self_verification.py(wrapper-self-only non-required day-1 hard-fail, 신규 required context 0·7-tuple 무변경) — L1 channel-liveness + L2 target-count presence + positive-control shape-scan(structural, ≠string-scan) + silent-fallback closed-set fail-closed + unparseable=fail-closed non-GREEN + AC-13 self-declared identity_bearing opt-in selector(semantic 추론 금지) + T-TRAVERSE resolve()+is_relative_to escape reject + born-safe 4-axis(ReDoS bounded quantifier / EXHAUST cap / safe_load, CFP-2635/2646 REUSE) + echo sanitize. honest-ceiling(L3 detection sufficiency=undecidable=halting 동치=review-tier, 기계강제 금지 — 6-ADR 검사연극 합의·ADR-151 §결정7 상속, INV-5 immutable). AC-7 two-meta-gate mutual-seal(신규 self-test born-hollow → selftest-execution-liveness 자기 FAIL cross-seal). super-class "hard-gate self-verification — green ≠ detection guarantee" 명명 + silent-green≠silent-fallback≠honest-degrade 3-way taxonomy. 재귀 self-test dual 실현(.sh AC-7 cross-seal[ADR-151 인벤토리 enroll] + .py RTM 13 AC discriminating[ac-traceability Hop3 .py-ast]). 신규 lint capability = MINOR bump 6.90.0→6.91.0. + CFP-2680 (2026-07-14, ADR-153) — ADR category closed_enum semantic 강제 실배선: check_doc_frontmatter.py 에 CATEGORY_VALID membership 게이트 신설(기존 required `doc frontmatter schema (CFP-28 — strict)` 표면 편승, 신규 required context 0·7-tuple 무변경). enum 동적 read(confluence-ia-tree.yaml lane_mapping_rule.closed_enum, "16"/"18" 상수 하드코딩 0) + case-fold whole-string membership(split 금지) + FROZEN_BASELINE_3 (file,case-folded-value) tuple-keyed grandfather(shrink-only, 선재 compound-slash ADR-131/132/133 격리, 축소 carrier CFP-2682) + blank/present-null/non-str fail-closed guard + enum-source-load fail-open + GHA echo sanitize. 실패 메시지 = 검출값 + closed_enum 출처 + 별도 ADR Amendment(sunset_justification 3-tuple) 안내. execution-backed pytest self-test 30건(AC-1~8 discriminating pos/neg + DF-A shrink-only tautology 봉인 = 독립 _EXPECTED_BASELINE_3 ⊆, value-swap 검출·removal 허용) + 3면 SSOT reconcile(deferred_followup_lint + 규칙8 + frontmatter deferred_followup_cfps, membership-scoped supersede, coverage/mapping OOS). 신규 lint capability = MINOR bump 6.89.1→6.90.0. + CFP-2673 (2026-07-14) — phase-gate-localrefs-test S2-C self-test 상시 RED 정정: 하네스 stub fidelity 2-gap(pull_request.base.ref + repos.getContent) 복원 → 14/14 GREEN, drift-0 AC-5 명명테스트. test-harness only(shipped workflow·SSOT·prod 무변경). 6.89.1. + CFP-2661 (2026-07-13, ADR-136 Amendment 4 §결정 15) — dead-path 게이트 무결성 봉인(D1~D15) + relocation-ledger 구동 construct-scoped 재유입 차단 lint 신설(path-relocation-consistency, census-floor/empty-scope oracle, warning-tier). ADR 실 위치 archive/adr 이동(PR #1973) 후 게이트가 구경로 docs/adr 만 지목해 vacuous-PASS/false-RED 하던 것을 union/치환/honest-sunset 으로 봉인. 신규 5-piece(Python SSOT + thin wrapper + byte-identical workflow pair + discriminating self-test + ledger + grandfather baseline) + evidence-registry 22번째 warning-tier entry + inventory bijection 39→40 + hotfix-bypass label 107번째. 신규 lint capability = MINOR bump 6.87.0→6.88.0. + CFP-2659 (2026-07-13, ADR-145 §결정11 Amendment 5) — ac-traceability 어댑터 marker-format false-red(F1) 정정: PR body 마커 파싱을 어댑터 inline-JS 정규식에서 pure leaf 모듈 scripts/lib/ac_pr_markers.py 로 추출(decoupling refactor, ac_id.py 형제) → 어댑터는 execFileSync arg-array(셸 미경유, injection-safe)로 --parse-pr-body 호출하는 thin orchestrator. 장식-tolerant(키bold **story_uri**: / 값bold **story_uri: url** trailing ** clean-strip / list+bold - **story_uri**: / 공백변이) + ReDoS-safe(bounded \*{0,2} 수량자 + per-line ^ anchor, fork-PR body pre-auth 도달) + prose 미매치(line-start anchor, false-green 금지). 실측 2/7 PR false-red 해소 — required 6→7 등록 blocker 제거. born-hollow 봉인: 파싱이 pure 모듈로 추출돼 self-test 가 실 구동(G-DECOR/G-CLEANCAP mutation-kill). 적용성 verdict 는 core classify_ac_source 단일소유 무손상(both_absent = 기계적 추출 사실 ≠ verdict). 양 사본 byte-identical. + CFP-2652 (2026-07-13, Epic CFP-2468 W3 follow-up, ADR-044 Amd 4 §결정 10 계보 / ADR-031 lane-evidence family) — lane verification floor 정확성 갭 3건 정정(개념·tier·branch protection 6-tuple 무변경, heuristic 정확성만 복구, honesty-ceiling 상속): gap(a) check-lane-evidence.sh check_parallelization 에 design-row 카운터(`- lane: 설계$` 행 수) 신설 후 env-absence(설계 행 0)↔evidence-absence(설계 행 有 ∧ 유효 spawned_at<design_rows, ★partial 포함) 4-분기 re-key — 구 로직의 "spawned_at 값 개수만 카운트→무조건 env=0 오표기" 결함 정정(SKIP 사유 = outcome ground-truth, ADR-119 Amd2). gap(c) Check 7 신설 — PR label gate:<lane>-pass ↔ ## Lane evidence 블록 lane PASS 행 forward 정합 검출(좁은 class, §14 면제와 독립, shape-aware 요구사항≠요구사항-리뷰, PR #2484 exemplar); gate→lane 매핑 = 단일 SSOT docs/inter-plugin-contracts/gate-lane-map-v1.yaml externalize(kind:registry, MANIFEST registries row 동반) → bash Check 7 + phase-gate-mergeable.yml lanePrefixForGate(SSOT-derived getContent, base ref non-spoofable) 양측 동일 canonical datum(plain 한글 lane) 소비, 병렬 table 금지 drift-0. gap(b) CFP-2471 change-plan decorative-roster 진술 3-site 정정 = Phase 1 완료(Phase 2 코드 무). warning-tier(local-only). self-test 41 execution-backed(TC-A1~6 env/evidence/partial/fan-out/malformed + TC-C1~5 fire/no-fire/shape-aware/§14-독립/SSOT-단일성 + mutation: MUT-A2(a)swap·(b)==→<= equivalent 생존 vs (ii)-축·MUT-C·MUT-SSOT real-kill을 positive-control 로 구별). + CFP-2646 (2026-07-13, ADR-082 Amendment 38 §결정 16) — resource-safety claim ↔ proof-link write-time 정직 presence lint(warning-tier, 21번째 evidence-check entry, write-time self-write verify super-class 3번째 presence-lint carrier): governance/보안 tooling(evidence-check 게이트·보안 script·워크플로 YAML)의 docstring·주석·워크플로 YAML 주석에 resource-safety/DoS-guard 안전성-claim(catastrophic backtracking 0 / ReDoS-safe / DoS 가드 / nested quantifier 0 / scan cap = bound 류)을 쓸 때 paired proof-reference(reproducer·wall-clock 벤치마크·복잡도 회귀 self-test 링크) OR honest-ceiling(bounded degradation, 임의 입력 무해 아님) presence 정적 검사. presence ≠ truth(honesty ceiling ADR-151 §결정7 상속) — claim 참됨 미강제(참됨 반증은 보안테스트 lane). 원천 = CFP-2635 retro escalate_user 후보 A(pattern_count 2: CFP-2635 masking tool O(n²) DoS over-claim + CFP-2591 carrier-lint ReDoS over-claim, 자기참조 정직 갭). ★ 자기참조 DoS 회피(메타-재귀, CFP-2635 SF-1 교훈): born-safe 4-axis bound(T-1 리터럴 substring 우선 nested-quantifier 0 / T-2 substring `in` C-level O(n) / T-3 MAX_PHYSICAL_LINE_LEN per-physical-line truncate=count-cap 별개 축 / T-4 islice read cap) 처음부터 배선 — self-test PERF-1 실측 1.5MB 단일라인=0.14s(<5s, CFP-2635 는 동일 입력 >60s). anti-hollow-gate 1급 = affirmative-context closed-set 매칭(정직한 부정 서술·정의부·proof-linked·ceiling-downgrade 오탐 0, raw grep 금지) + grandfather baseline new-only subtract(legacy 16 pair 동결). AC-3 self-application: 본 Story 산출물 5종(lint docstring/ADR-082 §결정16/change-plan/Story §7/Layer1 mandate) 전량 lint self-PASS(자기 over-claim 시 자기 게이트 hit). 5-piece chain: scripts/lib/check_resource_safety_claim_proof.py(Python SSOT) + scripts/check-resource-safety-claim-proof.sh(thin wrapper) + templates/github-workflows+.github/workflows/resource-safety-claim-proof-presence.yml(byte-identical sha256 2224e9fe, injection-safe pull_request+contents:read+vars.CI_RUNS_ON_LINUX_JSON self-hosted) + tests/scripts/test_check-resource-safety-claim-proof.sh(discriminating self-test: TC-OC/HD/PL/CD/EX + MK-1/2/3 mutation-kill + PERF DoS 회귀가드 + AC-3 self-application, 14/14 GREEN) + docs/resource-safety-claim-baseline.yaml(grandfather) + evidence-checks-registry entry + docs/selftest-execution-liveness-inventory.yaml AC-1a 레코드 + hotfix-bypass:resource-safety-claim-proof-presence(label-registry-v2 106번째). Layer 1 write-time declaration mandate(SecurityArch/dev/QADev/Infra roster prose, ADR-140 §결정3 hybrid). warning tier(continue-on-error) — blocking 승격은 별 named carrier CFP-2650. 6.83.0 → 6.84.0 MINOR(신규 evidence-check capability). marketplace version sync(ADR-063). + CFP-2644 (2026-07-13, ADR-145 Amendment 3) — ac-traceability-matrix workflow born-invalid regression 정정 + prevention 3번째 N-class: CFP-2634 #2639(e2ba7b9d)가 §결정9(G) injection 가드를 문서화하는 주석을 양 사본 L192(run: 블록 내부)에 추가하며 리터럴 빈 이중중괄호 표현식을 삽입 → GHA 가 run: 블록 문자열을 러너 전송 이전에 보간 → 빈 표현식 = load-time syntax error → 워크플로 전체 invalid → on: pull_request 트리거 미등록 → #2639 merge 이후 모든 신규 PR 에서 게이트 dead(born-invalid gate, ADR-136 결정13 css-lint 형제). 정정 = 양 사본 L192 리터럴 토큰 완전 제거·평문 재서술(injection 가드 의미 보존, byte-identical mirror). prevention = ADR-136 결정14 N-class registry(tests/scripts/test-actionlint-workflows.sh) 3번째 class empty-run-expression 등록(authorized execution, ADR-136 무amend) — run: 블록 내 빈/malformed 표현식을 actionlint 1.7.12 로 검출, C1/C2/anti-theater mutation-kill + F2w whitespace BVA + F3 anti-vacuous(top-level 주석 NOT flag 자연실험) discriminating. 결정14 B(actionlint blocking 승격) 무침범 — self-test 는 wrapper-self-only non-required 유지. 6→7 required 등록은 canary-gated(완결 미선언). 6.82.0 → 6.83.0 MINOR. marketplace version sync(ADR-063). + CFP-2635 (2026-07-12, ADR-060 Amendment 22) — shell-test exit-masking + mock-seam-무assert false-coverage 정적 lint(Layer 2, 20번째 warning-tier evidence-check entry): codeforge 거버넌스 shell self-test 코퍼스(scripts/test-*.sh + tests/scripts/*.sh, 실 self-test 69 file — bats 아님, codeforge bats 미사용 재편)의 raw `cmd || true` exit-masking(cmd exit 유일 신호 + 하류 카운터/assertion 부재 = 항상 PASS) + mock-seam env export 후 block-scope 동반 assertion 부재(false-coverage) 방어. anti-hollow-gate 1급 요건 = 정당 `|| true` 오탐 0(naive grep 149행 대부분 오탐 자기모순 ADR-119 위반): logical-line 재구성(backslash-continuation join) keystone + LEGIT 4규칙(counter-backup assert_/test_/run_ 접두·파일-정의 function + FAIL 카운터 / arithmetic / redirect-capture / branch-guard) + heredoc·comment 제외 + block-scope companion. 5-piece chain: scripts/lib/check_shell_test_masking.py(Python SSOT ReDoS-safe anchored+bounded) + scripts/check-shell-test-masking.sh(thin wrapper ADR-061) + templates/github-workflows/shell-test-exit-masking-detect.yml + .github/workflows/shell-test-exit-masking-detect.yml(byte-identical ADR-005) + tests/scripts/test_check-shell-test-masking.sh(discriminating self-test — TC-M1/M2 검출 / TC-L1~L6 미검출(TC-L2 정밀도 keystone) / TC-S1 RED·TC-S2 GREEN + MK-1/2/3 mutation-kill + 실 코퍼스 precision proof 오탐 0). evidence-checks-registry 20번째 warning-tier entry + selftest-execution-liveness-inventory AC-1a 레코드 + hotfix-bypass:shell-test-exit-masking-detect(105번째) + DeveloperPLAgent Layer 1 packet mandate. honesty ceiling(ADR-151 §결정7 상속): naive/구조적 패턴만 검출, 검출력(G3) 미강제. warning tier(ADR-060 §결정 5). 6.81.1 → 6.82.0 MINOR (rebase onto CFP-2634/2636 main 6.81.1 위 재범프). marketplace version sync(ADR-063). + CFP-2634 (2026-07-12, Epic CFP-2602 G1 완결, ADR-145 Amendment 2) — ac-traceability 게이트 non-applicable 선언 경로(story_uri-absent applicability-scoping) 실배선. scripts/lib/check_ac_traceability_matrix.py: --ac-applicability-none/--none-reason flag + --ac-source optional 완화 + run() 4-조합 전수(둘다부재 distinct default guard=FAIL / none-무사유=FAIL / none+source-normative 위장=FAIL(surface overrides none) / none+사유=PASS / none+0-normative 병존=PASS), 적용성 verdict core 단일소유(Option B core-소화, _read_file(None)→'' carryover guard). .github/workflows/ac-traceability-matrix.yml: adapter thin router(premature story_uri hard-fail 제거 → ac_applicability:none 마커 파싱·forward, reason env-var 전달 injection 가드) + templates/ byte-identical. story-init.yml: Phase-1 PR body story_uri 영구-ref(immutable commit SHA .commit.sha) emit. tests/scripts/test_ac_nonapplicable_declaration.py 신규(AC-1a..AC-12 12 named-test) + test_check-ac-traceability-matrix.sh F-NONE-* 5 fixture + M-NONE-REASON/M-SPOOF/M-BOTHABSENT 3 mutation-kill(orig exit1→mut exit0 실측). 6→7 required 등록 = post-merge canary-gated(코드 외). 6.80.1 → 6.81.0 MINOR. marketplace version sync(ADR-063). + CFP-2624 (2026-07-12, Epic CFP-2602 G3, ADR-152) — dark/born-missing forcing function: §8.10 dark-path activation manifest + G3(b) Epic-close 요구-슬라이스 매핑 강제(landing≠done). scripts/lib/check_doc_section_schema.py check_section_8_10 신규(single dark_path axis, §8.9 verbatim 동형 — 6 산출물 필드 flag_identifier/default_state/activation_test_ref/on_state_assertion/discriminating_basis/status + g_boundary_check token + status enum{activated,infeasible,natural_na} + 2 cross-field 선언-정합: activation-honesty(status=activated⟹activation_test_ref non-empty∧on_state_assertion≥15자) / infeasible⟹reason≥30자) + check_epic_results_slice_mapping 신규(EPIC-RESULTS-*.md 파일명 gate → §requirement-slice-mapping 섹션 presence + well-formed row(slice|{story|defer}|tracking-ref) + 천장 문구). 기존 strict context 'doc section schema (CFP-28 — strict)' 편승(신규 required context 0, §8.8/§8.9 zero-touch). tests/scripts/test-check-doc-section-8-10.sh 신규(discriminating-A self-test — TC-CLEAN-PASS 천장 실증 + mutation A/B/C/D/E/SLICE born-hollow-금지 positive-leak KILL) + docs/selftest-execution-liveness-inventory.yaml channel_status:alive 등재 + selftest-execution-liveness-test.yml run-step. templates/story-page-structure.md §8.10 미러 + templates/epic-results.md §requirement-slice-mapping 섹션 + §deferred source enum req-slice-defer 확장. 6.78.0 → 6.79.0 MINOR. marketplace version sync(ADR-063). + CFP-2622 (2026-07-12, Epic CFP-2602 G6, ADR-151) — wrapper-self self-test execution-liveness 인벤토리/메타-게이트 신설(선언→실행 승격): docs/selftest-execution-liveness-inventory.yaml(36 레코드, 8-field 스키마 — 전 tests/scripts/*.sh corpus enroll, silent-un-run root 차단) + scripts/lib/check_selftest_execution_liveness.py 메타-게이트(정적 lint, Ports&Adapters, fail-closed AC-1a/2/3/5/8/9) + wrapper scripts/check-selftest-execution-liveness.sh + tests/scripts/test_check-selftest-execution-liveness.sh(재귀 L3 self-test, TC1-13 mutation-kill green≠red, AC-9) + .github/workflows/selftest-execution-liveness-test.yml(wrapper-self-only if:github.repository, non-required, day-1 hard-fail). bucket A 진성 hollow-gate backfill: test-check-doc-section-8-7/-8-8/-8-9.sh(required 'doc section schema' 게이트 mutation-kill fixture)를 신규 workflow 배선 → channel_status dead→alive 승격. 정직 천장(presence/alive/형식 까지, 검출력=G3 미강제) + 자연 N/A 3축 AND(soak/real-render/DAST runtime = wrapper-self plugin-meta-na) + branch-protection 무변경(신규 required context 0). 6.77.0 → 6.78.0 MINOR(신규 governance 메타-게이트 capability — ADR-037). marketplace version+description sync(ADR-063, sync PR 선행 merge). + CFP-2613 (2026-07-12, Epic CFP-2602 G2, ADR-148) — 지속-liveness soak 게이트(CrashLoopBackOff 근절): 표면A 선언 lint blocking 승격(daemon_type 스코핑 + sink_probes/fake-source/honest-ceiling presence fail-closed, shadow-first=branch-protection required 미등록) + verdict-kernel(evaluate_soak_sample 순수 판정 함수)+soak-runner + 표면B IntegrationTest Deployability soak step(생존∧sink-monotone, boot-grace, RestartCount) + test-verdict-v2 v2.3 soak_liveness_results(additive MINOR) + project.yaml sink_probes[]/daemon_type schema(additive) + fixture-daemon self-test(execution-liveness L3 mutation-kill) + consumer-scripts.manifest kernel co-distribution. 6.75.1 → 6.76.0 MINOR(신규 게이트 capability + 신규 schema 필드 + 신규 contract version). marketplace version+description sync(ADR-063, sync PR 선행 merge). + CFP-2605 (2026-07-11, Epic CFP-2602 G4, ADR-146) — 동적 테스트 최대화 표준(burden-flip do-it-unless-proven-infeasible) + fuzz/property/load/concurrency §8.8 1급 로스터 편입: scripts/lib/check_doc_section_schema.py check_section_8_8 lint(check_section_8_5/8_7 동형 EXTEND, 신규 required context 0 — branch-protection 6-tuple 무변경, 기존 strict context `doc section schema (CFP-28 — strict)` 편승 born-broken 위험 0) + tests/scripts/test-check-doc-section-8-8.sh self-test(mutation-kill discriminating) + templates/story-page-structure.md §8.8 미러 + skills/review-responsibility/SKILL.md §8.8 책임 매트릭스 row. 4기법 applicability `DO|N/A` presence + DO 산출물 계약 필드 + N/A per-technique reason(≥30자) + g2_boundary_check 까지만 fail-closed(검출력=G3 미강제 정직 천장). 6.74.1 → 6.75.0 MINOR(governance lint EXTEND + 매트릭스 확장 — ADR-037). marketplace version sync(ADR-063, sync PR 선행 merge). + CFP-2599 (2026-07-10, hardening) — spawn-description-prefix 보안 하드닝 (비차단 P2×2, ADR-143 in-place, 계약 불변). D1: _sanitize_subject 정규식 클래스에 Unicode 개행 U+0085(NEL)/U+2028(LS)/U+2029(PS) 추가 → 공백 접힘(str.splitlines() 경계 과소 0) + F6 코멘트 정직화(ADR-119 over-claim 제거, C0/DEL superset caveat 명기). D2: _inject_arg_value/run_inject 의 argv.index first-match + in-argv 멤버십 → positional-safe single-pass 스캐너(_scan_argv; VALUE_FLAGS 다음토큰 값 소비, BOOL_FLAGS flag-위치 마킹) — value-shadow + position-blind 멤버십 2 shadowing 클래스 봉합(argparse 기각, G1-G5/exit-0 fail-open 무손상). mutation-lock 테스트 TC1(D1 splitlines)/TC2a-c(D2 shadow)/TC4(N2)/TC5(EC-2) append (44 GREEN, fix 원복 시 10 RED). 6.74.0→6.74.1 PATCH(내부 hardening, 신규 flag/인터페이스/정책 0). marketplace version sync(ADR-063). + CFP-2597 (2026-07-10, ADR-044 Amendment 6 §결정 12 + ADR-060 Amendment 21) — codeforge review-PL delivery-gap 기계화 Phase 2 (peer-completion falsifiability, verification-floor 축③): check-verification-floor.sh 축③(peer-completion falsifiability — check-lane-evidence.sh 축③ deputy/role:dev fan-out 와 별개, 이름만 동일)이 PASS verdict 에 peer_verdicts[] artifact-backed 완료 증거 동반 강제. review-verdict-v4 v4.15→v4.16 MINOR (peer_verdicts[] verdict-level optional array 신설 — peer_degrade.peer_count 자기단언 int 보강(대체 아님), 각 entry 5-key = ADR-068 I-6 existence-verify-annotation 3-key(form:file-path-reference/target:verdict dir 기준 상대/verify_status) + worker(claude|codex) + worker_recommendation(content-binding)) + MANIFEST review_verdict mirror + review-pl-base §3(종합 발화 precondition = 양 worker_outcomes 도달 or honest INCONCLUSIVE/degrade 후, spawn-then-blind-wait 금지, collect=LEAD)/§10(collect=LEAD·env=1 auto-wake dispatcher 재제안 금지 ADR-139 §결정7(ii) DEFER·blocking 요구=ADR-115 C2 위반→record-only) codify + orchestrator-playbook §3.10.1 Orchestrator active-resume 결정론(wait-spin→peer transcript 직독)+parallel-dispatch-protocol-v1 I-6.6(batch N+1 = batch N all worker_outcomes PASS 후) review-lane 이식 + evidence-checks-registry peer-completion-falsifiability entry(warning-tier, owner_adr ADR-044/carrier_adr ADR-060). precondition = pl_recommendation==PASS ∧ NOT honest-single-peer-degrade → peer_verdicts[] ≥1 entry ∧ target FS 실재+non-empty 독립 stat(자기단언 verify_status 불신); peer_count:0+PASS=축① 선차단 / honest-degrade=축② 위임(축③ stand-down, AC-A3 무회귀). warning-tier(advisory exit0 / --strict exit1), non-version-gated(anti-evasion). 정직한 한계: 축③=위조비용 상향+audit trail 이지 위조방지 게이트 아님(PL claim+proof 동시저작 → full falsifiability 불가), warning-tier=정직 상한, blocking 승격=false assurance, full falsifiability=Epic trapdoor(stop-event 강화 or spawn-event-v1 선행). 원칙 SSOT 신설 0 (ADR-139 INV-L2/§결정7 + ADR-119 outcome-honesty cross-ref만). 실 script(scripts/check-verification-floor.sh 축③)+workflow+test = sibling worker Phase 2 deliverable. all additive (T1 미발동). 6.73.1→6.74.0 MINOR (review governance) + codeforge-review 1.21.0→1.22.0 MINOR + marketplace version·description sync(ADR-063, sync PR 선행 merge). + CFP-2586 (2026-07-10, ADR-006 Amendment 2) — §8 엣지 케이스 도출 forcing function wrapper-root 배선: archive/adr/ADR-006-testcontract-architect.md Amendment 2(A2-0~A2-10) append(always-active 엣지 도출 기법 의무 — §8.7 venue-shape 동형이나 반대방향, wrapper-self 코드 touch Story active = 갭#3 해소, completeness 천장 정직 자인·mutation gate/자동 lint OOS deferred) + skills/deputy-mandate/SKILL.md §8 Test Contract row Amendment 2 cross-ref. 실 mandate mechanism = codeforge-design(TestContractArch mandate 0.36.0) + codeforge-review(리뷰 anchor 1.21.0). 6.73.0 → 6.73.1 PATCH(wrapper-root ADR+SKILL doc — ADR-037 / doc-only fast-path ADR-054). marketplace version sync(ADR-063, sync PR 선행 merge). + CFP-2594 (2026-07-10, governance) — CFP-2591 Stage 3 flip 활성: deferred-followup-reconcile + deferral-carrier-declared 게이트 tier warning→blocking-on-pr (registry current_tier flip + promoted_by/promoted_date provenance) + 양 workflow continue-on-error 제거 (NEW-DEBT red-X surfacing) + author-verify exit $status forcing (D-5) + check_audit_comment_author.py P3 fallback(flat login/user.login) 제거 (author-shape 전용·0-regression) + selftest ADDED-1/2 (flat-login/user.login spoof→FAIL) + scripts/test-flip-blocking-on-pr-structural.sh 신규 mutation-killer(10/10 GREEN). honest ceiling: hard-block 미주장 — branch-protection 6-tuple 무변경 (surfacing 이지 required 편입 아님, admin 우회 구조적 가능). marketplace.json cross-repo sync=별 follow-up (ADR-063 declare). 6.72.0→6.73.0 MINOR. + CFP-2587 (2026-07-09, plumbing) — Agent/Bash 수행 렌더-줄 프리픽스 `[에이전트명] MM/DD HH:MM - 내용` 를 hookSpecificOutput.updatedInput 으로 기계 주입 (detect→inject repurpose; whole-echo REPLACE-safe·bare updatedInput G4·fail-open; §7.3 additionalContext(story-transition-autonomy reminder) 무조건 emit; ADR-143 Amendment 1). FIX-2: §7.3 빈-prompt reminder 회귀 봉합(early-exit→fall-through) + idempotency leading-ws 대칭 + §7.7-2 subject-field-absent SKIP(Bash EXCLUDE 대칭) + surface-specific bypass env disjoint. + CFP-2584 (2026-07-06, plumbing) — 형제 워크플로 parser-parity: CFP-2581 same-repo 가드 패턴을 auto-phase-label tier-2(relatedRegex owner/repo#N optional capture + urlRegex owner capture, fork① ADOPT) + phase-gate-auto-cleanup EC-2(.test()→matchAll+filter 구조전환)에 이식. cross-repo owner/repo#N PR body 에서 phase 라벨 상속·stale cleanup silent-degrade 제거, foreign owner/repo#N skip(context.repo 고정 spoof 차단). related-only 키워드 유지(fork②). ADR-005 mirror(.github↔templates byte-identical) 동시 편집. §8 execution-liveness: shipped .yml 파서 추출·eval harness(하드카피 0) + 변이-kill 5종. 6-tuple·evidence·advisory CI non-required 무변경. + CFP-2581 (2026-07-05, plumbing) — phase-gate-mergeable localRefs 바인딩 파서 확장(S-primary): PR body 의 canonical Story issue ref 를 owner/repo#N same-repo 표기까지 직독(정규식 optional owner/repo capture + same-repo 가드), foreign owner/repo#N 은 skip(context.repo 고정 fetch spoof 차단 — 보안 강화). cross-repo 표기 PR 이 step-3 canonical-issue 직독에 도달해 lane 마다 수동 gate-라벨/evidence 미러 마찰 제거. bare #N superset 무손상. ADR-005 mirror(.github ↔ templates byte-identical) 동시 편집. §8 execution-liveness: shipped .yml 파서 블록 추출·eval harness(하드카피 0, drift 검출) + dead phase-gate-cfp2324.test.js 재배선(S2/S6/S7). 6-tuple contexts·evidence 채널·PR-라벨 fallback 무변경(비-goal diff-0). 6.70.0 → 6.70.1 PATCH(plumbing bugfix, ADR-037). marketplace version sync(ADR-063). + CFP-2573 (2026-07-05, ADR-144) — Orchestrator 자율성 종결(stop taxonomy 3축 + decision-null pause 신설): 애매 stop(vague-pause “한 숨 쉬어가자”) 을 taxonomy 에 명명·금지(L1 advisory ADR-025 Amd3 + presence-lint) + 자명-진행 priming scope 확장(L2 advisory 전환+lane경계+완료후+vague-pause, 신규 hook 0 기존 2채널 TEXT broaden) + delivery-gap liveness 강화(L3 detection measurement/recovery advisory: PL spawn-then-blind-wait 금지 + lead-collect seam + idle marker, ADR-139 Amd1, full auto-wake dispatcher DEFER) + stop-event aggregate 신설(L5 measurement record-only aggregate_stop_event.py, row-hash dedup, reason_class PMO sidecar, “측정≠분류” honesty) + consumer 전파(L6 hooks.json 자동) + tier 정직 meta-gate(AC-6 mutation oracle: measurement/advisory 축 block/deny/강제 언어 0). GAP-1/2(pre-utterance hard-block·over-halt 실시간 검출) platform 한계 정직 문서화(hollow-gate 금지). 예방(advisory)+측정(measurement)까지만. 6.69.0 → 6.70.0 MINOR (신규 hook TEXT broaden/lint/aggregate = 신규 capability, ADR-037). marketplace version sync(ADR-063). + CFP-2574 (2026-07-05, ADR-143) — Agent 액션 렌더 줄 프리픽스 규약: harness UI 의 Agent 스폰·도구호출 렌더 줄에 `[<agent_type>] MM/DD HH:MM - <내용>` 프리픽스 시도(범위① Agent spawn description=피스폰 agent_type / 범위② 서브에이전트 leaf 도구호출 description=self agent_type). 시각=KST(UTC+9 고정 산술, scripts/kst-render-stamp — datetime.now(timezone.utc)+9h·stdout-only·non-deprecated), 컴팩트 MM/DD HH:MM(offset/연도/초/KST 라벨 미표기, ADR-079 제3 ephemeral-UI sub-layer). TodoWrite 행 + Orchestrator inline 4종(대화/TodoWrite/읽기 Q&A/상태보고, ADR-039 whitelist) 제외. 강제 상한=advisory(no-theater, hard-gate/100% 기계강제 참칭 0): 범위①만 PreToolUse(Agent) warning-tier detect(spawn-description-prefix-detect.yml + scripts/check-spawn-description-prefix, exit-0-always·tool_input rewrite 없음), 범위②는 prompt-mandate + session-start 리마인더(mechanical 불가 정직 명문). CLAUDE.md directive + playbook 매턴 self-check + evidence-checks-registry 등록 + 컴팩트 예시 KST_TS_RE lint-inert. 13파일 초판 + FIX-1(§8 T-3 hook↔detector seam 계약이탈 해소 + no-epoch production 경로 커버리지 → test 16→24, 3-mutation replay PASS). 신규 ADR-143. 6.68.0 → 6.69.0 MINOR (신규 규약 workflow/hook = 신규 capability, ADR-037). marketplace version sync(ADR-063). + CFP-2572 (2026-07-05, ADR-142) — Orchestrator context 무경량화: READ/synthesis/verbose-return 위임 규율(L1 advisory read-offload + trivial carve-out CLOSED 6) + L2 return-envelope-v1 tight-return wrap 계약(measurement schema-lint + advisory prompt-mandate, runtime 하드캡 기각) + L7 self-context record-only proxy telemetry(spawn-event-v1 v1.1 self-context-v1 6-field, ADR-043 Amd3, never-block/fail-VISIBLE) + 3 self-test(disjoint-axis-whitelist-lint 물리강제 / return-envelope-schema-lint measurement / self-context-telemetry-allowlist-lint measurement+emission-liveness) + playbook §3.0/§3.3 반전 + stale doc(재귀-spawn platform-inherent 오단정) 정정. 6.67.0 → 6.68.0 MINOR (신규 workflow/hook/계약 = 신규 capability, ADR-037). marketplace version sync(ADR-063). + CFP-2563 (2026-07-03, ADR-133 Amendment 2 실배선) — ADR 번호 발급·예약 충돌 근본 해소: 기존 OCC atomic claim primitive(단일-셀 Contents API PUT sha→409, CFP-2491)를 실 ADR 발급 flow 에 실배선(built-but-unwired dead-machinery 해소) + adr-reservation-state long-lived branch 부트스트랩(seed max_adr_number=141 firsthand git ls-tree 재산출·하드코딩 금지 + branch protection allow_force_pushes:false / required_linear_history:true / enforce_admins:true + required_pull_request_reviews·required_status_checks 미설정 load-bearing — 걸면 claim direct-PUT deadlock) + agent-session write-under-protection empirical smoke(HTTP 200 실측 — R3 deadlock-avoidance 반증) + 3-way ADR 번호 uniqueness lint 신설(.github/workflows/adr-uniqueness-check.yml + scripts/lib/check-adr-uniqueness-3way.py — filename↔frontmatter adr_number↔ADR-RESERVATION row dual-key + numeric 정규화(zero-pad/quoted) + 구조적 파싱, warning tier / non-required / 6-tuple 무변경, #2182 흡수) + ADR-RESERVATION 15-row lapse backfill(idempotent append-only, scripts/lib/adr-reservation-backfill.py) + evidence-checks-registry adr-uniqueness-check warning entry 등록. 신규 ADR 0 (ADR-133 Amendment 2 만). 6.65.0 → 6.66.0 MINOR (신규 workflow adr-uniqueness-check.yml = 신규 capability, ADR-037). marketplace version sync(ADR-063, sync PR 선행 merge). + CFP-2549 (2026-07-02) — background-wait liveness gate (ADR-139) 실배선: 모든 codeforge-owned background subagent 대기(run_in_background/bg spawn)의 wall-clock 상한+liveness 관측 없는 무한 대기 결함(#763 Iter4/5)을 CFP-2545 codex-companion 의 Ports&Adapters 일반화로 근절. playbook 공통 단락 INV-L1~L4(max-wait ceiling/fail-open 금지 inconclusive/0-byte≠stall 3-state/Orchestrator 소유) + general-adapter presence lint(liveness_check_base.py base + check_subagent_wait_liveness_presence.py + byte-identical workflow, warning tier) + execution-backed self-test(124/127) + parallel-dispatch-protocol v1.1(worker_outcomes +INCONCLUSIVE) + sibling ADR-081 Amd13/ADR-039 Amd10 §결정 20. 신규 required check 0. 6.61.0 → 6.63.0 MINOR. |+ CFP-2544 (2026-07-02) — Orchestrator inline-write gate 신설 (Wave1 warning-tier): ADR-039 Amendment 9 §결정 9 deferred slot("Orchestrator inline write detect hook") 실현 + ADR-115 Amendment 1 §결정 6 scope-boundary 이관. PreToolUse(Write|Edit|MultiEdit) 물리 가드로 최상위 세션(Orchestrator)의 repo/worktree 직접 편집을 caller-scoped 검출 — 실측 83세션 127건 드리프트(worktree 95 + 직접 32) 폐지. discriminator = PreToolUse payload `agent_id` 필드 (non-empty=subagent=allow / 부재·null·""=Orchestrator=block-candidate, F2 fail-safe). path ordering invariant = worktree(~/.claude/worktrees/) 체크가 memory(~/.claude/) carve-out 보다 먼저(load-bearing subset — 뒤집으면 95건 무력화). Wave1 = warning-tier(stderr block 마커 + exit 0, NEVER exit 2, ADR-115 §결정 5 fail-open). 신규 파일 — hooks/pretooluse-inline-write-gate (extensionless polyglot, pretooluse-agent-spawn-gate warning skeleton 미러) + scripts/check-inline-write-gate.sh (ADR-061 thin wrapper, SSOT 부재 fail-open) + scripts/lib/check_inline_write_gate.py (verifier SSOT, _read_payload/_check_bypass/_classify_agent/_classify_path 4-func, check_repo_confinement.py _norm realpath 재사용) + hooks/tests/test_pretooluse_inline_write_gate.py (pytest 14-case discriminating fixture + §8.7 design-confirm 3종: MultiEdit live schema / distinct sentinel 2종 / relative-path cwd-resolve). hooks.json PreToolUse += Write|Edit|MultiEdit matcher. evidence-checks-registry += runtime-hook-pretooluse-inline-write-presence (5번째 family member, warning-tier, declarative anchor — presence-lint 기계배선은 family 전체 declarative-only 이므로 follow-up 분리). BYPASS_INLINE_WRITE_GATE env(audit trail, block 마커와 distinct sentinel). Wave2 deny 승격 = ADR-060 evidence-gate (PR≥20 + bypass 외 failure=0 + sibling merged) 후 별 CFP. 신규 ADR 0(ADR-039 Amd9 + ADR-115 Amd1 paired amendment) / required 신설 0 / branch protection 6-tuple 무변경. 6.61.0 → 6.62.0 MINOR (신규 runtime hook = 기능추가, ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2545 (2026-07-02) — Codex companion 브로커 경로 wall-clock 가드 배선 (ADR-081 Amendment 12 §결정 D14, dogfood wrapper-self Phase 2): 실 리뷰 worker 호출부 CodexReviewAgent.md:89 `node codex-companion.mjs adversarial-review --wait`(4 리뷰 lane 공유) companion `request()` deadline 부재 → stall 시 node·Bash·worker·Orchestrator 무한 대기(~2h silent hang carrier)를 `timeout ${CODEX_REVIEW_TIMEOUT_SEC:-300} --kill-after=${CODEX_REVIEW_KILL_AFTER_SEC:-30}` wall-clock ceiling 으로 근절. N=추정값 empirical 미실증(env-override, lock-in 금지) + lane override(_SECURITY/_DESIGN) + consumer hardcap 900s. exit 124(timeout kill) → fail-mode enum #8 재사용 marker `[codex-sandbox-fallback: dispatch_stall_or_stream_timeout]` + verdict=inconclusive (fail-open 금지 — PASS-only-if-explicit, exit 0+verdict부재=inconclusive, 부분 stall ANY→전체 inconclusive). AC-1 mechanical 강제 = presence-grep lint (scripts/lib/check_codex_companion_timeout_presence.py Python SSOT ADR-061 + thin wrapper + templates/+.github byte-identical workflow ADR-005): dispatch 발화 timeout <N> prefix(리터럴 or ${VAR:-int} env-default) + --kill-after 동반 + N 양수 + hollow-gate 차단 I-3(파일 존재 시 발화 ≥1, 발화 0건→exit1) + 경로부재 fail-open(consumer no-op). self-test 8-case RED→GREEN discriminating + mutation proof(가드 제거 시 PASS→RED firsthand 실증). evidence-checks-registry codex-companion-timeout-presence entry(warning tier) + label-registry-v2 hotfix-bypass:codex-companion-timeout-presence(2.102→2.103, 103번째 family). playbook §3.10 companion sub-paragraph(wall-clock ceiling + Orchestrator liveness 게이트 보조 2차 + timeout N < liveness max-wait 순서) + review-pl-base.md cross-ref. 신규 required check 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.60.3 → 6.61.0 MINOR (신규 companion wall-clock 거버넌스 behavior + 신규 wrapper script/workflow = ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2530 (2026-07-01) — css-lint.yml job-level if: hashFiles(...) context-availability 위반 born-invalid gate 정정 (ADR-136 결정13 Amendment 2): hashFiles 는 step-level 전용이라 job-level if 는 workflow load-time schema-invalid → D1 게이트가 css-lint.yml 신설(PR #2511) 이래 0회 로드/실행. job-level if 삭제 → step-level 가드 + in-job fast-exit(경로C genuine pass) 단일 채널. 재발 봉인 = 신규 actionlint-workflows-test.yml(wrapper-self, job-level hashFiles 재삽입 mutation → actionlint exit!=0 hard-fail) + templates/ coverage. 양 copy byte-identical parity. PATCH 6.60.3. + CFP-2527 (2026-07-01) — css-lint.yml --config-basedir 누락 hollow-gate 정정 (ADR-136 결정12 Amendment 1): 격리 toolchain($RUNNER_TEMP/css-lint-toolchain/node_modules) 에 STYLELINT_BASEDIR GITHUB_ENV export + floor self-check(--print-config) 와 실 lint run 양쪽에 --config-basedir 부착 → consumer verbatim 채택 시 stylelint extends:stylelint-config-standard resolution 실패(ConfigurationError, rule 평가 이전 사망)로 게이트가 단 한 줄도 lint 못하던 reached-but-dead hollow-gate 복구. 양 copy(.github + templates) byte-identical parity. test-css-lint.sh C5 consumer-형상 discriminating fixture 신설. PATCH 6.60.2. + CFP-2523 (2026-06-30) — schema-lib archive/adr existence-guard dead-path 활성 + 10 ADR backfill (atomic Phase 2, CFP-2519 후속): check_doc_frontmatter.py REQUIRED + check_doc_section_schema.py REQUIRED_SECTIONS 에 "archive/adr" 키 확장-only 추가 — wrapper ADR(archive/adr/) 가 docs/adr-only 키로 silent skip 되던 existence-guard dead-path 활성. naive 활성 시 FAIL 할 10 ADR (frontmatter 1 = ADR-042-mc closing delimiter / section 9 = 116/117/118/122/127/128/129/132/133)을 3-way TYPE(안전 rename / 신규 섹션 from related_files / 상태 from frontmatter)으로 동일 PR HEAD tree 에 atomic backfill — 관련 ADR 류 섹션(127/128/129 ## 관련 + 133 ## 관련 ADR)은 보존 + 별도 ## 관련 파일 신설(의미오염 차단). 141 ADR 전수 PASS(fm/sec exit=0) 실측. consumer 무해(existence-guard). PATCH 6.59.3. + CFP-2519 (2026-06-30) — docs/adr→archive/adr dead-path 클래스 sweep (functional 3 + stale-ref 2, CFP-2515 후속, Phase 2): CFP-2515 가 adr-sunset-criteria.yml 단일 dead-gate 만 정정하며 남긴 동형 dead-path 클래스(wrapper ADR 이 사는 archive/adr/ 를 미점검하는 docs/adr-only path 패턴)의 잔여 sweep. wrapper 는 ADR 을 archive/adr/ 에 두고 consumer 는 docs/adr/ 를 써, docs/adr-only path 는 consumer 정상·wrapper-self 비대칭 dead-gate. CFP-2515/CFP-2491 확립 path-agnostic 해법((docs|archive)/adr alternation / 2-entry glob)을 적용. (A functional 3) decision-principle-vocabulary.yml on.paths archive/adr 2-entry glob + detect grep `^((docs|archive)/adr/ADR-.*\.md|...)` alternation + lib scripts/lib/check_decision_principle_vocabulary.py SCOPE_GLOBS archive/adr 1줄 추가(in_scope() 가 SCOPE_GLOBS 순회 → collect+in_scope 동시 정정, 단일-site). kst-timestamp-display.yml 동형 on.paths + grep alternation + lib scripts/lib/check_kst_timestamp.py SCOPE_GLOBS archive/adr 추가 + ★in_scope L113 standalone path.match 2-call(SCOPE_GLOBS 순회 아닌 하드코딩 → 2-site 필수, decision 과 비동형). phase-gate-mergeable.yml SECURITY_PATHS regex `/^(docs|archive)\/adr\/ADR-.*\.md$/` alternation(required check check-gate, fail-closed 보안강화 — wrapper archive/adr 보안 ADR 의 post-merge-fix fast-pass 우회 차단, cond3 진입가드 hasPostMergeFixLabel 한정이라 정규 lane 영향 0) + L199 주석. (B stale-ref 2) story-init.yml L851 ADR-027 링크 docs/adr→archive/adr(.github copy only — invariant-check CONSUMER_ONLY_WORKFLOWS 첫 entry parity-excluded, templates copy 는 docs/adr 유지 = consumer 정답, byte-identical 강요 안 함 분기 유지) + tier-downgrade-guard.yml L5 주석 path-agnostic. functional 3 + tier-downgrade templates copy byte-identical(diff -q 실측 4/4). 회귀테스트 tests/scripts/test_adr-path-dead-path-sweep.sh 신설 — symmetric mutation-kill + ★lib-exercise(green-but-dead 차단 핵심: workflow grep 단독 mutation 은 lib in_scope() 2차 차단 못 잡아 workflow-only 불완전 fix 를 green-pass → mutation-kill 을 lib in_scope 계층까지 end-to-end exercise) + #2514 asymmetric sed no-op trap 회피(diff -q no-op guard). 13/13 GREEN + 4-site 실파일 mutation-RED 실측(decision SCOPE_GLOBS / kst SCOPE_GLOBS / kst L113 / phase-gate SECURITY_PATHS 각각 RED 전환). schema-lib 서브클래스(check_doc_frontmatter.py + check_doc_section_schema.py — rglob Path(prefix).exists() dead-path, required check, archive 키 활성 시 10 기존 ADR schema FAIL 위험)는 131+ ADR backfill migration 선행 필요 → 별 follow-up 분리(안2 정직 축소). 4 불변 보존: warning-tier(ADR-060 continue-on-error)·required 6-tuple 무변경(ADR-127 ratchet)·byte-identical parity(ADR-005)·검사 의미 무변경(path scope 확장-only, ADR-024 §결정 A). 신규 ADR 0 / amendment 0(migration-drift dead-path bug-fix, 정책 무변경, CFP-2515/2491 동형 Story-only 선례) / required 신설 0 / branch protection 6-tuple 무변경. 6.59.1 → 6.59.2 PATCH (workflow/lib path-filter dead-gate behavior 정정 = ADR-037 (d) script/template edit M, version-bump-self 게이트 expected=patch 산정 정합). marketplace sync 필수(version 6.59.1→6.59.2 + description = mirrored field 변경 → ADR-063 Amendment 10 Rule (a)). + CFP-2515 (2026-06-30) — adr-sunset-criteria.yml wrapper ADR-path dead-gate 정정 (docs/adr→path-agnostic, CFP-2491 동형, Phase 2): adr-sunset-criteria.yml 양 copy(.github + templates, byte-identical)가 ADR path-filter 를 docs/adr/ 로만 한정(on.paths L17 + detect grep L42 `^docs/adr/ADR-.*\.md$`)해, wrapper ADR 이 사는 archive/adr/ 를 미점검하던 dead-path 정정. CFP-2491 의 parallel-epic-conflict-check.yml 동형 path-agnostic 해법(`^(docs|archive)/adr/`)을 그대로 적용 — (D1) on.paths 2-entry glob list(docs/adr/ADR-*.md + archive/adr/ADR-*.md, platform alternation 불가) (D2) detect grep regex alternation `^(docs|archive)/adr/ADR-.*\.md$` + L43 grep -v 'ADR-RESERVATION.md' substring 무변경 보존(AC-5 양 path 면제) (D3) lib scope=workflow-only(scripts/lib/check_adr_sunset_criteria.py 무변경 — argv passthrough chain firsthand: workflow 가 changed-files 를 argv 전달 → thin wrapper verbatim → lib `paths=sys.argv[1:]` 라 L44 default glob CI-unreachable + Path(p) path-상대 read 로 archive ADR 정확 검사, silent dead-path 0). 회귀테스트 tests/scripts/test_adr-sunset-criteria-pathagnostic.sh 신설 — CFP-2491 #2514 asymmetric sed no-op trap 회피 symmetric mutation-kill(arc_orig=1 path-agnostic archive 매치 / sed (docs|archive)/adr→docs/adr mutate + diff -q no-op guard / arc_mutant=0 docs-only archive 미매치, arc_orig==1 && arc_mutant==0 일 때만 KILL) + AC-4 byte-identical parity diff -q + AC-5 RESERVATION 면제 + AC-6 layer 등가. warning tier(ADR-060 continue-on-error)·byte-identical parity(ADR-005 invariant-check)·RESERVATION 면제(ADR-070)·sunset 검사 의미(ADR-058 §결정1-3) 4 불변 보존. 신규 ADR 0 / amendment 0(migration-drift dead-path bug-fix, 정책 무변경, CFP-2491 동형 Story-only 선례) / required 신설 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.59.0 → 6.59.1 PATCH (workflow path-filter dead-gate behavior 정정 = ADR-037 (d) script/template edit M, version-bump-self 게이트 expected=patch 산정 정합). marketplace sync 비대상(plugin.json name/author 무변경, ADR-063 §13.N marketplace_sync_required:false). + CFP-2505 (2026-06-30) — frontend 품질게이트 표준 wire (ADR-136, Phase 2): WEB-033(escalation #2502, 미닫힌 CSS brace → lenient 빌더 보정 → portal 모달 position:static 추락) 실증 발 frontend 품질게이트 양층 차단. (D1 구조적 CSS lint) templates/github-workflows/css-lint.yml 신규 — stylelint(17.13.0 pin)+stylelint-config-standard(40.0.0 pin) supply-chain(lockfile+npm ci, @latest 금지) + job-level if:hashFiles(path-filter 금지, ADR-130 §결정4 permanent-pending 회피) + in-job EXIT0 이중보호 graceful + continue-on-error warning-tier(7일 green 후 required 승격은 별 follow-up) + effective-config self-check(--print-config floor null override 차단, ADR-127 축소불가 invariant 강제) + permissions:contents:read + discriminating test job. scripts/check-lint.sh run_{python,node,css}_lint() 함수추출(rule-of-three)+CSS 분기(외부 exit-code/--fix/--quiet 계약 무변경). consumer_applicable_workflows.txt += css-lint.yml(positive whitelist, manifest=graceful no-op 이라 closure 등재 불요). (D2 UI 실렌더) change-plan.md §8.7 UI 실렌더 검증 CONDITIONAL sub-section(§8.7.0 applicability 4 Y/N + jsdom 부적격 명시 + computed-style 단언 layout-result 속성 포함 권장) + story-page-structure §8.7 미러 + check_doc_section_schema.py §8.7 lint(§8.6 의도적 gap allow). (flag) project-config-schema.md frontend.applicable:bool default false(안전, additive-only) + consumer-guide frontend 품질게이트 도입 안내. QADev anti-theater discriminating fixture(미닫힌 brace exit≠clean / floor default≠null-override / §8.7 Y-with-871≠Y-without-871) RED→GREEN 실증. plugin sibling = codeforge-design 0.30.0(§8.7) + codeforge-develop 0.12.0(.stylelintrc preset). 신규 required check 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.58.0 → 6.59.0 MINOR (신규 consumer-facing 품질게이트 surface = ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2506 (2026-06-30) — Rust consumer 로컬빌드 toolchain 표준 (escalation #2503, Phase 2): Windows Rust consumer 의 링커/binutils(as.exe/dlltool/gcc) 부재로 인한 로컬 cargo build/test 불가 → CI 권위 단일화 피드백 지연을 문서화된 로컬빌드 경로 표준으로 단축(CI=검증 권위 보존, 로컬=보강·순수 가산). 신규 consumer-facing surface — (D1) docs/consumer-guide.md §1q Docker rust-image 마운트 빌드(--user/CARGO_TARGET_DIR 분리/named volume/rust:1-slim multi-arch/공통-부모 sibling 마운트 R-4) + build-verification↔artifact-equivalence 분별선(R-3 — linux ELF proxy ≠ Windows PE 동등) (D2) templates/scripts/build-local.{sh,ps1} 2-stage degrade(cargo check 링커-less 1차 → Docker/native 완전빌드 → graceful degrade exit0, workspace 자동감지, 경로 quote injection-safe) + consumer-scripts.manifest 등재(dependent-workflow 미부착=ad-hoc CLI, bootstrap Stage 7 자동 mirror) (D3) MSYS2(mingw-w64-toolchain)/MSVC(VS Build Tools)/WSL2 toolchain 가이드 + CI 권위 ABI 일치 선결(무조건 MSVC 금지 R-5) + examples/rust-cli-minimal/(비-Copy String partial-move 로 cargo check 실효 실증 + Dockerfile fixture). domain-knowledge 2(rust-local-build-equivalence R-1~R-5 + toolchain-decoupled-local-build-path concept) + ADR-033 Amendment 1(Docker-first 적용면 codify, §결정 1-7 본문 무변경). 요구사항리뷰 외부사실 8/8 corroborated + 구현리뷰 P2 2건(exit-code parity F-CR-001 + README 경로 F-CR-002) FIX iter1 + 보안테스트 injection/secret/container clean. 신규 ADR 0(ADR-033 Amd1) / required 신설 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.57.0 → 6.58.0 MINOR (신규 consumer onboarding 표준 = ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2491 (2026-06-30) — ADR-RESERVATION atomic claim 강제 구현 (Epic CFP-2481 E3b): ADR-133 §결정2 단일-셀 OCC(Contents API PUT sha→409) 동작 구현 + race-guard mutation-RED 14/0. adr-reservation-atomic-claim.py(매 attempt N re-read+N+1 재계산) + dead-gate 비대칭 fix(.github archive/adr/, templates 무변경) + stale-reclaim cron(단조성 ABA-safe) + ADR-133 Amendment 1. 신규 required 0 / 6-tuple 무변경. 6.56.0 → 6.57.0 MINOR. marketplace sync(ADR-063). + CFP-2490 Phase 2 (2026-06-30) — sentinel blockable-capable(SENTINEL_TIER, warning 유지) + force-push pre-flight 2-layer 가드 (Epic CFP-2481 E2). 6.55.2 → 6.56.0 MINOR (신규 force-push-base-advance-check governance lint workflow + 신규 scripts = ADR-037 (d) workflow 신설(A)=minor; version-bump-self 게이트 verdict=MINOR 따름, PATCH 6.55.3 = under-bump FAIL). marketplace version sync(ADR-063). + CFP-2488 Phase 2 (2026-06-30) — playbook §4.5 Story-level 병렬 dispatch 운영절차 (Epic CFP-2481 E1, ADR-134 lookup-mirror). + CFP-2493 (2026-06-30) — wire-branch-protection HTTP-error guard hotfix (Epic CFP-2468 Track W/W1, CFP-2469 산출물 hotfix): gh 404 error JSON stdout 오염이 required_status_checks.contexts[] 에 가짜 context 로 union 되어 영구 pending 유발하던 결함을, GET 단계(_current_contexts/_actual_check_names + ps1 동형)에 exit-code 성공/실패 분리 guard(_gh_get_or_fail/Get-GhOrEmpty 공통 헬퍼) 삽입으로 차단. 404·transient(5xx/network) 모두 fail-closed 빈 set 정규화(고유 context 비파괴) + valid-empty(200 contexts=[]) ≠ 404 exit-code 자동 구분. ADR-132 §결정4(출력 candidate 평면 필터) ⊥ §결정6(현 current 입력 평면 보존 union) axis-disjoint 보존 — guard 는 §결정6 GET 입력 평면에만 적용, §결정4 출력 필터 무변경. test stub error-mode(stdout error JSON + non-zero exit) + F11/F12/F13/F14 fixture + M10/M11 mutation(생존 0). 신규 ADR 0(ADR-132 Amendment 0) / required 신설 0 / branch protection 6-tuple 무변경(ADR-127 ratchet, wrapper-self 도구). 6.55.0 → 6.55.1 PATCH (script behavior bug fix). marketplace version sync(ADR-063). + CFP-2480 (2026-06-30) — Codex 실행형 정책 게이트 팩 + FIX ground-truth replay (Epic CFP-2476 E3): ADR-037 Amd4/ADR-067 Amd3/ADR-070 Amd12 + fix-event-v1 v1.4(reproducer_command+replay_verdict) + fix_replay_disposition.py(스키마강제 INV-SEC-1, 15 TC + M1-M6 mutation-kill) + policy_pack_member field. + CFP-2478 (2026-06-30) — Codex 주장→증거 감사기 + cross-document 정합 게이트 (Epic CFP-2476 E2): ADR-068 Amd7(I-7 CI-time 기계화) + check_adr_cross_ref_consistency.py(cross-ADR cross-ref/phantom-ID/enum-SSOT/content-anchor, changed-files 스코프 warning-tier) + bats 17/17. + CFP-2471 (2026-06-30) — lane 검증 floor 정합 강제 Phase 2 (ADR-044 Amendment 4 §결정 10, Epic CFP-2468 Track W / W3): mctrader 데뷔 감사가 드러낸 '검증이 가장 필요한 곳에서 빠지는' 검증 불균질 3 class 를 강제력으로 복구 (관측 baseline). 검증 floor = ≥1 independent peer (SoD: implementer≠certifier) — Codex = floor 아닌 ceiling (cross-model diversity, ADR-044 §결정2 ad-hoc-only 무충돌). 3축: (축①) review-verdict-v4 v4.14→v4.15 MINOR — peer_degrade verdict-level optional object 신설 (3-key: peer_count int / degrade_reason string / degrade_acknowledged bool) — canonical 단일 원본 + MANIFEST mirror. (축②) scripts/check-verification-floor.sh 신설 (+test-check-verification-floor.sh discriminating self-test 9 TC, MUT-1/MUT-2 mutation 생존 0): self-audit verdict 무효 (peer_count:0 + PASS → 차단) + silent degrade 차단 (peer_count:1 ∧ degrade_acknowledged 부재 → 차단, honest degrade=통과). (축③) scripts/check-lane-evidence.sh 축③ 확장 — stale roster (구 CodebaseMapper/OpRiskArch/DataMigrationArch) → 현 6 permanent deputy (SecurityArchitectAgent/InfraOperationalArchitectAgent/TestContractArchitectAgent/DataArchitectAgent/ModuleArchitectAgent/APIContractArchitectAgent) 정정 + <6 deputy row silent SKIP → honest WARN (env=0 → honest SKIP 사유 명시, meta-hollow-gate 차단) + test 회귀 가드 3 TC. (정합) review-pl-base.md §10 '진입 불가·SKIPPED 불허' → 'silent degrade 금지' 재해석 (single-peer honest degrade=정식 floor 충족, team-spec-code-review.yaml 정합). + verification-floor-check.yml warning-tier workflow (.github single-root, branch protection 6-tuple 무변경 ADR-128 상속). enforcement (PreToolUse Agent matcher deny) 는 미구현 — matcher P2 정확 토큰 + CLI 런타임 발동 empirical 미확정 ([empirical-source: TBD], 설계 §결정10d 보류, 켜려면 별 follow-up research-request-gate 경유). 신규 ADR 0 (ADR-044 Amendment 4) / required 신설 0 / branch protection 6-tuple 무변경 (ADR-127 ratchet). 6.50.0 → 6.53.0 MINOR (신규 review governance lint gate + verdict contract MINOR bump = governance behavior, ADR-037 (d); 6.51.0/6.52.0 = 병렬 Story 선점 회피). marketplace version sync (ADR-063). + CFP-2470 (2026-06-30) — deferred follow-up 회수 게이트 (no-silent-drop, Track W/W2, ADR-128 Amendment 1) Phase 2: retro/Story 서사의 narrative-recorded deferred 각각이 완료 시점에 (추적 Issue 전환 tracked) 또는 (관찰-only + 사유명시 observed) 로 명시 판정됐는지 검사해 silent drop 만 차단 (전수 Issue 강제 전환 아님 — ADR-119 발견≠필요 정합). 신규 consumer-facing governance surface — (1) scripts/lib/check_deferred_item_recovery.py Python SSOT (게이트 전용 직교 enum {tracked, observed} — ADR-045 §D-11 closure enum 값 비재사용, 5-column table 형태만 참조 선례 답습; dual-source AND = 선언 row ∧ ((tracked → 실 tracking Issue cross-validate) OR (observed → 사유 명시)); cross-repo PAT graceful skip ::warning+exit0; ReDoS-safe line-by-line anchored regex) + thin wrapper scripts/check-deferred-item-recovery.sh + (2) .github/workflows/deferred-item-recovery.yml warning-tier (continue-on-error, pull_request, cross-repo retro 후보 fetch 후 check, single-root) + (3) hooks/deferred-recovery-reminder(.py) consumer 전파 UserPromptSubmit reminder (phase:완료/회고 키워드 intent → deferred 판정 의무 환기, 모든 경로 exit 0 fail-safe, bootstrap-first-gate 패턴 답습) + hooks.json UserPromptSubmit entry (skip-offer-reminder 보존) + (4) plugins/codeforge-pmo/templates/retro.md §deferred structured 섹션 (5-column disposition row) + (5) docs/evidence-checks-registry.yaml deferred-item-recovery entry (warning-tier, removal_protocol.automatic_deletion:false 방어) + (6) docs/orchestrator-playbook.md §9.7.1/§9.7.2 phase:완료 precondition 3-조합→4-조합 (deferred-item-recovery self-check 추가) + scripts/test-check-deferred-item-recovery.sh discriminating self-test (10 TC, mutation 생존 0 — cross-validate gh stub seam + F1 역매핑 회귀 방지 TC-9/TC-10). behavioral 게이트 한계 수용 (로컬·서사 영역 hard-block 불가, required CI 구조적 불가). 신규 ADR 0 (ADR-128 Amendment 1) / required 신설 0 / branch protection 6-tuple 무변경 (ADR-127 ratchet). pmo plugin sibling = codeforge-pmo 0.4.3 (retro.md §deferred 섹션). 6.50.0 → 6.52.0 MINOR (6.51.0 = 병렬 세션 선점 회피; 신규 consumer governance 신기능 = ADR-037 (d)). marketplace version sync (ADR-063). + CFP-2469 (2026-06-30) — consumer branch-protection 자동 wire + readiness 검증 (Epic CFP-2468 Track W/W1, dead-gate 출고 차단, Phase 2): consumer 게이트 workflow 가 PR 마다 돌지만 GitHub branch protection required_status_checks 미등록 = merge 차단력 0(dead gate)인 강제력 부재를, 권한 invariant(ADR-066 §결정2 PAT 6-scope 무손상) 를 깨지 않고 자동 배선으로 전환. 신규 wrapper-self 운영 도구 — (1) scripts/wire-branch-protection.{sh,ps1} write SSOT 신설 (ADR-132 §결정1): GET-merge-PUT idempotent(consumer 고유 context union 보존·core 삭제 불허, AC-5) + review_count 형상 파라미터(solo=0/team≥1 — solo deadlock 회피, AC-2) + enforce_admins=true(dead-gate 차단 핵심, REQ-2) + restrictions=null + strict=true default + context↔job-name 정합 게이트(미정합 context 배선 제외+WARN, 영구 pending 차단, AC-4) + operator gh auth 토큰(codeforge PAT 미사용, AC-7) + 403→WARN graceful degrade(hard-fail 아님, AC-3) + --inspect/--dry-run read-only 경로. (2) scripts/reapply-branch-protection.{sh,ps1} 신설 (ADR-132 §결정7): 독립 스크립트가 wire-* 를 repo-list loop 반복 호출(16-repo 일괄) + existence_check(branch 부재 skip, abort 금지) + exp-backoff(rate-limit/secondary) + partial-failure 누적보고(끝까지 진행 후 집계). (3) bootstrap-consumer.{sh,ps1} Stage 5b(workflow copy 직후 wire-* 호출, operator gh auth, 403 graceful 비-abort) + check-debut-readiness.{sh,ps1} Check 5(wire-* --inspect, WARN default/strict FAIL) + overlay/hooks/check_bootstrap.py check 12(required_status_checks 미등록 dead-gate 검출 + enforce_admins 점검, WARN tier, ADR-132 §결정8). (4) dead-ref cleanup (ADR-132 §결정9): never-built branch-protection-drift-check.yml 의 orphan helper scripts/lib/workflow_branch_protection_drift_check.py 삭제(외부참조 0 firsthand 재확인) + manifest/setup-branch-protection.sh/consumer-guide 의 drift-check.yml 인용을 readiness check 로 갱신. (5) discriminating self-test scripts/test-wire-branch-protection.sh(11 fixture, mutation 9종 생존 0 — shape 분기/403 graceful/GET-merge union/정합 제외/restrictions null/enforce_admins/strict/inspect dead-gate firsthand kill). FORM(b) setup-branch-protection.sh ZERO-write 무손상(write↔preview SoD). .sh↔.ps1 parity 의무(AC-8). 3 ADR(ADR-132 신설 + ADR-024 Amd20 + ADR-027 Amd13) = Phase 1 PR. 신규 required check 0 / branch protection 6-tuple 무변경(ADR-127 ratchet, wrapper-self 도구 — consumer-distributable 아님). 6.50.0 → 6.51.0 MINOR (신규 consumer onboarding 자동 배선 기능 = ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2464 (2026-06-30) — Codex 변이 테스트(mutation) peer touchpoint #8 구현 (Epic CFP-2457 Story B, Phase 2): 구현리뷰(code-review) lane-time 에 detector(테스트 스위트) 자체를 변이로 probe 해 surviving mutant(주입 후에도 suite PASS)=hollow-gate(검사연극) 신호를 능동 탐지하는 mutation peer 게이트 wire (ADR-052 Amendment 16 touchpoint #8 — probe-the-detector, Story A #7 review-of-output 와 disjoint family·defense-in-depth). (1) disposition SSOT — scripts/lib/check_mutation_disposition.py 순수 결정 함수 (3-상태 closed enum: hollow_gate_verified / undetermined / rejected_false_positive, ADR-070 Amendment 10 §결정 D8) + thin wrapper scripts/check-mutation-disposition.sh (ADR-061) + tests/scripts/test-check-mutation-disposition.sh discriminating self-test (10 TC, M1 always-verified·M3 drop-equivalent/flaky-filter mutation 생존 0 firsthand 재현). 핵심 invariant: surviving 5-AND(evidence 일치 ∧ survived ∧ 관측 동작차이 ∧ 결정론 ∧ PL/QADev 재현통과) → hollow_gate_verified(severity 부여) ↔ equivalent 의심(동작차이 0, undecidable) OR flaky 의심(다회실행 비결정) → undetermined(자동 승격·자동 reject 둘 다 금지 = 양면 보존, cry-wolf 차단) ↔ killed(suite RED=테스트가 잡음) OR evidence mismatch → rejected_false_positive. critic=신호원이지 판정자 아님(surviving mutant 주장=hypothesis → falsifiable evidence[어느 mutant 어디서 생존+baseline/post 동작차이] 동반 + PL/QADev 재현 falsify 통과 후만 hollow-gate 승격, ADR-077 §결정7 + ADR-119 Amd2 동형). (2) lane wire — playbook §3.9-ter dispatch 흐름(구현리뷰 lane worker sub-agent 가 Bash `node codex-companion.mjs review` 로 Codex 호출 = CodexReviewAgent 동형 proven channel, 재귀가드=subagent→Agent tool 한정이라 Bash 미발동 → ADR-039 inline whitelist 신규 entry 0) + §3.10.8 touchpoint #8 등재 + §3.10 ProactiveCheckPacket touchpoint enum 리터럴 `<1|2|3|4|5|6>`(stale, Story A #7 갱신 누락) → `<1|2|3|4|5|6|7|8>` 정정(A 누락분 + B #8, additive). (3) Q-A=경로 B(Codex=mutant 명세만 생성=신호원, lane 이 patch 적용+suite 실행+재현, ADR-081 §결정 D8 `--sandbox read-only` 무손상) / Q-B=lane-time fail-open `fail_open_then_record_with_marker`(merge-time #7 fail-closed 와 disjoint — lane-time ≠ 마지막 방어선, Codex 미가용 시 marker 기록 후 lane 진행 = delivery 마비 회피) / severity rubric=hollow-gate 영향 ground truth(ADR-081 Amendment 10 §결정 D11: P0 정확성·보안·데이터 무결성 검증갭 / P1 요구사항·AC·설계의도 검증갭 / P2 비차단 기록 후 진행) + payload split(§결정 D12: codex_truncated_no_verdict 회피 + 전수 금지 diff-based 소수 고가치). disposition/check 스크립트 = 개발자 검증 helper(CI 미배선, Story A check-merge-gate-disposition / Story C check-research-corroboration 선례 동형 — consumer-scripts.manifest 미등재 / evidence-checks-registry entry 0 / required check 신설 0). 4 ADR amendment(ADR-052 Amd16 + ADR-070 Amd10 + ADR-081 Amd10) + concept mutation-based-hollow-gate-detection.md landing = Phase 1 PR #2467. 신규 required check 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.49.0 → 6.50.0 MINOR (신규 mutation-peer 거버넌스 behavior 추가 = ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2459 (2026-06-29) — research-request-gate skill execute 단계 Codex 2차 출처 corroboration (ADR-126 Amendment 1, Epic CFP-2457 Story C): on-demand 깊은 조사(ADR-124 단계③ pull 경로) execute 단계에 Codex 독립 2차 출처(N=1→N=2) + corroboration↔verify disjoint layer 명시. skills/research-request-gate/SKILL.md 본문 확장(+53/-4) + scripts/check-research-corroboration-contract.sh §8 Test Contract discriminating check helper 신설(190 lines, CI 미배선 개발자 검증용). corroboration(두 출처 일치) ≠ verify(file-Read) ≠ 진리 보증 — ground-truth anchor 필요(dual-peer dogfood 실증: Codex peer 가 실재 논문을 환각이라 오기각). 신규 ADR 0(ADR-126 Amendment 1) / required 신설 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.47.0 → 6.49.0 MINOR (신규 wrapper script 파일 = ADR-037 surface table 신규 script minor signal + feat commit signal; 6.48.0 = 병렬 Story A 선점 회피). marketplace version sync(ADR-063). + CFP-2458 (2026-06-29) — Codex 머지 직전 적대적 반증 게이트 wire (Epic CFP-2457 Story A, Phase 2): 구현리뷰 PASS + CI gate PASS 이후 머지 직전(shift-right 최우측, "merge gate 진입" ~ merge_transition polling ~ gh pr merge 사이)에 Orchestrator top-level inline 으로 발동하는 1패스 적대적 반증 게이트 (ADR-052 Amendment 15 touchpoint #7). (1) playbook §3.9-bis 신규 서브섹션 (8-step dispatch 흐름 + result-via-file 비블로킹 + Orchestrator top-level inline 고정 — ADR-039 Amendment 6 inline whitelist 6번째 entry 재귀가드 회피) (2) critic = 신호원이지 판정자 아님 reshape — 모든 결함 주장 [hypothesis] → evidence(file:line) 동반 + Orchestrator verify-before-trust falsify 통과 시만 [verified] 승격해 머지 보류 (overcorrection bias FNR 26%→73% 차단, ADR-077 §결정 7 정보무결성 invariant reuse) (3) 하이브리드 fail-mode disposition fail_closed_then_bounded_degrade (사용자 결정 — Codex 미가용 시 기본 보류 + N회 재시도/timeout 설정값 + 한도 초과 시 사용자 알림 후 통과, silent auto-pass 0, marker+provenance 의무, ADR-070 Amendment 9 §결정 D7) (4) merge-time severity rubric P0/P1 머지보류 P2 비차단 (ADR-081 Amendment 9 §결정 D10) (5) §3.10 ProactiveCheckPacket enum 6→7 + §3.10.7 touchpoint #7 등재 (6) merge-gate-adversarial-verification discriminating check 스크립트 (RED→GREEN: verified P0/P1 머지차단 / false-positive 비차단, always-block·always-pass 변이 둘 다 GREEN 실패). CodexReviewAgent 와 disjoint (merge-time/PR-unit/Story-context holistic ↔ review-time/per-file/code). #2322 provenance 차단 STRONG 반영(승격 half 분리). 4 ADR amendment + concept 문서 = Phase 1 PR #2463. 신규 required check 0 / branch protection 6-tuple 무변경. 6.47.0 → 6.48.0 MINOR (신규 머지-게이트 거버넌스 behavior = ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2456 (2026-06-29) — skip-offer 금지 소비자 전파 hook 신설 (ADR-027 Amendment 12 §결정 15 + ADR-127 Amendment 1, Phase 1 merged): ADR-127 '정식 풀 플로우 비협상 / 리뷰·절차 생략 제안(AskUserQuestion 포함) 금지' 규칙이 소비자 세션으로 전파되지 않던 propagation gap 을 plugin-level 자동활성 UserPromptSubmit hook 으로 충당. 신규 hook 2-file — hooks/skip-offer-reminder (bash shim, bootstrap-first-gate shim 답습하되 bypass env 미도입) + hooks/skip-offer-reminder.py (python core, UNCONDITIONAL fire — CHANGE_PATTERNS regex gate 없음, 모든 turn 발화). 동작: _read_input(bounded ≤1 MiB, bootstrap-first-gate verbatim 복제 = self-contained) 으로 stdin 읽되 발화 판정 미사용(echo 0) → _build_reminder() 정적 <system-reminder> 블록(ADR-127/생략/skip/AskUserQuestion 금지 + derived default 항상 정식) 을 _emit() JSON hookSpecificOutput.additionalContext 로 무조건 inject(plain stdout prepend 금지 = #13912 회귀 차단) → stderr 1-line audit(prompt 텍스트 절대 미기록 = PII 차단). 전경로 exit 0 (P0 fail-safe, try/except 전체 감쌈) — 사용자 prompt erase 권한 미사용. hooks.json 3rd entry 로 wire. + story.yml doc-only dropdown 제거(byte-mirror ×2): .github/ISSUE_TEMPLATE/story.yml + templates/.github/ISSUE_TEMPLATE/story.yml 의 '문서 (Doc-only fast-path)' Story 유형 옵션 1줄 삭제(ADR-127 면제·단축 0 정합, 나머지 5 옵션 + wrapper-managed block 보존, 양파일 byte-identical). 신규 ADR 0(ADR-027 Amd12 + ADR-127 Amd1 Phase 1 merged) / required 신설 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.46.0 → 6.47.0 MINOR (신규 consumer-facing 자동활성 governance hook = ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2453 (2026-06-29) — consumer application-BC 단어/개념 사전 생산·유지 표준화 Phase 2 (ADR-091 Amendment 3 + ADR-129 Amendment 1, Phase 1 merged): consumer application BC 어휘 사전(lexicon/concept-dictionary) 생산·유지 *활동* 을 표준 lane 산출물로 승격 (content 작성 아님 — machinery 표준 제정, 실 content = mctrader downstream Epic defer 유지). 신규 consumer-facing surface — (1) lexicon-drift-check 4-piece warning-tier lint (responsibility-marker-drift archetype 1:1 clone, parallel novel 아님): scripts/check-lexicon-drift.sh thin wrapper(ADR-061) + scripts/lib/check_lexicon_drift.py Python SSOT(yaml.safe_load + dict group-by = ReDoS-safe, 3-tier exit) + templates+.github byte-identical lexicon-drift-check.yml(continue-on-error / pull_request NOT _target / permissions contents:read / on.paths filter 부재 / discriminating-test job if github.repository) + tests/scripts/test_check-lexicon-drift.sh self-contained discriminating mutation test(mutation 생존 0). drift 2종(exit 1): (a)collision-candidate(같은 표기 다중 의미인데 homonym 2-entry explicit-separate 미선언, ADR-091 §결정3) + (b)citation-absent(homonym entry usage_citations 0건, D5 forcing function ADR-091 §결정7). data-absence fail-open(lexicon.md 부재=honest ::notice:: exit0) / setup-error fail-closed(exit2). 기계=구조 대조 / 사람(semantic homonym 판정)=DomainAgent (I-LEX-1, ADR-119 abstention). I-LEX-2 자동 rename 0. (2) knowledge-capture-gate SKILL §1.3.1 term-drift routing +1문(admission 3문 무변경, anti-theater 동형 보존 — 갱신 0 ∧ no-update note 0 → WARN). (3) lane-self-write-boundary SKILL + ownership-matrix.yaml consumer_scope_owner(DomainAgent) + story-page-structure.md 4-way drift-sync(consumer DomainAgent ↔ wrapper-self ArchitectAgent scope 차이 명문). (4) domain-knowledge template kind:lexicon_relation sibling schema(term/relation/conflict_with/usage_citations 1급/definition) + concept-dictionary concept_definition 재사용(신규 kind 0). (5) check_doc_frontmatter.py KIND_VALID += lexicon_relation(F3, required-CI 차단 방지). (6) evidence-checks-registry lexicon-drift-check warning-tier entry. lane plugin sibling = codeforge-requirements 0.11.0(DomainAgent lexicon mandate). 신규 ADR 0(ADR-091 Amd3 + ADR-129 Amd1 Phase 1 merged) / required 신설 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.45.0 → 6.46.0 MINOR (신규 governance lint gate + skill mandate 활성화 = governance behavior, ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2440 (2026-06-28) — reconcile-overlay 워크플로 ongoing-sync 채널 신설 (Phase 2): templates/github-workflows/ → .github/workflows 이중 채널 동기화 A1 channel-parameterization. (1) env seam CONSUMER_ROOT / WORKFLOW_SRC_DIR / WORKFLOW_DST_DIR 신설 + L478 inline CONSUMER_ROOT 참조 치환(INV-B) (2) _reconcile_file 파라미터화 src_base/dest_base 추가 + 3개 호출처 명시전달 (3) 메인루프 채널배열(overlay|workflow) 일반화 + safe-degrade 채널부재(source 불요) (4) _create_snapshot multi-root化(root+rels 인자) + rollback 치환(CONSUMER_ROOT 추출) (5) result-fidelity 워크플로채널 2차 호출(aggregator 동일 구조 반복) (6) L778 idempotency early-exit AND-합성(양채널동시 no-op 만 조조종료). change-plan §3 정확 구현·부호결함 0·overlay회귀검증완. 신규 ADR 0 / required 신설 0 / branch protection 6-tuple 무변경. 6.44.0 → 6.45.0 MINOR (CFP-2440 Phase2 workflow-channel 활성화 = 신규 consumer 배포거버넌스, ADR-037(d)). marketplace version sync(ADR-063). + CFP-2445 (2026-06-28) — DomainAgent financial-invariant-0 조건부 sonnet Phase 2 enforcement (ADR-042 Amendment 17, CFP-2432 follow-up): Amd16 §결정3 이 예약한 DomainAgent flip 자리를 선결충족 후 채움. DomainAgent sonnet flip 조건 = (4-AND low-stakes) AND (financial-invariant-0 shape) 2-predicate AND — financial-invariant-0 = stakes 4-AND 와 orthogonal 한 financial-correctness 결과접촉 축의 별 predicate(STAKES_FINANCIAL_INVARIANT_ZERO). DomainAgent 가 백테스트 결과 숫자(equity/PnL/position/체결가/universe/파라미터)를 생성·변형·해석하지 않을 때만 financial invariant 해석 표면 0(sonnet cover), 데이터·엔진·전략 접촉 시 opus 보존. 신규 consumer-facing surface — (D1) docs/domain-knowledge/domain/backtesting-discipline/financial-correctness-invariant-catalog.md (11 invariant INV-1~11 + A/B 분류(정적 falsifiable/프로세스·메타데이터) + 7 Sins 1:1 traceability + F1 survivorship 1.4% 정정 + F2 storytelling/outliers 편입, DomainAgent write 권한 경로) + scripts/check-stakes-tier-gating.sh STAKES_FINANCIAL_INVARIANT_ZERO predicate + DomainAgent 분기(2-predicate AND, fail-safe 동형, InfraOpArch 동작 무변경) + tests/scripts/test-check-stakes-tier-gating.sh DomainAgent truth-table D1~D6 + regression + mutation RED 2종(생존 0) + docs/project-config-schema.md + docs/consumer-guide.md §1m-2 story_stakes DomainAgent 확장(conservative_override) + docs/orchestrator-playbook.md §3.0.12a DomainAgent spawn-전 외부 shape 판정 분기(§1 원문 + directive 경로 키워드, §4.1 미존재 닭-달걀 회피) + skills/deputy-mandate/SKILL.md DomainAgent stakes 분기 각주 + docs/domain-knowledge/concept/stakes-gated-model-tier-baseline.md F1 protocol DomainAgent baseline 확장(도메인 invariant 식별 완결성, financial-invariant-zero-evidence: marker). DomainAgent.md frontmatter model:opus 값 무변경(fail-safe default 보존, GATE-1) + conditional 주석 + 본문 mandate 표면 재정의(§결정2 invariant, 순수 model downgrade 금지). 메커니즘 신설 0(opts.model override + 4-AND + clamp + F1 protocol 재사용). lane plugin sibling = codeforge-requirements 0.10.0(DomainAgent mandate 재정의). 신규 ADR 0(ADR-042 Amendment 17) / required 신설 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.43.0 → 6.44.0 MINOR (신규 consumer-facing governance surface = ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2439 (2026-06-27) — bootstrap-consumer 워크플로 copy whitelist 구동 전환(초기 onboarding): 고정 7종 배열 → templates/scripts/consumer_applicable_workflows.txt(30 entry) whitelist iterate. 신규 whitelisted 게이트(CFP-2434 placement 등)가 신규 consumer onboarding 에 자동배포. AC-4 degrade=whitelist 부재/parse-0종 시 고정 7종 fallback+WARN+non-abort(ADR-116 never-reduce, 0종 fail-closed 아님). .ps1 parity(AC-7). copy source templates/github-workflows/ 무변경. reconcile(ongoing sync) 워크플로 갭은 분리 follow-up #2440. 신규 ADR 0 / required 신설 0 / branch protection 6-tuple 무변경. 6.42.0 → 6.43.0 MINOR (6.42.0=CFP-2432 #2443 병렬 세션 선점 → 6.43.0 회피). marketplace sync(ADR-063). + CFP-2432 (2026-06-27) — Story-shape 조건부 model tier Phase 2 enforcement (ADR-042 Amendment 16): low-stakes 4-AND shape(실자금 없음 ∧ production cutover 없음 ∧ 신규 신뢰경계 없음 ∧ live 외부 API 호출 없음)에서 InfraOperationalArchitectAgent opus→sonnet spawn-time override 발효 guardrail. 신규 consumer-facing surface — (F-7) scripts/check-stakes-tier-gating.sh (4-AND 판정 + max(floor,overlay) clamp 결정론 SSOT, discriminating test 8 truth-table + 3 trust-boundary row RED→GREEN 변별) + (F-3) overlay/hooks/check_bootstrap.py check 11/strict (f) story_stakes overlay down-tier 거부(확장-only schema-gate, ADR-127 §결정6) + docs/project-config-schema.md story_stakes 블록(conservative_override + down-tier 금지) + docs/consumer-guide.md §1m-2 + docs/orchestrator-playbook.md §3.0.12a gating 배선 + skills/deputy-mandate/SKILL.md InfraOpArch row stakes 분기 각주 + (F1) docs/domain-knowledge/concept/stakes-gated-model-tier-baseline.md (sonnet≥opus baseline 측정 4-step + opus 복원 trigger 3-임계, AC-9) + evidence-checks-registry stakes-tier-flip-evidence entry(warning-tier). frontmatter model:opus = fail-safe default(override 누락=opus, 현행 무변경). 메커니즘 신설 0(opts.model override 재사용, ADR-057 §결정4). lane plugin sibling = codeforge-design 0.29.0(InfraOpArch 주석) + codeforge-requirements 0.9.1(ChangeImpact sonnet 비준). 신규 ADR 0 / required 신설 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.41.1 → 6.42.0 MINOR (신규 consumer-facing governance surface = ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2433 (2026-06-27) — drift-check codex 매핑 decouple + superpowers 제거 (ADR-037 §A1-2 Amendment 3): scripts/check-codeforge-version-drift.sh 의 PLUGIN_MARKETPLACE 매핑이 marketplace registry name 과 GitHub source repo path 를 conflate 해 codex 엔트리([codex]=openai-codex/marketplace)가 404 repo 를 가리켜 codex 실 drift(installed 1.0.4 < latest 1.0.5)를 silent masking. 정정 = registry-name↔source-repo decouple — MARKETPLACE_REPO override 맵([openai-codex]=openai/codex-plugin-cc) 신설 + marketplace_version() 안에서만 consult(installed_version()/install hint 의 ${mp%/marketplace} cache-key 파생 무손상 = AC-5 codex cache 좌표 openai-codex/codex 보존). superpowers 엔트리([superpowers]=claude-plugins-official/marketplace) 제거(CFP-2249/ADR-122 의존 0 + 실 source .version 부재 → 고쳐도 fetch-failed = 제거 대상). 주석 카운트 정정(11→10 entry, 9→10 plugin = codeforge 9 + codex). ADR-037 §A1-2 Amendment 3 fact-correction(결정 내용 무변경 — codex/superpowers family invariant scope 제외 결정 보존, carrier prose 의 wrong codex repo 매핑 + superpowers 제거 + stale 9-plugin/family-7 count 만 정정). drift script self-test 신설(MARKETPLACE_REPO override resolution + superpowers 부재 + AC-5 cache 무손상 discriminating fixture). 신규 ADR 0 / required 신설 0 / branch protection 6-tuple 무변경. 6.40.0 → 6.40.1 PATCH (script behavior 정정 = silent false-negative → 정확 보고, 의도 동작 복원). marketplace version sync(ADR-063). + CFP-2434 (2026-06-27) — placement 게이트 consumer-applicable화 (Epic CFP-2418 deferred 배선 closure): CFP-2422 책임 배치 메타불변식 게이트(responsibility-topology-check.yml, L2 책임→레포) + CFP-2428 marker drift 게이트(responsibility-marker-drift-check.yml, L1 코드→책임) 가 consumer-applicability whitelist(consumer_applicable_workflows.txt) + closure manifest(consumer-scripts.manifest) 에 미등재 → wrapper(단일 repo, repo_topology 부재 → fail-open PASS)에서만 실행 = consumer PR 실작동 0 (목적 미달성). 본 Story 가 그 배포 배선을 닫음 — whitelist += 2 basename + manifest += 4 closure entry(.sh thin wrapper 2 + .py SSOT lib 2, ADR-130 §결정3/5 closure-완전성) + 4 asset chmod 100755(Check 4 exec-bit, .sh/.py 비면제) atomic. 게이트 본체(yml/sh/py) 무변경 — 순수 배포 closure(등재만). fail-open layer 분리(ADR-131 §결정2)로 repo_topology 미주입 consumer 는 공백 PASS layer = 전-consumer 배포 안전. 3-way 일관성 게이트(CFP-2412 whitelist-manifest-3way) 4면 PASS + Check 4 manifest lint PASS 실측. 신규 ADR 0(ADR-083/130/131 직접 적용). required 신설 0 / branch protection 6-tuple 무변경(ADR-127 ratchet). 6.40.0 → 6.41.0 MINOR (신규 consumer 배포 거버넌스 behavior 추가 = ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2426 (2026-06-26) — lane-count SSOT 일관성 게이트 신설 (ADR-060 Amendment 19 §결정 33): canonical 작업레인 수(10, ADR-125 Amendment 1)가 governance 문서 전반에서 단조 유지되는지 grep-기반 mechanical 검출 (warning-tier). 현재-상태 lane-count 단언(N 레인 / N번째 lane / 레인 N개, N≠10) 가 canonical=10 과 어긋나면 FLAG + 5축 allowlist(within-line 이중토큰 / negation / history / path / counterfactual) false-positive 차단. same-file channel-split: live description:/section: 값 = 검출 / date:/source_section:/amendment_log span = 면제. amendment_log span = line-local boolean toggle(enter=헤더 key / exit=dedent·다음 top-level key), multi-line regex 0(ReDoS-safe). check_lane_count_ssot.py Python SSOT(line-by-line ReDoS-safe anchored bounded-quantifier regex) + thin wrapper + .github single-root workflow(warning-tier continue-on-error) + self-contained discriminating test(22 fixture + 4 mutation 생존 0). evidence-checks-registry append(warning-tier, 17번째 warning-tier entry lane-count-ssot-consistency) + plugin.json tagline lane-count 8→10 genuine STALE 정정. 신규 ADR 0(ADR-060 Amendment 19 §결정 33 framework entry). required 신설 0 / branch protection 6-tuple 무변경 (ADR-127 ratchet). 6.38.0 → 6.40.0 MINOR (신규 governance lint gate 활성화 = governance behavior, ADR-037 (d); 6.39.0 = CFP-2428 #2430 병렬 세션 선점 → 6.40.0 회피). marketplace version sync(ADR-063). + CFP-2428 (2026-06-26) — declared-marker layer(L1 코드→책임) drift 게이트 신설 (Epic CFP-2418 deferred FU, ADR-131 Amendment 1): CFP-2422 메타불변식 게이트(L2 책임→레포)의 sibling layer. 멀티레포 consumer overlay project.yaml 의 repo_topology.responsibility_markers[] 섹션(docs/project-config-schema.md sibling 신설)을 읽어, 선언마커(L1)가 토폴로지(L2 responsibilities[]) 및 파일시스템(L3)과 transitive 일관성을 유지하는지 구조적으로만 대조하는 warning-tier CI gate. join-key = responsibility byte-identical 동일 namespace (L1·L2 묶는 유일 연결고리). drift 3종 (exit 1, continue-on-error 비차단): (a)unmarked(L2 책임 R 이 L1 manifest 에 entry 0 = set-diff topology − markers ≠ ∅) + (b)불일치(repo 지정 marker entry 의 marker.repo ≠ topology.owner_repo[R] = 문자열 동등; repo 미지정 entry 는 비대상 = 역방향 추론 안 함) + (c)stale(marker entry path/glob 이 fs 에 부재 = os.path.exists / glob.glob 0건, offline-first fs-stat gh 0). 역방향 고아(marker 에만 있고 topology 에 없는 R) = ::notice:: 만 (warning 아님, drift 카운트 0). layer 분리 fail-open (ADR-131 §결정2 동형 — ADR-130 fail-closed 와 다른 LAYER): repo_topology 미주입 / applicable!=true / markers 미주입·빈맵 = 정책값 공백 layer = PASS(exit 0, honest ::notice::). 스키마 무효(path/responsibility 키 부재·malformed·yaml 파싱 실패) = exit2(setup-error fail-closed). 기계(구조 대조) vs 사람(의미정합 attestation) 판정 분리 (ADR-131 §결정4 / ADR-119 검사연극 금지 — GitHub CODEOWNERS 동형). MVP invariant: 의미 추론 0 / hard-block 0 / 파일별 어노테이션 0 (polyglot-safe per-repo 구조화 manifest, AC-5). check_responsibility_marker_drift.py Python SSOT(yaml.safe_load + set 비교 = regex-free ReDoS-safe) + thin wrapper(ADR-061) + templates+.github byte-identical workflow(injection-safe pull_request NOT pull_request_target / permissions contents:read) + tests/scripts self-contained discriminating test(16 fixture mutation 생존 0 — unmarked/mismatch/stale/polyglot-glob/reverse-orphan/fail-open 4상태 honest-marker assert/malformed 4종). validate_config.py _is_list_of_marker_entries optional 등록(path/responsibility 필수 + repo 선택 + unknown child key reject). evidence-checks-registry append(warning-tier). disjoint from CFP-2422 (L1 marker vs L2 topology — 같은 부모 repo_topology, 검사 명제 비중첩). 신규 ADR 0(ADR-131 in-file Amendment 1). required 신설 0 / branch protection 6-tuple 무변경. 6.38.0 → 6.39.0 MINOR (신규 governance lint gate 활성화 = governance behavior, ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2422 (2026-06-26) — cross-repo 책임 배치 메타불변식 게이트 본구현 (Epic CFP-2418 Story 2, enforcement carrier): 멀티레포 consumer overlay project.yaml 의 repo_topology 섹션(S1/CFP-2419 신설) 메타불변식(ADR-131 §결정2)을 구조적 사실로 hard-block 하는 warning-tier CI gate. exit 3-tier: (a)고아(owner_repo well-formed 빈 리스트 0 entry = 주인없는 책임, 메타불변식② → exit 1) + (b)중복소유(동일 responsibility N≥2 owner_repo, 메타불변식③ → exit 1; 동일레포 2회 선언 = 정규화 set dedup 후 단일소유 PASS = 중복선언 ≠ 중복소유) + (c)거친파생(declared 소유레포 집합 ≠ actual 변경레포 집합 = 양방향 차집합 declared\actual / actual\declared 각각 출력 → exit 1; actual_changed_repos = git diff 기반 offline-first gh api 0 또는 --changed-repos sentinel fixture). layer 분리 fail-open (ADR-131 §결정2 verbatim — ADR-130 fail-closed 와 다른 LAYER): repo_topology 미주입 / applicable:false / 빈맵 = 정책값 공백 layer = PASS(exit 0, honest ::notice::). SS-1 경계: owner_repo 키 부재/malformed = exit2(스키마 무효 SETUP, 메타불변식④) / 키 존재+빈 리스트 = exit1(고아). 기계(구조 hard-block) vs 사람(의미정합 attestation) 판정 분리 (ADR-131 §결정4 / ADR-119 검사연극 금지 — GitHub CODEOWNERS 동형). check_responsibility_topology.py Python SSOT(yaml.safe_load + set 비교 = regex-free ReDoS-safe) + thin wrapper + templates+.github byte-identical workflow(injection-safe pull_request NOT pull_request_target / permissions contents:read) + tests/scripts self-contained discriminating test(16 fixture mutation 생존 0 — orphan/dup/dup-norm/drift 양방향/fail-open 3상태 honest-marker assert/SS-1~4). review-responsibility 매트릭스 행 (d) 신설(DesignReview+CodeReview merge-blocking attestation). evidence-checks-registry append(warning-tier) + label-registry-v2 v2.99→v2.100(hotfix-bypass:responsibility-topology 100 member, post-append raw-grep 실측). 신규 ADR 0(ADR-131 §결정3/4 enforcement 구현). required 신설 0 / branch protection 6-tuple 무변경. 6.37.3 → 6.38.0 MINOR (신규 governance lint gate 활성화 = governance behavior, ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2412 (2026-06-25) — whitelist↔manifest↔templates 3-way 일관성 CI gate 신설 (Epic CFP-2394 Story D, 최종): consumer-applicability 삼각 일관성(whitelist 28 ↔ templates/github-workflows/ ↔ manifest 49 closure) warning-tier CI gate. 방향1(whitelist→templates 실존 전수 miss=FAIL) + 방향2(manifest dep→whitelist subset) + 방향3(whitelist→manifest closure-asset 등재완전성, AM-3 run:-block-aware 추출) + depth-2(hard-exit 데이터 dep). graceful=data-absence 스크립트 EXIT 0(path-filter/on.paths skip 금지=required Pending trap 회피) + setup-error fail-closed exit 2. check_whitelist_manifest_3way.py Python SSOT(ReDoS-safe) + thin wrapper + .github single-root workflow(injection-safe pull_request) + 15 fixture discriminating test(mutation 생존 0). evidence-checks-registry 77→78 + label-registry-v2 v2.98→v2.99(hotfix-bypass:whitelist-manifest-3way 99 member). 신규 ADR 0(ADR-130 §결정3 closure ENFORCEMENT 적용). required 신설 0 / branch protection 6-tuple 무변경. 6.36.0 → 6.37.0 MINOR (신규 governance lint gate 활성화 = governance behavior, ADR-037 (d)). marketplace version sync(ADR-063). + CFP-2408 (2026-06-25) — consumer-applicability full closure manifest 등록 (Epic CFP-2394 Story B): consumer-applicable workflow 의 full closure(scripts+데이터+정책doc)를 templates/consumer-scripts.manifest 에 등록(16→49 entry, additions-only). Check 4 확장자-인지 면제(.tsv 데이터/.mjs import-only ESM 의 exec-bit 면제 + 이중확장 .sh.tsv 류 strict 우선 방어) + 22 script git index mode +x normalize + 6 fixture mutation-kill. ADR-130 closure-완전성 규칙(§결정5-A 채널=templates/github-workflows) 적용. required 신설 0 / branch protection 6-tuple 무변경. 6.35.0 → 6.36.0 MINOR (consumer 33 script 추가 배포 + Check 4 면제 runtime 활성화 = governance behavior). marketplace version sync(ADR-063). + CFP-2383 (2026-06-20) — spawn-prompt-fact-verify 게이트 mechanical wire (ADR-082 Amendment 37 §결정 1 layer 1 sub-scope 1-Z, sub-scope 1-L CFP-1590 carrier): worker→worker handoff spawn prompt PR-body-proxy 안 C1-C5 fact category (C1 counter / C2 version / C3 SHA / C4 verify-result / C5 file-existence) inherit fact 단언 시 동일-window [verified-via:] annotation presence lint (warning-tier). 4 sub-source inherit fact (사용자 발화 / sibling Issue body / sister PR commit message / 별 carrier retro file). 삭제된 1-W source (c84fadf3) C1-C5 PATTERNS 이식 + S2 (CFP-2382) issue-body-claim-pre-screen 구조 답습 (line-by-line in_fence toggle + strip_inline_code + PER_BLOCK_SCAN_CAP=50 + ANNOTATION_MARKER 정적 substring + exit 0=PASS/1=FLAG/2=SETUP) + PR-event trigger (pull_request opened/synchronize/reopened, tier-downgrade-guard.yml 선례 답습 — carrier workflow = spawn-prompt-fact-verify.yml). check_spawn_prompt_fact_verify.py Python SSOT (ReDoS-safe anchored bounded-quantifier regex, nested quantifier 0) + thin wrapper + .github single-root workflow + self-contained discriminating test. injection-safe (pull_request NOT pull_request_target / permissions contents:read,pull-requests:read / env-injection only — run inline 보간 금지, fork-PR shell injection 차단). PR-body-proxy 한계 명시 (실 spawn prompt 아닌 proxy, transcribe 케이스만 검출) → warning-tier advisory (위조 false-PASS 구조적 가능, 보안 통제 신뢰 금지). registry entry status deferred-followup → Active flip (current_tier:warning 불변) + label-registry-v2 v2.98 MINOR (hotfix-bypass:spawn-prompt-fact-verify 115번째 family member, 1-W name 충돌 회피). required 신설 0 / branch protection 6-tuple 무변경 (ADR-127 ratchet). 6.33.0 → 6.34.0 MINOR (신규 lint runtime 활성화 = governance behavior). marketplace version sync(ADR-063). + CFP-2382 (2026-06-20) — issue-body-claim-pre-screen 게이트 mechanical wire (ADR-082 Amendment 20 §결정 15, CFP-1559 carrier): orchestrator-authored followup Issue body 안 4 sub-pattern (PR state / CFP state / count / sister carrier) stale-claim 을 동일-line [verified-via:] annotation presence 로 write-time pre-screen (warning-tier). Wave 1 declarative anchor(CFP-1559)의 Wave 2 wire. check_issue_body_claim_pre_screen.py Python SSOT (line-by-line in_fence toggle masking + inline code-span strip — fenced 내부 빈줄 fragmentation 0, ReDoS-safe anchored regex) + thin wrapper + .github single-root workflow (on:issues opened/edited, R1 scope predicate = codeforge-improvement AND (type:improvement OR title [CFP-FU/[CFP][FU), story-init.yml 답습) + self-contained discriminating test (23 TC, mutation 생존 0). count enum 한글 확장 (건/개/곳/줄/회/어휘 — ordinal-모호 번/항목/차례 제외, FP 보수) + 구조화 FLAG message (pattern/line/claim/hint). registry entry status deferred-followup → Active flip (current_tier:warning 불변). required 신설 0 / branch protection 6-tuple 무변경 (ADR-127 ratchet). 6.32.0 → 6.33.0 MINOR (신규 lint runtime 활성화 = governance behavior). marketplace version sync(ADR-063). + CFP-2381 (2026-06-20) — deferred-followup reconcile 게이트 (ADR-060 Amendment 18 §결정 32): §결정 19 auto_blocking 라벨의 mechanical forcing function 신설. '임계 초과 + auto_blocking + 전용 carrier 부재' evidence-checks-registry entry 자동 검출 + 강제 action 3택 (배선/강등/폐기, warning-tier). carrier-부재 = detect_command OR workflow 경로 파일 ABSENT (닫힌집합 + fail-loud 경로추출, status-agnostic broad criterion, 2-root parity). self-validation test job (다형 fixture mutation 생존 0) + STALE 2 status flip (bootstrap-labels-precondition + schema-change-7-principles-self-check) + 16번째 registry self-entry. required 신설 0 / branch protection 6-tuple 무변경 (ADR-127 ratchet). 6.31.0 → 6.32.0 MINOR (신규 lint runtime 활성화 = governance behavior). marketplace version sync(ADR-063). + CFP-2377 (2026-06-20) — 완료 단계 정식화 (ADR-128 + ADR-040 Amd9 + ADR-045 Amd13): merge 직후 wrap-up 을 정식 '완료 단계' 로 격상. (갭 A) backstop GC 자동 트리거 복원 = hooks.json SessionEnd async dispatch 단일 wire (hooks/session-end → check-worktree-stale.sh background GC, 문서-실배선 drift 복원 — SessionStart async 무시·동기 지연 회귀라 배제, 트리거 단일화 invariant = Stop 동시 wire 금지) + phase:완료 worktree-clean self-check 신규 (scripts/check-worktree-completion-clean.sh, eager 미실행 검출 게이트, F2 sub-worktree vs Story root mergedAt 구분 계약, fail-safe 4종 상속, warning-tier + workflow:null local-only — required CI 불가). (갭 B) 4-트리거 (post-merge-followup / retro-mandatory / GitOpsAgent eager / phase:완료) 수렴 SSOT = playbook §9.7.2 명문화 (신규 SSOT 0, 클라우드↔로컬 비대칭 = 절차+텔레메트리 조합). (갭 C) Living Architecture / Confluence mirror 재정합 = 유예 (ADR-112/111 owner pointer). 신규 lane 0 / required check 0 / branch protection 6-tuple 무변경 (ADR-024 Amd19 §B 정합) / process-skip 채널 0 (ADR-127 ratchet 정합). 6.30.0 → 6.31.0 MINOR (SessionEnd hook 신규 + 완료-게이트 기능). marketplace version sync(ADR-063). Claude Code 범용 SW 개발 오케스트레이션 플러그인. 0 core 에이전트 (wrapper-only) · 10 레인 + CI gate + role:dev 동적 roster 로 요구사항 접수부터 배포 리뷰 통과까지 자율 실행. Epic 내 Story 전환 자율 진행(ADR-071 §결정 22 — 전환 지점 over-halt/over-ask 방지, 2채널 reminder hook). 6.66.0 → 6.67.0 MINOR + CFP-2753 (2026-07-18) — ADR category compound-slash 3값 정규화(131→governance/132→security/133→orchestration) + FROZEN_BASELINE_3 grandfather machinery 은퇴(shrink-only 종착, anti-regression guard 대체) + ADR-153 Amd1. 정식 10-lane. MINOR. marketplace sync(ADR-063).
codeforge 프로젝트 전용 brainstorming — Requirements 에이전트 4종 병렬 컨텍스트 수집 후 강화된 설계 대화 진행. ADR-034 Amendment 1에 의해 Stage 0 공식 스킬로 지정. Amendment 2 (CFP-386) 에 의해 Phase 0 자동 실행.
0-context 개발자도 그대로 실행 가능한 구현 계획서(plan) 작성 native skill. codeforge:brainstorm Phase 2 종료 + ArchitectAgent §3 작성에서 cross-agent 재사용. 외부 writing-plans plugin 없이 자립(ADR-122 §결정 2/3).
codeforge family 의 Confluence doc-mirror governance 진입점. wrapper-self (CFP space) + consumer (per-instance) 양 적용. 5 ADR + IA tree + agent + workflow + script 분산 자료 단일 진입점. 호출 시점 = consumer 측 Confluence migration 결정 + wrapper-self IA mirror 작업.
6 permanent + 3+1 CONDITIONAL deputy mandate matrix. §3/§7/§11/§13 sub별 ownership (SecurityArch·InfraOperationalArch·TestContractArch·DataArch·ModuleArch·APIContractArch + CONDITIONAL LiveOps·LiveOrdering·ProductionEvidence + ModuleArch aggregate-level applicability P2). ArchitectAnalyst = 4-tuple sub-tuple (deputy 아님). 설계 lane ArchitectPLAgent deputy spawn 결정 전 Orchestrator 호출 의무. CFP-1086 / ADR-042-agent-model-selection-policy Amendment 8 — BackendArchEpic Phase 2 design lane 7+3+1 roster 재편. CFP-1126 / ADR-042-agent-model-selection-policy Amendment 10 + ADR-091 Amendment 1 — AggregateArch deprecated + ModuleArch boundary axis unified (7+3+1 → 6+3+1), RACI matrix 4-way → 3-way 전면 재편 (CFP-1168 realized).
§10 FIX Ledger 스키마 + RESET 룰 + max FIX 카운터. FIX 루프 트리거 시 root-cause-decision과 함께 Orchestrator 호출 의무. Orchestrator 단독 §10 append 독점 (fix-event-v1 contract).
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Claude Code 범용 SW 개발 오케스트레이션 플러그인. 사용자 요구사항 한 건을 받아 0 core 에이전트 (wrapper-only) + 8 lane plugin (codeforge-{requirements,design,review,develop,test,deploy,deploy-review,pmo}) + role: dev 동적 roster · 10 레인 구조로 요구사항 해석 → 요구사항 리뷰 → 설계 → 설계 리뷰 → 구현 → 구현 리뷰 → 통합 테스트 → 보안 테스트 → 배포 → 배포 리뷰까지 자율 실행한다.
role: dev 동적 roster · 10 레인 · 1 Cross-cutting (PMOAgent) 구조로 SW 개발 프로세스 전반 커버presets/webapp 등) — 웹앱·CLI·라이브러리·임베디드 등 Dev 구성 번들을 골라 overlay에 임포트templates/) — Change Plan · ADR · Story Page · Impl Manifest 양식 일원화(Human) 사용자
↓
Orchestrator (최상위 Claude 세션)
├── [Cross-cutting] PMOAgent
├── [요구사항] RequirementsPL (DomainAgent ‖ Analyst ‖ Researcher 병렬)
├── [설계] ArchitectPLAgent (CodebaseMapper ‖ Refactor ‖ SecurityArchitect ‖ TestContractArch 병렬, ArchitectAgent chief author)
├── [설계 리뷰] DesignReviewPL (Claude ‖ Codex)
├── [구현] DeveloperPL (role:dev roster 병렬) + QADev
├── [구현 리뷰] CodeReviewPL (Claude ‖ Codex)
├── [구현 테스트] TestAgent
├── [보안 테스트] SecurityTestPL (Claude ‖ Codex)
├── [배포] DeployPL
└── [배포 리뷰] DeployReviewPL
상세는 CLAUDE.md 참조.
/plugins marketplace add mclayer/marketplace
/plugins install codeforge@mclayer
또는 ~/.claude/settings.json에 영구 등록:
{
"extraKnownMarketplaces": {
"mclayer": { "source": { "source": "github", "repo": "mclayer/marketplace" } }
},
"enabledPlugins": { "codeforge@mclayer": true }
}
github (Issue/PR/sub-issue/comment write)codex@openai-codex, superpowers@claude-plugins-official, claude-md-management@claude-plugins-official, github@claude-plugins-officialcodex, gh세션 개시 시 자동 점검 · 미설치 시 blocking wait.
codeforge 의 6 핵심 workflow (story-init.yml 외 5종) 는 PR / branch create / Issue comment write 권한을 사용. GitHub Enterprise org 의 admin policy 가 default_workflow_permissions: read cap 으로 차단 시 workflow silent skip → Story init 실패. enterprise admin 권한 보유 환경에서 다음 prerequisite 활성 의무:
repo Settings → Actions → General → "Workflow permissions" 영역:
Read repository contents and packages permissions 에서 전환)CLI 등가 명령:
gh api --method PUT repos/<owner>/<repo>/actions/permissions/workflow \
-f default_workflow_permissions=write \
-F can_approve_pull_request_reviews=true
default_workflow_permissions: read 차단 환경에서는 story-init.yml 의 Create Phase 1 PR step 이 continue-on-error: true 로 graceful 실패 → 후속 step 이 Issue comment 로 manual fallback 안내 자동 게시. CFP-658 Wave 1 fallback path 가 대체 진입점으로 활성:
.claude/_overlay/project.yaml 에 bootstrap.fallback_mode: action_blocked 설정 (declarative trigger A)fallback:manual label 부착 (per-Issue override trigger C)bash templates/scripts/manual-story-init-fallback.sh <ISSUE_NUMBER> 호출상세 SSOT: docs/consumer-guide.md §1h Action 차단 환경 fallback + ADR-027 §결정 6.
핵심 단계:
# consumer project root에서
mkdir -p .claude/_overlay/agents
.claude/settings.json에 SessionStart hook 등록:
{
"hooks": {
"SessionStart": [
{ "command": "bash ${CLAUDE_PLUGIN_ROOT}/codeforge/overlay/hooks/regen-agents.sh" }
]
}
}
.claude/_overlay/CLAUDE.md와 .claude/_overlay/agents/<Name>.md(필요한 에이전트만)에 프로젝트 특화 내용 작성.
npx claudepluginhub mclayer/marketplace --plugin codeforgeComprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Harness-native ECC operator layer - 67 agents, 278 skills, 94 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Lazy senior dev mode. Forces the simplest, shortest solution that actually works: YAGNI, stdlib first, no unrequested abstractions.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques