8.2 KiB
title, source_type, status, branch, parent_branch, related_projects, governing_docs, tags, created, target_merge, status_label, id, kind, project, work_item, inherits, refines, overrides, depends_on, imports, delegates, accepts_delegations, contract_packet
| title | source_type | status | branch | parent_branch | related_projects | governing_docs | tags | created | target_merge | status_label | id | kind | project | work_item | inherits | refines | overrides | depends_on | imports | delegates | accepts_delegations | contract_packet | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| branch / feature-idempotency-ownership-protocol-contract | branch-note | raw | feature-idempotency-ownership-protocol-contract |
|
|
|
2026-07-28 | in-progress | BR-CA-SKELETON-OPERATIONAL-CONTRACT-070 | project-work-item | ca-skeleton-operational-contract | WI-CA-SKELETON-OPERATIONAL-CONTRACT-070 |
|
|
1 |
branch: feature-idempotency-ownership-protocol-contract
Layer:
raw/branch-notes/— 단일 브랜치의 TODO·결정·진행 기록. 머지/종료 후 verified 결과는/ingest로wiki/projects/에 추출. 원본은 raw에 영구 보관.status_label:in-progress|review|merged|abandoned스캐폴딩 상태 — 결정(D-row)·구현 가이드는 비어 있다./branch-spec feature-idempotency-ownership-protocol-contract로 채운다.
부모 (필수)
- Parent project (canonical SSOT): raw/project-notes/ca-skeleton-operational-contract
분해 근거:
docs/superpowers/specs/2026-07-28-ca-skeleton-production-capability-feature-decomposition-design.md§4.2 — 능력 계약 (Tier C). 본 branch 는 project §8.0WI-CA-SKELETON-OPERATIONAL-CONTRACT-070의 실행 단위다.
형제 branch (같은 부모의 다른 자식 — 인접 영역):
- raw/branch-notes/feature-rate-limit-idempotency-contract
- raw/branch-notes/feature-kafka-consumer-inbox-contract
- raw/branch-notes/feature-transaction-concurrency-contract
브랜치 계약 패킷
project Work Item 에서 내려온 실행 계약의 snapshot. 여기에는 pinned pointer + 1줄 요약 + branch 적용점만 쓰고 상세를 복제하지 않는다.
- 생성 시 프로젝트 개정:
1 - 패킷 스키마:
contract_packet: 1 - 완료 조건: owner token 프로토콜·lease 분리·보증 등급별 provider 공통 계약 test 가 통과한다
상속한 프로젝트 결정
| Decision Ref | Project Summary | Branch Application | Source |
|---|---|---|---|
DEC-CA-SKELETON-OPERATIONAL-CONTRACT-IDEMPOTENCY-OWNERSHIP-001@1 |
idempotency는 owner token 기반 claim·renew·complete·release 프로토콜을 쓰고 실행 lease와 replay TTL을 분리하며 보증 등급을 명시한다 | /branch-spec 에서 적용 경계 작성 |
raw/project-notes/ca-skeleton-operational-contract |
DEC-CA-SKELETON-OPERATIONAL-CONTRACT-IDEMPOTENCY-001@1 |
idempotency scope는 principal·key·useCase이며 tenant 활성화 시 tenant를 prefix한다 | /branch-spec 에서 적용 경계 작성 |
raw/project-notes/ca-skeleton-operational-contract |
브랜치 지역 결정
/branch-spec단계에서 작성한다. 근거 없이 추측해 채우지 않는다.
| Decision ID | Decision | Relation | Supporting Claims | Status |
|---|
선언한 예외
| Override ID | Overrides | Reason | Approval | Status |
|---|
가져온 프로젝트 계약
| Ref | Owner | 요약 | Branch 적용 |
|---|
목표
WI-CA-SKELETON-OPERATIONAL-CONTRACT-070의 완료 조건을 구현한다: owner token 프로토콜·lease 분리·보증 등급별 provider 공통 계약 test 가 통과한다- 주도권 이전 수신 — H1 (raw/branch-notes/feature-rate-limit-idempotency-contract D2·D3·D6·D7·D8·D9). 이전 절차는
docs/superpowers/specs/2026-07-28-ca-skeleton-production-capability-feature-decomposition-design.md§5.2 6단계를 따른다. 기존 branch 의 D-row 는/branch-spec으로 본 branch 결정이 확정된 뒤 포인터로 치환한다. - 이슈:
- PR:
범위
포함 범위
- owner token 기반
claim / renew / complete / release프로토콜 - claim 결과 —
ACQUIRED/REPLAY/IN_PROGRESS/FINGERPRINT_MISMATCH - 실행 lease 와 완료 응답 replay TTL 의 분리
- stale owner 연산의 ownership-lost 반환과 새 claim 변조 금지
- fingerprint 정규화·버전, 저장 응답 크기·암호화·codec 버전 상한
- 보증 등급 —
REQUEST_REPLAY/SAME_STORE_TRANSACTIONAL/EXTERNAL_IDEMPOTENCY - JPA·Redis provider 공통 계약 suite
제외 범위
의도적으로 제외한 것. 면접 등에서 "이건 범위에 없었습니다"라고 답할 근거.
- rate limit — #068 소유
Idempotency-Key헤더 표면 —feature-api-contract-baseline소유- 심층 명세 — 본 노트는 스캐폴딩. D-row 와 §구현 가이드는
/branch-spec이 채운다. - project decision registry 변경 — owner 는 project-note
근거 (필수, 최소 1개+)
외부 근거 미등록.
/branch-spec feature-idempotency-ownership-protocol-contract단계에서 verbatim 인용과 함께raw/official-docs/로 수집한 뒤 여기서 링크한다.
| Source | 정당화하는 결정 |
|---|---|
| (미등록) | 1차 수집 대상: IETF idempotency draft / Stripe / Toss (기존 raw 4종 재사용) · ca-tmpl platform 설계 §9 |
프로젝트 내부 설계 참조 (등급 internal-design-doc — 공식 문서 아님, best practice 로 격상 금지):
- ca-tmpl
docs/superpowers/specs/2026-07-26-production-capability-platform-design.md - llm-wiki
docs/superpowers/specs/2026-07-28-ca-skeleton-production-capability-feature-decomposition-design.md
TODO
각 항목 옆에 증거 등급 표기: actually-implemented | locally-verified | prod-verified | documented-only | planned | needs-confirmation
/branch-spec feature-idempotency-ownership-protocol-contract로 D-row·§구현 가이드 작성 — 등급:planned- owner token 프로토콜·lease 분리·보증 등급별 provider 공통 계약 test 가 통과한다 — 등급:
planned
진행 중 메모
아직 없음.
결정 사항
project 결정 외 branch-local 결정은 아직 없음. /branch-spec 단계에서 기록한다.
결정-근거 매핑
/branch-spec단계에서 작성한다.
| Decision ID | Decision | 선택 조건 (언제 이 결정 / 언제 대안) | Supporting Claims | Evidence Strength | Open Risk |
|---|
구현 가이드
/branch-spec 단계에서 source claim 기반으로 작성한다. 3-rule meta principle(R1 Reference 필수 / R2 UNSUPPORTED_IMPL_DECISION 명시 / R3 OUT_OF_BRANCH_SCOPE 정제) 적용.
엣지·실패·의존
- 실패·엣지 경로:
/branch-spec단계에서 구체화한다. - 다른 계약 의존:
WI-CA-SKELETON-OPERATIONAL-CONTRACT-060(raw/branch-notes/feature-capability-provider-selection-contract) 의 계약에 의존
검증해야 할 주장
| Claim | Why uncertain | How to verify | Status |
|---|---|---|---|
| 본 branch 가 소유할 관심사가 sibling branch 결정과 겹치지 않는다 | 스캐폴딩 시점에는 D-row 가 없어 경계가 문장으로만 존재 | /branch-spec 후 /sync 실행 — owner 중복 검출 |
needs-confirmation |
관심사 커버리지 (coverage-auditor 자동 생성 — 있을 때)
/coverage 실행 전.
마주친 문제
아직 없음.
묶음 (이 branch에서 파생된 자료)
관련 일일 노트
해당 없음.
완료 후 정리
- PR 링크:
- 리뷰 메모:
- 머지 결과 / 배포 환경:
- wiki 추출 대상 (verified만,
wiki/projects/로만 추출): - 추출하지 않을 항목 (planned / documented-only / abandoned):