Files
llm-wiki/raw/branch-notes/feature-session-auth-mode-contract.md

7.9 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-session-auth-mode-contract branch-note raw feature-session-auth-mode-contract
ca-skeleton
raw/project-notes/ca-skeleton-operational-contract
branch
ca-skeleton
session
authentication
redis-session
multi-pod
2026-07-28 in-progress BR-CA-SKELETON-OPERATIONAL-CONTRACT-069 project-work-item ca-skeleton-operational-contract WI-CA-SKELETON-OPERATIONAL-CONTRACT-069
DEC-CA-SKELETON-OPERATIONAL-CONTRACT-SESSION-MODE-001@1
WI-CA-SKELETON-OPERATIONAL-CONTRACT-061
1

branch: feature-session-auth-mode-contract

Layer: raw/branch-notes/ — 단일 브랜치의 TODO·결정·진행 기록. 머지/종료 후 verified 결과는 /ingestwiki/projects/에 추출. 원본은 raw에 영구 보관. status_label: in-progress | review | merged | abandoned 스캐폴딩 상태 — 결정(D-row)·구현 가이드는 비어 있다. /branch-spec feature-session-auth-mode-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-069 의 실행 단위다.

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

브랜치 계약 패킷

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

  • 생성 시 프로젝트 개정: 1
  • 패킷 스키마: contract_packet: 1
  • 완료 조건: 배타 인증 모드·CSRF·쿠키·회전·다중 파드 세션 계약 test 가 통과한다

상속한 프로젝트 결정

Decision Ref Project Summary Branch Application Source
DEC-CA-SKELETON-OPERATIONAL-CONTRACT-SESSION-MODE-001@1 인증 모드는 jwt와 redis-session이 배타이고 jwt가 default이며 redis-session은 전용 session role과 CSRF·쿠키·회전·다중 파드 계약을 동반한다 /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-069 의 완료 조건을 구현한다: 배타 인증 모드·CSRF·쿠키·회전·다중 파드 세션 계약 test 가 통과한다
  • 주도권 이전 수신 — H7 (feature-security-operational-baseline 의 session 관련 D-row). 이전 절차는 docs/superpowers/specs/2026-07-28-ca-skeleton-production-capability-feature-decomposition-design.md §5.2 6단계를 따른다. 기존 branch 의 D-row 는 /branch-spec 으로 본 branch 결정이 확정된 뒤 포인터로 치환한다.
  • 이슈:
  • PR:

범위

포함 범위

  • jwt | redis-session 배타 프로파일과 전환 조건
  • session 생성 정책·CSRF 활성 조건·쿠키 속성(Secure/HttpOnly/SameSite/path/domain/expiry)
  • session id 회전과 로그아웃 시 서버 세션 삭제
  • serializer 명시·버전·허용 타입 (JDK 직렬화 금지)
  • 다중 파드 read/touch/expiry/logout 계약과 rolling deploy 호환
  • session store 실패 시 fail closed 와 readiness 반영

제외 범위

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

  • 로그인 엔드포인트·신원 확인 흐름 — 제품 결정
  • JWT 검증 자체 — feature-security-operational-baseline 소유
  • principal 조회·동시 세션 제어는 필요할 때만 indexed repository 로 확장
  • 심층 명세 — 본 노트는 스캐폴딩. D-row 와 §구현 가이드는 /branch-spec 이 채운다.
  • project decision registry 변경 — owner 는 project-note

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

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

Source 정당화하는 결정
(미등록) 1차 수집 대상: Spring Session Redis 공식 API · ca-tmpl platform 설계 §8.6

프로젝트 내부 설계 참조 (등급 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-session-auth-mode-contract 로 D-row·§구현 가이드 작성 — 등급: planned
  • 배타 인증 모드·CSRF·쿠키·회전·다중 파드 세션 계약 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):