Files
llm-wiki/raw/branch-notes/feature-edge-rate-limit-policy-registry-contract.md

8.4 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-edge-rate-limit-policy-registry-contract branch-note raw feature-edge-rate-limit-policy-registry-contract
ca-skeleton
raw/project-notes/ca-skeleton-operational-contract
branch
ca-skeleton
rate-limit
algorithm
policy-registry
transport-edge
2026-07-28 in-progress BR-CA-SKELETON-OPERATIONAL-CONTRACT-068 project-work-item ca-skeleton-operational-contract WI-CA-SKELETON-OPERATIONAL-CONTRACT-068
DEC-CA-SKELETON-OPERATIONAL-CONTRACT-RATE-LIMIT-ALGORITHM-001@1
DEC-CA-SKELETON-OPERATIONAL-CONTRACT-RATE-LIMIT-001@1
WI-CA-SKELETON-OPERATIONAL-CONTRACT-062
1

branch: feature-edge-rate-limit-policy-registry-contract

Layer: raw/branch-notes/ — 단일 브랜치의 TODO·결정·진행 기록. 머지/종료 후 verified 결과는 /ingestwiki/projects/에 추출. 원본은 raw에 영구 보관. status_label: in-progress | review | merged | abandoned 스캐폴딩 상태 — 결정(D-row)·구현 가이드는 비어 있다. /branch-spec feature-edge-rate-limit-policy-registry-contract 로 채운다.

부모 (필수)

분해 근거: docs/superpowers/specs/2026-07-28-ca-skeleton-production-capability-feature-decomposition-design.md §4.2 — 능력 계약 (Tier C). 본 branch 는 project §8.0 WI-CA-SKELETON-OPERATIONAL-CONTRACT-068 의 실행 단위다.

형제 branch (같은 부모의 다른 자식 — 인접 영역):

브랜치 계약 패킷

project Work Item 에서 내려온 실행 계약의 snapshot. 여기에는 pinned pointer + 1줄 요약 + branch 적용점만 쓰고 상세를 복제하지 않는다.

  • 생성 시 프로젝트 개정: 1
  • 패킷 스키마: contract_packet: 1
  • 완료 조건: 알고리즘 6종 교체·policy registry·decision 기반 Retry-After·fallback test 가 통과한다

상속한 프로젝트 결정

Decision Ref Project Summary Branch Application Source
DEC-CA-SKELETON-OPERATIONAL-CONTRACT-RATE-LIMIT-ALGORITHM-001@1 rate limit은 policyId 단위로 알고리즘을 선택하고 fixed window·sliding counter·token bucket을 기본 제공하며 sliding log·GCRA·leaky bucket은 opt-in이다 /branch-spec 에서 적용 경계 작성 raw/project-notes/ca-skeleton-operational-contract
DEC-CA-SKELETON-OPERATIONAL-CONTRACT-RATE-LIMIT-001@1 authenticated는 principal, unauthenticated는 IP와 normalized route를 rate-limit key로 사용한다 /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-068 의 완료 조건을 구현한다: 알고리즘 6종 교체·policy registry·decision 기반 Retry-After·fallback test 가 통과한다
  • 주도권 이전 수신 — H2 (raw/branch-notes/feature-rate-limit-idempotency-contract D4·D5). 이전 절차는 docs/superpowers/specs/2026-07-28-ca-skeleton-production-capability-feature-decomposition-design.md §5.2 6단계를 따른다. 기존 branch 의 D-row 는 /branch-spec 으로 본 branch 결정이 확정된 뒤 포인터로 치환한다.
  • 이슈:
  • PR:

범위

포함 범위

  • transport-edge 계약 — RateLimitRequest(policyId, subjectHash, cost)RateLimitDecision(allowed, remaining, retryAfter, resetAt)
  • policyId registry — 알고리즘·용량·window·burst·cost·실패 모드·subject 차원 선언
  • 알고리즘 6종 — fixed window / sliding counter / token bucket 기본, sliding log / GCRA / leaky bucket opt-in
  • 키 차원 environment + policyId + tenant? + subjectHash 와 원문 PII·토큰·URL 금지
  • decision 기반 Retry-After (고정 1초 대체)
  • Redis 장애 시 local emergency limiter 의 경계와 degraded 신호

제외 범위

의도적으로 제외한 것. 면접 등에서 "이건 범위에 없었습니다"라고 답할 근거.

  • idempotency — #070 소유
  • HTTP 응답 코드·헤더 표면 — feature-api-contract-baseline 소유
  • Lua program 실행 기반 — #062 소유
  • 심층 명세 — 본 노트는 스캐폴딩. D-row 와 §구현 가이드는 /branch-spec 이 채운다.
  • project decision registry 변경 — owner 는 project-note

근거 (필수, 최소 1개+)

외부 근거 미등록. /branch-spec feature-edge-rate-limit-policy-registry-contract 단계에서 verbatim 인용과 함께 raw/official-docs/ 로 수집한 뒤 여기서 링크한다.

Source 정당화하는 결정
(미등록) 1차 수집 대상: Redis 공식 — rate-limiter use case · ca-tmpl platform 설계 §8.5

프로젝트 내부 설계 참조 (등급 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-edge-rate-limit-policy-registry-contract 로 D-row·§구현 가이드 작성 — 등급: planned
  • 알고리즘 6종 교체·policy registry·decision 기반 Retry-After·fallback 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 정제) 적용.

엣지·실패·의존

검증해야 할 주장

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):