DSH Plugin Store
Back to home

maskshell

solidforge-dsh

让测试绿了不等于你做对了 — 双轴收敛纪律 (spec-gaming orthogonal axis) 的 DeepSeek Harness 原生实现 | Two-axis convergence discipline for coding agents

Stars
0
Language
Python
Created
Aug 14, 2026
Updated
Aug 14, 2026
Other
GitHub repoHomepage

Introduction

SolidForge

让"测试绿了"不再等于"你做对了"。 SolidForge(本仓库)是 《Specification Gaming as an Orthogonal Failure Axis in Autonomous Coding Loops》(论文随仓快照;引用请用 PDFCITATION.cff,论文为草稿状态)参考实现的 DeepSeek Harness 原生版:把编码代理的可靠性拆成两条轴,用确定性门 + 对抗评审 + 异源验证把两条轴都关进笼子。

deterministic-suites

English README · 使用指南 · 论文 · 移植设计 · 概念映射 · 自举评审轨迹


它解决什么问题(30 秒版)

自主编码循环有一个隐蔽的失效类:代理自己写测试、自己判通过。"测试绿了"只是对代理自己构造的代理规格的满足——删掉失败测试、把断言改成和实现一致、try/catch 吞掉触发循环的异常……代码可以全绿,却完全偏离你的意图。更糟的是:同源评审救不了它——评审者和被评审者共享训练数据,也就共享盲点。

SolidForge 的对策是两根轴,缺一不可:

防什么手段
A · 流控制完备性上下文腐化 / 误差级联 / 目标漂移双环收敛:确定性内环(逐编辑快速门 + 架构契约门)+ 同源对抗外环 + 状态机断路器
B · 验证源解耦规格博弈(spec gaming)判定结论的 oracle 必须与你不同盲点rightness 字段是 schema 常量(代理不可写,恒为 human_confirm_required)+ 异源评审在出进程的不同模型家族上运行

一分钟看懂

意图蓝图(冻结)──▶ 并行实现(TDD,多子代理)
                        │
              ┌─────────▼──────────┐
              │ 内环(确定性)      │  快速门(每编辑) → 架构契约门 → 附加条件
              │ 外环(对抗)        │  同源 code-reviewer(主) + 异源评审(opt-in,出进程异族)
              └─────────┬──────────┘
                        ▼
        收敛记录:converged/dod_satisfied(机器可查;bc 记录为 process_converged)‖ rightness(恒 human_confirm_required,人确认)

五句话总结:绿门只证明过程收敛,不证明结论正确;正确性由人(或真正异源的 oracle)确认;规格博弈的防御靠结构(schema 常量、事件监听、出进程边界),不靠提示词。

快速开始

git clone https://github.com/maskshell/solidforge-dsh.git && cd solidforge-dsh
bash scripts/install.sh        # 安装 agent preset → $DSH_HOME/.agent-presets/solidforge
bash scripts/install-global.sh # 可选:全局插件面 → 任何预设的会话都可用(/solidforge:<skill> 冒号手势 + 命令 + host 层技能)
  1. (可选)全局插件面装好后,任何预设的会话都能直接敲 /solidforge:psv 等冒号手势或 /parallel-development 平名 token 调用技能;

  2. 开一个 solidforge preset 会话获得完整形态(人格 + 缩写映射 + 角色代理引导);

  3. 在你的目标项目里 arm 一次(供给 arch-configs、宪法、蓝图模板、.env.solidforge.example):

    python3 $DSH_HOME/.agent-presets/solidforge/skills/parallel-development/infra/install/arm.py <你的项目目录>
    
  4. 对会话说「并行实现 X,TDD」,收敛循环接管——双环、断路器、回滚与运行记录全部自动。

  5. (可选)在 cordis 会话里激活三个结构化插件(见 使用指南 §激活插件)。

完整的循序渐进上手:USER_GUIDE.md

技能联用:典型链路

五个技能不是孤岛——它们组成论文 §6 的 specify→implement 流水线。四组典型组合:

链路适用场景一句话流程
csr → bc → pd有需求/设计文档,要落成可运行代码文档对抗收敛 → 冻结意图蓝图 → TDD 并行实现收敛
psv → csr文档引用密集、外部来源多(规则 13)逐声明对源 GO/NO-GO(gate)→ 文档收敛 → 权威 full-M 覆盖记录
psv + pas论文/研究文档自检两条结果轴并行:引用核查 + 新颖性碰撞检测
psv → csr → bc → pd从带引用的规格起步的完整流水线见下方全链路对白

全链路示例(在 solidforge 会话里说):

「这是一份带外部引用的需求草案 docs/req.md,请从它出发交付可运行实现。」

  1. psv GATE MODE——对外部引用做 load-bearing GO/NO-GO(短文档/本地引用为主可跳过,ODP-5 判别器决定);
  2. csr——同源 + 异源多轮对抗收敛需求文档(过程轴;它不判断需求"对不对",那是你);
  3. bc——产出并冻结意图蓝图(PRD/架构/迭代计划;process_converged 机器可查,rightnesshuman_confirm_required);
  4. pd——TDD 并行实现 + 双环收敛 + 运行记录;高风险项可加异源评审(opt-in)。

每一环的裁决都留痕(convergence-record / coverage-record / run-record),异源腿未运行或降级时如实报告,绝不静默绿。

在提示里显式引用(语义触发不可靠时,用全名或缩写直呼其名——确定性写法):

提示写法效果
psv → csr → psv → bc → pd完整流水线:psv gate(外部引用 GO/NO-GO)→ csr 文档收敛 → psv full-M 权威覆盖 → bc 冻结蓝图 → pd 双环实现
csr → bc → pd文档收敛 → 冻结蓝图 → 并行实现
psv + pas对一份文档并行跑两条结果轴(引用核查 + 新颖性碰撞)
pd / bc / csr / psv / pas单技能直呼

缩写对照:pd=parallel-development · bc=blueprint-crafting · csr=cross-source-review · psv=primary-source-verification · pas=prior-art-search。会话代理按此映射加载技能。

五个核心概念(循序渐进)

  1. 双环收敛:确定性内环(lint/类型/测试/架构契约)绿了才进外环;外环是同源对抗评审,逐 finding 裁决(修复/拒绝/升级),记录全程留痕。
  2. 冻结意图蓝图:PRD/架构/验收标准在收敛时冻结;改动只能走修订通道;蓝图被 status: frozen 守卫拒绝编辑。
  3. Process/Outcome split:运行记录把过程轴字段(pd:converged/dod_satisfied;bc:process_converged)与 rightness 严格隔离——后者是枚举常量 human_confirm_required,代理与收敛循环都写不了它。绿不代对,结构上杜绝。
  4. 异源评审:高风险项可加一条不同模型家族的对抗意见(默认 dsh --profile headless 子进程钉到异族路由——同 Harness、异 LLM、出进程;如 zai-coding-cn/GLM、minimax-cn/MiniMax-M3)。同源环永远先跑,异源只做加法。
  5. 断路器:同指纹反复失败 → 升级外环;内环超限 → 降级拆任务;预算耗尽 → 硬终止并输出诊断。循环不会无界打转。

本仓库包含什么

部件位置作用
Agent presetpreset/agent.cordis.yml + preset/preset.ymlSolidForge 会话的组成(人格 + 标准工具 + 预设内技能挂载)
五个技能preset/skills/{parallel-development,blueprint-crafting,cross-source-review,primary-source-verification,prior-art-search}/收敛循环、specify 侧、文档收敛(csr,过程轴)、两条结果轴验证(psv/pas,逐声明对源核查)
22 个角色代理preset/agents/*.agent.mdsubagent 工具派发的角色提示语料
确定性基础设施preset/skills/*/infra/纯 stdlib Python 门禁/状态机/schema + 测试套件
结构化插件plugins/*.host.js工具事件门禁、rightness 不变量、异源评审工具(激活方式见使用指南)
全局插件面packages/solidforge-plugin/@maskshell/solidforge:host 层技能、/solidforge:<skill> 冒号手势、追加式纪律段(install-global.sh 装进 profile 补丁层,任何预设可用);/solidforge//arm-tools//solidforge-status 命令经 solidforge 预设行提供
arm-toolspreset/commands/arm-tools.md项目侧供给(Layer 2)

诚实声明

本项目是可实现性的证据,不是有效性的证明——两轴防御评估(论文 §8.3)仍是开放问题。词汇约定:在本项目中,"SolidForge" 即指本仓库(DeepSeek Harness 原生实现);论文 §6 与上游仓库原以 "SolidForge" 指代 Claude Code 插件,本文档一律改称 SolidForge for Claude Code 论文的原始参考实现是 SolidForge for Claude Code(Claude Code 插件);本仓库是它在 DeepSeek Harness 上的重推导移植(关键差异:异源 = 同 Harness 异 LLM 的 dsh headless 出进程子进程,而非拖入 Claude Code;详见 docs/port-design.md)。本仓库自身的 README 曾用移植后的 psv→csr 管线自举收敛,完整轨迹(含两起异源 oracle 假阳性案例)在 docs/dogfood/

验证

python3 preset/skills/parallel-development/infra/test/hetero_review_wiring.py   # 接线/断路器/异源基板/同源守卫
python3 preset/skills/blueprint-crafting/infra/test/run_record_schema.py        # rightness 常量断言
python3 preset/skills/cross-source-review/infra/scripts/converge_fixtures/verify.py

其余证据与安装自检见 test/verification.md