docs: Maestro 비전 보고서 — 보편적 승인·결정·이력 서비스 - #30
Conversation
Maestro를 코드 승인 도구에서 AI 시대의 보편적 승인·결정·이력 (system of record) 레이어로 확장하는 내부 북극성 문서. - 현 자산(ApprovalRequest/Decision, per-agent 토큰, WP-008, history)을 일반 엔티티(Actor/DecisionRequest/Decision/Policy/ AuditLog/Delegation)로 매핑 - decision↔executor 분리를 범용화의 열쇠로 정리 (record-only 결정) - 개인→팀→조직 3단계 로드맵 + 리스크/YAGNI 경계 - 위임 철학: 정책 내 위임 + 사람 에스컬레이션 - 네이밍: 오케스트레이션 메타포 유지·확장 (레인→결정 채널) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a9e291515b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| 현재의 `ApprovalRequest`를 일반화한 것. `ApprovalRequest`는 **DecisionRequest의 코드 특화형**이다. | ||
|
|
||
| - 추가되는 것: `subjectType`(merge / work-intake / plan / spend / publish / data-access / …), `subject`(유형별 payload — 브랜치명+diff 요약은 merge 유형의 payload일 뿐), `requestedActor` / `decidingActor`. | ||
| - 유지되는 것: 상태 모델(`pending_decision` → decided), 소스 구분(`agent | legacy | operator`), 프로젝트/채널 귀속. |
There was a problem hiding this comment.
Treat the request-state transition as a new contract
This labels pending_decision → decided and the operator source as behavior to retain, but the inspected approval path does not provide either: APPROVAL_REQUEST_STATUS contains only pending_decision (maestro-server.js:2245-2247), stored requests remain in that state after a separate decision is created, and the request endpoints supply only agent or legacy sources. Since this table is the implementation roadmap, mark the terminal state and operator ingress as additions (or preserve the existing separate-decision model) so implementers do not assume these migration steps already exist.
Useful? React with 👍 / 👎.
| | Agent Registry + per-agent 토큰 (`tokenHash`, `MAESTRO_AGENT_AUTH_ENFORCE`, PR #24) | **Actor** (human/agent 공용 신원) | `actorType` 추가, 사람 신원은 팀 단계에서 | | ||
| | `ApprovalRequest` (store + 영속화) | **DecisionRequest** | `subjectType` + 유형별 `subject` payload 추가. ApprovalRequest는 `subjectType=merge` 특화형으로 재해석 | | ||
| | `ApprovalDecision` (5어휘 + delivery/ack) | **Decision** | 거의 그대로 — 어휘가 이미 범용적 | | ||
| | Pull-first 전달 + `ack` | 결정 전달 계약 그대로 | 변화 없음. AI↔AI에서 "수신 사실의 감사"로 가치 상승 | |
There was a problem hiding this comment.
Bind acknowledgements to authenticated actors
The current ack contract cannot remain unchanged if receipt is meant to be auditable in the AI↔AI flow. In the default open/server-grace modes, authorizeAgentEndpoint has no actor identity (maestro-server.js:215-230), the ownership check runs only for per-agent authentication (maestro-server.js:2124-2134), and acknowledgedBy can come from the request body (maestro-server.js:2822-2829); therefore another caller can acknowledge or falsely attribute receipt. The generalized contract needs identity-bound acknowledgement (or mandatory strict actor authentication) rather than declaring this portion unchanged.
Useful? React with 👍 / 👎.
|
|
||
| ### 6-2. 부인방지 (Non-repudiation) — 단계적으로 | ||
|
|
||
| - 개인 단계: append-only 파일 원장 + actor 토큰이면 충분하다. 위협 모델이 "자기 기록의 유실"이지 "적대적 변조"가 아니다. |
There was a problem hiding this comment.
Add a personal-stage control for ledger loss
An append-only local file is not sufficient for the stated personal-stage threat of record loss: append-only semantics prevent logical mutation, but disk loss, accidental file removal, or corruption still destroys the only ledger. The inspected history implementation also retains only MAESTRO_HISTORY_MAX_ITEMS entries and evicts older records (maestro-server.js:67-70, 2542-2546). Define durable backup/export and unbounded archival for Stage 1, or change the threat and system-of-record claims; postponing backup until the team stage leaves the explicitly identified personal threat unmitigated.
Useful? React with 👍 / 👎.
개요
Maestro를 "코드 승인 도구"에서 "AI 시대의 보편적 승인·결정·이력(system of record) 서비스"로 확장하는 개념/비전 보고서를 추가합니다. 코드 변경 없음(docs only).
산출물:
docs/vision/2026-07-21-universal-approval-record-service.md브레인스토밍으로 확정된 전략 방향
핵심 테제
검증
🤖 Generated with Claude Code