@sushanglewis/lincoln 1.6.2 → 1.7.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.
Files changed (54) hide show
  1. package/framework/.claude/agents/pm.md +2 -2
  2. package/framework/.claude/agents/security-reviewer.md +57 -0
  3. package/framework/.claude/harnesses/codex.yaml +31 -2
  4. package/framework/.claude/harnesses/command-map.yaml +4 -0
  5. package/framework/.claude/harnesses/opencode.yaml +33 -3
  6. package/framework/.claude/hooks/hooks.yaml +37 -0
  7. package/framework/.claude/hooks/on-session-start.sh +20 -5
  8. package/framework/.claude/hooks/on-stop.sh +22 -0
  9. package/framework/.claude/hooks/pre-tool-use.sh +22 -0
  10. package/framework/.claude/mcp/mcp.yaml +34 -0
  11. package/framework/.claude/policies/friction.yaml +18 -0
  12. package/framework/.claude/policies/security.yaml +46 -0
  13. package/framework/.claude/schemas/design-review-feedback.json +32 -0
  14. package/framework/.claude/schemas/stage-definition.schema.json +22 -0
  15. package/framework/.claude/skills/clarify-requirements/SKILL.md +1 -0
  16. package/framework/.claude/skills/clarify-requirements/prompts/main.md +83 -80
  17. package/framework/.claude/skills/draft-product-design/prompts/main.md +27 -14
  18. package/framework/.claude/stages/clarify.yaml +7 -5
  19. package/framework/.claude/stages/phase-1-p0-design.yaml +44 -0
  20. package/framework/.claude/stages/phase-1-p0-implement.yaml +47 -0
  21. package/framework/.claude/stages/phase-2-p1-design.yaml +53 -0
  22. package/framework/.claude/stages/phase-2-p1-implement.yaml +45 -0
  23. package/framework/.claude/stages/product-design-docs.yaml +6 -6
  24. package/framework/.claude/workflows/framework-self-improvement.yaml +100 -0
  25. package/framework/.claude/workflows/interview-to-knowledge.yaml +1 -0
  26. package/framework/.claude-plugin/marketplace.json +2 -2
  27. package/framework/.claude-plugin/plugin.json +1 -1
  28. package/framework/.version-bump.json +1 -1
  29. package/framework/README.en.md +24 -5
  30. package/framework/README.md +24 -5
  31. package/framework/RELEASE.md +41 -0
  32. package/framework/SKILL.md +15 -6
  33. package/framework/manifest.json +96 -56
  34. package/framework/scripts/check-harness-drift.sh +11 -1
  35. package/framework/scripts/lincoln-setup.py +17 -0
  36. package/framework/scripts/lincoln_condenser.py +110 -0
  37. package/framework/scripts/lincoln_friction.py +266 -0
  38. package/framework/scripts/lincoln_harness_adapter.py +185 -13
  39. package/framework/scripts/lincoln_mr_mine.py +146 -0
  40. package/framework/scripts/lincoln_recall.py +142 -0
  41. package/framework/scripts/lincoln_render.py +209 -6
  42. package/framework/scripts/lincoln_trace.py +119 -3
  43. package/framework/scripts/security_analyzer.py +234 -0
  44. package/framework/scripts/stage_loader.py +124 -1
  45. package/framework/tools/lincoln/package-lock.json +2 -2
  46. package/framework/tools/lincoln/package.json +1 -1
  47. package/framework/tools/lincoln-installer/package.json +6 -1
  48. package/package.json +6 -1
  49. package/framework/.claude/agents/external/everything-claude-code/agents/ecc-tdd-guide.md +0 -108
  50. package/framework/.claude/agents/external/oh-my-claudecode/agents/omc-architect.md +0 -134
  51. package/framework/.claude/agents/external/oh-my-claudecode/agents/omc-code-reviewer.md +0 -248
  52. package/framework/.claude/agents/external/oh-my-claudecode/agents/omc-designer.md +0 -122
  53. package/framework/.claude/agents/external/oh-my-claudecode/agents/omc-qa-tester.md +0 -106
  54. package/framework/.claude/agents/external/wshobson-agents/agents/wshobson-frontend-developer.md +0 -173
@@ -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](https://img.shields.io/badge/release-v1.6.2-blue)](RELEASE.md)
15
+ [![Release](https://img.shields.io/badge/release-v1.7.0-blue)](RELEASE.md)
14
16
 
15
- **v1.6.2** is released: Lincoln switches to a global npm plugin model. Install with `npm install -g @sushanglewis/lincoln`; projects opt in via `.lincoln.yaml`.
17
+ **v1.7.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
 
@@ -113,7 +115,11 @@ First time? Read [USAGE.md](USAGE.md) for the full installation and usage guide.
113
115
 
114
116
  ### Stage-Driven Workflow Engine
115
117
 
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.
118
+ 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.
119
+
120
+ ### Artifact Traceability
121
+
122
+ 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
123
 
118
124
  ### Preset SOP Workflow Templates
119
125
 
@@ -128,14 +134,14 @@ Each stage is defined in `.claude/stages/<stage-id>.yaml` with its role, skills,
128
134
 
129
135
  See [`.claude/workflows/README.md`](.claude/workflows/README.md) for the full template catalog.
130
136
 
131
- ### Issue Work Packages (HTML Portal)
137
+ ### Markdown-First Issue Work Packages
132
138
 
133
139
  Every requirement maps to one GitHub issue and one Lincoln feature branch. The `issue-<N>/` work package contains:
134
140
 
135
141
  - `index.html` — human-facing portal aggregating stage status, navigation, and artifacts
136
142
  - `workflow-stage.yaml` — machine-readable state and handoff protocol
137
143
  - `documents.yaml` — artifact index and human-approval status
138
- - `pages/docs/` — HTML pages for requirements, PRDs, designs, TDD plans
144
+ - `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
145
  - `pages/prototype/` — interactive HTML prototypes
140
146
  - `handoffs/` — stage handoff documents
141
147
 
@@ -154,6 +160,7 @@ Lincoln is AI-Native — **you don't need to type terminal commands**. Describe
154
160
  | List all active Lincoln branches | Lists stage status and blockers for every issue branch |
155
161
  | Run benchmark | Generates a Lincoln session benchmark report |
156
162
  | Start the PM research workflow | Enters the `pm-research` research chain |
163
+ | Look up doc/requirement-001 | Traces the artifact by stable ID |
157
164
 
158
165
  More commands and usage details are in [USAGE.md](USAGE.md).
159
166
 
@@ -201,6 +208,18 @@ Before submitting a PR, please read:
201
208
  - [OpenSpec docs](https://github.com/Fission-AI/openspec)
202
209
  - [Obsidian WikiLinks](https://help.obsidian.md/Linking+notes+and+files/Internal+links)
203
210
 
211
+ ## Release History
212
+
213
+ | Version | Date | Key capabilities |
214
+ |---|---|---|
215
+ | 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 |
216
+ | v1.6.3 | 2026-08-15 | Markdown-first issue-package documents; `--render-stage` batch rendering; local `mermaid.min.js` runtime |
217
+ | v1.6.2 | 2026-08-12 | `lc-init-branch` reads global Lincoln templates |
218
+ | v1.6.1 | 2026-08-11 | `lc-one-id` artifact traceability; portal annotation alignment |
219
+ | v1.6.0 | 2026-08-06 | Global npm plugin model; `@sushanglewis/lincoln` CLI; release-on-merge automation |
220
+
221
+ See [RELEASE.md](RELEASE.md) for full release notes.
222
+
204
223
  ## License
205
224
 
206
225
  Lincoln is released under the [MIT License](LICENSE), Copyright (c) 2026 苏尚lewis (sushanglewis).
@@ -2,6 +2,8 @@
2
2
 
3
3
  > 中文 | [English](README.en.md)
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 是一个贯穿 **IDE、Agent Harness、代码托管、知识管理、技能、插件与自动化程序** 的 AI-Native 研发工作流体系。它以**阶段**为节奏、以**门控**为质量保障、以**可重复 SOP** 为骨架,把需求澄清、产品设计、原型、TDD 计划、OpenSpec 提案、任务拆分、研发实现和知识库沉淀串成一条可人机协作的流水线。
6
8
 
7
9
  - **全流程,而非单点工具**:每个阶段都有明确的角色、技能与产物约定——Agent 在恰当的节点介入,而不是替代人的判断。
@@ -10,9 +12,9 @@ Lincoln 是一个贯穿 **IDE、Agent Harness、代码托管、知识管理、
10
12
 
11
13
  ## 最新版本
12
14
 
13
- [![Release](https://img.shields.io/badge/release-v1.6.2-blue)](RELEASE.md)
15
+ [![Release](https://img.shields.io/badge/release-v1.7.0-blue)](RELEASE.md)
14
16
 
15
- **v1.6.2** 已发布:Lincoln 切换为全局 npm 插件模型,通过 `npm install -g @sushanglewis/lincoln` 安装,项目侧使用 `.lincoln.yaml` 选择性激活。
17
+ **v1.7.0** 已发布:新增 SecurityAnalyzer 安全门控、Trace 2.0 事件日志与会话摩擦学习/知识召回能力,clarify 阶段支持多维度相关者分析。
16
18
 
17
19
  查看完整发布说明:[RELEASE.md](RELEASE.md)
18
20
 
@@ -113,7 +115,11 @@ lincoln migrate-project --yes # 确认迁移
113
115
 
114
116
  ### 阶段驱动的工作流引擎
115
117
 
116
- 每个阶段定义在 `.claude/stages/<stage-id>.yaml`,内含角色、可调用的技能、门控条件与产物要求。`workflow-stage.yaml` 作为运行时状态,由 Lincoln 的阶段加载器驱动阶段校验、产物记录与 gate 推进。
118
+ 每个阶段定义在 `.claude/stages/<stage-id>.yaml`,内含角色、可调用的技能、门控条件与产物要求。`workflow-stage.yaml` 作为运行时状态,由 Lincoln 的阶段加载器驱动阶段校验、产物记录与 gate 推进。`--render-stage` 批量渲染可一次生成某阶段声明的所有缺失文档页面。
119
+
120
+ ### 产物追溯
121
+
122
+ Lincoln 为需求、页面、字段、文档等产物分配 `feature/*`、`page/*`、`field/*`、`doc/*` 稳定 ID。下游阶段按 ID 追溯上游产物,避免路径猜测带来的漂移。需要追溯时,直接对 Agent 说「查一下 doc/需求-001」即可。
117
123
 
118
124
  ### 预设 SOP 工作流模板
119
125
 
@@ -128,14 +134,14 @@ lincoln migrate-project --yes # 确认迁移
128
134
 
129
135
  完整模板说明见 [`.claude/workflows/README.md`](.claude/workflows/README.md)。
130
136
 
131
- ### Issue 工作包(HTML 门户)
137
+ ### Markdown-first Issue 工作包
132
138
 
133
139
  每个需求对应一个 GitHub issue 和一个 Lincoln feature 分支。工作包目录 `issue-<N>/` 包含:
134
140
 
135
141
  - `index.html` — 人读门户,聚合阶段状态、导航与产物
136
142
  - `workflow-stage.yaml` — 机器状态与 handoff 协议
137
143
  - `documents.yaml` — 产物索引与 human 确认状态
138
- - `pages/docs/` — 需求、PRD、设计、TDD 计划等 HTML 页面
144
+ - `pages/docs/` — 需求、PRD、设计、TDD 计划等页面,叙事类文档采用 Markdown-first,可直接用 Markdown 章节和 `mermaid` 流程图编写,渲染时自动加载本地 `mermaid.min.js` 运行时
139
145
  - `pages/prototype/` — 可交互原型 HTML 页面
140
146
  - `handoffs/` — 阶段交接文档
141
147
 
@@ -154,6 +160,7 @@ Lincoln 是 AI-Native 工作流——**你不需要在终端输入任何命令**
154
160
  | 列出所有活跃分支 | 列出所有 issue 分支的阶段状态与等待对象 |
155
161
  | 运行 benchmark | 生成 Lincoln 会话基准评测报告 |
156
162
  | 启动 PM 研究工作流 | 进入 `pm-research` 研究链路 |
163
+ | 查一下 doc/需求-001 | 调用 `lc-one-id` 按稳定 ID 追溯产物 |
157
164
 
158
165
  更多命令与用法见 [USAGE.md](USAGE.md)。
159
166
 
@@ -201,6 +208,18 @@ Lincoln 的 `.claude/` 是开放的系统提示层,欢迎基于同一套元模
201
208
  - [OpenSpec 文档](https://github.com/Fission-AI/openspec)
202
209
  - [Obsidian WikiLinks](https://help.obsidian.md/Linking+notes+and+files/Internal+links)
203
210
 
211
+ ## 版本记录
212
+
213
+ | 版本 | 日期 | 关键能力 |
214
+ |---|---|---|
215
+ | v1.7.0 | 2026-09-05 | SecurityAnalyzer 安全门控;Trace 2.0 事件日志;摩擦学习/知识召回/Trace 浓缩/MR 挖掘;并行专家子代理委托;相关者分析模型 |
216
+ | v1.6.3 | 2026-08-15 | Markdown-first issue-package 文档;`--render-stage` 批量渲染;Mermaid 图表本地渲染 |
217
+ | v1.6.2 | 2026-08-12 | `lc-init-branch` 改读全局 Lincoln 模板 |
218
+ | v1.6.1 | 2026-08-11 | `lc-one-id` 产物追溯 skill;portal 注解对齐 |
219
+ | v1.6.0 | 2026-08-06 | 全局 npm 插件模型;`@sushanglewis/lincoln` CLI;release-on-merge 自动化 |
220
+
221
+ 完整发布说明见 [RELEASE.md](RELEASE.md)。
222
+
204
223
  ## License
205
224
 
206
225
  Lincoln 本体以 [MIT License](LICENSE) 发布,Copyright (c) 2026 苏尚lewis (sushanglewis)。
@@ -1,3 +1,44 @@
1
+ # Lincoln v1.7.0 Release Notes
2
+
3
+ **Release date:** 2026-09-05
4
+
5
+ ## Highlights
6
+
7
+ - **SecurityAnalyzer pre-tool-use 安全门控 (#115)** — 新增 `scripts/security_analyzer.py` 与 `.claude/policies/security.yaml`:对 Bash 副作用命令(`rm -rf`、强推、危险重定向等)做风险分类与策略匹配,命中时要求人类确认后才允许执行;包含路径规范化与命令分段解析的防绕过修复。
8
+ - **Harness 分发能力翻转 (#115)** — hooks/skills 从默认关闭翻转为默认启用(opt-out);新增 `.claude/harnesses/hooks.yaml` 与 `.claude/harnesses/mcp.yaml` 声明式配置,`lincoln_harness_adapter.py` 为 codex/opencode 生成对应产物,保持三 harness 无漂移。
9
+ - **Trace 2.0 事件日志 (#115)** — Trace schema 升级到 2.0.0:阶段生命周期、gate 审批、产物记录、工作流完成等事件自动落盘到实例级 `.trace/`,支持 `node_id` 关联与后续审计分析。
10
+ - **P1 学习能力四件套 (#115)** — 会话结束时 `lincoln_friction.py` 对会话摩擦打分(`friction.yaml` 策略);会话开始时 `lincoln_recall.py` 按当前阶段召回相关知识;`lincoln_condenser.py` 对超长 trace 做浓缩摘要;`lincoln_mr_mine.py` 提供 GitHub PR/MR 模式挖掘 CLI。
11
+ - **并行专家子代理委托 (#115)** — stage 定义新增 `agent.parallel_specialists`、`merge_strategy`(priority/vote/consensus)与 `output_schema`,`stage_loader` 在阶段准入时校验委托配置;新增 `lc-security-reviewer` 安全审查角色与设计评审反馈 JSON schema。
12
+ - **framework-self-improvement 工作流 (#115)** — 注册 `phase-1-p0-design/implement`、`phase-2-p1-design/implement` 四个阶段,形成「调研 → 设计 → 实现 → 学习」的框架自我改进闭环,并接入 `lc-wf-framework-self-improvement` 命令。
13
+ - **多维度相关者分析模型 (#114)** — `clarify` 阶段新增 `stakeholders.html` 必需产物,`clarify-requirements` prompt 增加相关者识别/影响力-态度分析步骤,PM 角色职责同步更新。
14
+
15
+ ## Migration Notes
16
+
17
+ - 全局插件用户升级:`npm update -g @sushanglewis/lincoln` 后重跑 `lincoln install --yes`,把新 hooks、安全策略与技能同步到 `~/.claude/`(以及 codex/opencode 对应目录)。
18
+ - 安全门控默认生效且为人类确认制(confirm_required),不是自动阻断;策略可在项目 `.claude/policies/security.yaml` 中按需调整。
19
+ - 无破坏性变更:现有 issue 工作包、`.lincoln.yaml` 激活方式与阶段协议均保持兼容。
20
+
21
+ ---
22
+
23
+ # Lincoln v1.6.3 Release Notes
24
+
25
+ **Release date:** 2026-08-14
26
+
27
+ ## Highlights
28
+
29
+ - **Markdown-first issue-package documents (#108)** — `page-doc.html.tpl` now renders full Markdown (nested lists, ordered lists, tables, code blocks) and real Mermaid diagrams via a local `mermaid.min.js` runtime. Agents can write big sections with ` ```mermaid ` flowcharts instead of forcing everything into rigid YAML tables.
30
+ - **Coarser `lincoln_render.py` CLI (#108)** — `nav-label`, `nav-group`, `version`, `uid`, and `stage-mark` now derive sensible defaults from the title, target filename, and Markdown source. The most common single-page invocation shrinks from 8+ flags to `--stage --target --title --markdown`.
31
+ - **Stage-level batch rendering (#108)** — New `--render-stage` mode renders all missing artifact pages declared by a stage definition in one command, using a matching `.md` file automatically when present. This removes repetitive boilerplate from skill prompts.
32
+ - **Stage routing refresh (#108)** — `clarify` and `product-design-docs` stages route narrative docs (requirements, PRD, design-review, scenarios, flows, feasibility, version-log) to the Markdown-first template, while tabular docs (feature-catalog, data-model, page-map, api-list) keep the structured template.
33
+ - **Skill prompt updates (#108)** — `clarify-requirements` and `draft-product-design` prompts now encourage agents to organize docs as big Markdown chapters and use Mermaid diagrams whenever that communicates the requirement more clearly.
34
+
35
+ ## Migration Notes
36
+
37
+ - Existing issue packages continue to work: the structured template and all existing HTML pages are unchanged. New or re-rendered doc pages will use the Markdown-first behavior.
38
+ - To get Mermaid support in an existing issue package, re-render the doc page or copy `mermaid.min.js` into `{process_slug}/assets/`.
39
+
40
+ ---
41
+
1
42
  # Lincoln v1.6.2 Release Notes
2
43
 
3
44
  **Release date:** 2026-08-12
@@ -1,24 +1,33 @@
1
1
  ---
2
2
  name: Lincoln
3
- description: Lincoln AI-Native R&D workflow system — terminal installer and agent harness templates
3
+ description: Lincoln AI-Native R&D workflow system — global npm plugin and agent harness templates
4
4
  ---
5
5
 
6
6
  # Lincoln
7
7
 
8
- After this skill is installed, launch the guided terminal installer to set up Lincoln in your project:
8
+ After this skill is installed, set up Lincoln globally on your machine:
9
9
 
10
10
  ```bash
11
- npx lincoln-install
11
+ npm install -g @sushanglewis/lincoln
12
+ lincoln install --yes
12
13
  ```
13
14
 
14
- The installer will walk you through selecting an agent harness (Claude Code, Cursor, Codex, OpenCode, etc.), optional dependencies, and project configuration. For CI or scripting, use `--no-tui --format json` or `--yes --dry-run`.
15
+ `npm install -g` installs the CLI and bundled framework payload. `lincoln install --yes` syncs hooks, agents, skills, scripts, and the full runtime framework to `~/.claude/`, `~/.codex/`, and `~/.opencode/`.
15
16
 
16
- To update an existing Lincoln project to the latest release while preserving your user data, run:
17
+ You can also target specific harnesses:
17
18
 
18
19
  ```bash
19
- npx lincoln-update
20
+ lincoln install --yes --harnesses claude-code,opencode
21
+ ```
22
+
23
+ To update an existing Lincoln installation while preserving your user data, run:
24
+
25
+ ```bash
26
+ lincoln update
20
27
  ```
21
28
 
22
29
  Use `--dry-run` to preview changes or `--no-tui --format json` for scripted updates.
23
30
 
24
31
  For the agent-mediated setup flow, ask your Agent to run `/lc-setup` instead.
32
+
33
+ > **Deprecated**: the old `npx lincoln-install` / `npx lincoln-update` wrappers are still present but no longer recommended. If your project previously used the vendored framework model, run `lincoln migrate-project --yes` to switch to the global plugin model.
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.6.2",
3
- "generatedAt": "2026-08-13T01:01:59.002Z",
2
+ "version": "1.7.0",
3
+ "generatedAt": "2026-09-07T14:48:46.564Z",
4
4
  "files": [
5
5
  {
6
6
  "path": ".claude-plugin/hooks.json",
@@ -8,11 +8,11 @@
8
8
  },
9
9
  {
10
10
  "path": ".claude-plugin/marketplace.json",
11
- "sha256": "ce8d8d0f649e611057d3ead1de3b7234af96e1352323d43a6f9de8dd93a34810"
11
+ "sha256": "5dc4fba17ae11c15bcfe85a416f2f723233cb6ccb02a6a6281476eede2aace54"
12
12
  },
13
13
  {
14
14
  "path": ".claude-plugin/plugin.json",
15
- "sha256": "c6d1feee310d5890b9a895e399414b43cfdd963249a246cd5bb3ac5a91f37c2f"
15
+ "sha256": "3db704b95c999bf6fcc48498e18b336e297aa2c047d9a37bebfe54d4d515412d"
16
16
  },
17
17
  {
18
18
  "path": ".claude/agents/architect.md",
@@ -38,38 +38,14 @@
38
38
  "path": ".claude/agents/external/everything-claude-code.manifest.yaml",
39
39
  "sha256": "4a53705c4d216b115ed99463d2dd31ee4c71fcdc2dccff47a3e8b30a38a9ae9c"
40
40
  },
41
- {
42
- "path": ".claude/agents/external/everything-claude-code/agents/ecc-tdd-guide.md",
43
- "sha256": "33d42f8613ce587f6529f5d45325809c9e6c70c73b61c4029217bc5b0e76be43"
44
- },
45
41
  {
46
42
  "path": ".claude/agents/external/oh-my-claudecode.manifest.yaml",
47
43
  "sha256": "415febed380415a9bd867fbb83b8165c01d6014047e0de13b6d27e8ccce1d29d"
48
44
  },
49
- {
50
- "path": ".claude/agents/external/oh-my-claudecode/agents/omc-architect.md",
51
- "sha256": "b97fa40890dc17701939943e98dfcec34e0aebd2df3a31f13db2c469daf43082"
52
- },
53
- {
54
- "path": ".claude/agents/external/oh-my-claudecode/agents/omc-code-reviewer.md",
55
- "sha256": "3677f8240de9ecbb72c610097c420f8f1f04027f96f7b575b2b5cfa93d3e2f17"
56
- },
57
- {
58
- "path": ".claude/agents/external/oh-my-claudecode/agents/omc-designer.md",
59
- "sha256": "1c2e32dac27375b05f5f116fd13d2f703d5ecb8c26f866add790fda47e40f50d"
60
- },
61
- {
62
- "path": ".claude/agents/external/oh-my-claudecode/agents/omc-qa-tester.md",
63
- "sha256": "bd77183d7ec8b3f01380dc497090fa1eaa04d64e88cd0457a9ffd915aca592b6"
64
- },
65
45
  {
66
46
  "path": ".claude/agents/external/wshobson-agents.manifest.yaml",
67
47
  "sha256": "1af9bd4355deebc93d134194bbb144039b4c680eaed9f357adafc7801cce610c"
68
48
  },
69
- {
70
- "path": ".claude/agents/external/wshobson-agents/agents/wshobson-frontend-developer.md",
71
- "sha256": "13129e3c4e25a2a208fa5871fb49623f652387efa45a6deca1a6a1bda7e5d562"
72
- },
73
49
  {
74
50
  "path": ".claude/agents/frontend-engineer.md",
75
51
  "sha256": "f6660eaa6440c655629cc54783500540a5b403cd3d5446f9601513cb2cee7dca"
@@ -80,7 +56,7 @@
80
56
  },
81
57
  {
82
58
  "path": ".claude/agents/pm.md",
83
- "sha256": "82502490bae859380f1ed99da890f18a061a4560f31cf22fdf128fb1942536f2"
59
+ "sha256": "75e9481a9bb0b87fd051416f1680f748ddd62e61209c29697acb589fbbb11fa1"
84
60
  },
85
61
  {
86
62
  "path": ".claude/agents/qa.md",
@@ -94,37 +70,45 @@
94
70
  "path": ".claude/agents/researcher.md",
95
71
  "sha256": "11a9f3b232c84a4d5d13b42a2ade3beaafe04b708a53836b54226b49e79a9eaa"
96
72
  },
73
+ {
74
+ "path": ".claude/agents/security-reviewer.md",
75
+ "sha256": "7bd26aa4ef4ce4a49d81b339799ac9028a29bcdb661d220ac0967b38b307c7d3"
76
+ },
97
77
  {
98
78
  "path": ".claude/harnesses/claude-code.yaml",
99
79
  "sha256": "4822f694dfe0a8e0edbb3dc552e5799f62e75ec104bc54bd7aea457445ef9516"
100
80
  },
101
81
  {
102
82
  "path": ".claude/harnesses/codex.yaml",
103
- "sha256": "cf4834565c709ada29466ea3830d01ef892d2f6c1094fe8590b75e7c9c1c0abf"
83
+ "sha256": "e62313a312ad0684235b9d392d8160784f266419a40848cbf608f8250d2ea7d3"
104
84
  },
105
85
  {
106
86
  "path": ".claude/harnesses/command-map.yaml",
107
- "sha256": "c3cc07e5d4932c78ae074850d01e7c359a2a81694b3cef081c41aa268328b355"
87
+ "sha256": "f9f0ec19138399f98fb0064c0abf7490e7c0d1f1b933cef76468281c18cc4837"
108
88
  },
109
89
  {
110
90
  "path": ".claude/harnesses/opencode.yaml",
111
- "sha256": "cea58942904b217cdbcb60f03d2083378d2fdaff3ec93f6562901c92cc7aea42"
91
+ "sha256": "c6c87806ca5a650fbb4163823e13c7a19342275814c2d675070fb7bbc1271edf"
112
92
  },
113
93
  {
114
94
  "path": ".claude/harnesses/scenarios.yaml",
115
95
  "sha256": "5964474167e47385bab0d821c62b147e3d574ab4acd99b0d45ae1bfb2dd82abf"
116
96
  },
97
+ {
98
+ "path": ".claude/hooks/hooks.yaml",
99
+ "sha256": "9905d44731e901651ea13c5a5ada9be6f9d72ddce07701d11773f13662bc68bb"
100
+ },
117
101
  {
118
102
  "path": ".claude/hooks/on-pr-event.sh",
119
103
  "sha256": "6fa72efc0e1d15e03b446ce57afbfacdc93e69ca480ba723f14aeb449a14c6d6"
120
104
  },
121
105
  {
122
106
  "path": ".claude/hooks/on-session-start.sh",
123
- "sha256": "b499b2db7340b12251d5bf33b919acd611f256a48824c8b3c197f20db680f291"
107
+ "sha256": "f92b3314fb391a25a69cf077e244e1e35c7b4cd6e2abd1f0f3671de85f8ac69d"
124
108
  },
125
109
  {
126
110
  "path": ".claude/hooks/on-stop.sh",
127
- "sha256": "559456624263d75bf38e8aebe78afc7b6e75452131231a0a4a2a59e92485db64"
111
+ "sha256": "0e22d235ec64474136106610fef631fbe316117bd5e3ee642a8cce7c1afa1224"
128
112
  },
129
113
  {
130
114
  "path": ".claude/hooks/post-tool-use.sh",
@@ -132,7 +116,19 @@
132
116
  },
133
117
  {
134
118
  "path": ".claude/hooks/pre-tool-use.sh",
135
- "sha256": "3814aaad9f3cf1af9d0bf76ffb640c19b796b03394de49f3b8c0d9d2c4226f6c"
119
+ "sha256": "51b29d7213486e9c7c24caebed34c82bbaee60c8a47a99537bf595a98519aa64"
120
+ },
121
+ {
122
+ "path": ".claude/mcp/mcp.yaml",
123
+ "sha256": "cabc65ab04e63bbff50d1afaa78f659f9208f40e4b8406ad4e648e87593d7f66"
124
+ },
125
+ {
126
+ "path": ".claude/policies/friction.yaml",
127
+ "sha256": "146af77dbfcdbe4c56aef082f770c8169d91b7574f78189326d965457403d6e8"
128
+ },
129
+ {
130
+ "path": ".claude/policies/security.yaml",
131
+ "sha256": "bd71fd2dd313e033d9248a0697f2b70cc5c6787b39cddb331c39c17f7fdc31cf"
136
132
  },
137
133
  {
138
134
  "path": ".claude/schemas/agent-definition.schema.json",
@@ -142,13 +138,17 @@
142
138
  "path": ".claude/schemas/benchmark-report.schema.json",
143
139
  "sha256": "20f841c9df884d75ad98342091cecc21c6f595f1f888c1ecf6e81f6c928ff8a0"
144
140
  },
141
+ {
142
+ "path": ".claude/schemas/design-review-feedback.json",
143
+ "sha256": "9cc405a54567e75ad7044ba92e26a83dda7b8e50248a6d519f6341115f55fe85"
144
+ },
145
145
  {
146
146
  "path": ".claude/schemas/pm-to-ux-handoff.schema.yaml",
147
147
  "sha256": "e721e86b5112ed5674267ba6a1fa2734c5bd5512a625dc7c7e7a5b9a545ec02e"
148
148
  },
149
149
  {
150
150
  "path": ".claude/schemas/stage-definition.schema.json",
151
- "sha256": "f7a0ca9d84a16a28b7e6131e1d88b993cdad20bfe0701c91685fa01568151351"
151
+ "sha256": "5746190d5de63f7481bc161d4c6a301a43b776886b99ffb0c099609bb5422a05"
152
152
  },
153
153
  {
154
154
  "path": ".claude/schemas/workflow-stage.schema.json",
@@ -172,11 +172,11 @@
172
172
  },
173
173
  {
174
174
  "path": ".claude/skills/clarify-requirements/SKILL.md",
175
- "sha256": "b1d79314ffa4a11b2072fac2da8483232f9d243eb23be00b2d8072b75f3d2916"
175
+ "sha256": "19810b312a6d4c4f6823936be1c66490b951fd4490a70aa4ac0962985f949bf1"
176
176
  },
177
177
  {
178
178
  "path": ".claude/skills/clarify-requirements/prompts/main.md",
179
- "sha256": "0a29f5f44b94b219c801f53e5dc2e441d6fe15e7e07c4bde02562d5a92a53b57"
179
+ "sha256": "57415b733f66c14529ff07754195bf0e28a7054b1f5917b69ef32bd63c3e9474"
180
180
  },
181
181
  {
182
182
  "path": ".claude/skills/dependencies.yaml",
@@ -188,7 +188,7 @@
188
188
  },
189
189
  {
190
190
  "path": ".claude/skills/draft-product-design/prompts/main.md",
191
- "sha256": "d23079d4dc5a1338877cb56221dfe77831a171f6750e0938aefb9d45c4b73322"
191
+ "sha256": "0ac5aac8da4a965135d36936baabb14fef852f65cc9d66da7b71de105fb1cf61"
192
192
  },
193
193
  {
194
194
  "path": ".claude/skills/lc-analyze-frameworks/SKILL.md",
@@ -400,7 +400,7 @@
400
400
  },
401
401
  {
402
402
  "path": ".claude/stages/clarify.yaml",
403
- "sha256": "82c6ce76f6762a12c5459e21ce98463eec4fb414f0eea4bae179eac173d451d0"
403
+ "sha256": "14d3ddb85431fb1800fff8794a6c6aeec378cc8e88bf458f7b593409b8380b1c"
404
404
  },
405
405
  {
406
406
  "path": ".claude/stages/explore-opensource.yaml",
@@ -454,9 +454,25 @@
454
454
  "path": ".claude/stages/lc-storytelling.yaml",
455
455
  "sha256": "3e7dd171db1074b322fb002e0882dd86f448450adb02f3ae6b084d531f9f9cc7"
456
456
  },
457
+ {
458
+ "path": ".claude/stages/phase-1-p0-design.yaml",
459
+ "sha256": "bbb434e64906b50a72560ecfa2b5a59b1432a02d7a024ebdf08095de89a55b32"
460
+ },
461
+ {
462
+ "path": ".claude/stages/phase-1-p0-implement.yaml",
463
+ "sha256": "07dd7b0c5a222b2ec45dfefc77d82703af8b135d89d68e6e13ad22356a4e7e63"
464
+ },
465
+ {
466
+ "path": ".claude/stages/phase-2-p1-design.yaml",
467
+ "sha256": "f96912b27df806f9c211665fce4615b5c3b57076b3c21a95d9cac90326f0e6de"
468
+ },
469
+ {
470
+ "path": ".claude/stages/phase-2-p1-implement.yaml",
471
+ "sha256": "a92d46dbeea087997f25b7dbe758072d09d3dd3892f1173acafb3231f774379b"
472
+ },
457
473
  {
458
474
  "path": ".claude/stages/product-design-docs.yaml",
459
- "sha256": "14b536415d9af5dadd72d7799e6ba117f605b833f39a35dc53dec597dbc5c38b"
475
+ "sha256": "10d59c8d14e1f930c550ee7caa57eb636cfd162c040d406f980f173c17738e31"
460
476
  },
461
477
  {
462
478
  "path": ".claude/stages/product-prototype.yaml",
@@ -502,9 +518,13 @@
502
518
  "path": ".claude/workflows/existing-project-iteration.yaml",
503
519
  "sha256": "027a27a493e1458549aaa66e2d8a139a86fe87d378f51b260f76a0ff7d159fea"
504
520
  },
521
+ {
522
+ "path": ".claude/workflows/framework-self-improvement.yaml",
523
+ "sha256": "665fae12ff61e3283cc18bb08a565ffa90f11daeb3810f7fed2ebf024ef36063"
524
+ },
505
525
  {
506
526
  "path": ".claude/workflows/interview-to-knowledge.yaml",
507
- "sha256": "a511a3db4a27003e27296ed6ef672ae04da7054b039c13b56605079473159427"
527
+ "sha256": "d0aeb1f6f6ef09d86bbcd16d3e2945edfcaa590824bb3118bb999196ad37ef0e"
508
528
  },
509
529
  {
510
530
  "path": ".claude/workflows/oss-first-design.yaml",
@@ -516,7 +536,7 @@
516
536
  },
517
537
  {
518
538
  "path": ".version-bump.json",
519
- "sha256": "5920e0f34d03102abc1329553d253d67eae4dab856a697bfcc58c269eb3c5973"
539
+ "sha256": "a338d715d3c7d9cdee6740069fecc67bbda35f867b306dfe40b957eb99e8f100"
520
540
  },
521
541
  {
522
542
  "path": "CLAUDE.md",
@@ -532,19 +552,19 @@
532
552
  },
533
553
  {
534
554
  "path": "README.en.md",
535
- "sha256": "5a787e3d9a9c534a5c1cfadf3d3622a4e0234ffab54d3124aba75bf9874885dd"
555
+ "sha256": "5edfd7c89ebbf3a79bb5dffb142fd678f84fc3a534359c1ca0d48e68cab9a2bb"
536
556
  },
537
557
  {
538
558
  "path": "README.md",
539
- "sha256": "63b7956096b34b3c6f1ff72ae16d0fd7af426ecae4bcebed1edb93bc9985d21f"
559
+ "sha256": "6271d86b4126d76177aefec1a8bb257d23f493505e7bffa04ca76266f2a92fe1"
540
560
  },
541
561
  {
542
562
  "path": "RELEASE.md",
543
- "sha256": "4cb98272e1ccd14b785a8291dd2544632218d42549fa27e17782377e8b930f29"
563
+ "sha256": "ca6640f4611391065b799f253dfddad939ff734689270e54f2e86d7b7fd2e0b7"
544
564
  },
545
565
  {
546
566
  "path": "SKILL.md",
547
- "sha256": "3a134d4993407e3ac4dad0703c10585523bb1d096db588fbc9aaecda0a5c7ba8"
567
+ "sha256": "d005dc4a955fa334d5993403460cf00bf561a24be5c450fd0611f3301a8fdfc6"
548
568
  },
549
569
  {
550
570
  "path": "USAGE.md",
@@ -572,7 +592,7 @@
572
592
  },
573
593
  {
574
594
  "path": "scripts/check-harness-drift.sh",
575
- "sha256": "f27599d7923b027984b3ad4aa85db53dac7898d6281cad06e940f141de05f2fb"
595
+ "sha256": "81f85c506e72a7a7b56e31c01cb15c0cdbffec1c0ccd3222b9bdad1d9385ba36"
576
596
  },
577
597
  {
578
598
  "path": "scripts/check-main-merge-hygiene.py",
@@ -608,7 +628,7 @@
608
628
  },
609
629
  {
610
630
  "path": "scripts/lincoln-setup.py",
611
- "sha256": "67b783f85bb9ef64ad49482a626067b872b2dffbd8303555e962e4e44df075e6"
631
+ "sha256": "eb9705f2b2c6936e71d916b59d6bcd06fda638e94cb3f2a5718b7edbb2554ba4"
612
632
  },
613
633
  {
614
634
  "path": "scripts/lincoln-status.py",
@@ -634,6 +654,10 @@
634
654
  "path": "scripts/lincoln_command_map.py",
635
655
  "sha256": "c15cdeb303cd1aaa00527296bf7bab5e7b1b786ca4d292ee3b018e475a5a16a4"
636
656
  },
657
+ {
658
+ "path": "scripts/lincoln_condenser.py",
659
+ "sha256": "024a269863e6368de3879b31298421af22f5768d8be0e70f4c597b43382e1e28"
660
+ },
637
661
  {
638
662
  "path": "scripts/lincoln_dependency_manager.py",
639
663
  "sha256": "0b3ec944a2eb6c5f6e9c9dc975d4a6c297696f66b3291b3c73598611e50fc83e"
@@ -642,9 +666,13 @@
642
666
  "path": "scripts/lincoln_documents.py",
643
667
  "sha256": "0b0db078625daeff96423bca98b981464f5ecf68bf2ecce2370b1e8133daf968"
644
668
  },
669
+ {
670
+ "path": "scripts/lincoln_friction.py",
671
+ "sha256": "9ee0ec5218358f61dcd0bf9e0b7eb9525070d99c2fc5a979764927d6aea381d5"
672
+ },
645
673
  {
646
674
  "path": "scripts/lincoln_harness_adapter.py",
647
- "sha256": "77d3339fb2519f7d058e75b657f3464fe0cb64854e925f337508a1b3348faeef"
675
+ "sha256": "a3a1453264f3fa4cc2aa97441ea29e1f411dcb10034715e534d40caaef0e7db7"
648
676
  },
649
677
  {
650
678
  "path": "scripts/lincoln_id.py",
@@ -654,6 +682,10 @@
654
682
  "path": "scripts/lincoln_index.py",
655
683
  "sha256": "5119c6f5211f5facfb9f66f61b07728a2b30c3b7596f2db3e5de8a97fb5ec84d"
656
684
  },
685
+ {
686
+ "path": "scripts/lincoln_mr_mine.py",
687
+ "sha256": "240d36d736e2391f88be571a9fad44c43c19038c66f946959b7d2a8a185c6b5a"
688
+ },
657
689
  {
658
690
  "path": "scripts/lincoln_paths.py",
659
691
  "sha256": "fe410358bd897be9a8f3c843f52c8f397736a0a7c681f887481ea9eeee8cc99c"
@@ -662,9 +694,13 @@
662
694
  "path": "scripts/lincoln_prd.py",
663
695
  "sha256": "6b9f1fe120ac1d4b07c4f3aeea18ac49c1f46a56da6b6541ca82ce8a15f80b47"
664
696
  },
697
+ {
698
+ "path": "scripts/lincoln_recall.py",
699
+ "sha256": "af8c81522d5352923ae88bc710cddb15a63742d9a654fdc958d9c14e60fe4532"
700
+ },
665
701
  {
666
702
  "path": "scripts/lincoln_render.py",
667
- "sha256": "3c9ed6f6ee1dd1f6c00b78c7518ffd71f473964befba81c774d2a144b5c2cc89"
703
+ "sha256": "0750b3cdcd77a0679e4dda626eebc0ab2bea90072d844e7979ac1c1365fa0800"
668
704
  },
669
705
  {
670
706
  "path": "scripts/lincoln_role.py",
@@ -684,7 +720,7 @@
684
720
  },
685
721
  {
686
722
  "path": "scripts/lincoln_trace.py",
687
- "sha256": "6c544548a6b0cce97d597503d4b4f11da33a3fcf16afc899f7e4c4e7192fe82c"
723
+ "sha256": "2bd5a87c4c5895b00e578fa15c8e408e285c0cd2024c7c718bd637952dd54b42"
688
724
  },
689
725
  {
690
726
  "path": "scripts/lincoln_workflow.py",
@@ -702,9 +738,13 @@
702
738
  "path": "scripts/run-infrastructure-tests.py",
703
739
  "sha256": "d2140224c7b07ae06d329f3e857733297a590878f67e4fe7f6b9d2d3db6e9375"
704
740
  },
741
+ {
742
+ "path": "scripts/security_analyzer.py",
743
+ "sha256": "b09e1ee3c543063cdbf1876ffca43c91d9c45a3a485550c919d87f2596ea47fa"
744
+ },
705
745
  {
706
746
  "path": "scripts/stage_loader.py",
707
- "sha256": "9694ddc32f53d0eae5eabc55ed15ec5ddb5a2a5b813bcf2ea6c67f772d3e5f3f"
747
+ "sha256": "d089f2238b3a2c23d950f4c255e60070ef6c3c0eca6ed46de7f94fd19fa130c5"
708
748
  },
709
749
  {
710
750
  "path": "scripts/static-check.sh",
@@ -744,7 +784,7 @@
744
784
  },
745
785
  {
746
786
  "path": "tools/lincoln-installer/package.json",
747
- "sha256": "c53f5931a371d7eb77e515b81c4d34090a96c725a2fc25bf2a87eedffff12c4c"
787
+ "sha256": "a9cec32af90103609521e37484a847d14ebd2b2d096062349a398b4b9a84bc11"
748
788
  },
749
789
  {
750
790
  "path": "tools/lincoln-installer/src/cli.tsx",
@@ -1028,11 +1068,11 @@
1028
1068
  },
1029
1069
  {
1030
1070
  "path": "tools/lincoln/package-lock.json",
1031
- "sha256": "44b909f05154b6b44b4c08f352a08586682706b210e86d9ea06f99eb22f19b82"
1071
+ "sha256": "39391a584993f28f83082ed36f141bd2f4b4807f54d6872421b21c6017917fc4"
1032
1072
  },
1033
1073
  {
1034
1074
  "path": "tools/lincoln/package.json",
1035
- "sha256": "13fa44ec431f60dace010e8d8a277be211e20c73edc28d46fb943b2ce4556628"
1075
+ "sha256": "a881553482f59d9c2767828cca1b2ad2b81c4efd987a3c86b14664ee4cf5b442"
1036
1076
  },
1037
1077
  {
1038
1078
  "path": "tools/lincoln/src/cli.tsx",
@@ -20,7 +20,7 @@ TMP="$(mktemp -d)"
20
20
  trap 'rm -rf "$TMP"' EXIT
21
21
  mkdir -p "$TMP/project" "$TMP/home"
22
22
 
23
- for HARNESS in codex opencode; do
23
+ for HARNESS in claude-code codex opencode; do
24
24
  echo "==> Harness smoke generation: $HARNESS"
25
25
  if ! "$PYTHON" scripts/lincoln_harness_adapter.py \
26
26
  --harness "$HARNESS" --root "$ROOT" \
@@ -31,7 +31,17 @@ for HARNESS in codex opencode; do
31
31
  fi
32
32
 
33
33
  # Drift comparison only when artifacts were generated into the project.
34
+ # Claude Code uses .claude/ directly; its --check validates source files.
34
35
  case "$HARNESS" in
36
+ claude-code)
37
+ echo "==> Source consistency check: $HARNESS"
38
+ if ! "$PYTHON" scripts/lincoln_harness_adapter.py \
39
+ --harness "$HARNESS" --root "$ROOT" \
40
+ --project-dir "$ROOT" --home-dir "$HOME" --check; then
41
+ FAIL=1
42
+ fi
43
+ continue
44
+ ;;
35
45
  opencode) MARKER="$ROOT/.opencode" ;;
36
46
  codex)
37
47
  if [ -e "$ROOT/.codex-plugin" ]; then