프로젝트

일반

사용자정보

Actions

이슈 #450

진행중
HP HP

이슈 #448: Phase 0.8 — dKernel Agent Identity Session

Phase 0.8-1 — Signer abstraction + wallet JWT auto-renew

이슈 #450: Phase 0.8-1 — Signer abstraction + wallet JWT auto-renew

Henry Park이(가) 약 6시간 전에 추가함.

상태:
해결
우선순위:
보통
담당자:
목표버전:
시작일:
2026/05/19
완료일:
진척도:

0%

추정시간:

설명

범위

gap-report.md §7 Option A. 첫 슬라이스. 머릿속을 자동으로 재생성하는 흐름을 먼저 만들어서, 뒤따르는 세션·감사 슬라이스들이 의미 있게 동작할 기반 마련.

작업

  • sdk.Signer 인터페이스 신규 — WalletAddress() string + Sign(ctx, challenge) (sigHex, error)
  • LocalHexKeySigner 구현 (현재 hex 상수 경로와 byte-for-byte 호환)
  • sdk.WalletLogin(ctx, serverAddr, signer, purpose) 으로 시그니쳐 전환 (이전: privateKeyHex string)
  • cmd/sdktest, cmd/dsh 이 Signer 경유로 재배선
  • cmd/dshai --auto-renew 플래그 — wallet JWT TTL 만료 전 (예: 80% 지점) 자동 WalletChallenge → sign → WalletVerify 후 state file 에 다시 쓰기 (기존 "read-only by design" 규칙은 플래그 안에서만 해제)
  • sdk/token.go tokenManager.refreshToken 의 "외부 호출자가 UpdateBearerToken 으로 갱신된 토큰을 주어야 함" 구조는 유지 — SDK 자체는 wallet 재서명을 먜대로 수행하지 않음
  • regression 테스트: LocalHexKeySigner 경로가 기존 hex 출력과 동일함
  • smoke: dshai 장기 세션에서 wallet JWT 1회 만료 → 자동 재생성 → 다음 명령이 운영자 개입 없이 성공

DoD

  • sdk.Signer + LocalHexKeySigner 구현·테스트
  • sdk.WalletLogin Signer 시그니쳐로 전환, regression 통과
  • cmd/sdktest 에서 Signer 경유, 사용자 명령 완전 호환
  • cmd/dshai --auto-renew 플래그 + state file 쓰기 경로 (플래그 없으면 여전히 read-only)
  • smoke E2E — wallet JWT 만료 재생성 시나리오가 wire 에서 동작
  • gap-report.md §5/5b/7 와 decision-log.md 갱신

관련

  • precedes #448 자식 이슈들 (0.8-3 Agent session, 0.8-2 command_audit)
  • relates #449 (Phase 4-2 — Signer 추상화는 이슈 구현의 간접적 입력)
Actions

내보내기 PDF Atom