chore: record pre-existing uncommitted repository state
Snapshot of the in-flight state that already existed, identically, in both this worktree and the main checkout before this session began: the initial HTTP Client platform implementation (previously untracked), the redis-lab removal, and the JPA / object-storage / notification integration work. Kept separate from this session's HTTP Client review response, which lands in the following commit, so the two bodies of work stay reviewable apart. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
1a3b560678
commit
5f10b791d3
@@ -0,0 +1,43 @@
|
||||
# Redis Wrapper 및 Typed API 설계 패키지
|
||||
|
||||
이 패키지는 Spring 기반 Backend Skeleton에서 Redis 자료구조와 명령을 폭넓게 제공하기 위한 설계서와 구현 계획서다.
|
||||
|
||||
## 문서
|
||||
|
||||
- `docs/superpowers/specs/2026-08-07-redis-wrapper-typed-api-design.md`
|
||||
- 범위와 비지원 범위
|
||||
- Redis 버전·배포 모드
|
||||
- 모듈과 의존 규칙
|
||||
- 자료구조별 동기·Reactive Typed API
|
||||
- R1~R4 명령 노출 정책
|
||||
- permit·budget·Raw Gateway·Admin Plane
|
||||
- namespace·직렬화·TTL·timeout·retry·오류·관측성·ACL
|
||||
- Standalone·Sentinel·Cluster
|
||||
- 테스트·CI·완료 정의
|
||||
|
||||
- `docs/superpowers/plans/2026-08-07-redis-wrapper-typed-api-implementation-plan.md`
|
||||
- 27개 구현 작업
|
||||
- 작업별 생성·수정 파일
|
||||
- 작업 간 입력·출력 인터페이스
|
||||
- 실패 테스트, 실행 명령, 최소 구현, 통과 검증, 커밋
|
||||
- Redis 7.2·7.4·8.2·8.10 및 Sentinel·Cluster 테스트 작업
|
||||
|
||||
- `VALIDATION.md`
|
||||
- 문서 구조와 계획 완전성에 대한 정적 검증 결과
|
||||
|
||||
## 핵심 결정
|
||||
|
||||
1. classic Redis 자료구조는 최대한 Typed API로 제공한다.
|
||||
2. 고비용·Blocking·다중 키 명령은 permit와 `OperationBudget`을 요구한다.
|
||||
3. Typed API에 아직 없는 R1·R2 명령은 승인형 Raw Gateway로 제공한다.
|
||||
4. 운영 명령은 별도 Admin Plane, 파괴적 명령은 SDK 차단으로 분리한다.
|
||||
5. command catalog는 Redis 공식 metadata에서 생성하고 조직 정책을 오버레이한다.
|
||||
6. 동기와 Reactive API를 정식 지원하고 같은 내부 async primitive를 공유한다.
|
||||
7. 일반·Blocking·Transaction·Pub/Sub·Admin 연결을 격리한다.
|
||||
8. timeout 후 write는 자동 재시도하지 않고 실행 결과 불명을 표현한다.
|
||||
|
||||
## 적용 전제
|
||||
|
||||
현재 Backend Skeleton 저장소가 첨부되지 않아 경로와 Gradle 구조는 목표 구조로 확정했다. 실제 저장소에 적용할 때 기존 package naming, convention plugin, dependency management가 더 강한 기준을 이미 갖고 있다면 구조적 계약은 유지하면서 해당 규칙에 맞춘다.
|
||||
|
||||
입력 Markdown이 참조한 309행 Excel 워크북은 현재 작업 공간에 존재하지 않았다. 따라서 정확한 command matrix는 구현 과정에서 `COMMAND DOCS`, `COMMAND INFO`, `COMMAND GETKEYSANDFLAGS`를 읽어 재생성하고 정책 오버레이를 적용하도록 설계했다.
|
||||
@@ -0,0 +1,38 @@
|
||||
# 정적 검증 결과
|
||||
|
||||
- **결과:** PASS
|
||||
- **검사 수:** 29
|
||||
- **설계서 SHA-256:** `e742ea78f4f40c2f5ed65093a71d2c85c27da52b0761374030a5ca64143aea63`
|
||||
- **계획서 SHA-256:** `6592a37373a79bc2ccf9434fc3516d8273d9f9369e392d5e4f3360a46d6398c0`
|
||||
|
||||
| 검사 | 결과 | 세부 |
|
||||
|---|---|---|
|
||||
| 설계서 파일 존재 | PASS | docs/superpowers/specs/2026-08-07-redis-wrapper-typed-api-design.md |
|
||||
| 설계서 코드 펜스 균형 | PASS | fences=70 |
|
||||
| 설계서 미확정 표식 없음 | PASS | none |
|
||||
| 계획서 파일 존재 | PASS | docs/superpowers/plans/2026-08-07-redis-wrapper-typed-api-implementation-plan.md |
|
||||
| 계획서 코드 펜스 균형 | PASS | fences=276 |
|
||||
| 계획서 미확정 표식 없음 | PASS | none |
|
||||
| 계획 작업 수 | PASS | 27 tasks |
|
||||
| 모든 작업 Step 1 보유 | PASS | 27/27 |
|
||||
| 모든 작업 Step 2 보유 | PASS | 27/27 |
|
||||
| 모든 작업 Step 3 보유 | PASS | 27/27 |
|
||||
| 모든 작업 Step 4 보유 | PASS | 27/27 |
|
||||
| 모든 작업 Step 5 보유 | PASS | 27/27 |
|
||||
| 모든 작업 **Files:** 보유 | PASS | 27/27 |
|
||||
| 모든 작업 **Interfaces:** 보유 | PASS | 27/27 |
|
||||
| 모든 작업 git commit -m 보유 | PASS | 27/27 |
|
||||
| Create 경로 중복 없음 | PASS | none |
|
||||
| Superpowers 계획 헤더 | PASS | required header present |
|
||||
| 설계 입력 제약 명시 | PASS | missing workbook handled explicitly |
|
||||
| Typed/Advanced/Raw/Admin 4단계 | PASS | four exposure tiers |
|
||||
| classic 자료구조 범위 | PASS | all classic groups present |
|
||||
| 동기·Reactive parity 계획 | PASS | API parity covered |
|
||||
| permit 위조 검증 | PASS | provenance verification covered |
|
||||
| 토폴로지 task 선행 등록 | PASS | test tasks available before contracts |
|
||||
| 환경 파일 생명주기 일관성 | PASS | create once, extend twice |
|
||||
| 잘못된 Persistent factory 없음 | PASS | constructor usage consistent |
|
||||
| 공유 async primitive | PASS | sync/reactive executor share invocation |
|
||||
| Raw 문자열 API 금지 | PASS | guardrail fixed |
|
||||
| R4 차단 | PASS | blocked in plan and design |
|
||||
| 완료 정의 존재 | PASS | definition and release task present |
|
||||
+2233
File diff suppressed because it is too large
Load Diff
+1497
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user