Ontology Beta
Ontology is Forge's first core data model. It captures all of a product's "knowledge" in a tree structure, letting AI Agents and humans collaborate on the same visible structure. It merges scattered user stories (Jira/Feishu/chat), disconnected architecture and implementation, undocumented tech-stack changes, and divergent design specs into a single traceable, reviewable, Agent-writable knowledge tree.
In one sentence
Node types
Six node types describe different dimensions of product knowledge in parallel.
| Type | Meaning | Typical leaf |
|---|---|---|
UserStory | User story | "As an X, I want Y so that Z" |
Architecture | Architecture decision | "Adopt event-driven, because…" |
TechStack | Tech stack | "Backend Go + Gin + PG" |
DesignSpec | Design spec | "Button radius 8px, primary color #C67B5C" |
Decision | One-off decision | "Drop Redis Streams, switch to NATS" |
Risk | Risk item | "Third-party API 429 rate limiting" |
Tree structure
产品: Lurus Forge
├─ UserStory
│ ├─ PM 创建需求
│ ├─ Architect 设计方案
│ └─ Dev 实现并提 PR
├─ Architecture
│ ├─ Ontology + Session 双核心
│ └─ WAL 决策回溯(依赖 Kova)
├─ TechStack
│ ├─ Elixir/Phoenix + LiveView
│ └─ PostgreSQL + ltree
└─ DesignSpec
└─ Lurus 铜棕视觉系统Agent auto-write · Visualization · Export
When a PM Agent generates a user story in a Session, the node is automatically created in Ontology; when an Architect Agent makes an architecture decision, it writes to the Architecture subtree and links the corresponding Story.
The web frontend renders a collapsible tree plus node cards. Each node carries: creator (human / Agent), linked Session, revision history, and status (draft / under review / finalized).
Export the whole tree as JSON, or as GraphML to import into yEd / Gephi for graph analysis (see the commands below).
Export commands
forge export --ontology json # 整棵树 → JSON
forge export --ontology graphml # 可导入 yEd / Gephi