@sushanglewis/lincoln 1.6.3 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/framework/.claude/agents/pm.md +2 -2
- package/framework/.claude/agents/security-reviewer.md +57 -0
- package/framework/.claude/harnesses/codex.yaml +31 -2
- package/framework/.claude/harnesses/command-map.yaml +4 -0
- package/framework/.claude/harnesses/opencode.yaml +33 -3
- package/framework/.claude/hooks/hooks.yaml +37 -0
- package/framework/.claude/hooks/on-session-start.sh +20 -5
- package/framework/.claude/hooks/on-stop.sh +22 -0
- package/framework/.claude/hooks/pre-tool-use.sh +22 -0
- package/framework/.claude/mcp/mcp.yaml +34 -0
- package/framework/.claude/policies/friction.yaml +18 -0
- package/framework/.claude/policies/security.yaml +46 -0
- package/framework/.claude/schemas/design-review-feedback.json +32 -0
- package/framework/.claude/schemas/stage-definition.schema.json +22 -0
- package/framework/.claude/skills/build-product-prototype/prompts/main.md +6 -1
- package/framework/.claude/skills/clarify-requirements/SKILL.md +1 -0
- package/framework/.claude/skills/clarify-requirements/prompts/main.md +50 -10
- package/framework/.claude/skills/draft-product-design/SKILL.md +1 -0
- package/framework/.claude/skills/draft-product-design/prompts/main.md +26 -3
- package/framework/.claude/skills/lc-workflow/validators/validate.py +1 -0
- package/framework/.claude/stages/clarify.yaml +3 -1
- package/framework/.claude/stages/phase-1-p0-design.yaml +44 -0
- package/framework/.claude/stages/phase-1-p0-implement.yaml +47 -0
- package/framework/.claude/stages/phase-2-p1-design.yaml +53 -0
- package/framework/.claude/stages/phase-2-p1-implement.yaml +45 -0
- package/framework/.claude/stages/product-design-docs.yaml +2 -0
- package/framework/.claude/workflows/bug-fix.yaml +1 -0
- package/framework/.claude/workflows/design-spike.yaml +1 -0
- package/framework/.claude/workflows/existing-project-iteration.yaml +1 -0
- package/framework/.claude/workflows/framework-self-improvement.yaml +100 -0
- package/framework/.claude/workflows/interview-to-knowledge.yaml +2 -0
- package/framework/.claude/workflows/oss-first-design.yaml +1 -0
- package/framework/.claude-plugin/marketplace.json +2 -2
- package/framework/.claude-plugin/plugin.json +1 -1
- package/framework/.version-bump.json +1 -1
- package/framework/README.en.md +43 -6
- package/framework/README.md +43 -6
- package/framework/RELEASE.md +42 -0
- package/framework/SKILL.md +15 -6
- package/framework/manifest.json +103 -47
- package/framework/scripts/check-harness-drift.sh +11 -1
- package/framework/scripts/lincoln-setup.py +17 -0
- package/framework/scripts/lincoln_condenser.py +110 -0
- package/framework/scripts/lincoln_friction.py +266 -0
- package/framework/scripts/lincoln_harness_adapter.py +185 -13
- package/framework/scripts/lincoln_index.py +8 -1
- package/framework/scripts/lincoln_mr_mine.py +146 -0
- package/framework/scripts/lincoln_recall.py +142 -0
- package/framework/scripts/lincoln_trace.py +119 -3
- package/framework/scripts/security_analyzer.py +234 -0
- package/framework/scripts/stage_loader.py +124 -1
- package/framework/tools/lincoln/package-lock.json +2 -2
- package/framework/tools/lincoln/package.json +1 -1
- package/framework/tools/lincoln-installer/package.json +6 -1
- package/package.json +6 -1
|
@@ -45,14 +45,35 @@ Create `{process_slug}/pages/docs/` HTML design documents with enough product, d
|
|
|
45
45
|
```
|
|
46
46
|
This creates only the pages that do not yet exist. If a matching `.md` file exists, it is used automatically; otherwise the page is created empty for you to fill afterwards.
|
|
47
47
|
|
|
48
|
-
Page-specific guidance:
|
|
49
|
-
- `design-review.md`: H2 chapters such as `##
|
|
48
|
+
Page-specific guidance (every doc page starts with `## 页面意图` — target reader and the question this page answers — and `## 边界` — what it deliberately does not cover plus links to the single source of truth; do not duplicate content across pages, link instead):
|
|
49
|
+
- `design-review.md`: H2 chapters such as `## 页面意图`, `## 范围`, `## 链接`, `## 开放问题`, `## 审批清单`. Do **not** include a decision log here — decisions live only in `decisions.html`.
|
|
50
|
+
- `decisions.md`: the archive of important communication records and decisions from both the clarify and design stages. H2 chapters such as `## 页面意图`, `## 决策清单`; each entry is a Markdown table row with 日期 / 场景 / 选项 / 决定 / 理由 / 影响 / 状态. Render it with an explicit archive nav group:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
python scripts/lincoln_render.py \
|
|
54
|
+
--stage product-design-docs \
|
|
55
|
+
--target issue-<N>/pages/docs/decisions.html \
|
|
56
|
+
--title "决策归档" \
|
|
57
|
+
--nav-label "决策归档" \
|
|
58
|
+
--nav-group "归档" \
|
|
59
|
+
--markdown issue-<N>/pages/docs/decisions.md
|
|
60
|
+
```
|
|
50
61
|
- `scenarios.md`: `## 主要场景`, `## 边界场景`, `## 非目标`, plus persona descriptions and Mermaid flowcharts.
|
|
51
62
|
- `feature-catalog.md`: either a Markdown table or a YAML `features` array.
|
|
52
63
|
- `data-model.md`: either Markdown entity sections or a YAML `entities` array.
|
|
53
64
|
- `flows.md`: Markdown with ` ```mermaid ` flowcharts and numbered step lists.
|
|
54
65
|
- `page-map.md`: either a Markdown table or a YAML `pages` array.
|
|
55
|
-
- `feasibility.md`: H2 chapters such as `## 风险`, `## 方案对比`, `## 建议`.
|
|
66
|
+
- `feasibility.md`: H2 chapters such as `## 风险`, `## 方案对比`, `## 建议`. This page holds all technical research; render it with `--nav-group "归档"` so it stays out of the main reading path:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
python scripts/lincoln_render.py \
|
|
70
|
+
--stage product-design-docs \
|
|
71
|
+
--target issue-<N>/pages/docs/feasibility.html \
|
|
72
|
+
--title "可行性研究" \
|
|
73
|
+
--nav-label "可行性" \
|
|
74
|
+
--nav-group "归档" \
|
|
75
|
+
--markdown issue-<N>/pages/docs/feasibility.md
|
|
76
|
+
```
|
|
56
77
|
- `version-log.md`: H2 chapters plus a Markdown table of version entries.
|
|
57
78
|
- `api-list.md`: either a Markdown table or a YAML `apis` array.
|
|
58
79
|
4. Create the PM→UX handoff contract at `{process_slug}/handoffs/pm-to-ux/pm-to-ux.handoff.yaml` referencing the approved design docs and PRD versions.
|
|
@@ -67,6 +88,8 @@ Create `{process_slug}/pages/docs/` HTML design documents with enough product, d
|
|
|
67
88
|
|
|
68
89
|
- Use Chinese for PM-facing content unless the requirements are in English.
|
|
69
90
|
- Keep documents short and reviewable; prefer tables and Mermaid diagrams over long prose.
|
|
91
|
+
- Every document page must open with `## 页面意图` and `## 边界`; content must follow standard Markdown (a single H1, H2 chapters, tables/Mermaid over long prose). Never copy content across pages — link to the single source of truth instead.
|
|
92
|
+
- Technical research and solution comparisons (frameworks, open-source options, trade-off analysis) belong **only** in `feasibility.html` (archived) or the PM→UX handoff contract. They must not appear in `prd.html`, `requirements.html`, `design-review.html`, `scenarios.html`, `feature-catalog.html`, or any other main-path page. PM-stage pages focus on business clarity: background, user roles, journeys, business states, flows, page routes/elements/interactions.
|
|
70
93
|
- For technical frameworks and open-source projects, check current official docs or primary repositories before recommending.
|
|
71
94
|
- Do not create UI specs, field specs, or prototypes in this step. Those are produced in the next stage `product-prototype`.
|
|
72
95
|
- Do not create a Pencil prototype in this step.
|
|
@@ -452,6 +452,7 @@ def check_no_conflict_with_existing_knowledge(feature_slug: str):
|
|
|
452
452
|
def validate_design_docs_complete(design_id: str):
|
|
453
453
|
docs = [
|
|
454
454
|
"design-review.html",
|
|
455
|
+
"decisions.html",
|
|
455
456
|
"scenarios.html",
|
|
456
457
|
"feature-catalog.html",
|
|
457
458
|
"data-model.html",
|
|
@@ -19,6 +19,7 @@ variables:
|
|
|
19
19
|
- process_slug
|
|
20
20
|
artifact_templates:
|
|
21
21
|
'{process_slug}/pages/docs/requirements.html': .claude/templates/issue-package/page-doc.html.tpl
|
|
22
|
+
'{process_slug}/pages/docs/stakeholders.html': .claude/templates/issue-package/page-doc.html.tpl
|
|
22
23
|
'{process_slug}/pages/docs/user-stories.html': .claude/templates/issue-package/page-doc.html.tpl
|
|
23
24
|
'{process_slug}/pages/docs/prd.html': .claude/templates/issue-package/page-doc.html.tpl
|
|
24
25
|
'{process_slug}/pages/docs/snapshots/prd-v*.html': .claude/templates/issue-package/page-doc.html.tpl
|
|
@@ -38,6 +39,7 @@ skills:
|
|
|
38
39
|
artifacts:
|
|
39
40
|
required:
|
|
40
41
|
- '{process_slug}/pages/docs/requirements.html'
|
|
42
|
+
- '{process_slug}/pages/docs/stakeholders.html'
|
|
41
43
|
- '{process_slug}/pages/docs/user-stories.html'
|
|
42
44
|
- '{process_slug}/pages/docs/prd.html'
|
|
43
45
|
optional:
|
|
@@ -47,7 +49,7 @@ references:
|
|
|
47
49
|
agent_guide: .claude/agents/pm.md
|
|
48
50
|
context:
|
|
49
51
|
goal: 基于访谈产物(逐字稿、摘要、初始洞察)与人类 PM 进行多轮澄清,形成统一、可追溯、已确认的需求文档,并将 PRD 置于 HTML 门户({process_slug}/pages/docs/prd.html)作为串联后续所有阶段的主线文档与单一事实来源。人类读者通过 {process_slug}/index.html 浏览所有产物。
|
|
50
|
-
execution: "调用 clarify-requirements skill 与人类 PM 进行多轮澄清对话,基于访谈产物识别歧义并达成共识;产出 requirements
|
|
52
|
+
execution: "调用 clarify-requirements skill 与人类 PM 进行多轮澄清对话,基于访谈产物识别歧义并达成共识;产出 requirements、stakeholders、user-stories、prd 四个 HTML 文档,PRD 携带 <!-- version: vX.Y --> 版本标记,确认后通过 scripts/lincoln_prd.py freeze 生成不可变的快照。"
|
|
51
53
|
constraints: "- PRD 必须位于 {process_slug}/pages/docs/prd.html,并携带 <!-- version: vX.Y --> 版本标记;确认后通过 scripts/lincoln_prd.py freeze 生成不可变的 pages/docs/snapshots/prd-vX.Y.html 快照。\n\n - PRD 是产研流程的主线文档,需在后续阶段持续维护「相关产物链接」章节,指向设计、原型、OpenSpec、实现等产物。"
|
|
52
54
|
gates:
|
|
53
55
|
entry:
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
schema_version: 3.0.0
|
|
2
|
+
id: phase-1-p0-design
|
|
3
|
+
name: Phase 1 P0 Design
|
|
4
|
+
description: 'Design Phase 1 / P0 recommendations from the LEW-70 research baseline:
|
|
5
|
+
|
|
6
|
+
SecurityAnalyzer + ConfirmationPolicy, harness distribution for
|
|
7
|
+
|
|
8
|
+
Claude Code/Codex/OpenCode, and declarative hook/MCP configuration.
|
|
9
|
+
|
|
10
|
+
'
|
|
11
|
+
prerequisite_stage: explore-opensource
|
|
12
|
+
next_stage: phase-1-p0-implement
|
|
13
|
+
human_gate: true
|
|
14
|
+
agent:
|
|
15
|
+
primary: lc-architect
|
|
16
|
+
reviewers:
|
|
17
|
+
- lc-engineer
|
|
18
|
+
handoff_to: lc-pm
|
|
19
|
+
skills:
|
|
20
|
+
required: []
|
|
21
|
+
optional: []
|
|
22
|
+
artifacts:
|
|
23
|
+
required:
|
|
24
|
+
- '{process_slug}/designs/phase-1-p0-harness-security-design.md'
|
|
25
|
+
context:
|
|
26
|
+
goal: 'Produce an approved design document for the highest-priority borrowable
|
|
27
|
+
|
|
28
|
+
patterns before any implementation PR is opened.
|
|
29
|
+
|
|
30
|
+
'
|
|
31
|
+
constraints: '- 仅通过 scripts/stage_loader.py 更新 {process_slug}/workflow-stage.yaml。
|
|
32
|
+
|
|
33
|
+
- human_gate 必须获得人类 PM 显式确认。
|
|
34
|
+
|
|
35
|
+
'
|
|
36
|
+
gates:
|
|
37
|
+
entry:
|
|
38
|
+
- check: previous_stage_completed
|
|
39
|
+
args:
|
|
40
|
+
- explore-opensource
|
|
41
|
+
exit:
|
|
42
|
+
- check: artifacts_present
|
|
43
|
+
workflows:
|
|
44
|
+
- framework-self-improvement
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
schema_version: 3.0.0
|
|
2
|
+
id: phase-1-p0-implement
|
|
3
|
+
name: Phase 1 P0 Implement
|
|
4
|
+
description: 'Implement Phase 1 / P0 recommendations from the approved design document.
|
|
5
|
+
|
|
6
|
+
'
|
|
7
|
+
prerequisite_stage: phase-1-p0-design
|
|
8
|
+
next_stage: phase-2-p1-design
|
|
9
|
+
human_gate: false
|
|
10
|
+
agent:
|
|
11
|
+
primary: lc-engineer
|
|
12
|
+
reviewers:
|
|
13
|
+
- lc-qa
|
|
14
|
+
handoff_to: lc-pm
|
|
15
|
+
skills:
|
|
16
|
+
required: []
|
|
17
|
+
optional: []
|
|
18
|
+
artifacts:
|
|
19
|
+
required:
|
|
20
|
+
- .claude/policies/security.yaml
|
|
21
|
+
- .claude/hooks/pre-tool-use.sh
|
|
22
|
+
- .claude/hooks/hooks.yaml
|
|
23
|
+
- .claude/mcp/mcp.yaml
|
|
24
|
+
- .claude/harnesses/codex.yaml
|
|
25
|
+
- .claude/harnesses/opencode.yaml
|
|
26
|
+
- scripts/security_analyzer.py
|
|
27
|
+
- scripts/lincoln_harness_adapter.py
|
|
28
|
+
- scripts/lincoln-setup.py
|
|
29
|
+
- scripts/check-harness-drift.sh
|
|
30
|
+
context:
|
|
31
|
+
goal: 'Implement the approved P0 design and verify with tests and static checks.
|
|
32
|
+
|
|
33
|
+
'
|
|
34
|
+
constraints: '- 仅通过 scripts/stage_loader.py 更新 {process_slug}/workflow-stage.yaml。
|
|
35
|
+
|
|
36
|
+
- 所有变更必须通过测试与 static-check.sh。
|
|
37
|
+
|
|
38
|
+
'
|
|
39
|
+
gates:
|
|
40
|
+
entry:
|
|
41
|
+
- check: previous_stage_completed
|
|
42
|
+
args:
|
|
43
|
+
- phase-1-p0-design
|
|
44
|
+
exit:
|
|
45
|
+
- check: artifacts_present
|
|
46
|
+
workflows:
|
|
47
|
+
- framework-self-improvement
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
schema_version: 3.0.0
|
|
2
|
+
id: phase-2-p1-design
|
|
3
|
+
name: Phase 2 P1 Design
|
|
4
|
+
description: 'Design Phase 2 / P1 recommendations from the LEW-70 research baseline:
|
|
5
|
+
|
|
6
|
+
friction-based learning + recall precheck, EventLog + Condenser,
|
|
7
|
+
|
|
8
|
+
skill marketplace + git caching, sub-agent delegation, and MR knowledge mining.
|
|
9
|
+
|
|
10
|
+
'
|
|
11
|
+
prerequisite_stage: phase-1-p0-implement
|
|
12
|
+
next_stage: phase-2-p1-implement
|
|
13
|
+
human_gate: true
|
|
14
|
+
agent:
|
|
15
|
+
primary: lc-architect
|
|
16
|
+
reviewers:
|
|
17
|
+
- lc-engineer
|
|
18
|
+
- lc-researcher
|
|
19
|
+
handoff_to: lc-pm
|
|
20
|
+
parallel_specialists:
|
|
21
|
+
- lc-architect
|
|
22
|
+
- lc-security-reviewer
|
|
23
|
+
merge_strategy: priority
|
|
24
|
+
output_schema: .claude/schemas/design-review-feedback.json
|
|
25
|
+
skills:
|
|
26
|
+
required: []
|
|
27
|
+
optional: []
|
|
28
|
+
artifacts:
|
|
29
|
+
required:
|
|
30
|
+
- '{process_slug}/designs/phase-2-p1-learning-eventlog-subagents-design.md'
|
|
31
|
+
context:
|
|
32
|
+
goal: 'Produce an approved design document for P1 borrowable patterns before
|
|
33
|
+
|
|
34
|
+
any implementation PR is opened.
|
|
35
|
+
|
|
36
|
+
'
|
|
37
|
+
constraints: '- 仅通过 scripts/stage_loader.py 更新 {process_slug}/workflow-stage.yaml。
|
|
38
|
+
|
|
39
|
+
- human_gate 必须获得人类 PM 显式确认。
|
|
40
|
+
|
|
41
|
+
- Lincoln 不自研底层执行器;所有设计必须适配 Claude Code / Codex / OpenCode。
|
|
42
|
+
|
|
43
|
+
'
|
|
44
|
+
gates:
|
|
45
|
+
entry:
|
|
46
|
+
- check: previous_stage_completed
|
|
47
|
+
args:
|
|
48
|
+
- phase-1-p0-implement
|
|
49
|
+
exit:
|
|
50
|
+
- check: artifacts_present
|
|
51
|
+
- check: human_approved
|
|
52
|
+
workflows:
|
|
53
|
+
- framework-self-improvement
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
schema_version: 3.0.0
|
|
2
|
+
id: phase-2-p1-implement
|
|
3
|
+
name: Phase 2 P1 Implement
|
|
4
|
+
description: 'Implement Phase 2 / P1 recommendations from the approved design document.
|
|
5
|
+
|
|
6
|
+
'
|
|
7
|
+
prerequisite_stage: phase-2-p1-design
|
|
8
|
+
next_stage: product-design-docs
|
|
9
|
+
human_gate: false
|
|
10
|
+
agent:
|
|
11
|
+
primary: lc-engineer
|
|
12
|
+
reviewers:
|
|
13
|
+
- lc-qa
|
|
14
|
+
handoff_to: lc-pm
|
|
15
|
+
skills:
|
|
16
|
+
required: []
|
|
17
|
+
optional: []
|
|
18
|
+
artifacts:
|
|
19
|
+
required:
|
|
20
|
+
- .claude/policies/friction.yaml
|
|
21
|
+
- .claude/schemas/design-review-feedback.json
|
|
22
|
+
- scripts/lincoln_friction.py
|
|
23
|
+
- scripts/lincoln_recall.py
|
|
24
|
+
- scripts/lincoln_condenser.py
|
|
25
|
+
- scripts/lincoln_mr_mine.py
|
|
26
|
+
- scripts/lincoln_trace.py
|
|
27
|
+
- scripts/stage_loader.py
|
|
28
|
+
context:
|
|
29
|
+
goal: 'Implement the approved P1 design and verify with tests and static checks.
|
|
30
|
+
|
|
31
|
+
'
|
|
32
|
+
constraints: '- 仅通过 scripts/stage_loader.py 更新 {process_slug}/workflow-stage.yaml。
|
|
33
|
+
|
|
34
|
+
- 所有变更必须通过测试与 static-check.sh。
|
|
35
|
+
|
|
36
|
+
'
|
|
37
|
+
gates:
|
|
38
|
+
entry:
|
|
39
|
+
- check: previous_stage_completed
|
|
40
|
+
args:
|
|
41
|
+
- phase-2-p1-design
|
|
42
|
+
exit:
|
|
43
|
+
- check: artifacts_present
|
|
44
|
+
workflows:
|
|
45
|
+
- framework-self-improvement
|
|
@@ -17,6 +17,7 @@ variables:
|
|
|
17
17
|
- process_slug
|
|
18
18
|
artifact_templates:
|
|
19
19
|
'{process_slug}/pages/docs/design-review.html': .claude/templates/issue-package/page-doc.html.tpl
|
|
20
|
+
'{process_slug}/pages/docs/decisions.html': .claude/templates/issue-package/page-doc.html.tpl
|
|
20
21
|
'{process_slug}/pages/docs/scenarios.html': .claude/templates/issue-package/page-doc.html.tpl
|
|
21
22
|
'{process_slug}/pages/docs/feature-catalog.html': .claude/templates/issue-package/page-doc-structured.html.tpl
|
|
22
23
|
'{process_slug}/pages/docs/data-model.html': .claude/templates/issue-package/page-doc-structured.html.tpl
|
|
@@ -44,6 +45,7 @@ skills:
|
|
|
44
45
|
artifacts:
|
|
45
46
|
required:
|
|
46
47
|
- '{process_slug}/pages/docs/design-review.html'
|
|
48
|
+
- '{process_slug}/pages/docs/decisions.html'
|
|
47
49
|
- '{process_slug}/pages/docs/scenarios.html'
|
|
48
50
|
- '{process_slug}/pages/docs/feature-catalog.html'
|
|
49
51
|
- '{process_slug}/pages/docs/data-model.html'
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
workflow:
|
|
2
|
+
name: framework-self-improvement
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: 持续改进 Lincoln 框架本身的工作流(安全门控、harness 分发、摩擦学习、事件追踪、子代理委托)
|
|
5
|
+
execution_mode: team
|
|
6
|
+
engine: everything-claude-code
|
|
7
|
+
|
|
8
|
+
steps:
|
|
9
|
+
- id: workflow-router
|
|
10
|
+
name: 工作流路由
|
|
11
|
+
description: 会话开场引导后,选择最适合当前场景的工作流模板
|
|
12
|
+
action: lc-workflow-router
|
|
13
|
+
|
|
14
|
+
- id: clarify
|
|
15
|
+
name: 需求澄清
|
|
16
|
+
description: 与人类 PM 多轮澄清,形成统一需求文档
|
|
17
|
+
human_gate: true
|
|
18
|
+
action: clarify-requirements
|
|
19
|
+
artifacts:
|
|
20
|
+
- "{process_slug}/pages/docs/requirements.html"
|
|
21
|
+
exit_checks:
|
|
22
|
+
- check: requirements_has_background_problem_solution_acceptance
|
|
23
|
+
- check: human_approved
|
|
24
|
+
|
|
25
|
+
- id: explore-opensource
|
|
26
|
+
name: 开源方案探索
|
|
27
|
+
description: 调研可复用的开源方案并记录决策
|
|
28
|
+
action: lc-explore-opensource
|
|
29
|
+
artifacts:
|
|
30
|
+
- "{process_slug}/docs/research/{change_name}-oss-options.md"
|
|
31
|
+
exit_checks:
|
|
32
|
+
- check: oss_research_complete
|
|
33
|
+
|
|
34
|
+
- id: phase-1-p0-design
|
|
35
|
+
name: Phase 1 P0 设计
|
|
36
|
+
description: 设计 P0 安全门控与 harness 分发方案
|
|
37
|
+
human_gate: true
|
|
38
|
+
action: draft-product-design
|
|
39
|
+
artifacts:
|
|
40
|
+
- "{process_slug}/designs/phase-1-p0-harness-security-design.md"
|
|
41
|
+
exit_checks:
|
|
42
|
+
- check: design_docs_complete
|
|
43
|
+
- check: design_docs_human_approved
|
|
44
|
+
|
|
45
|
+
- id: phase-1-p0-implement
|
|
46
|
+
name: Phase 1 P0 实现
|
|
47
|
+
description: 实现 P0 安全门控与 harness 分发
|
|
48
|
+
action: implement
|
|
49
|
+
artifacts:
|
|
50
|
+
- ".claude/policies/security.yaml"
|
|
51
|
+
- ".claude/hooks/pre-tool-use.sh"
|
|
52
|
+
- ".claude/hooks/hooks.yaml"
|
|
53
|
+
- ".claude/mcp/mcp.yaml"
|
|
54
|
+
- ".claude/harnesses/codex.yaml"
|
|
55
|
+
- ".claude/harnesses/opencode.yaml"
|
|
56
|
+
- "scripts/security_analyzer.py"
|
|
57
|
+
- "scripts/lincoln_harness_adapter.py"
|
|
58
|
+
- "scripts/lincoln-setup.py"
|
|
59
|
+
- "scripts/check-harness-drift.sh"
|
|
60
|
+
exit_checks:
|
|
61
|
+
- check: artifacts_present
|
|
62
|
+
|
|
63
|
+
- id: phase-2-p1-design
|
|
64
|
+
name: Phase 2 P1 设计
|
|
65
|
+
description: 设计 P1 摩擦学习、事件追踪扩展、子代理委托与 MR 知识挖掘方案
|
|
66
|
+
human_gate: true
|
|
67
|
+
action: draft-product-design
|
|
68
|
+
artifacts:
|
|
69
|
+
- "{process_slug}/designs/phase-2-p1-learning-eventlog-subagents-design.md"
|
|
70
|
+
exit_checks:
|
|
71
|
+
- check: design_docs_complete
|
|
72
|
+
- check: design_docs_human_approved
|
|
73
|
+
|
|
74
|
+
- id: phase-2-p1-implement
|
|
75
|
+
name: Phase 2 P1 实现
|
|
76
|
+
description: 实现 P1 摩擦学习、事件追踪扩展、子代理委托与 MR 知识挖掘
|
|
77
|
+
action: implement
|
|
78
|
+
artifacts:
|
|
79
|
+
- ".claude/policies/friction.yaml"
|
|
80
|
+
- ".claude/schemas/design-review-feedback.json"
|
|
81
|
+
- "scripts/lincoln_friction.py"
|
|
82
|
+
- "scripts/lincoln_recall.py"
|
|
83
|
+
- "scripts/lincoln_condenser.py"
|
|
84
|
+
- "scripts/lincoln_mr_mine.py"
|
|
85
|
+
- "scripts/lincoln_trace.py"
|
|
86
|
+
- "scripts/stage_loader.py"
|
|
87
|
+
exit_checks:
|
|
88
|
+
- check: artifacts_present
|
|
89
|
+
|
|
90
|
+
- id: sync-knowledge
|
|
91
|
+
name: 同步到知识库
|
|
92
|
+
description: 将业务与技术知识沉淀到 Obsidian vault
|
|
93
|
+
trigger: on_pr_merge
|
|
94
|
+
action: sync-to-knowledge
|
|
95
|
+
artifacts:
|
|
96
|
+
- "knowledge/03-features/{feature_slug}.md"
|
|
97
|
+
exit_checks:
|
|
98
|
+
- check: feature_doc_has_business_and_technical_sections
|
|
99
|
+
- check: feature_doc_has_links
|
|
100
|
+
- check: no_conflict_with_existing_knowledge
|
|
@@ -46,6 +46,7 @@ workflow:
|
|
|
46
46
|
human_gate: true
|
|
47
47
|
artifacts:
|
|
48
48
|
- "{process_slug}/pages/docs/requirements.html"
|
|
49
|
+
- "{process_slug}/pages/docs/stakeholders.html"
|
|
49
50
|
- "{process_slug}/pages/docs/user-stories.html"
|
|
50
51
|
- "{process_slug}/pages/docs/prd.html"
|
|
51
52
|
optional_artifacts:
|
|
@@ -68,6 +69,7 @@ workflow:
|
|
|
68
69
|
human_gate: true
|
|
69
70
|
artifacts:
|
|
70
71
|
- "{process_slug}/pages/docs/design-review.html"
|
|
72
|
+
- "{process_slug}/pages/docs/decisions.html"
|
|
71
73
|
- "{process_slug}/pages/docs/scenarios.html"
|
|
72
74
|
- "{process_slug}/pages/docs/feature-catalog.html"
|
|
73
75
|
- "{process_slug}/pages/docs/data-model.html"
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
{
|
|
10
10
|
"name": "lincoln",
|
|
11
11
|
"description": "AI-Native product R&D collaboration system for Conductor + Claude Code. Orchestrates stages, gates, artifacts, skills, and roles across product, design, and engineering into a repeatable workflow from recordings to GitHub Issues to Obsidian knowledge base.",
|
|
12
|
-
"version": "1.
|
|
12
|
+
"version": "1.8.0",
|
|
13
13
|
"author": {
|
|
14
14
|
"name": "Lincoln contributors"
|
|
15
15
|
},
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
]
|
|
29
29
|
}
|
|
30
30
|
],
|
|
31
|
-
"version": "1.
|
|
31
|
+
"version": "1.8.0"
|
|
32
32
|
}
|
package/framework/README.en.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> [中文](README.md) | English
|
|
4
4
|
|
|
5
|
+
**TL;DR** — Lincoln is an AI-Native R&D workflow system that brings stage-driven discipline, human gates, and repeatable SOPs to Claude Code, Codex, and OpenCode — from requirements to shipped knowledge.
|
|
6
|
+
|
|
5
7
|
Lincoln is an AI-Native R&D workflow system spanning **IDEs, agent harnesses, code hosting, knowledge management, skills, plugins, and automation**. It runs on **stages** for rhythm, **gates** for quality, and **repeatable SOPs** as its backbone, chaining requirements clarification, product design, prototyping, TDD planning, OpenSpec proposals, task splitting, implementation, and knowledge-base distillation into one human-AI collaborative pipeline.
|
|
6
8
|
|
|
7
9
|
- **Whole lifecycle, not a point tool**: every stage has explicit role, skill, and artifact contracts — agents step in at the right moments instead of replacing human judgment.
|
|
@@ -10,9 +12,9 @@ Lincoln is an AI-Native R&D workflow system spanning **IDEs, agent harnesses, co
|
|
|
10
12
|
|
|
11
13
|
## Latest Release
|
|
12
14
|
|
|
13
|
-
[](RELEASE.md)
|
|
14
16
|
|
|
15
|
-
**v1.
|
|
17
|
+
**v1.8.0** is released: SecurityAnalyzer pre-tool-use gating, Trace 2.0 event log, session friction scoring and knowledge recall, plus multi-dimensional stakeholder analysis in the clarify stage.
|
|
16
18
|
|
|
17
19
|
See the full release notes in [RELEASE.md](RELEASE.md).
|
|
18
20
|
|
|
@@ -92,10 +94,28 @@ This creates a `.lincoln.yaml` marker file. After that, opening Claude Code in t
|
|
|
92
94
|
|
|
93
95
|
### Update Lincoln
|
|
94
96
|
|
|
97
|
+
Already installed? One command upgrades Lincoln and re-syncs the framework into your harnesses — `lincoln update` pulls the latest release from npm and re-runs the sync:
|
|
98
|
+
|
|
95
99
|
```bash
|
|
96
|
-
lincoln update
|
|
100
|
+
lincoln update # upgrade to the latest release and re-sync
|
|
101
|
+
lincoln update --check # check for a newer version without installing
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
On an older install (e.g. from the `lincoln-install` era), or if npm reports `EEXIST: file already exists`, a leftover bin from an old package is blocking the install — clean up first, then reinstall:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
npm uninstall -g lincoln lincoln-install # remove legacy package names (skips if absent)
|
|
108
|
+
npm install -g @sushanglewis/lincoln@latest
|
|
109
|
+
lincoln install --yes
|
|
97
110
|
```
|
|
98
111
|
|
|
112
|
+
> **Dangling-bin symptom**: the install fails with `EEXIST: file already exists` while running `lincoln` reports `command not found` — a dead symlink from an old package occupies the bin path. Verify with `ls -la "$(npm prefix -g)/bin/lincoln"` that it points to a removed package, delete it, and retry:
|
|
113
|
+
>
|
|
114
|
+
> ```bash
|
|
115
|
+
> rm "$(npm prefix -g)/bin/lincoln"
|
|
116
|
+
> npm install -g @sushanglewis/lincoln@latest && lincoln install --yes
|
|
117
|
+
> ```
|
|
118
|
+
|
|
99
119
|
### Migrate from the old vendored model
|
|
100
120
|
|
|
101
121
|
If your project previously committed the Lincoln framework source directly into the repo:
|
|
@@ -113,7 +133,11 @@ First time? Read [USAGE.md](USAGE.md) for the full installation and usage guide.
|
|
|
113
133
|
|
|
114
134
|
### Stage-Driven Workflow Engine
|
|
115
135
|
|
|
116
|
-
Each stage is defined in `.claude/stages/<stage-id>.yaml` with its role, skills, gates, and artifacts. The `workflow-stage.yaml` runtime state drives agent context injection, while Lincoln's stage loader handles stage validation, artifact recording, and gate advancement.
|
|
136
|
+
Each stage is defined in `.claude/stages/<stage-id>.yaml` with its role, skills, gates, and artifacts. The `workflow-stage.yaml` runtime state drives agent context injection, while Lincoln's stage loader handles stage validation, artifact recording, and gate advancement. `--render-stage` batch rendering generates all missing artifact pages declared by a stage in a single command.
|
|
137
|
+
|
|
138
|
+
### Artifact Traceability
|
|
139
|
+
|
|
140
|
+
Lincoln assigns stable IDs such as `feature/*`, `page/*`, `field/*`, and `doc/*` to requirements, pages, fields, documents, and other artifacts. Downstream stages trace upstream work by ID instead of guessing paths. To trace an artifact, just tell the Agent "Look up doc/requirement-001".
|
|
117
141
|
|
|
118
142
|
### Preset SOP Workflow Templates
|
|
119
143
|
|
|
@@ -128,14 +152,14 @@ Each stage is defined in `.claude/stages/<stage-id>.yaml` with its role, skills,
|
|
|
128
152
|
|
|
129
153
|
See [`.claude/workflows/README.md`](.claude/workflows/README.md) for the full template catalog.
|
|
130
154
|
|
|
131
|
-
### Issue Work Packages
|
|
155
|
+
### Markdown-First Issue Work Packages
|
|
132
156
|
|
|
133
157
|
Every requirement maps to one GitHub issue and one Lincoln feature branch. The `issue-<N>/` work package contains:
|
|
134
158
|
|
|
135
159
|
- `index.html` — human-facing portal aggregating stage status, navigation, and artifacts
|
|
136
160
|
- `workflow-stage.yaml` — machine-readable state and handoff protocol
|
|
137
161
|
- `documents.yaml` — artifact index and human-approval status
|
|
138
|
-
- `pages/docs/` —
|
|
162
|
+
- `pages/docs/` — pages for requirements, PRDs, designs, TDD plans; narrative docs are Markdown-first and can be authored as Markdown chapters with `mermaid` diagrams, rendered by the local `mermaid.min.js` runtime
|
|
139
163
|
- `pages/prototype/` — interactive HTML prototypes
|
|
140
164
|
- `handoffs/` — stage handoff documents
|
|
141
165
|
|
|
@@ -154,6 +178,7 @@ Lincoln is AI-Native — **you don't need to type terminal commands**. Describe
|
|
|
154
178
|
| List all active Lincoln branches | Lists stage status and blockers for every issue branch |
|
|
155
179
|
| Run benchmark | Generates a Lincoln session benchmark report |
|
|
156
180
|
| Start the PM research workflow | Enters the `pm-research` research chain |
|
|
181
|
+
| Look up doc/requirement-001 | Traces the artifact by stable ID |
|
|
157
182
|
|
|
158
183
|
More commands and usage details are in [USAGE.md](USAGE.md).
|
|
159
184
|
|
|
@@ -201,6 +226,18 @@ Before submitting a PR, please read:
|
|
|
201
226
|
- [OpenSpec docs](https://github.com/Fission-AI/openspec)
|
|
202
227
|
- [Obsidian WikiLinks](https://help.obsidian.md/Linking+notes+and+files/Internal+links)
|
|
203
228
|
|
|
229
|
+
## Release History
|
|
230
|
+
|
|
231
|
+
| Version | Date | Key capabilities |
|
|
232
|
+
|---|---|---|
|
|
233
|
+
| v1.7.0 | 2026-09-05 | SecurityAnalyzer gating; Trace 2.0 event log; friction scoring/knowledge recall/trace condensation/MR mining; parallel specialist delegation; stakeholder analysis model |
|
|
234
|
+
| v1.6.3 | 2026-08-15 | Markdown-first issue-package documents; `--render-stage` batch rendering; local `mermaid.min.js` runtime |
|
|
235
|
+
| v1.6.2 | 2026-08-12 | `lc-init-branch` reads global Lincoln templates |
|
|
236
|
+
| v1.6.1 | 2026-08-11 | `lc-one-id` artifact traceability; portal annotation alignment |
|
|
237
|
+
| v1.6.0 | 2026-08-06 | Global npm plugin model; `@sushanglewis/lincoln` CLI; release-on-merge automation |
|
|
238
|
+
|
|
239
|
+
See [RELEASE.md](RELEASE.md) for full release notes.
|
|
240
|
+
|
|
204
241
|
## License
|
|
205
242
|
|
|
206
243
|
Lincoln is released under the [MIT License](LICENSE), Copyright (c) 2026 苏尚lewis (sushanglewis).
|