이슈 #459
진행중이슈 #457: Stronger capability APIs — design spike (ADR-0010)
Stronger capability APIs — MR B: explicit-approval envelope (ADR-0012)
설명
ADR-0010 MR B. signing/payment 같은 강한 액션을 위한 per-action approval envelope와 consume 경계를 닫는다. 실제 provider는 아직 없음.
작업¶
- capability_approvals 테이블 (migration v24): approval_id, capability_session_id(FK), principal/ns/app/audience, action_kind(sign/pay), payload_hash(canonical), target, amount, status(pending/consumed), created/expires/consumed
- store: Insert/Get/Consume (atomic conditional UPDATE, single-use, caller-bound, action match, active-session EXISTS)
- handler: ApprovalAction + PayloadHash (canonical, raw payload 미저장), CapabilityGateway.ConsumeActionApproval (verified claims.CapSession에 바인딩)
- ADR-0012 (Accepted), ADR-0010 MR B landed 링크
관련¶
HP Henry Park이(가) 5달 전에 변경
- 상태을(를) 신규에서 진행(으)로 변경되었습니다.
MR !9 (explicit-approval envelope, ADR-0012): open, in review.
https://git.alphea.io/Alphea-Dev/alphea-edge-core/-/merge_requests/9
capability_approvals table (v24) + Insert/Get/Consume (atomic single-use, caller-bound, active-session) + ApprovalAction/PayloadHash + ConsumeActionApproval. On merge → Resolved.
Status → In Progress.
HP Henry Park이(가) 5달 전에 변경
- 상태을(를) 진행에서 해결(으)로 변경되었습니다.
- 진척도을(를) 0에서 100(으)로 변경되었습니다.
MR !9 merged to main (merge 82cda2e). Re-review: no remaining findings (P2 on caller-supplied approval mirror addressed in ee3e878 — ns/app now derived from the bound session via INSERT...SELECT, active-session required).
https://git.alphea.io/Alphea-Dev/alphea-edge-core/-/merge_requests/9
ADR-0012 (Accepted) in main: explicit-approval envelope (capability_approvals) + atomic single-use consume bound to capability session. ADR-0010 MR B done; remaining MR C (delegation).
Status → Resolved.