{"name":"mclayer-mclayer","owner":{"name":"ClaudePluginHub"},"plugins":[{"name":"mclayer-codeforge","source":{"source":"github","repo":"mclayer/plugin-codeforge"},"description":"+ 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).","version":"6.116.0","strict":true,"keywords":["orchestration","agents","software-development","tdd","code-review","security-testing","stateful-testing","overlay","preset","structured-config"],"category":"productivity"}]}