Session 워크플로 베타
Session은 Forge의 두 번째 핵심 데이터 모델입니다. 모든 제품 논의는 하나의 Session에 담기며, 대화·결정·Agent 산출물의 완전한 타임라인을 담아냅니다.
Session과 Ontology의 관계
Session은 동적 타임라인이고, Ontology는 정적 구조화 지식입니다. Session 내의 결정 → Ontology 노드에 기록 / 수정됩니다.
Session 모델
Session {
id // sess_...
title // "添加成本告警"
participants // [人类, PM Agent, Architect Agent, Code Agent]
ontology // 关联的 Ontology 节点列表
turns // 对话轮次
artifacts // 产出物:PRD、ADR、PR 链接
status // active / paused / shipped
} 역할
세 종류의 Agent
모호한 요구사항부터 병합된 PR까지, 세 종류의 Agent가 이어달리며 협업합니다.
PM Agent
모호한 요구사항을 사용자 스토리, 인수 기준, 우선순위로 분해합니다.
Architect Agent
아키텍처 모델링, 기술 선정, 리스크 식별을 수행하고 Ontology Architecture 하위 트리에 기록합니다.
Code Agent
앞의 두 Agent 산출물을 바탕으로 코드를 작성하고, 테스트를 실행하고, PR을 엽니다.
엔드투엔드
0에서 PR까지의 전체 흐름
mermaid
flowchart TD
H["人类: 想做一个成本超 50 元每日告警"]
H --> PM["PM Agent: 拆为 3 个 UserStory"]
PM --> US1["US-1 实时聚合每日成本"]
PM --> US2["US-2 超阈值触发通知"]
PM --> US3["US-3 通知模板配置"]
US1 --> AR["Architect Agent: 决定技术方案"]
US2 --> AR
US3 --> AR
AR --> A1["数据源: Lumen CostTracker API"]
AR --> A2["调度: 每 1 分钟 cron"]
AR --> A3["通知渠道: Webhook + 邮件(复用 Lurus Platform)"]
AR --> A4["写入 Ontology: Architecture/cost-alert.md"]
A1 --> CD["Code Agent: 代码实现"]
A2 --> CD
A3 --> CD
A4 --> CD
CD --> C1["生成 Go handler + test"]
CD --> C2["生成 DB migration"]
CD --> C3["开 PR: feat(cost-alert): add daily threshold"]
C3 --> C4["等待人类 review & merge"] 추적 가능
WAL 결정 추적
Kova 엔진의 WAL을 기반으로, 모든 대화와 결정이 영속화됩니다. 언제든 다음을 할 수 있습니다.
"왜 Redis Streams가 아니라 NATS를 선택했는지" 추적
"어느 Session이 마지막으로 Architecture/auth.md에 기록했는지" 식별
하나의 Session 전체를 Replay 재생하여 회고에 활용