prd-glossary.html
8.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width,initial-scale=1" />
<title>术语表 · LemonBoss PRD</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,500;9..144,700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="assets/shell.css" />
</head>
<body data-page="prd-glossary.html">
<div class="shell">
<aside id="sidebar"></aside>
<main class="page">
<header class="page-head">
<div class="crumb"><span class="pill">01 · PRD</span><span class="sep">/</span><span>术语表</span></div>
<h1>术语表</h1>
<p class="deck">30 个核心词。每条「短定义 + 出处页面 + 同义/近义」。Claude Code 在抽取 PRD 时建议先建索引表,再读其他章节。</p>
</header>
<article class="body">
<section>
<h2>核心抽象</h2>
<table>
<thead><tr><th>术语</th><th>定义</th><th>出处</th></tr></thead>
<tbody>
<tr><td><b>DevLoop</b></td><td>本系统全名 — 三层 Loop 驱动的自动开发流水线</td><td><a href="prd-background.html">background</a></td></tr>
<tr><td><b>L1 / Unit Loop</b></td><td>最内层。单 Unit 的「写代码 → 跑单测 → 失败重试」</td><td><a href="loops-l1.html">loops-l1</a></td></tr>
<tr><td><b>L2 / Integration Loop</b></td><td>中层。所有 Unit passed 后跑集成测试 + 失败回写 SDD</td><td><a href="loops-l2.html">loops-l2</a></td></tr>
<tr><td><b>L3 / Human Feedback Loop</b></td><td>外层。人类新需求并入 PRD 触发增量重跑</td><td><a href="loops-l3.html">loops-l3</a></td></tr>
<tr><td><b>Unit</b></td><td>最小可独立开发 + 单测的代码单元(前端组件 / 后端服务 / 中间件 / DB 迁移)</td><td><a href="agents-architect.html">architect</a></td></tr>
<tr><td><b>Project</b></td><td>一次完整的 DevLoop 实例,对应 <code>data/companies/{cid}/projects/{pid}/</code></td><td><a href="data-layout.html">data-layout</a></td></tr>
<tr><td><b>Rev</b></td><td>PRD / SDD / units.json 的修订号,单调递增</td><td><a href="data-documents.html">documents</a></td></tr>
<tr><td><b>Run</b></td><td>一次 Agent 执行的产物目录 <code>runs/{runId}/</code></td><td><a href="data-documents.html">documents</a></td></tr>
<tr><td><b>Contract</b></td><td>Unit 对外暴露的接口契约(OpenAPI / TS interface)</td><td><a href="api-contracts.html">api-contracts</a></td></tr>
<tr><td><b>contract_hash</b></td><td>contract 文本 sha256 截前 16 位,用于检测变更</td><td><a href="arch-components.html">components</a></td></tr>
</tbody>
</table>
</section>
<section>
<h2>组件与服务</h2>
<table>
<thead><tr><th>术语</th><th>定义</th><th>出处</th></tr></thead>
<tbody>
<tr><td><b>LoopController</b></td><td>三层 Loop 的唯一编排者,<code>server/src/core/loop-controller.js</code></td><td><a href="arch-components.html">components</a></td></tr>
<tr><td><b>DocStore</b></td><td>PRD/SDD/units.json/spec.json 读写归档</td><td><a href="arch-components.html">components</a></td></tr>
<tr><td><b>UnitRegistry</b></td><td>Unit 状态机的 source of truth</td><td><a href="arch-components.html">components</a></td></tr>
<tr><td><b>SSEBroker</b></td><td>Server-Sent Events 订阅与分发</td><td><a href="api-sse.html">api-sse</a></td></tr>
<tr><td><b>scheduler</b></td><td>复用 <code>server/src/core/scheduler.js</code> 做 DAG 拓扑分波</td><td><a href="arch-mapping.html">mapping</a></td></tr>
<tr><td><b>session-pool</b></td><td>复用 ACP 的会话池,按 <code>(agentName, cid, pid)</code> 复用</td><td><a href="arch-mapping.html">mapping</a></td></tr>
<tr><td><b>retryWithReflection</b></td><td>反思重试函数,P2 写在 loop-controller.js 内</td><td><a href="loops-l1.html">loops-l1</a></td></tr>
</tbody>
</table>
</section>
<section>
<h2>Agent 角色</h2>
<table>
<thead><tr><th>术语</th><th>定义</th><th>出处</th></tr></thead>
<tbody>
<tr><td><b>PM Agent</b></td><td>需求 → prd.html。L3 入口</td><td><a href="agents-pm.html">PM</a></td></tr>
<tr><td><b>Architect Agent</b></td><td>PRD → SDD + units.json + integration spec</td><td><a href="agents-architect.html">Architect</a></td></tr>
<tr><td><b>Coder Agent</b></td><td>实现单 Unit 的代码 + contract.json</td><td><a href="agents-coder.html">Coder</a></td></tr>
<tr><td><b>Tester Agent</b></td><td>写 + 跑 Unit Test,输出 hint 给 Coder</td><td><a href="agents-tester.html">Tester</a></td></tr>
<tr><td><b>Integrator Agent</b></td><td>起多个真实进程跑端到端测试</td><td><a href="agents-integrator.html">Integrator</a></td></tr>
<tr><td><b>BugTriager Agent</b></td><td>归因集成失败,提议 SDD 补丁</td><td><a href="agents-triager.html">Triager</a></td></tr>
</tbody>
</table>
</section>
<section>
<h2>状态与归类</h2>
<table>
<thead><tr><th>术语</th><th>定义</th></tr></thead>
<tbody>
<tr><td><code>pending</code> / <code>coding</code> / <code>testing</code> / <code>failed</code> / <code>passed</code> / <code>blocked</code></td><td>Unit 六态机</td></tr>
<tr><td><code>contract_mismatch</code></td><td>BugTriager 类别 1 — SDD 双方契约不齐</td></tr>
<tr><td><code>impl_bug</code></td><td>BugTriager 类别 2 — 代码没遵守 SDD,<b>不改 SDD</b></td></tr>
<tr><td><code>spec_ambiguous</code></td><td>BugTriager 类别 3 — SDD 描述不清,升 L3</td></tr>
<tr><td><code>infra_flake</code></td><td>BugTriager 类别 4 — 端口冲突等环境问题,重跑即可</td></tr>
<tr><td><b>L2 gate</b></td><td>「全部 Unit passed 且 contract_hash 与当前 SDD 一致」的门</td></tr>
<tr><td><b>l2_rounds / l2_budget</b></td><td>L2 修复轮次累计与上限(默认 3)</td></tr>
<tr><td><b>retry_budget</b></td><td>单 Unit 重试上限(默认 5)</td></tr>
</tbody>
</table>
</section>
<section>
<h2>文档与协议</h2>
<table>
<thead><tr><th>术语</th><th>定义</th></tr></thead>
<tbody>
<tr><td><b>MVCP</b></td><td>本 SDD 采用的四象限划分:Model / View / Control / Process</td></tr>
<tr><td><b>data-* 锚点</b></td><td>HTML 上的机器读结构化信息,cheerio 抽取</td></tr>
<tr><td><b>build-manifest</b></td><td>Architect Agent 从 SDD 抽出的 JSON 构建清单</td></tr>
<tr><td><b>ACP</b></td><td>Agent Communication Protocol,LemonBoss 既有协议层</td></tr>
<tr><td><b>company-scoped 文件根</b></td><td>所有项目落在 <code>data/companies/{cid}/</code> 下</td></tr>
</tbody>
</table>
</section>
<section>
<h2>反义 / 易混淆</h2>
<table class="dense">
<thead><tr><th>勿混</th><th>正解</th></tr></thead>
<tbody>
<tr><td>DevLoop ≠ Master Agent</td><td>DevLoop bypass Master,自己起 LoopController</td></tr>
<tr><td>EvolutionLoop ≠ DevLoop</td><td>EvolutionLoop 是 Skill 进化,DevLoop 是工程化代码生成</td></tr>
<tr><td>units.json ≠ pipeline.json</td><td>units.json 是 DevLoop 自己的;pipeline-service 是 LemonBoss 既有 SOP</td></tr>
<tr><td>contract.json ≠ contract_hash</td><td>前者是契约文本本身,后者是其 sha256 摘要</td></tr>
<tr><td>L2 gate ≠ L2 闸门关闭</td><td>「gate 打开」= 允许进 L2,不是阻止</td></tr>
<tr><td>blocked ≠ failed</td><td>failed 是「测试红」可继续 retry;blocked 是「retry 耗尽」需要人</td></tr>
</tbody>
</table>
</section>
</article>
<nav class="prev-next"></nav>
<footer class="site"><div><b>Section</b>01 · PRD</div><div><b>Page</b>prd-glossary.html</div></footer>
</main>
</div>
<script src="assets/shell.js"></script>
</body>
</html>