완료 기록
- 2026-07-23: ADR-0001~0003을
Accepted로 확정하고 PR #36으로 main에 병합했습니다.
- 후속 기능은 해당 ADR을 현재 구현 기준으로 사용합니다.
한 줄 목표
기능 구현 전에 저장소 책임, Server 모듈, API 계약 원본, 상태, 이벤트, 오류와 retry 소유권을 ADR로 고정합니다.
먼저 결정할 이유
현재 도메인 구현 전이라 경계를 가장 저렴하게 고칠 수 있습니다. 이 ADR 없이 진행하면 Server와 ai가 Prompt/Provider를, Server와 knowledge가 Workflow 규칙을 중복 구현할 위험이 큽니다.
저장소 계약 소유권
| 계약 |
Owner |
Consumer |
| Client/Public Worker OpenAPI |
server |
client |
/internal/v1/analyses OpenAPI·Structured Output Schema |
ai |
server |
| Intent/Domain/Slot/Workflow ID·Catalog·Context Pack |
knowledge |
ai, 필요한 Server projection |
| AiRun·Task 상태와 command |
server |
client, audit |
계약 변경 순서: owner repo PR → contract test → versioned release → consumer pin update → Notion/Wiki mirror sync입니다.
Server 모듈 초안
| 모듈 |
책임 |
금지 의존성 |
auth/company |
JWT, role, actor, company boundary |
AI Runtime 세부 구현 |
worker/document/file |
최소 개인정보, document metadata, storage port |
Task 상태 직접 변경 |
task/workflow |
Task, checklist, command/guard, optimistic lock |
Provider SDK |
approval/audit |
approval snapshot, evidence, immutable audit |
민감 원문·token |
workerlink |
token lifecycle와 public action |
HR 내부 메모 노출 |
airun |
durable run, candidate persistence, idempotency, retry |
Prompt·모델 선택 |
aiintegration |
AiRuntimeClient, service auth, timeout, response revalidation |
OpenAI/Gemini/LM Studio client |
reliability |
outbox/publication recovery |
Kafka 도입 |
고정할 결정
Version compatibility 최소 필드
backendVersion, agentVersion, modelProvider, modelName, modelVersion
promptVersion, contextPackVersion, workflowCatalogVersion
contractVersion, knowledgeVersion, requestId, attemptId
latencyMs, providerAttemptCount, parsing/validation error code
완료 조건
이번 이슈에서 하지 않는 것
- 전체 기능 구현, Provider 선택, 모델 성능 평가
- Kafka/Kubernetes/범용 Workflow DSL
관계
완료 기록
Accepted로 확정하고 PR #36으로main에 병합했습니다.한 줄 목표
기능 구현 전에 저장소 책임, Server 모듈, API 계약 원본, 상태, 이벤트, 오류와 retry 소유권을 ADR로 고정합니다.
먼저 결정할 이유
현재 도메인 구현 전이라 경계를 가장 저렴하게 고칠 수 있습니다. 이 ADR 없이 진행하면 Server와
ai가 Prompt/Provider를, Server와knowledge가 Workflow 규칙을 중복 구현할 위험이 큽니다.저장소 계약 소유권
server/internal/v1/analysesOpenAPI·Structured Output Schemaaiknowledgeserver계약 변경 순서: owner repo PR → contract test → versioned release → consumer pin update → Notion/Wiki mirror sync입니다.
Server 모듈 초안
auth/companyworker/document/filetask/workflowapproval/auditworkerlinkairunaiintegrationAiRuntimeClient, service auth, timeout, response revalidationreliability고정할 결정
/api/v1외부 API,/internal/v1AI Runtime API,/health운영 경로/tasks/analyze폐기,/ai-runscanonical resource/ai-runs/{id}/candidate-decisions와 Task 승인 분리Version compatibility 최소 필드
backendVersion,agentVersion,modelProvider,modelName,modelVersionpromptVersion,contextPackVersion,workflowCatalogVersioncontractVersion,knowledgeVersion,requestId,attemptIdlatencyMs,providerAttemptCount, parsing/validation error code완료 조건
이번 이슈에서 하지 않는 것
관계