mirror of
https://github.com/tradecatlabs/vibe-coding-cn.git
synced 2026-11-02 10:46:29 +00:00
docs: gongfa/faqi - continue source and semantic review (#139)
* docs: gongfa-faqi - clarify registry counts * docs: gongfa - clarify candidate semantics and provenance * docs: gongfa - disambiguate candidate identifiers * docs: gongfa - defer composite uncertainty candidate * fix: faqi - restore auto-tmux executable modes * docs: gongfa - qualify literature synthesis candidate * docs: faqi - record pinned asset placeholder boundary * docs: gongfa - narrow retrieval audit candidate scope * docs: gongfa - defer amortized analysis pending source freeze * docs: faqi - disclose unresolved asset placeholders * docs: gongfa - qualify proof-kernel candidate scope * docs: faqi - guard pinned asset placeholders * docs: gongfa - defer causal audit without frozen scope * docs: gongfa - separate drift and OOD candidates * docs: faqi - clarify doctor placeholder false positive * docs: gongfa - separate confidence escalation * docs: gongfa - freeze ML review selection * docs: gongfa - qualify ML source support * docs: gongfa - freeze exact title matches * docs: gongfa - qualify metacognition sources * docs: gongfa - review causal feature ablation * docs: faqi - trace asset placeholder history * fix: faqi - validate asset links and license sources * docs: gongfa - record 85 principle reviews * docs: gongfa - review software engineering candidates * fix: auto-tmux - align reference audit with quick links * docs: gongfa - review software engineering entries 5-9 * docs: gongfa - review software engineering entries 10-15 * docs: gongfa - review controlled evolution loop * docs: gongfa - review programming entries 0-4 * docs: gongfa - review programming entries 5-9 * docs: gongfa - review programming entries 10-14 * docs: gongfa - review programming entries 15-17 * docs: gongfa - review problem-solving entries 0-4 * docs: faqi - record Skill Seekers CLI boundaries * docs: gongfa/faqi - continue bounded review * docs: gongfa/faqi - review information sources * docs: gongfa - review information science entries 4-5 * docs: gongfa - refine analogy candidate review * docs: gongfa/faqi - review algorithm and runtime evidence * docs: gongfa/faqi - review search methods and license scope * docs: gongfa/faqi - review state and cache semantics * docs: faqi/tmux - inventory pinned license notices * docs: gongfa - review algorithm source boundaries * fix: faqi - bind pinned license notice evidence * docs: gongfa - review machine-learning evaluation methods * docs: gongfa - review machine-learning entries 5 to 8 * docs: faqi - record oh-my-tmux logo license source * docs: faqi - reconcile catalog counts * docs: github - remove mandatory approval requirements
This commit is contained in:
@@ -829,13 +829,13 @@ README.md # 概念表/错误语义/验收指标
|
||||
|
||||
1. 明确目标、对象、关键变量及已知约束。
|
||||
2. 暂时删去与当前问题无关的细节,保留关键关系,得到最小模型。
|
||||
3. 搜索结构相似的案例或模型,逐项写明对应关系,不只比较名称或外观。
|
||||
4. 列出类比不成立的条件,以及简化时暂时忽略的变量。
|
||||
5. 把现实中的限制、失败模式和边界条件加回模型,用反例或低成本实验检查。
|
||||
3. 搜索可对照的案例或模型,明确来源案例与当前目标问题的对应关系;优先对齐关系结构而非表面相似,逐项记录对象/角色对应,并检查关系论元和高阶约束是否一致。
|
||||
4. 将类比推得的结论先标为假设;分别检查结构映射是否成立、推论是否符合目标域事实及是否与当前目标相关;列出映射失配条件、被忽略变量与反例。
|
||||
5. 把现实约束、失败模式和边界条件加回模型;用目标域证据、反例或合适的低成本实验验证关键推论,根据结果修订或拒绝迁移。
|
||||
|
||||
**产物**:最小模型、对应关系、遗漏变量、迁移边界和验证项。
|
||||
|
||||
**边界**:模型简化和类比只能生成假设,不证明两域机制相同;无法说明映射关系时不迁移结论。
|
||||
**边界**:类比推论不是事实;结构映射不保证目标域事实正确或与当前问题相关,须另用目标域证据核验。无法说明对应关系或验证条件时,不迁移结论。
|
||||
|
||||
#### 候选:对照式分析
|
||||
|
||||
@@ -928,7 +928,7 @@ README.md # 概念表/错误语义/验收指标
|
||||
|
||||
#### 候选交叉核对与本轮取舍(2026-10-13;2026-10-14补充)
|
||||
|
||||
> 对照基线总表为410条(79条登记、331条历史来源候选)。下表把工具集候选P01–P32、已归一化的11项备忘录草稿和Solve A–G主题映射到现有登记及历史候选详情;P编号与11项草稿是同一批素材的不同整理视图,不重复计数。表中拟议ID不是已分配身份。Solve的556个ID已完成来源级导出,但未逐条与410条做完整语义比较;本轮补充对6项候选的主题粒度、相邻登记和冻结投影范围作定向核对,不构成全量语义去重。编号需严格区分:本体主文中的C01–C20是“分类验收判例”;不可变历史候选快照使用C001–C010、C012–C021(C011为排除视图),两者均不能据相近编号认作对话所指的候选包。当前仍未找到能绑定该候选包身份、定义与来源的独立冻结清单,故不声称已逐项裁决。候选状态不代表正式登记、类型确认、品级或效果。
|
||||
> 对照基线总表为410条(79条登记、331条历史来源候选)。下表把工具集候选P01–P32、已归一化的11项备忘录草稿和Solve A–J主题映射到现有登记及历史候选详情;P编号与11项草稿是同一批素材的不同整理视图,不重复计数。表中拟议ID不是已分配身份。Solve的556个ID已完成来源级导出,但未逐条与410条做完整语义比较;定向核对按批次覆盖A–J的候选主题、相邻条目与有限冻结选区(最初A–F共6项,后续追加G–J),不构成全量语义去重。编号需严格区分:本体主文中的C01–C20是“分类验收判例”;不可变历史候选快照使用C001–C010、C012–C021(C011为排除视图),两者均不能据相近编号认作对话所指的候选包。当前仍未找到能绑定该候选包身份、定义与来源的独立冻结清单,故不声称已逐项裁决。候选状态不代表正式登记、类型确认、品级或效果。
|
||||
|
||||
| 工具集候选 | 对照与处理 |
|
||||
|---|---|
|
||||
@@ -950,7 +950,7 @@ README.md # 概念表/错误语义/验收指标
|
||||
| P16 对照式分析 | 暂缓;当前是可选分析轴清单,不是有选轴规则和反例的独立操作方法。 |
|
||||
| P17 表征变换与关系操作 | 分别并入`gongfa-compositional-description`、`gongfa-evidence-triangulation`及溯因/迁移等具体操作;不把动作名词表批量登记。 |
|
||||
| P18 数学三层工作流 | 暂缓为学科专用候选;`gongfa-lightweight-formal-methods`只覆盖形式化的一部分,未证明整条数学流程适用于通用编码任务。 |
|
||||
| P19 最小模型—迁移—边界回填 | 作为复合施行方法候选继续评审:最小化建模、逐项映射、边界回填和验证组成一条操作路径;与`gongfa-first-principles`、`gongfa-thought-experiment`、`gongfa-representation-flattening`及研究迁移相邻但不等同。来源仍是仓内备忘录;不恢复未经核验的Shannon归属,拟议ID `gongfa-minimal-model-transfer-boundaries`尚未分配。 |
|
||||
| P19 最小模型—迁移—边界回填 | 作为复合施行方法候选继续评审:最小化建模、关系结构映射、边界回填和目标域验证组成一条编辑性操作路径;与`gongfa-first-principles`、`gongfa-thought-experiment`、`gongfa-representation-flattening`及研究迁移相邻但不等同。有限外部文献对照见[复核快照](../../metadata/gongfa/source-selected-candidate-minimal-model-transfer-boundaries-20261015.txt),仅支持关系映射与推论评估的局部概念,不证明整套流程的来源、独立身份或软件工程效果。来源仍是仓内备忘录;不恢复未经核验的Shannon归属,拟议ID `gongfa-minimal-model-transfer-boundaries`尚未分配。 |
|
||||
| P20 古文次序与渐进准则 | 对齐增量开发、规格先行与总体作业流;格言依赖情境,不单独立项。 |
|
||||
| P21 根因、机制与系统效应 | 对齐`gongfa-systems-boundary-feedback`、`gongfa-mechanistic-explanation`、`gongfa-proximate-causal-mechanism`及事故复盘;故事本身不证明工程规律。 |
|
||||
| P22 证据、认知与反偏差 | 对齐来源批判、证据三角测量、可证伪主义和错误认识论;典故作为反例素材。 |
|
||||
@@ -970,13 +970,17 @@ README.md # 概念表/错误语义/验收指标
|
||||
| A 误差预算与不确定性传播 | 冻结选区含6条来源(3条`MethodSpec`、3条`OperatorSpec`):确定性误差界、概率不确定度传播、问题条件性与算法稳定性、自适应误差控制、残差/后向误差审计、测量不确定度预算。它们的对象、前提、输出与证据合同不同;选区未提供统一的分支条件或组合协议,现有跨域线性步骤属于编辑综合而非来源共同定义的方法。因此撤回将其作为单一方法候选保留的初步倾向,暂不整体纳入,也不自动拆成6项。与历史候选D011“性能统计工具箱”、VC100“门槛导向抽样”、VC099“校准估计”相邻但不等同。重启需先明确学科专用范围及复核人,或冻结能定义适用分支、输入输出和组合规则的派生方法来源;拟议ID `gongfa-error-uncertainty-budget`尚未分配。 |
|
||||
| B 文献综合与证据缺口图谱 | 冻结选区只含`psoa.research.literature-synthesis`(`MethodSpec`);原条目明确研究问题/范围、来源分层、主张与方法提取、异质性比较、支持/冲突/空白产物及停止条件。其跨研究综合不同于历史候选`psoa.research.source-criticism`的单来源质量审查,也不同于`gongfa-evidence-triangulation`的独立渠道交叉核验;在已检查的410条目录与Excel首轮对照中未见同等综合流程。因此语义上可保留为来源绑定的待审候选,但本轮快照用途仅为溯源与人工评审;是否写入机器登记仍须另行确认。外部引文、许可、效果及556→410全量语义去重均未验证;拟议ID `gongfa-literature-synthesis-evidence-gaps`尚未分配。 |
|
||||
| C 检索质量与证据覆盖审计 | 冻结投影仅含`psoa.information-knowledge-science.relevance-precision-recall-audit`(`OperatorSpec`);其前提、步骤与产物支持对既有结果集按明确相关性规则和可用判断集审计precision/recall、排序及漏检。它不支持把信息需求制定、检索式扩展或证据检索循环一并包装进同一候选。与VC019“代码RAG”用途、VC065“Skill路由条件设计”中的指标使用边界相邻,但在已检查的410条目录与Excel首轮对照中未见同一审计算子;故语义上可保留为收窄后的来源绑定待审候选。机器登记仍需另行确认;首轮结果不等于556→410全量语义去重,许可、独立审查与效果未验证;拟议ID `gongfa-retrieval-quality-evidence-coverage`尚未分配。 |
|
||||
| D 摊销分析 | 对当前Solve记录`psoa.algorithms.amortized-analysis`的首轮对照显示:按状态操作序列推导摊销成本与总界,不同于“输入规模与复杂度约束”、阿姆达尔定律或利特尔法则;410条目录/Excel首轮检索未见同一推导流程。但该记录未进入项目冻结候选选区,所挂`ref:mit-algorithms`、`ref:cs2023`的具体版本、原文范围与许可未核验;摘要“平均代价”也需对照原文,避免误读为统计平均。故不判作重复,也暂不晋升为来源绑定候选或机器登记;待明确是否收录算法专用方法,并冻结精确来源选区后再审。 |
|
||||
| D 摊销分析 | 冻结记录`psoa.algorithms.amortized-analysis`(`.entries[0]`)是算法操作序列的成本上界方法;MIT 6.046J Lecture 5直接讲授aggregate、accounting、charging与potential方法,并明确摊销成本不必是统计平均;CS2023 Body of Knowledge第30页将其列为`AL-Complexity`的`KA Core`。原`ref:mit-algorithms`只指向课程主页,原`ref:cs2023` PDF URL当前返回404,替代官方BoK文件仅用于本次核对。总表Markdown/Excel关键词检索没有命中,不构成556→410全量语义去重;该方法不同于一般复杂度约束、阿姆达尔定律或利特尔法则。Solve摘要“平均代价”易与概率平均混淆,`agent loop`/缓存应用也未被算法讲义验证。故本轮只冻结来源供审查,不分配项目ID、不写机器登记或总表、不赋级;后续需修订来源绑定、核验版本/许可并限定软件应用成本合同。详见`.github/metadata/gongfa/source-selected-candidate-amortized-analysis-20261014.txt`。 |
|
||||
| E 内核核验的证明证据 | 当前Solve记录`psoa.formal-logic-automated-reasoning.kernel-checked-proof-evidence`为`MethodSpec`,另有`psoa.formal-logic-automated-reasoning.formal-reasoning-loop`派生复合项;这里的“内核”指形式证明系统中的小型可信检查内核,不是操作系统内核。前者固定主张、上下文、公理、证明项与工具版本,再由内核/等价小检查器复核;通过仅支持给定形式语义下的证明,不证明规格表达了真实需求或实现满足需求。与现有“形式化方法(轻量形式化)”和“不变量检查”相关但不等同,本轮对410条目录的关键词与邻近条目首查未见相同的证明项内核核验流程;这不是556→410全量语义去重结论。它仍是形式证明工具链的专用证据方法;Solve记录未冻结进项目候选选区,Lean引用版本、原文范围及许可未核验,故本轮不独立登记;派生“形式推理循环”还需另审组成项与组合契约。 |
|
||||
| F 因果识别假设与敏感性审计 | 当前Solve候选涉及`causal-question-specification`、`target-trial-emulation`、`identification-assumption-audit`、`sensitivity-to-unmeasured-confounding`及派生`causal-inference-audit-loop`;目标试验模拟还依赖因果DAG模型。此前候选列出的四个ID没有冻结完整组合选区,不能把派生循环的步骤当成同一单源定义。与现有“近端因果机制”“反事实推理”“因果回路图”“数据分析陷阱清单”主题相邻但操作不同:本候选的辨别点是记录交换性/正值性/一致性/测量/选择假设及其依据,再按有据范围扫描未测混杂并报告结论翻转边界。它是高风险因果研究审计,不是通用编程流程;模型拟合不证明识别假设成立,敏感性参数无依据也不能制造精确结论。当前Solve包未冻结为项目候选选区,Harvard等来源引用、版本、原文范围与许可未核验;故暂不视为来源绑定候选或写入登记。重启需先确认因果研究方法的收录范围、冻结完整来源组合并安排领域复核。 |
|
||||
| G 分布漂移检测 / 分布外检查 | 当前Solve包分别给出`psoa.machine-learning.drift-detection`与`psoa.machine-learning.out-of-distribution-check`两个`OperatorSpec`:前者比较时间窗中的基线/当前输入、标签或错误分布并排除采样等混杂;后者针对输入与参考支持域校准阈值并绑定拒答/降级动作。两者不是同一操作;已有“拍扁”“受约束的状态变换”“有效知识子集”提及外推边界,但不是在线检测流程。官方[常见陷阱](https://scikit-learn.org/stable/common_pitfalls.html)涉及数据泄漏与新数据上的泛化,[学习/验证曲线](https://scikit-learn.org/stable/modules/learning_curve.html)涉及训练/验证表现;首轮抓取未见时间漂移检测程序。[模型选择索引](https://scikit-learn.org/stable/model_selection.html)也未直接提供该操作。[离群与新颖性检测](https://scikit-learn.org/stable/modules/outlier_detection.html#novelty-detection)更接近“干净参考数据上判断新观察”的分布外子问题,但不等于一般化模型适用域保证,且不在冻结记录的source_refs中,不能追补为原来源。`confidence-escalation`(H)是响应路由,不检测漂移或分布外;OOD分数也不能直接当作正确率置信度。派生`generalization-validation-loop`不包含这两个Operator。完整源记录已冻结于`.github/metadata/gongfa/source-selected-candidates-20261014.txt`;引用键和当时映射已绑定,外部文档使用stable地址且版本、许可证未固定。快照只供审查,不分配项目ID、不写登记。后续需核对漂移基线/时间窗、标签可用性、阈值校准、误报漏报和降级责任;分布分数不证明正确性,未检出漂移也不证明仍有效。 |
|
||||
| H 置信度升级 | 当前Solve记录`psoa.machine-learning.confidence-escalation`是独立`OperatorSpec`:用独立校准集核对模型置信度与真实正确率,按风险/代价设阈值,再路由自动回答、拒答、降级或人工升级,并观察选择性风险与覆盖率。它不同于“Human in the Loop”的通用高风险/失败升级、“校准估计”对主观估计者的校准,也不同于派生`generalization-validation-loop`把校准作为验证步骤而不负责运行时动作路由;与G互补但不等价。首轮目录检索未见同一完整契约,非556→410全量语义去重结论。冻结记录引用的[学习/验证曲线](https://scikit-learn.org/stable/modules/learning_curve.html)和[模型选择索引](https://scikit-learn.org/stable/model_selection.html)未直接说明概率校准或风险路由;官方[概率校准文档](https://scikit-learn.org/stable/modules/calibration.html#calibrating-a-classifier)支持独立数据/CV拟合校准器,但不规定业务风险阈值、拒答/升级策略或覆盖率目标,且未列入该冻结记录的source_refs。故这些官方页面只支持相邻子步骤,不能证明完整H契约。完整记录已冻结于`.github/metadata/gongfa/source-selected-candidates-20261014.txt`;这是来源选区,不是项目候选登记,不分配项目ID。后续复核需核对文档版本与许可、标签/校准集独立性、风险阈值、误拒/漏放、覆盖率、成本和可用升级通道;源记录标为高风险,不把自报置信度当校准证据。 |
|
||||
|
||||
| I 因果特征消融 | 冻结记录`psoa.machine-learning.causal-feature-ablation`(`.entries[15]`)为模型特征干预/消融的高风险`MethodSpec`。与现有“近端因果机制”“反事实推理”“因果回路图”相邻但不等同:消融可测模型对输入扰动的依赖,不能仅凭输出变化推出真实世界因果效应;原记录自身也警告单变量消融不是因果证明、干预可能生成分布外样本。其`source_refs`指向的`ref:sklearn-model-selection`页面导航列出交叉验证、调参和评分,`ref:mit-probability-inference`介绍一般估计/假设检验;首轮抓取内容未发现能支持完整因果特征干预流程或识别假设的原文。故该条在机制上可与现有条目区分,但来源支持不足且名称有过度声称风险;若目标只是模型依赖性,应考虑收窄为“特征干预敏感性审计”,若保留因果主张则需冻结目标、干预定义及识别假设并安排领域复核。本轮不合并、不分配项目ID、不登记或赋级;引用版本、许可证、效果及全量556→410去重仍未核验。有限来源选区见`.github/metadata/gongfa/source-selected-candidate-causal-feature-ablation-20261014.txt`。 |
|
||||
| J 主动学习 | 冻结记录`psoa.machine-learning.active-learning`(`.entries[12]`)的主题可与`psoa.decision-science.value-of-information`及历史候选VC098“通用五步衡量法”区分:主动学习选择有限预算下用于训练模型的样本标签;信息价值衡量信息对决策损失/净效用的影响;VC098是更广的决策与信息衡量流程。三者共享信息获取与成本主题。Settles §5.3还把VOI列为成本敏感主动学习的一种路径,因此二者存在子场景重叠:用于选择训练标签并计入误分类成本的VOI属于主动学习查询策略,通用决策级VOI则不必然是主动学习;不按名称自动合并。原`source_refs`对应的scikit-learn模型选择索引和MIT推断课程未显示完整主动学习循环;补充核对Settles的[主动学习综述](https://minds.wisconsin.edu/handle/1793/60660)后,§1.1、§2.3及§3支持学习者选择待标注数据、池式查询循环与多类查询策略,§4.1也指出主动学习有时可能比被动随机采样需要更多标注。该综述未列在源记录原引用中,不证明普遍效果。原记录把“标签/测量”“检索/实验”和“模型/决策”混在一起,建议后续限定为监督学习标签查询,并追加可追溯的来源修订;本轮仅确认语义上可区分,不分配项目ID、不写机器登记/总表、不赋级。许可、独立领域审查与效果未核验。有限冻结选区见`.github/metadata/gongfa/source-selected-candidate-active-learning-20261014.txt`。 |
|
||||
|
||||
| K Solve机器学习pack entries[0..4] | 官方文档支持传统估计器的测试集隔离、k-fold验证和按训练样本数绘制学习曲线;但将hidden eval、task folds和reasoning/context/tool-call资源曲线移植到Agent仍是待验证类比。“最终测试只评一次”是防自适应泄漏的评测策略;预算不自动等同正则化。偏差—方差只支持窄诊断,不直接决定Agent增容或约束。与`gongfa-experimental-design`、`gongfa-performance-by-measurement`、`gongfa-pragmatic-optimization`等相邻但不等同;不新增登记、候选ID或评级,也不自动合并。有限快照见[机器学习entries[0..4]复核](../../metadata/gongfa/source-selected-machine-learning-entries-0-to-4-20261015.txt),只覆盖五条,不代表556→410全量语义去重。 |
|
||||
| L Solve机器学习pack entries[5..8] | 官方文档分别支持传统模型的数据泄漏边界、参数组合搜索/嵌套交叉验证、分类概率校准及单特征置换敏感度;hidden eval隔离、Agent配置搜索、Agent confidence/escalation与context/document/tool-output扰动仍是未验证迁移。置换分数变化不是因果效应;校准也不自动定义动作阈值。与实验设计、指标优化、置信度升级及因果特征消融相邻但不等同;不新增登记、候选ID或评级。有限快照见[机器学习entries[5..8]复核](../../metadata/gongfa/source-selected-machine-learning-entries-5-to-8-20261015.txt),仅覆盖四条,不代表556→410全量语义去重。 |
|
||||
|
||||
##### 26个精确标题匹配的进一步核对
|
||||
|
||||
@@ -986,8 +990,396 @@ README.md # 概念表/错误语义/验收指标
|
||||
- `psoa.cognitive-science.metacognitive-monitoring`已在新快照冻结;历史候选`psoa.problem-solving-methodology.metacognitive-monitoring`绑定旧Solve pack SHA `ff2c226e4e43c1230864e88ffbfbba489b4a14a60dd52f663bba9eced34d46ad`的`/entries/7`。两者同属策略监控与继续/切换/停止控制;认知科学记录加入执行前预测、观察偏差和信心更新,旧记录更强调进展/成本、替代策略预期收益与阈值控制。已抓取其`ref:ramps-metareasoning`对应的[RAMPS论文](https://pmc.ncbi.nlm.nih.gov/articles/PMC10302445/):支持数学问题求解中的元认知监控/控制框架,也明确提醒监控可能无关而有害;论文自述该框架用于讨论拟议关系、适于后续讨论与可检验模型,并非已验证的线性路径。它不直接确立Solve记录的完整步骤或向一般软件任务的迁移。`ref:national-academies-metacognition`本轮返回HTTP 403,未核原文;许可证也未核。故视为强语义重叠、操作侧重不同的未决映射,不因标题合并,也不新增登记。
|
||||
- `psoa.programming-principles-101.information-hiding`已在新快照冻结;其扩展字段记有`source_principle: 3.14`,但这是源记录自身的映射声明。与现有候选`3.14 信息隐藏`“隐藏易变设计决策、公开稳定事实”高度相邻;新记录补充盘点调用者需要、迁移内部依赖和验证替换/错误路径,更像将该准则操作化,尚不足以证明独立功法。历史`html96:VC004`表达重要设计知识由单一模块拥有、减少跨模块依赖,是相邻的边界/所有权主张,不应因同名替代上述对照。其唯一`source_ref`映射为`conversation://programming-principles-101-materials`,本轮没有可核验的原始材料,来源摘要/许可无法独立检查;不合并旧候选,也不新登记,待获得可追溯正文和许可依据后再判。
|
||||
|
||||
##### 编程原则pack中的五条近标题对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-near-title-matches-20261014.txt`冻结了5条`programming-principles-101`记录,并对照候选历史快照中的A017、A032、A071、A097、A099。五条都保留相同主题核心,Solve记录增加了步骤、边界或验收表达;当前证据更支持“高度重叠或操作化”,不足以证明独立身份。它们不据此另行登记,也不推广为该pack其他未审记录的结论。Solve `source_refs`指向`conversation://`材料,原文、版本与许可未独立核验;历史HTML候选快照也不等于外部来源验证。名称相似只用于召回,判断依据是本次实际比较的定义与步骤。
|
||||
|
||||
| Solve来源 | 对照历史候选 | 定向结论 |
|
||||
|---|---|---|
|
||||
| `logic-data-cohesion` | A017「3.7 逻辑与数据的一体化」 | 同一共同变化与边界收敛核心;Solve补充读写者清单、边界迁移及契约/序列化验证。 |
|
||||
| `nonfunctional-requirements` | A032「3.22 软件架构的非功能需求」 | 同一质量属性范围;Solve补充场景、阈值及设计/测试关联,历史项是复合候选。 |
|
||||
| `software-leverage` | A071「3.61 充分利用软件的杠杆效应」 | 同一复用和自动化核心;Solve补充许可、维护、行为验证与回滚边界。 |
|
||||
| `eighty-ten-ten-boundary-check` | A097「7.5 80-10-10原则」 | 同一工具尾部适用域审查;比例不是实测定律,Solve补充代表性场景和退出决策。 |
|
||||
| `second-system-control` | A099「7.7 第二系统综合征」 | 同一后续版本功能膨胀问题;Solve补充用户证据、核心/外围划分和回归。 |
|
||||
|
||||
本对照只覆盖5条近标题命中,不替代556→410全量语义去重,也不据此认定源头相同、独立效果或可合并身份。
|
||||
|
||||
##### 七条编程原则记录的操作化对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-20261014.txt`冻结Solve pack的2.1–2.7七条记录及对应历史候选A004–A010。逐项比较后,七条均与对应原则高度重叠:KISS/DRY/YAGNI/PIE/SLAP/OCP/命名的核心主张一致,Solve记录主要增加适用边界、步骤、反例或验证要求;OCP还明确以重复出现的真实变化为抽象依据,DRY明确区分共同知识与表面相似。现有材料更支持“原则的操作化表达”,不足以证明独立身份或共同外部来源;不批量登记、赋级或声称效果。原始来源、版本、许可和独立评审仍未核验。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `kiss`、`dry`、`yagni` | A004–A006 | 同一简化/单一知识/当前需求核心;操作化补充必要复杂度、语义耦合和现存契约边界。 |
|
||||
| `pie`、`slap`、`meaningful-naming` | A007、A008、A010 | 同一意图表达、抽象层次和命名核心;补充读者复述、行为回归、真实副作用与迁移检查。 |
|
||||
| `ocp` | A009 | 同一稳定核心与扩展边界;增加真实重复变化证据,避免为假想变化过早抽象。 |
|
||||
|
||||
##### 编程原则3.2–3.10第二批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-3-2-to-3-10-20261014.txt`冻结8条记录:3.2–3.6、3.8–3.10;3.7「逻辑与数据的一体化」已在前述五条对照中审阅,本批不重复计数。`简洁`A013与KISS A004高度重叠,`重复最少化`A016与DRY A005高度重叠;`交流`A012与PIE A007强相关但范围较广。`灵活性`A014与OCP A009为一般适应性与具体扩展策略的关系;`效应局部化`A015与A017的共同变化/边界组织相关,但前者看影响传播范围,后者看数据与逻辑的共同所有权;`变动率`A020按变更历史识别边界,与前两者相关但判据不同。`对称性`A018关注成对操作的可类推性,`声明式表`A019关注意图/约束表达,两者是不同设计准则。上述“相关/不同”只描述本轮已读文本的语义范围;原文、版本、许可与独立领域审查未核验,均不因此独立登记或赋级。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `communication`、`simplicity`、`minimal-repetition` | A012、A013、A016 | 与交流表达/PIE、KISS、DRY高度相邻;后两者核心重叠明显,不能仅凭更细步骤另立平行身份。 |
|
||||
| `flexibility`、`effect-locality`、`change-rate` | A014、A015、A020 | 分别对应变化适应、影响传播半径、基于变更史的边界判据;有关联但对象/判据不同,不强行合并。 |
|
||||
| `symmetry`、`declarative-expression` | A018、A019 | 成对操作可类推性与声明式表示选择是不同准则;外部来源和独立身份仍待核。 |
|
||||
|
||||
##### 编程原则3.12–3.21第三批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-3-12-to-3-21-20261014.txt`冻结9条记录:3.12、3.13、3.15–3.21;3.14信息隐藏已经在精确标题命中审阅中单独记录,不重复计数。`单一引用点`A030与DRY/重复最少化高度重叠;`分治`A031对应已登记`gongfa-divide-and-conquer`,不另建条目。`接口与实现的分离`A029与已登记`gongfa-stable-interface-contract`相关,但不是仅凭此字段即可合并的同一身份。`抽象`A022、`封装`A023、`打包`A025、`关注点分离`A026及其策略/接口分离子类,按对象与边界区分;抽象也不等同于已登记的`gongfa-validated-abstraction`。A027是API核心操作集的充足/完整/原始性约束,文本可辨但缺独立来源与可检验定义。九条的候选来源均未独立核验,不因此新增登记、评级或效果结论。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `single-source-of-truth`、`divide-and-conquer` | A030、A031 | 前者高度重叠DRY/重复最少化;后者与已登记`gongfa-divide-and-conquer`相同主题,Solve主要补充验证/组合步骤。 |
|
||||
| `abstraction`、`encapsulation`、`packaging` | A022、A023、A025 | 分别指共性提取、状态所有权、稳定模块聚合;相邻但不可互换。 |
|
||||
| `separation-of-concerns`、`strategy-implementation-separation`、`interface-implementation-separation` | A026、A028、A029 | 广义变化轴分离及两种具体边界;A029另与已登记稳定接口契约相关,均不凭近义批量登记。 |
|
||||
| `adequacy-completeness-primitiveness` | A027 | API核心操作集合的约束三元组;待核本体定义、来源与判定准则。 |
|
||||
|
||||
##### 编程原则3.23–3.27第四批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-3-23-to-3-27-20261014.txt`冻结5条记录及对应历史候选A033–A037。3.23易变性、3.24互操作性、3.26可靠性与3.27可测试性在历史候选初评为设计准则;Solve将其操作化为`OperatorSpec`,不能凭结构化步骤就提升为独立方法。3.25效率性历史候选已关联`gongfa-performance-by-measurement`,Solve将测量基线、热点和回归流程化,当前更支持操作化而非平行登记。可靠性与`gongfa-controllable-failure`、互操作与`gongfa-stable-interface-contract`/`gongfa-glue-coding`、可测试性与轻量形式化/失败模式分析分别相邻但并非完全同一对象。五条原始来源、版本、许可与效果均未独立核验,不改登记、总表或评级。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `changeability`、`interoperability` | A033、A034 | 均为设计准则的操作化表达;互操作关注跨系统交换,与单接口契约、适配/编排相关但不等同。 |
|
||||
| `efficiency` | A035 | 已关联性能测量登记;扩展为测量—热点—复测流程,不新增平行身份。 |
|
||||
| `reliability`、`testability` | A036、A037 | 分别与故障可控/恢复、形式化/失败模式验证相邻;质量属性与具体操作流程分开,不强行合并。 |
|
||||
|
||||
##### 编程原则3.28–3.33第五批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-3-28-to-3-33-20261014.txt`冻结pack `.entries[32..36]`及历史候选A038、A040–A043;3.29不在pack。3.30简单性原理与已审3.3简洁高度重叠;3.32对称原理与同pack 3.8对称性构成强语义重复,步骤差异是生命周期边界的细化,不应当作两个独立方法。3.31标题/编号匹配但历史候选讲问题结构与解决结构对应,Solve改为同类组件的形式统一,存在语义偏移;需查原文,不按字段覆盖。3.28可复用性与胶水原则/拼好码相关,重点不同在本地抽取共享能力的验证;3.33层次原理与SLAP相邻,但范围扩展到模块层次及成对资源操作。五条来源与许可未独立核验,本轮不新增登记、不改Solve上游。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `reusability` | A038 | 与胶水原则/拼好码共享复用主题;其“本地组件经多种应用验证后再提升共享能力”是不同决策点,仍属待审准则操作化。 |
|
||||
| `simplicity-principle` | A040 | 与同pack已审`simplicity`(3.3/A013)高度重叠;只作为重复/操作化记录,不平行登记。 |
|
||||
| `isomorphism-principle` | A041 | 标题/编号虽一致,历史定义和Solve操作对象不同;保留语义错位,等待原文来源核验。 |
|
||||
| `symmetry-principle` | A042 | 与同pack`symmetry`(3.8/A018)强重复;建议Solve上游后续合并并保留迁移映射,本仓不擅改上游。 |
|
||||
| `hierarchy-principle` | A043 | 与SLAP都处理抽象层次;SLAP限函数叙述层,本项增加模块层与资源配对,不强行视为同一条目。 |
|
||||
|
||||
##### 编程原则3.34–3.39第六批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-3-34-to-3-39-20261014.txt`冻结pack `.entries[37..41]`及A044–A046、A048–A049;3.37不在pack。3.34线性原理与可推理代码的浅分支原则相关;3.36安全原理扩展异常/误用下的限制损害与安全停止,与故障控制及错误模式分析相邻但须独立风险审查。3.38模块化原则将边界、接口和组合检查流程化,不据此重复登记。3.35清晰原理存在定义错位:历史候选强调设计表达易读,Solve转为修改前的语境/根因理解;3.39清晰原则则是代码表示的可读性,与3.35同名但对象不同。来源引用、原文与许可未核验,不改登记或上游。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `linearity-principle` | A044 | 控制流直线化与浅分支/平逻辑相关;作为具体可读性检查,不另建独立登记。 |
|
||||
| `clarity-principle`(3.35) | A045 | 标题/编号吻合但语义偏移;回到可追溯原文核对,不将映射字段当定义。 |
|
||||
| `safety-principle` | A046 | 异常下限制损害和安全失败,与故障控制/失败模式分析相邻;高风险语义不凭文本登记。 |
|
||||
| `modularity-principle` | A048 | 模块边界和接口的准则操作化,与分解、契约、关注点分离相关但不自动合并。 |
|
||||
| `unix-clarity` | A049 | 维护者可读性与`gongfa-reasonable-code`高度相关;与3.35同名但不是同一语义。 |
|
||||
|
||||
##### 编程原则3.40–3.44第七批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-3-40-to-3-44-20261014.txt`冻结pack `.entries[42..46]`及历史候选A050–A054。3.41策略/机制分离与3.18高度重复;3.42简单原则与3.3、3.30形成重复簇。3.40组合原则与胶水的选择—适配—编排有关但契约焦点更窄;3.43关注程序/模块规模控制,相关但不能按行数阈值机械拆分;3.44可观察性支持故障发现/定位,不等于完整故障处置,日志须受脱敏、保留和成本约束。来源原文、许可及效果未核验,不新增登记或修改Solve上游。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `composition-principle` | A050 | 稳定I/O、小契约及错误传播是组合能力的操作化,与胶水原则相邻,不另建重复身份。 |
|
||||
| `separation-principle` | A051 | 策略/机制变化边界与3.18高度重复;不因编号/步骤改写新登记。 |
|
||||
| `unix-simplicity` | A052 | 与3.30及3.3高度重叠;复杂度账本是操作细化,不平行登记。 |
|
||||
| `parsimony-principle` | A053 | 历史候选重小程序组合,Solve重模块/流程规模;相关但不等同,拒绝按行数机械拆分。 |
|
||||
| `transparency-principle` | A054 | 运行可观察与故障发现/定位相邻;脱敏、采样、保留及成本是必要边界,不把堆日志当效果。 |
|
||||
|
||||
##### 编程原则3.45–3.49第八批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-3-45-to-3-49-20261014.txt`冻结pack `.entries[47..51]`及历史候选A055–A059。3.47最小意外原则与已登记`gongfa-least-surprise`直接重叠;3.45健壮性、3.49修复与可控故障/失败模式分析相邻但职责不一。3.46表达性涉及显式表达知识与规则数据化;3.48沉默原则涉及成功输出与诊断通道分离,不能误作关闭必要告警或审计。来源原文、许可及效果未核验,不新增登记或修改Solve上游。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `robustness-principle` | A055 | 抗错误能力与安全/可控故障相关,但不等于安全策略或失败分析,不重复立项。 |
|
||||
| `expressiveness-principle` | A056 | 显式表达知识、规则数据化,与可推理代码和机制解释相邻,暂不新建身份。 |
|
||||
| `least-surprise` | A057 | 与已登记`gongfa-least-surprise`同一核心主张;仅补充接口惯例检查和例外显式化。 |
|
||||
| `silence-principle` | A058 | 成功数据与诊断输出分流;保留强制错误、审计和安全事件。 |
|
||||
| `repair-principle` | A059 | 不可恢复失败时停止并保留状态/证据,与可控故障相邻,不代表完整恢复流程。 |
|
||||
|
||||
##### 编程原则3.50–3.54第九批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-3-50-to-3-54-20261014.txt`冻结pack `.entries[52..56]`及历史候选A060–A064。3.52与已登记性能测量原则高度重叠;3.51与仓内源—规则—派生产物的生成实践相符,但本地实现不能反证外部来源身份。3.50把自动化成本主张扩展为工具/硬件/流程的总成本核算,需真实基线和退出测量;3.53只允许有证据的必要变体;3.54的插件/兼容扩展只针对已知扩展轴,不鼓励推测性抽象。来源原文、许可与效果未核,不新增登记。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `economy-principle` | A060 | 历史候选聚焦机器替代重复人工;Solve扩展总成本与机会成本,未有实测/来源证明,不新增身份。 |
|
||||
| `generation-principle` | A061 | 可机械生成的产物、单一来源及重建校验;与本仓生成视图实践相符,不把应用示例当外部来源证明。 |
|
||||
| `optimization-principle` | A062 | 与`gongfa-performance-by-measurement`高度重叠;基准、热点、重测和回归属操作化补充。 |
|
||||
| `diversity-principle` | A063 | 只为真实差异保留可选择和淘汰的变体,不把多样性扩成无限配置。 |
|
||||
| `extensibility-principle` | A064 | 版本/生命周期/错误契约与稳定接口相邻;须有真实扩展者和代表性用例,不按未来猜测建扩展点。 |
|
||||
|
||||
##### 编程原则3.56–3.60第十批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-3-56-to-3-60-20261014.txt`冻结pack `.entries[57..61]`及A066–A070。A065/3.55 UNIX哲学在候选快照中被列为复合项,且不是Solve pack记录;它把小程序、单一职责、原型、可移植、文本数据等多个实践放在一起,但未见共同输入输出/适用分支合同,不能据此新建总功法或将其自动拆成正式子类。3.57与内聚/单一职责高度重叠;3.58是低成本验证不确定性的原型方法,与生产骨架要分开;3.59和3.60都保留性能、迁移、规模及消费者合同的例外。来源原文、许可及效果未核,不新增登记或改Solve。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `small-is-beautiful` | A066 | 小型可组合组件与内聚/单一职责相关,但规模不是行数门槛;不机械拆分。 |
|
||||
| `do-one-thing` | A067 | 单一职责与`gongfa-high-cohesion`的核心主张高度重叠,不重复登记。 |
|
||||
| `early-prototyping` | A068 | 方法型候选:以可丢弃实验验证高风险未知,不能外推成生产可用。 |
|
||||
| `portability-over-efficiency` | A069 | 隔离平台特化并测量锁定/迁移代价;需真实平台矩阵和基准,不作绝对规则。 |
|
||||
| `text-data` | A070 | 文本适合可读、审查和互操作场景;Schema、编码、版本、规模和安全要求决定例外。 |
|
||||
|
||||
##### 编程原则3.61–3.64及4.1第十一批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-3-61-to-3-64-and-4-1-20261014.txt`冻结pack `.entries[62..66]`及A071–A075。3.61与`gongfa-glue-principle`高度重叠;3.62脚本方法、3.63非交互调用及3.64过滤器流各有安全/契约边界,不因A065复合候选而自动拼成单一方法。4.1内聚度候选与`gongfa-high-cohesion`重叠,Solve是责任检查操作化,不复刻未核验的完整分级体系。来源、许可和效果未核验,不新增登记或修改Solve。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `software-leverage` | A071 | 复用成熟能力与胶水原则同一核心;许可、供应链、试点和回滚是风险操作化。 |
|
||||
| `shell-glue` | A072 | 方法型候选,适用于固定命令编排;错误、输入、超时/清理和迁移语言均须明确。 |
|
||||
| `noninteractive-interface` | A073 | 自动化入口不能隐藏授权、确认、取消或安全语义,不等于去掉人工裁决。 |
|
||||
| `filter-oriented-design` | A074 | 标准输入/转换/输出流是具体组合方式;不是A065全部UNIX经验的证明。 |
|
||||
| `cohesion-audit` | A075 | 内聚检查步骤与`gongfa-high-cohesion`高度重叠;不把编辑性分级描述扩成新本体。 |
|
||||
|
||||
##### 编程原则4.2–4.6第十二批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-4-2-to-4-6-20261014.txt`冻结pack `.entries[67..71]`及A076–A080。4.2耦合度与低耦合/显式依赖登记重叠;4.4可逆性与既有可逆决策重叠;4.6技术负债与技术债台账重叠。4.3正交性作为变化轴独立性的候选边界保留,但不等于零耦合或机械分层;4.5代码坏味保留为诊断方法,气味是调查信号而非自动重构授权。来源、许可及效果未独立核验,不新增登记或赋级。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `coupling-audit` | A076 | 与`gongfa-low-coupling`、`gongfa-explicit-dependencies`高度重叠;不追求零依赖或无收益抽象层。 |
|
||||
| `orthogonality-audit` | A077 | 检查变化轴能否独立演化;共同变化、性能与转换成本决定是否拆分。 |
|
||||
| `reversibility-audit` | A078 | 与`gongfa-reversible-decisions`高度重叠;概率×影响排序不能冒充校准数值,回滚须演练。 |
|
||||
| `code-smell-triage` | A079 | 方法型候选:从坏味调查根因,小步保持行为;不按清单自动重构。 |
|
||||
| `technical-debt-management` | A080 | 与`gongfa-technical-debt-ledger`高度重叠;利息是成本隐喻,不是固定增长定律。 |
|
||||
|
||||
##### 编程原则entries[72..76]第十三批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-entries-72-to-76-20261014.txt`冻结pack `.entries[72..76]`及历史候选A082、A088、A090、A091、A093。契约式设计与不变式/接口契约登记重叠;橡皮鸭叙述与溯因调试相邻但不能替代实验。童子军规则限定为任务附近的小改动,不扩范围;dogfooding要满足安全数据和操作边界;布鲁克斯法则按关键路径、培训和并行性判断,不当普遍公式。来源、许可和效果未核,不新增登记或评级。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `boy-scout-improvement` | A082 | 单一低风险、邻近且可验证的小改善;不是顺手扩大范围或重写的授权。 |
|
||||
| `design-by-contract` | A088 | 与不变式和稳定接口契约高度重叠;外部输入校验与内部断言职责不同。 |
|
||||
| `dogfooding` | A090 | 指真实内部任务使用,不等同单元/集成测试;安全数据、权限和反馈隔离是前置条件。 |
|
||||
| `rubber-duck-debugging` | A091 | 外显假设、生成可检验断点;与溯因调试相邻,叙述不能当运行证据。 |
|
||||
| `brooks-law-response` | A093 | 复合候选;增员影响取决于任务依赖、培训和并行性,不把定性经验转成普遍人数公式。 |
|
||||
|
||||
##### 编程原则entries[77..81]第十四批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-entries-77-to-81-20261014.txt`冻结pack `.entries[77..81]`及历史候选A094–A098。7.2康威定律作为组织/架构关系的可检验假设,不推出强制重组;7.3、7.4的破窗和熵增是类比性质量提醒,不是确定因果或物理量;7.5/entries[80]此前已在近标题快照审阅;7.6命名与概念工程及变量索引条目重叠。本批仅新增4条记录的语义对照,不重复计入7.5。来源、许可及效果未核,不新增登记。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `conway-law-alignment` | A094 | 检查组织/架构边界错位与跨组等待;先按可观测证据调整接口或交付流,不把重组当唯一解。 |
|
||||
| `broken-windows-repair` | A095 | 与小步改善、坏味诊断相邻;社会类比不证明因果,局部修复或登记须有范围。 |
|
||||
| `entropy-control` | A096 | 质量趋势是多个明确代理指标,不存在本条证明的统一代码熵测度;不据此发动大重写。 |
|
||||
| `eighty-ten-ten-boundary-check` | A097 | 7.5此前已审;本批只冻结字段,不重复计数;比例不是实测定律。 |
|
||||
| `joshua-tree-naming` | A098 | 通用领域词汇与`gongfa-concept-engineering`重叠,变量索引与`gongfa-symbol-name-index-maintenance`相邻;命名不能抹去语义差异。 |
|
||||
|
||||
##### 编程原则entries[82..84]第十五批对照
|
||||
|
||||
有限快照`.github/metadata/gongfa/source-selected-principle-operations-entries-82-to-84-20261014.txt`冻结pack `.entries[82..84]`及A099–A101。7.7第二系统此前已在近标题快照审阅;7.8重新造轮与胶水原则高度重叠;7.9牦牛剃毛保留为问题栈/停止条件方法候选,不能用停止偏航掩盖硬依赖或未达验收。此批仅新增7.8、7.9两条直接语义对照。来源、许可及效果仍未核,不新增登记。
|
||||
|
||||
| Solve记录 | 历史候选 | 处理 |
|
||||
|---|---|---|
|
||||
| `second-system-control` | A099 | 与已审第二版功能膨胀控制同一核心;真实用户价值变化仍可按证据扩展。 |
|
||||
| `reinventing-the-wheel-check` | A100 | 与`gongfa-glue-principle`同一复用优先主张;调查、许可、供应链及退出条件是操作化补充。 |
|
||||
| `yak-shaving-recovery` | A101 | 方法型候选:记录前置问题栈、原始目标和停止条件;与问题定义/交付闭环相邻,不能停止必要硬依赖。 |
|
||||
|
||||
##### `programming-principles-101` pack的85条编号映射
|
||||
|
||||
只读交叉表`.github/metadata/gongfa/source-crosswalk-programming-principles-101-20261014.tsv`按Solve记录的`source_principle`字段,与冻结的`html211_candidates`编号标题作了结构匹配:85条Solve记录各自唯一映射到101条历史候选中的一条,删除标题前的章节编号后,85/85名称精确一致;16个未映射章节号列于交叉表头。该结果证明字段/标题映射完整,不证明语义同一或原始来源相同;`source_principle`仍是Solve记录自述,来源材料与许可未独立核验。交叉表捕获时点(13:41Z)已有6条直接语义对照(五条近标题记录及另行冻结的3.14信息隐藏);此后另审2.1–2.7七条、3.2–3.10八条、3.12–3.21九条、3.23–3.27五条、3.28–3.33五条、3.34–3.39五条、3.40–3.44五条、3.45–3.49五条、3.50–3.54五条、3.56–3.60五条及3.61–3.64/4.1五条;其中3.61已在近标题快照直接对照,本批新增4条独立记录;再审4.2–4.6五条后累计74条;本批entries[72..76]另新增五条,共79/85条记录有直接语义对照;entries[77..81]再新增四条(7.5已审),共83条;entries[82..84]新增加7.8、7.9两条(7.7已审),至此85/85条记录均有直接语义对照。该数量按记录计,不等于85个独立概念,也不代表556→410候选与总表已全量去重。因此不得因映射结果批量合并、登记或赋级。交叉表仅供候选路由,不是登记源或生成总表输入。
|
||||
|
||||
以上是候选主题级去重结果,不宣称556个来源ID与既有410条逐项语义去重完成;来源提取、候选主题映射、登记状态和效能证据分别计数。
|
||||
|
||||
##### 软件工程Solve pack entries[0..4]有限对照
|
||||
|
||||
有限选区见`.github/metadata/gongfa/source-selected-software-engineering-entries-0-to-4-20261014.txt`。五条中,架构权衡已在历史快照中冻结,本轮不重复建立来源副本;其余四条冻结明确字段投影。结果如下:
|
||||
|
||||
| Solve条目 | 本轮处理 |
|
||||
|---|---|
|
||||
| `requirements-engineering` | 与问题界定、歧义澄清、规约先行及局部需求评审相邻;当前四动词覆盖过宽,缺少可辨识输入输出与变化条件,暂不形成单独登记。 |
|
||||
| `traceability` | 需求—决策—实现—测试—证据链与状态时间追踪、变更影响分析不同;“每个组件、变更和测试”过于绝对,需先定义豁免、生成对象、链接新鲜度与覆盖判据,保留待收窄候选。 |
|
||||
| `architecture-tradeoff` | 与pack同SHA、同JSON的记录已在历史候选快照中;保留既有暂缓另增及相近候选去重结论,不重复登记、初评或评级。 |
|
||||
| `design-rationale` | 与已登记`gongfa-decision-rationale-documentation`高度重叠;新增候选/理由/后果/复查字段目前更像操作化表达,不另建平行身份。 |
|
||||
| `verification-and-validation` | 分开检查契约符合和用户目标有辨别价值,但当前来源核对只能证明相关知识主题存在,尚不足以核定该定义及操作边界;保留待来源绑定与范围审查候选。 |
|
||||
|
||||
SWEBOK v4.0a主题目录列出需求验证/追踪、软件架构、设计理由和V&V;NIST TEVV-Athlon页支持组织目标导向的AI系统评估;CMU SEI的ATAM页只作架构权衡的补充主题核对,不属于Solve记录原`source_refs`。这些页面不证明精确步骤、许可、独立语义或效果;`conversation://cross-domain-method-map`也没有随pack提供可独立读取的固定原文。五条`evidence_required`逐字复用同一泛化清单,不能充当逐条效果证据。本轮只审了快照列出的相邻对象,不代表遍历79条登记或410条历史候选,不构成556→410全量语义去重;没有新增登记、候选等级或正式效能评级。
|
||||
|
||||
##### 软件工程Solve pack entries[5..9]有限对照
|
||||
|
||||
有限选区见`.github/metadata/gongfa/source-selected-software-engineering-entries-5-to-9-20261014.txt`。entries[5]增量开发与entries[8]影响分析已在历史候选快照中保存同一pack SHA及旧意见;该快照后续补查了官方CS2023 Software Engineering Version Gamma,补充来源及对本批entries[10..15]的核对见`.github/metadata/gongfa/source-selected-software-engineering-entries-10-to-15-20261014.txt`。补查不改写旧快照,只更新当前证据边界。本轮仅新增entries[6]、[7]、[9]字段投影。结果如下:
|
||||
|
||||
| Solve条目 | 本轮处理 |
|
||||
|---|---|
|
||||
| `incremental-development` | 保留旧“优先候选”意见;辨别点应是可独立验证且保持可运行的纵向切片与集成边界,而非小步本身。与A085一步一步走高度相邻;分治和总体交付循环相关但不等同。Gamma支持迭代与快速反馈,但不直接证明纵向切片、回滚证据或本条具体步骤。原“实现→测试”次序不覆盖本仓测试先行要求。 |
|
||||
| `code-review` | Google官方概览支持由作者之外的人审查代码并列出审阅关注点;CS2023 Gamma也列出合作编程中的code review。A084无我编程是评审行为准则,VC048独立产品测试是另一流程。pack里的finding分类、修订、复验序列未由所查概览逐步支持;“独立”限于非作者角色,不代表独立oracle。保留来源绑定待审候选,不登记。 |
|
||||
| `configuration-management` | SWEBOK主题目录及CS2023 Gamma支持配置管理、版本控制、配置项与可复现构建/配置;不支持对所有prompt、model、tool、config和artifact无条件版本化。须收窄为影响复现/审计的受控配置与工件,并明确排除凭据、不可固定的远端状态等边界;目前范围过宽,不登记。 |
|
||||
| `impact-analysis` | 历史分析已与`gongfa-explicit-dependencies`对照,要求证明独立增量或作为相关来源;SWEBOK列出该主题,Gamma的学习目标也要求根据新需求识别需修改的系统区域,但都不证明遍历依赖图或完整blast radius。维持旧结论,不重复冻结。 |
|
||||
| `refactoring` | 当前定义为外部行为可冻结时的小步内部重组;与A079坏味调查、B015功能交付中的持续重构及总体交付流程相邻。CS2023 Gamma支持重构接口实现时对既有用户影响最小或为零的行为保持目标;尚未证明Solve具体操作、范围和效果。前批“缺行为保持定义的直接来源”由此修正为“补充来源支持目标,精确契约/步骤仍待核实”;不登记。 |
|
||||
|
||||
SWEBOK主题目录、Google概览及CS2023 Gamma只能支持列明的主题或学习目标。Gamma是官方软件工程子页列出的2023年8月版本,但并非Solve原`ref:cs2023`的同一固定来源;原Final Report URL本轮为404,Gamma仅作为补充。它们不能证明pack完整流程、许可、独立审查或效果。五条`evidence_required`复用同一泛化清单,不能替代逐条证据合同。本批连同entries[0..4]仍只是有限邻项审查,不代表遍历79条登记或410条历史候选,也不构成556→410全量语义去重;没有新增登记、候选等级或正式效能评级。
|
||||
|
||||
##### 软件工程Solve pack entries[10..15]有限对照
|
||||
|
||||
有限字段投影、来源摘录、时间点与SHA见`.github/metadata/gongfa/source-selected-software-engineering-entries-10-to-15-20261014.txt`。entry[12]风险驱动测试和entry[14]事故复盘沿用旧候选快照及意见;本轮只冻结entries[10]、[11]、[13]、[15]字段投影。CS2023 Gamma提供课程/学习目标层的补充,不证明完整方法、许可或效果。
|
||||
|
||||
| Solve条目 | 对照与处理 |
|
||||
|---|---|
|
||||
| `observability` | 与`design-for-observability`共享核心,但entry[10]偏运行时事件、记录、关联和诊断,entry[15]偏设计阶段的观测需求、schema、边界和演练;可视为不同阶段,不因两个ID就算两个独立功法。Gamma支持日志、telemetry、监控与告警主题,不证明完整trace/决策记录契约。“Agent必须留下decision/tool/state trace”须收窄到任务需要,并受数据最小化、凭据/个人数据保护、保留期和成本约束。 |
|
||||
| `continuous-integration` | Gamma支持通过自动化和自动化测试初步验证共享head/trunk可构建并通过基本测试,因此CI不只适用于多人/多代理。小patch、频繁集成、失败即修复等更细条件未由该来源逐项支持;保留来源绑定待审候选,不登记。 |
|
||||
| `risk-based-testing` | 历史意见为暂缓另增、与`gongfa-failure-mode-analysis`对照。Gamma分别列出风险识别、测试计划和测试工具;ISO 29119介绍页说明测试过程/文档/设计技术,但所查介绍未给出风险排序及按风险分配测试深度的程序。未读取标准全文,不据此断言系列标准不含该内容;维持旧结论,不新增登记或评级。 |
|
||||
| `interface-segregation` | Gamma支持关注点分离、组件边界/依赖和API设计原则,但未明确接口隔离原则或consumer-usage matrix步骤。概念上可辨的操作候选仍缺精确来源支持;不另立登记或评级。原Solve引用的Final Report URL本轮为404,Gamma仅作补充。 |
|
||||
| `incident-postmortem` | 与事前失败模式分析不同,旧意见为优先候选;Gamma的可靠性/故障主题、SWEBOK及NIST页面均未在本轮证明完整的事故时间线、因果区分和行动项关闭程序。候选意见不是登记授权,继续待来源核验。 |
|
||||
| `design-for-observability` | entry[15]明确了设计阶段操作,但与entry[10]共享可观测性核心。先确定是同一方法的阶段化实例还是可独立方法,再决定身份/拆分;不能因字段更细而自动多登记。Gamma只支持telemetry等知识主题,演练效果未验证。 |
|
||||
|
||||
entries[10..15]属于有限选区;本轮不遍历79条登记或410条历史候选,不代表556→410全量语义去重。所有候选处理均不新增登记、初评、正式评级或实际效果主张。
|
||||
|
||||
##### 软件工程Solve pack entry[16]有限对照
|
||||
|
||||
有限字段和语义判断见`.github/metadata/gongfa/source-selected-software-engineering-entry-16-20261014.txt`。`controlled-evolution-loop`是`origin=derived`的组合条目,步骤引用需求、追踪、增量开发、代码评审、配置管理与可观测性;其唯一来源映射为不可单独复核的conversation URI。
|
||||
|
||||
它与已登记`gongfa-methodology-delivery-loop`都属于总体流程,但序列和重心不同:既有流程强调规格、检查器、最小实现、反例与收敛重构;entry[16]强调长期变更中的追踪、评审、配置和观测。当前entry[16]没有充分定义阶段输入输出、准入/分支、风险检查、验证预算、失败恢复;目标承诺风险和验证证据,操作步骤和泛化`evidence_required`却未逐项覆盖这些合同。现有证据不足以证明独立于总体交付流程的自足方法;不新增登记、初评或评级。
|
||||
|
||||
本次至此对软件工程pack entries[0..16]均有有限批次或历史候选审阅记录,但不是逐条独立来源认证,不代表其他Solve领域或556→410全量语义去重。未修改登记或生成目录。
|
||||
|
||||
##### 编程Solve pack entries[0..4]有限对照
|
||||
|
||||
有限选区、字段投影与来源指纹见`.github/metadata/gongfa/source-selected-programming-entries-0-to-4-20261014.txt`。五条均引用`conversation://cross-domain-method-map`和Python调试文档;前者没有可独立读取的固定正文。版本化的Python 3.12.15文档支持调试器单步、栈帧、断点及profiling工具能力,但不证明这些条目的完整方法契约、许可或效果。
|
||||
|
||||
| Solve条目 | 对照与处理 |
|
||||
|---|---|
|
||||
| `tight-feedback-loop` | 与已登记`gongfa-methodology-delivery-loop`的检查器、最小实现和反例验证相邻,也与历史候选“5.5 一步一步走”相邻;不因“立即验证”另立总流程。 |
|
||||
| `hypothesis-driven-debugging` | 与已登记`gongfa-abductive-debugging`的候选原因、区分性实验及证据更新高度重叠;显式可证伪假设作为操作约束,不新增平行登记。 |
|
||||
| `binary-search-debugging` | 与历史候选中同ID、同pack SHA的记录相同,旧“优先候选”意见不是登记。Python调试文档不支持二分定位,且扩展到pipeline、prompt或context的固定来源缺失;保留历史意见,不用本轮补证。 |
|
||||
| `breakpoint-single-step` | Python文档支持通用调试器操作,但不支持对Agent workflow逐节点应用的完整操作和验收契约;作为工具操作候选,不登记。 |
|
||||
| `tracing` | 文档对运行期可见性仅有相邻支持,未定义跨组件关联、完整Agent trace契约;声明的完整action/tool/state记录还须受数据最小化、敏感值、访问、保留与成本约束。保留待审,不登记。 |
|
||||
|
||||
这些条目复用同一泛化`evidence_required`,不能代替逐项效果证据。仅审programming pack entries[0..4]及快照列明的邻项;entry[2]旧记录保留不覆盖,本轮不修改登记或目录,也不代表扫描其余pack、79条登记、410条历史候选或完成556→410全量语义去重。
|
||||
|
||||
##### 编程Solve pack entries[5..9]有限对照
|
||||
|
||||
有限选区、字段投影与历史候选指针见`.github/metadata/gongfa/source-selected-programming-entries-5-to-9-20261014.txt`。entries[6]最小复现与entry[7]模糊测试沿用历史审阅意见,不重复冻结或升级;本轮只新增entries[5]、[8]、[9]的字段投影。Python 3.12.15文档仅支持profiling工具能力,不证明完整操作流程;其余新条目只引用不可独立复核的conversation映射。
|
||||
|
||||
| Solve条目 | 对照与处理 |
|
||||
|---|---|
|
||||
| `profiling` | 是性能测量中用于发现热点的工具操作;`gongfa-performance-by-measurement`已经把profiling作为定位手段。Python文档支持分析执行时间,不证明修改/复测的完整循环或效果,不新增平行登记。 |
|
||||
| `minimal-reproduction` | 历史意见区分了保持同一故障的输入缩减与溯因排错中的原因/实验选择;“自动”“最小”不证明已有自动化或全局最小。保持旧候选,不更新评级或登记。 |
|
||||
| `fuzzing` | 历史意见将输入生成/变异与异常缩减视为独立于证据三角测量的候选;稳定oracle、隔离及可重放要求不等于来源或覆盖合同。保留旧意见,不授权执行、不新增登记。 |
|
||||
| `static-analysis` | 操作定义仍宽泛,来源只有不可复核的conversation URI;AST/类型/数据流标签不证明实际分析器、诊断或效果。留待来源绑定和范围收窄。 |
|
||||
| `race-detection` | 当前没有可复核来源支持其插桩、调度变化和冲突判据;也未运行工具或并发负载。留待来源核验,不新增登记或评级。 |
|
||||
|
||||
本轮仅审entries[5..9]及指定登记/历史对象,不扫描79条登记或410条历史候选,也不代表556→410全量语义去重;未修改登记或生成目录。
|
||||
|
||||
##### 编程Solve pack entries[10..14]有限对照
|
||||
|
||||
新增字段投影、历史候选指针与来源边界见`.github/metadata/gongfa/source-selected-programming-entries-10-to-14-20261014.txt`。本轮冻结entries[10]、[11]、[14];entries[12]性质测试和[13]差分测试沿用历史候选记录,不重复制表或升级。Python 3.12.15文档只支持部分调试/运行时观测工具能力;SWEBOK为知识领域主页级来源,均不证明完整Agent方法契约。
|
||||
|
||||
| Solve条目 | 对照与处理 |
|
||||
|---|---|
|
||||
| `small-changes` | 与总体交付循环、快反馈及“一步一步走”相邻;原子patch受事务边界约束,只有不可独立切分时才应原子迁移。来源仅为不可复核的conversation映射,作为切片提示,不另立方法。 |
|
||||
| `read-execute-observe-modify` | 是更大交付流程中的反馈控制骨架,与快反馈循环共享核心状态转换;未给出独立边界或验收契约。Python调试工具不证明Agent基础循环,不新建平行总流程。 |
|
||||
| `property-based-testing` | 历史候选已区分独立性质、输入生成域、反例缩减/重放与证据三角测量;其“优先候选”和暂定等级不是登记或效果证据。当前来源不足,保留历史意见。 |
|
||||
| `differential-testing` | 历史候选把它与只将差分测试列作验证手段的旧组合内容区分,重点是参考/候选、版本、等价/容忍规则与差异归因;原来源没有形成可复核的方法依据,保留旧意见。 |
|
||||
| `instrumentation` | 是观测链的设置阶段,`tracing`是事件记录/关联和路径重建阶段;语义可分但现有边界及固定来源不足以支持两个独立身份。事件schema、采样、脱敏、成本和恢复契约仍待明确,不新增登记。 |
|
||||
|
||||
本轮仅审entries[10..14]及指定相邻内容/历史候选,不扫描79条登记或410条历史候选,也不代表556→410全量语义去重;未修改登记或生成目录。
|
||||
|
||||
##### 编程Solve pack entries[15..17]有限对照
|
||||
|
||||
三条字段投影与边界见`.github/metadata/gongfa/source-selected-programming-entries-15-to-17-20261014.txt`。依赖最小化可能是胶水/依赖审查之下的窄供应链操作,但现有SWEBOK与CS2023引用不足以证明其步骤序列;资源有界循环的引用没有固定预算、取消及重试契约来源;调试反馈循环为`derived`组合,沿用此前审阅的调试和交付组件,不能仅凭组合顺序获得独立身份。
|
||||
|
||||
| Solve条目 | 对照与处理 |
|
||||
|---|---|
|
||||
| `dependency-minimization` | 与胶水原则的复用、隔离、可替换/回滚及现有依赖审查提示相邻;若作为供应链收敛方法,仍需来源证明依赖清单、使用证据、逐项删除和完整回归合同。保留待来源绑定,不新增登记。 |
|
||||
| `resource-bounded-loop` | 资源预算、取消和终止是Agent任务的横切约束;独立操作需明确单位、计量点、并发/外部成本与停止输出。本轮未固定能证明该运行时契约的来源,暂不新增登记。 |
|
||||
| `debug-feedback-loop` | `origin=derived`,组合读执行观察、假设调试、最小复现、tracing和快反馈,与溯因调试/总体交付循环高度相邻;缺少独立来源、准入和失败恢复合同,不新登记或赋级。 |
|
||||
|
||||
本轮仅审entries[15..17],不扫描79条登记或410条历史候选,也不代表556→410全量语义去重;未修改登记或生成目录。
|
||||
|
||||
##### 问题求解方法论Solve pack entries[0..4]有限对照
|
||||
|
||||
字段投影、历史候选指针和页面摘录见`.github/metadata/gongfa/source-selected-problem-solving-methodology-entries-0-to-4-20261014.txt`。任务定框并入已有问题定义闭环;问题空间与解空间对象相关但不完全相同;手段—目的分析及选择性启发式搜索沿用历史候选意见;表征变换与Projection表示转换相邻,仍需区分具体映射合同。Schoenfeld和Pólya教学页面只支持问题求解/元认知主题;MIT PDF本批仅提取到标题,Newell–Simon PDF未读取正文,不能据此证明完整步骤或效果。
|
||||
|
||||
| Solve条目 | 对照与处理 |
|
||||
|---|---|
|
||||
| `task-framing` | 当前/目标/未知/约束/可观察成功条件与已登记问题界定框架高度重叠;把未知和风险显式化是有用的合同细化,不自动形成独立功法。 |
|
||||
| `problem-space-model` | 明确状态、动作算子、转移与目标判据;不同于聚焦候选答案集合的`gongfa-solution-space`,概念边界保留,但来源正文未核实,不新增平行登记。 |
|
||||
| `means-ends-analysis` | 历史候选已将差距排序、基于算子前置建立子目标、重算差距与目的导向选择关联;维持“明确关系后再判断”的旧意见,不重评。 |
|
||||
| `representational-change` | 语义保持、信息损失记录和回译检查与Projection转换/拍扁相邻;Ash等(2009)只提醒表征重构主张需经验验证,不支持此条完整流程,不新增登记。 |
|
||||
| `heuristic-search` | 历史候选区分有限预算下排序、剪枝记账与未搜索区域复核;旧“优先候选”不是登记或最优性证据,来源正文未读,不升级。 |
|
||||
|
||||
本轮仅审problem-solving-methodology pack entries[0..4]及指定登记/历史对象;不扫描79条登记或410条历史候选,也不代表556→410全量语义去重;未修改登记或生成目录。
|
||||
|
||||
##### 问题求解方法论Solve pack entries[5..8]有限对照
|
||||
|
||||
字段投影与来源摘录见`.github/metadata/gongfa/source-selected-problem-solving-methodology-entries-5-to-8-20261014.txt`。entries[5]构造性见证和[7]元认知监控沿用历史候选指针;entry[6]回看评估可作为检查阶段,但未证明独立流程;entry[8]是源记录自述的派生组合,不作为独立方法。MIT课程页仅支持证明技术主题,Stanford ME113仅支持用户设计情境中的原型/测试;Newell与Simon 1970年文章反对把实际策略描述为线性序列,Pólya教学页也明确不要求阶段按固定顺序执行。NIH及National Academies来源本次返回403。未新增候选、登记或评级。
|
||||
|
||||
| Solve条目 | 对照与处理 |
|
||||
|---|---|
|
||||
| `constructive-witness` | 是具体构造/原型操作,不等于完整解空间或总体问题求解法;历史候选的“优先”与暂定阶位不是登记或正式评级。现有来源仅支持证明技术/设计原型主题,不支持完整独立核验合同,沿用旧候选。 |
|
||||
| `look-back-evaluation` | 与Pólya回看、问题求解闭环的结果验证及工程反例驱动检查相邻;来源不支持其完整独立流程,不新增登记。 |
|
||||
| `metacognitive-monitoring` | 与`psoa.cognitive-science.metacognitive-monitoring`共享监控/控制核心,但前者偏预算与阈值,后者加入预测与信心更新;保留历史映射,不按标题机械合并或新增。 |
|
||||
| `general-problem-solving-loop` | `origin=derived`,拼接entries[0..7];固定箭头不等于来源定义的线性流程,反馈、分支、回退和组合合同仍未建立,仅作编辑性综合。 |
|
||||
|
||||
本轮只审entries[5..8]和定向登记/候选/来源;未扫描全部79条登记或410条目录,不代表556→410全量语义去重;未修改功法登记、候选JSON、总表或评级。
|
||||
|
||||
##### 信息与知识科学Solve pack entries[0..3]有限对照
|
||||
|
||||
字段投影、来源范围与限制见`.github/metadata/gongfa/source-selected-information-knowledge-science-entries-0-to-3-20261014.txt`。本批只审6条中的前4条:信息需求规约与问题界定框架相邻,但目录/评测来源不支持完整需求合同;检索式扩展没有被当前引用定义为通用操作;DCAT、PROV-DM及FAIR支持数据描述、血缘和可复用元数据,不等同于来源权威判断、证据独立性或许可批准。TREC 2025 RAG报告支持任务特定相关性判断和有限评测范围;检索结果的precision/recall不得与生成回答引用支持度的weighted precision/recall混用。
|
||||
|
||||
| Solve条目 | 对照与处理 |
|
||||
|---|---|
|
||||
| `information-need-formulation` | 与问题界定相邻;当前来源支持检索任务与目录描述主题,不支持条目所列的完整需求规约顺序、证据标准或停止条件。本轮不登记。 |
|
||||
| `retrieval-query-expansion` | 同信息需求和检索审计边界分开;TREC How-to和DCAT不是扩词方法来源,其他文档不替原引用补证。本轮不登记。 |
|
||||
| `source-authority-and-provenance` | DCAT/PROV-DM/FAIR支持元数据与派生关系表达,不证明来源按用途的权威等级、独立性或许可批准;与证据三角测量保留边界,本轮不登记。 |
|
||||
| `relevance-precision-recall-audit` | 保留既有候选C的窄边界:仅审既有结果集和可用判断集,不扩展为需求制定、查询扩展或完整检索流程。TREC 2025 report展示nDCG/Recall及有限人工qrels;其引用支持precision/recall属另一评估对象。候选仍未进入登记。 |
|
||||
|
||||
本轮仅审entries[0..3]及定向相邻内容,不覆盖entries[4..5]或其余556条Solve记录,也不代表556→410全量语义去重;不修改登记、候选JSON、总表或评级。来源页面未固定字节版本;独立审查、许可与效果未验证。
|
||||
|
||||
##### 信息与知识科学Solve pack entries[4..5]有限对照
|
||||
|
||||
字段投影、来源范围与限制见`.github/metadata/gongfa/source-selected-information-knowledge-science-entries-4-to-5-20261014.txt`。`metadata-and-fairness-check`的名称指FAIR元数据原则,但摘要又纳入社会公平/群体排除判断;NIST FAIR与DCAT支持可发现性、访问协议及目录元数据,不定义差别影响或公平审计流程,NIH页面本次返回403。若后续收窄为FAIR元数据检查仍需完整操作来源,不将FAIR缩写当作fairness证据。`evidence-retrieval-loop`是`origin=derived`的五项固定组合;来源只支持若干组件主题,未定义反馈/分支/再入规则、指标阈值与恢复合同,因此本轮仅作编辑性工作流草图,不单独登记。
|
||||
|
||||
| Solve条目 | 对照与处理 |
|
||||
|---|---|
|
||||
| `metadata-and-fairness-check` | FAIR(可发现、可访问、可互操作、可复用)与社会公平不是同一概念。当前NIST/W3C来源支持元数据与访问关系,不支持群体差异影响评估;NIH正文未读取。本轮不新建候选或登记。 |
|
||||
| `evidence-retrieval-loop` | 派生组件编排与已登记总体交付/问题求解闭环相邻,但不是同一范围的直接等价;固定步骤及标题“Loop”不构成反馈合同。保留为编辑性工作流草图,不赋予独立方法身份。 |
|
||||
|
||||
本批仅审entries[4..5]及定向相邻内容;与前批entries[0..3]合计覆盖该pack,不覆盖其他Solve pack或410条目录,也不代表556→410全量语义去重。没有修改登记、候选JSON、总表或评级;许可、独立审查与效果未验证。
|
||||
|
||||
##### 计算机科学Solve pack entries[0..4]有限语义与来源复核
|
||||
|
||||
字段审阅投影、来源限制和逐项判断见[冻结快照](../../metadata/gongfa/source-selected-computer-science-entries-0-to-4-20261015.txt)。CS2023官方课程页面与报告p.90支持算法策略主题和分治/动态规划等例子;p.93支持算法复杂度与计算理论中的归约主题,p.98–99支持课程范围内解释、评估和应用。该课程不证明Solve对Agent的完整操作合同、独立身份或工程效果;用户提供的跨域映射没有固定可复核来源。
|
||||
|
||||
| Solve条目 | 对照与处理 |
|
||||
|---|---|
|
||||
| `abstraction` | `MentalModelSpec`是观察视角,和真实使用验证抽象/目录抽象相关但不构成新施行方法;不新增。 |
|
||||
| `problem-decomposition` | 产出子问题和依赖图,与分治的拆分步骤相邻;现有分治已覆盖“拆—解—集成”,未证明独立功法身份。 |
|
||||
| `reduction` | 限定为保持关键性质的问题映射时,与一般类比和工具复用不等同;课程来源只支持算法/复杂度语境,跨域Agent复用仍待审,不登记。 |
|
||||
| `divide-and-conquer` | 与已登记`gongfa-divide-and-conquer`核心重叠;“多个执行单元”不由算法分治范式推出,不重复登记。 |
|
||||
| `dynamic-programming` | CS2023支持其算法策略身份,不支持将缓存中间推理一般化;需要状态/递推正确性及缓存键、上下文和失效边界,保留窄候选待审,不登记。 |
|
||||
|
||||
本批仅覆盖该pack的前五条及定向登记对照;其余entries[5..15]和556→410全量语义比较未完成。没有修改功法登记、候选登记、总表或评级;许可、独立审查与效果未验证。
|
||||
|
||||
##### 计算机科学Solve pack entries[5..9]有限语义与来源复核
|
||||
|
||||
字段投影、来源限制和逐项判断见[冻结快照](../../metadata/gongfa/source-selected-computer-science-entries-5-to-9-20261015.txt)。CS2023报告p.90将贪心、回溯和分支定界列为课程策略;p.91覆盖算法复杂度主题并要求评价贪心是否最优。NIST形式化方法词条支持广义的规格、开发与验证定义,不证明本条Agent操作步骤或执行前证明保证。
|
||||
|
||||
| Solve条目 | 对照结果与处理 |
|
||||
|---|---|
|
||||
| `greedy` | 课程支持贪心策略及最优性评估,不支持任意任务都选择“当前收益最高”。需目标/可行域、局部选择性质或近似界及停止条件;历史提示元素贪心候选范围更窄且缺价值oracle与停止规则,不判为同一身份。 |
|
||||
| `backtracking` | 课程仅支持其为应对指数增长的策略;需定义状态、候选完备性、撤销正确性、剪枝和预算。内部状态可撤销不等于外部副作用可回滚,不新增登记。 |
|
||||
| `branch-and-bound` | 需明确目标方向、为剩余分支提供有效乐观界,并证明剪枝不会排除可能优于当前incumbent的分支;还要定义incumbent更新和终止。当前条目未写出这些证明义务,保留算法候选边界。 |
|
||||
| `complexity-analysis` | 与`gongfa-input-scale-complexity-constraints`相邻;渐近算法复杂度与token、latency、通信和货币成本需分开给单位、系统边界与测量口径,不据此新增独立身份。 |
|
||||
| `formal-methods` | NIST支持广义形式化方法概念;与已登记`gongfa-lightweight-formal-methods`高度相关,当前证据不支持同义总项重复登记。 |
|
||||
|
||||
五条复用的`evidence_required`清单无法替代各自义务:贪心选择/近似保证、回溯状态树与撤销、分支定界正确界与剪枝证明、复杂度规模/测量口径、形式化规格/模型/验证覆盖均不同。本批只审entries[5..9]及定向既有条目;不覆盖余下entries[10..15]或556→410全量比较,不改登记、候选、总表或评级;来源许可、独立审查和效果仍未验证。
|
||||
|
||||
##### 计算机科学Solve pack entries[10..15]有限语义与来源复核
|
||||
|
||||
字段范围、来源限制与逐项判断见[冻结快照](../../metadata/gongfa/source-selected-computer-science-entries-10-to-15-20261015.txt)。STRIPS原文支持world model、动作前置条件、增删效果和目标条件,并区分规划operator与实际执行routine;它不保证一般Agent工具行为、全局搜索终止或最优性。NIST词条和OMG Essence分别支持形式化方法概念与方法/实践组合,不构成不变量或API接口的精确操作规范。
|
||||
|
||||
| Solve条目 | 对照结果与处理 |
|
||||
|---|---|
|
||||
| `state-transition-modeling` | 与状态空间思维、状态分类和受约束状态变换相邻但不是同一层;STRIPS不支持通用失败转移、可达性/循环/终止保证,保留窄状态/动作模型边界,不新登记。 |
|
||||
| `invariant-checking` | 历史候选已与`gongfa-invariant-constraints`对照;执行路径检查不证明未执行路径安全,沿用历史意见,不重复或升级。 |
|
||||
| `interface-contract` | 历史候选与`gongfa-stable-interface-contract`层级相关但不同;Essence是方法/实践语言,不是API合同来源,错误、超时、幂等和版本操作仍待精确来源。 |
|
||||
| `cache-memoization` | 与`gongfa-cache-lifecycle-isolation`相邻;区分算法重复子问题复用与Agent跨任务缓存。现有MIT/CS2023课程概述不足以支持缓存键、权限、新鲜度和失效的完整合同。 |
|
||||
| `dependency-graph` | 沿用既有候选记录:区别于`gongfa-explicit-dependencies`准则,且与影响分析避免重复;隐藏/时变依赖使图不完备。 |
|
||||
| `search-space-control-loop` | 是无固定外部来源的derived组合草图;回溯、分支定界和动态规划不能无条件串接,缺少分支选择与状态/失败恢复合同,不赋予独立身份。 |
|
||||
|
||||
本批不修改登记、历史候选或生成总表,不赋级;Computer Science pack entries[0..15]仅完成分段有限审阅,其他pack及556→410全量语义比较未完成,C01–C20也未覆盖。
|
||||
|
||||
#### 与现有方法合并,不另建平行流程
|
||||
|
||||
| 候选素材 | 处理方式 |
|
||||
@@ -1008,3 +1400,18 @@ README.md # 概念表/错误语义/验收指标
|
||||
| “解决、转移、接受”与“思考、决策、行动、命运” | 前者缺少选择规则,后者不足以建立因果关系;暂不作为方法或因果模型。 |
|
||||
|
||||
算法/算力/数据三要素、损失函数、奖励函数、梯度优化、强化学习、预训练/后训练/测试时扩展、规模/涌现/通用性主张、统计/互动/混沌/复杂分类、复杂系统理论、范畴论术语、数据结构、财务工具、管理学概念、军事功能、地缘政治信号和能力特质清单,本身属于学科概念、技术手段、分类素材或未定义主张;没有形成独立的问题定义、操作规则和适用边界前,不作为本节功法。
|
||||
|
||||
#### Solve算法pack entries[1..6]有限语义与来源复核
|
||||
|
||||
字段选区、讲义来源、提取文本哈希及逐项处理见[冻结快照](../../metadata/gongfa/source-selected-algorithms-entries-1-to-6-20261015.txt)。MIT OCW讲义分别支持特定近似比/方案、Monte Carlo与Las Vegas算法、DAG拓扑序及online/offline竞争比;课程主题不证明通用Agent质量映射、随机重启/置信区间合同、通用图抽取或运行时并行安全。
|
||||
|
||||
| Solve条目 | 本轮处理 |
|
||||
|---|---|
|
||||
| `approximation` | 保留窄算法研究候选;近似比须绑定目标/可行域与证明,不能转写成通用Agent质量天花板。 |
|
||||
| `randomized-search` | 随机算法有有限来源;重启、概率放大和置信区间需要独立性/分布等明确前提,暂不登记。 |
|
||||
| `graph-modeling` | 属于图表示OperatorSpec;与历史依赖图候选有交集,不升级为独立MethodSpec。 |
|
||||
| `topological-order` | 视作DAG上的顺序OperatorSpec;拓扑序不等于资源/副作用安全的并行计划。 |
|
||||
| `online-competitive-analysis` | 作为MentalModelSpec保留边界;竞争比不等于后悔,也不等于线上产品评估。 |
|
||||
| `design-analysis-loop` | 固定串接的derived草图跨越不同前置条件;不建独立身份。 |
|
||||
|
||||
本批不改登记、历史候选或生成目录/评级。只做选定条目的定向比较,不覆盖其他Solve pack、C01–C20或556→410全量语义去重。
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
- 程序内容、运行实例、模型、服务、硬件、信息内容、过程、地址及账号按真实所指分离;用户可确认依赖类别纳入范围,但该确认不自动补出具体产品身份、版本或任务效果等级。
|
||||
- 来源用途是人工初审标注,Schema/后缀/SHA不能证明语义正确;`exclusion_evidence`不能作为纳入对象实现来源。每个空纳入入口至少有一条显式排除记录;同一入口可列多项排除对象,按入口路径与名称去重,排除来源分别唯一绑定,不能静默复入。
|
||||
- `faqi-grade-vocabulary-v1`仍为draft且效能结果带阈值未校准;正式效能评级与当前`provisional_grade_assignments`的重要性分级是不同轴。用户要求暂按Vibe Coding核心模型/Agent、代码执行与变更基础、质量/上下文/产品交付增强、可替代专用支路分层;各阶初中高表示阶内重要性,不表示效果或实现质量。运行时对象正式`grade_id`仍为null,效能验证仍为false。
|
||||
- 固定来源修订、原字节SHA与一基半开选区;新内容/版本重新核身份,不继承旧能力,不覆盖旧Git来源事实。当前法器登记以单一顶层`source_revision`绑定父仓库来源,校验器要求所有父仓库来源使用同一修订;重采样父仓库修订时须重新核对并绑定全部父仓库选区,不能只给单条来源改版本。旧登记状态由不可改写的Git历史保留。仓库目录迁移只更新当前定位路径,校验按固定修订回读原路径,并仅接受批准根路径前缀变化及 Codex 安装脚本及配套 README 中同仓 raw 地址的 `develop` → `main` 迁移;其他指令、来源域名/所有者、原 SHA 与选区继续严格核对;submodule URL与gitlink修订仍须一致。依赖图文本SHA与观测时间分别绑定,不冒称固定源码来源。
|
||||
- 固定来源修订、原字节SHA与一基半开选区;新内容/版本重新核身份,不继承旧能力,不覆盖旧Git来源事实。当前法器登记以单一顶层`source_revision`绑定父仓库来源,校验器要求所有父仓库来源使用同一修订;重采样父仓库修订时须重新核对并绑定全部父仓库选区,不能只给单条来源改版本。旧登记状态由不可改写的Git历史保留。仓库目录迁移只更新当前定位路径,校验按固定修订回读原路径,并仅接受批准根路径前缀变化及 Codex 安装脚本及配套 README 中同仓 raw 地址的 `develop` → `main` 迁移;其他指令、来源域名/所有者、原 SHA 与选区继续严格核对;submodule URL与gitlink修订仍须一致。依赖图文本SHA与观测时间分别绑定,不冒称固定源码来源。父仓库实现/支持来源字节或选区变更时,仍须创建可追溯修订并重核、重绑全部父仓库来源;`test-faqi-catalog.py`要求`source_revision`在`origin/main`历史可达,Squash合并不会把PR分支源提交带入`main`,不可让登记自指最终合并提交。`references`则描述当前仓内软链接别名,不是来源选区:可在固定`source_revision`保留历史0字节占位状态的前提下,将当前状态更新为软链接;仅当当前相对目标精确匹配登记值、规范化后指向`.gitmodules`已登记submodule、关联对象的实现仓库匹配,且历史blob为相同链接目标或0字节时接受。此转换不改变其他父仓库源选择;未知历史状态、越界或未登记目标仍拒绝。
|
||||
- `.github/tools/faqi-catalog.md`只读生成;运行`make sync-faqi-catalog`、`make check-faqi-catalog`、`make test-faqi-catalog`,保留真实工件。
|
||||
|
||||
## 验证
|
||||
|
||||
@@ -20,7 +20,9 @@
|
||||
功法检查需要Python3.10+及`python3 -m pip install -r .github/scripts/requirements-gongfa.txt`。
|
||||
法器维护需要Python3.10+、Git与`.github/scripts/requirements-faqi.txt`;submodule须按父仓库固定指针初始化。
|
||||
更新法器来源或实现内容须核身份/版本,保留旧Git修订及旧记录,不把同名、副本、声明版本或源码变化自动当能力升级。
|
||||
当前固定来源实现10项;依赖图另列13项具名对象/运行观察及8项由用户确认纳入的依赖类别,不与固定来源实现数相加冒称独立产品数。31项按对Vibe Coding的重要性分布于天5、地12、玄9、黄5;此轴表示依赖角色重要性,不表示效能。正式法器效果量表仍为draft且阈值未校准,正式效能评级仍为空。Chat Vault、MC Player Transfer、XHS ZIP→PDF、HTML工具五项及my-nvim共9项仍为明确范围排除;复入前须按各自记录重新核验。
|
||||
当前固定来源实现10项;依赖图另列12项具名对象/运行观察及8项由用户确认纳入的依赖类别,不与固定来源实现数相加冒称独立产品数。30项按对Vibe Coding的重要性分布于天4、地12、玄9、黄5;此轴表示依赖角色重要性,不表示效能。正式法器效果量表仍为draft且阈值未校准,正式效能评级仍为空。Chat Vault、MC Player Transfer、XHS ZIP→PDF、HTML工具五项及my-nvim共9项仍为明确范围排除;复入前须按各自记录重新核验。
|
||||
2026-10-15补充oh-my-tmux固定submodule pin `87dcd13a28aeb5f18baee630e24b3f5765ae3a4f`的S65 `.logo/LICENSE`支持来源,选区SHA与文件SHA相同;许可证文本引用可变的tmux `master/logo`路径。该仓内`.logo/logomark.svg`、`.logo/logomark+wordmark.svg`与固定tmux pin的`logo/tmux-logomark.svg`、`logo/tmux-logo.svg`字节不相同;这不排除衍生或其他来源关系,许可覆盖范围及整体再分发兼容性仍未核实。S65只记录线索,不代表许可批准或独立法律审查,`license_approved`仍为false。
|
||||
|
||||
独立语义、运行、效果和许可批准不在此初审格式内;未经相应证据,不修改声明边界。
|
||||
|
||||
修改目录、锚点、阅读路径或关键入口后,必须同步更新本目录,并运行:
|
||||
|
||||
+379
-24
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"format_version": 2,
|
||||
"kind": "faqi-master-classification-register",
|
||||
"reviewed_at": "2026-10-11T15:45:18+00:00",
|
||||
"reviewed_at": "2026-10-15T10:55:05Z",
|
||||
"source_revision": "0a7fdf4ca54d2bb327dcdfc13e816da57ee9c4c2",
|
||||
"ontology": {
|
||||
"path": ".github/docs/gongfa/cultivation-ontology-taxonomy.md",
|
||||
@@ -179,7 +179,7 @@
|
||||
"graph_node": "3.2 命令/终端 / tmux复用支路",
|
||||
"identity_status": "runtime_observed",
|
||||
"version": "3.4",
|
||||
"evidence": "tmux -V 输出 tmux 3.4;本次隔离 session smoke 不能证明二进制来自已登记 faqi-tmux 的固定源码修订。",
|
||||
"evidence": "2026-10-15T00:45:37Z观察:PATH入口与realpath均为/usr/bin/tmux;dpkg确认由tmux 3.4-1ubuntu0.1(amd64)提供,二进制SHA-256为034b15c64035f783d43862f2775eb4828f61571ca62c8199796000b97d556ecd。关联的faqi-tmux固定submodule为615c27c11789948df2db09e113e882f82dfb3e1c,其configure.ac声明next-3.7;本机运行实例与该固定来源并非同一版本,烟测不验证submodule实现或效果。",
|
||||
"resource_ids": [],
|
||||
"related_object_id": "faqi-tmux",
|
||||
"grade_id": null,
|
||||
@@ -716,6 +716,296 @@
|
||||
120
|
||||
],
|
||||
"selection_sha256": "4b4eb47d3545b5bcba80384c1aa81cee4d973d006736ea7a664f69ef9b759e70"
|
||||
},
|
||||
{
|
||||
"id": "S37",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/.tmux/.tmux.conf",
|
||||
"repository": ".github/tools/external/.tmux",
|
||||
"revision": "87dcd13a28aeb5f18baee630e24b3f5765ae3a4f",
|
||||
"sha256": "6807d44735b7b11e64c4488a0c3fdcbd2809cc73efedcc349d098e80a690aeeb",
|
||||
"lines": [1, 8],
|
||||
"selection_sha256": "e9e4b5dd6be906cfd6c4e4fe0a1063332cad79bf10898087c7c88eee87fb11aa"
|
||||
},
|
||||
{
|
||||
"id": "S38",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/.tmux/LICENSE.MIT",
|
||||
"repository": ".github/tools/external/.tmux",
|
||||
"revision": "87dcd13a28aeb5f18baee630e24b3f5765ae3a4f",
|
||||
"sha256": "f4c34427d3e29630cece9bca418eda48ac298867630cd6698d73e0f04642d1d0",
|
||||
"lines": [1, 19],
|
||||
"selection_sha256": "f4c34427d3e29630cece9bca418eda48ac298867630cd6698d73e0f04642d1d0"
|
||||
},
|
||||
{
|
||||
"id": "S39",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/.tmux/LICENSE.WTFPLv2",
|
||||
"repository": ".github/tools/external/.tmux",
|
||||
"revision": "87dcd13a28aeb5f18baee630e24b3f5765ae3a4f",
|
||||
"sha256": "ee820ff0db4ce628569e0975ac27dc926052a9f85d102b101edb104311ef4d90",
|
||||
"lines": [1, 14],
|
||||
"selection_sha256": "ee820ff0db4ce628569e0975ac27dc926052a9f85d102b101edb104311ef4d90"
|
||||
},
|
||||
{
|
||||
"id": "S40",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/tmux.c",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "58a9bef0d1d424fd2e2a79c6d998dab96aab81ee771b7c2653928451f3bf11a8",
|
||||
"lines": [1, 18],
|
||||
"selection_sha256": "26f34506da997905b214b2878416c618a92298533aca335c60c509e5e0993904"
|
||||
},
|
||||
{
|
||||
"id": "S41",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/COPYING",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "c031bd37f464c534277814f6aa38686fa023d094261d57fd2545ad592bb53ccd",
|
||||
"lines": [1, 19],
|
||||
"selection_sha256": "c031bd37f464c534277814f6aa38686fa023d094261d57fd2545ad592bb53ccd"
|
||||
},
|
||||
{
|
||||
"id": "S42",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/Skill_Seekers-development/LICENSE",
|
||||
"repository": ".github/tools/external/Skill_Seekers-development",
|
||||
"revision": "26638b248279a3b001b651475e0f28975f5ff069",
|
||||
"sha256": "d131d0e96700cd78f8b3fa7ed79a47b019a0653066500faff376233246b6504d",
|
||||
"lines": [1, 22],
|
||||
"selection_sha256": "d131d0e96700cd78f8b3fa7ed79a47b019a0653066500faff376233246b6504d"
|
||||
},
|
||||
{
|
||||
"id": "S43",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/claude-official-skills/skills/skill-creator/LICENSE.txt",
|
||||
"repository": ".github/tools/external/claude-official-skills",
|
||||
"revision": "1ed29a03dc852d30fa6ef2ca53a67dc2c2c2c563",
|
||||
"sha256": "58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd",
|
||||
"lines": [1, 203],
|
||||
"selection_sha256": "58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd"
|
||||
},
|
||||
{
|
||||
"id": "S44",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/Skill_Seekers-development/pyproject.toml",
|
||||
"repository": ".github/tools/external/Skill_Seekers-development",
|
||||
"revision": "26638b248279a3b001b651475e0f28975f5ff069",
|
||||
"sha256": "40820d20d8f56c1dc24c8f432141fa438d54473acbfecfa716fc9d188cbc8294",
|
||||
"lines": [45, 69],
|
||||
"selection_sha256": "e892c55c18d3d786696bf226eef30e4651216b0b71b89f35aa957f486ce0210f"
|
||||
},
|
||||
{
|
||||
"id": "S45",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/Skill_Seekers-development/src/skill_seekers/cli/main.py",
|
||||
"repository": ".github/tools/external/Skill_Seekers-development",
|
||||
"revision": "26638b248279a3b001b651475e0f28975f5ff069",
|
||||
"sha256": "8c02660dacd304f51fe8c4a9685d3f6d5324a7eef7779b6baa7325827bf01985",
|
||||
"lines": [41, 66],
|
||||
"selection_sha256": "67527b228def54d21c5adc56b822ae446b51e24d18b4ca82b4a66669ca184d17"
|
||||
},
|
||||
{
|
||||
"id": "S46",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/Skill_Seekers-development/src/skill_seekers/cli/agent_client.py",
|
||||
"repository": ".github/tools/external/Skill_Seekers-development",
|
||||
"revision": "26638b248279a3b001b651475e0f28975f5ff069",
|
||||
"sha256": "2fff7e6de630b6c8871db3419661195125c6128ac71d4d76f04e7561f7bdac17",
|
||||
"lines": [35, 91],
|
||||
"selection_sha256": "8273620e89e199a39cd5b2afd65dcfe4483d6b463ab3435f2dceb59270ec5a59"
|
||||
},
|
||||
{
|
||||
"id": "S47",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/Skill_Seekers-development/src/skill_seekers/cli/agent_client.py",
|
||||
"repository": ".github/tools/external/Skill_Seekers-development",
|
||||
"revision": "26638b248279a3b001b651475e0f28975f5ff069",
|
||||
"sha256": "2fff7e6de630b6c8871db3419661195125c6128ac71d4d76f04e7561f7bdac17",
|
||||
"lines": [175, 200],
|
||||
"selection_sha256": "e1dffcec8fd29c41210478f2516c1a970fa0082d0c5666b8f2f47657e7226608"
|
||||
},
|
||||
{
|
||||
"id": "S48",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/Skill_Seekers-development/src/skill_seekers/cli/agent_client.py",
|
||||
"repository": ".github/tools/external/Skill_Seekers-development",
|
||||
"revision": "26638b248279a3b001b651475e0f28975f5ff069",
|
||||
"sha256": "2fff7e6de630b6c8871db3419661195125c6128ac71d4d76f04e7561f7bdac17",
|
||||
"lines": [286, 415],
|
||||
"selection_sha256": "24bbde0e597053cc6a0430fb83f870b0007bc5d1fac7916645caa6687d65c153"
|
||||
},
|
||||
{
|
||||
"id": "S49",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/Skill_Seekers-development/src/skill_seekers/cli/install_skill.py",
|
||||
"repository": ".github/tools/external/Skill_Seekers-development",
|
||||
"revision": "26638b248279a3b001b651475e0f28975f5ff069",
|
||||
"sha256": "146be443d3b73b1e5c706b105fd0780831275baa6d0d61424b3c10d03dfa79aa",
|
||||
"lines": [83, 156],
|
||||
"selection_sha256": "5d2fde106240cae8b78d502c274a07a764ff5a2f4e745f3f5a977af08dae7cf5"
|
||||
},
|
||||
{
|
||||
"id": "S50",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/Skill_Seekers-development/src/skill_seekers/cli/upload_skill.py",
|
||||
"repository": ".github/tools/external/Skill_Seekers-development",
|
||||
"revision": "26638b248279a3b001b651475e0f28975f5ff069",
|
||||
"sha256": "2967da60c32c2495ea993f9122c6472d76ab86d3bcae878831fbeb07c55b0d1e",
|
||||
"lines": [33, 89],
|
||||
"selection_sha256": "1893b3f3bfc12dc0ef7ff0b2f2e94d1c72e216bd9d229037f8a8d70b7a18b2f5"
|
||||
},
|
||||
{
|
||||
"id": "S51",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/claude-official-skills/skills/skill-creator/SKILL.md",
|
||||
"repository": ".github/tools/external/claude-official-skills",
|
||||
"revision": "1ed29a03dc852d30fa6ef2ca53a67dc2c2c2c563",
|
||||
"sha256": "d57b6e3a44535b9c0ef454dad5c86f5df78185fc80a65c7092885b4b5e10f81b",
|
||||
"lines": [263, 275],
|
||||
"selection_sha256": "a8130ff1f013777e2c076569f5567924a4a0f3b23df7134ab4b0b99dd1aa86e9"
|
||||
},
|
||||
{
|
||||
"id": "S52",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/README",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "9fb75e6c7f10c25b73e41b8214336d0dc2acfbe4c99984514ccaf7327192d53e",
|
||||
"lines": [84, 88],
|
||||
"selection_sha256": "68980459b47c2af6f48f099a70fa4472b3b6e5066006f7fdf5f63f675dc1f02d"
|
||||
},
|
||||
{
|
||||
"id": "S53",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/compat/explicit_bzero.c",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "7e30bc63946093cd6ed7cb4ce01d2f8c6e329ab173a20df250da60bb0a3c757b",
|
||||
"lines": [1, 6],
|
||||
"selection_sha256": "02fedc95bf0da5dffe09623d9cb71bc7ebbb8bfd31f5e4fb5a23b135d7f36d0e"
|
||||
},
|
||||
{
|
||||
"id": "S54",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/compat/getopt_long.c",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "0486066fe70fb5a81d79971842f171e3bdcb570dbcab22ce51c1394235b8d21f",
|
||||
"lines": [1, 98],
|
||||
"selection_sha256": "32af441d6bffc37dbac1c14d03edf334137d91c95fa06c335479fd9c80d7fcb4"
|
||||
},
|
||||
{
|
||||
"id": "S55",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/xmalloc.c",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "8ed468e9903b8abf18d5d5b76d99f030713fc479d02dc107ec3dbaa3a01c702b",
|
||||
"lines": [1, 15],
|
||||
"selection_sha256": "f28a22fd0a1176583b24e17d8536acaba14afb635f4b253aa9653770cb1449ba"
|
||||
},
|
||||
{
|
||||
"id": "S56",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/logo/LICENSE",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "5fdf604dee98da6f827ea924cf5ae19a9da31555d3814143f2cc6f8e7ee05752",
|
||||
"lines": [1, 14],
|
||||
"selection_sha256": "5fdf604dee98da6f827ea924cf5ae19a9da31555d3814143f2cc6f8e7ee05752"
|
||||
},
|
||||
{
|
||||
"id": "S57",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/mdoc2man.awk",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "602f3d31ffec414850e697b73f1885e967698ac0cbe8f09efd14800e55abe7ea",
|
||||
"lines": [1, 23],
|
||||
"selection_sha256": "1d4514630b480519684226c19c6ead79afcc30d0a5857601aa2e40b3831f7b92"
|
||||
},
|
||||
{
|
||||
"id": "S58",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/tmux.1",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "f2966da7a8267abc9aaa216a7a7b46d4d914d60114058dc046c4ff1c75ac9422",
|
||||
"lines": [1, 15],
|
||||
"selection_sha256": "04972c3c428ff5c92813b5cc03ee0aca9fb4d67f9efcadc6b08ba9ae9ad1a6db"
|
||||
},
|
||||
{
|
||||
"id": "S59",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/example_tmux.conf",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "0ab7c28342180d485434c3d8e286508a1e1c87ac9a2c8f2dc78bcf477a2de437",
|
||||
"lines": [1, 5],
|
||||
"selection_sha256": "c29f86d0a16523c1ec7df3be70be2c1b0c7c60aa5da95abb23ff3239289beb78"
|
||||
},
|
||||
{
|
||||
"id": "S60",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/tools/24-bit-color.sh",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "cee34d321461577c2455573ec58537833f5968cebe7df8d53aabf08b0e0d9ccf",
|
||||
"lines": [1, 15],
|
||||
"selection_sha256": "d78c7405e325b792164f733359cfb3339460776aaee44586bddb7d221c15f354"
|
||||
},
|
||||
{
|
||||
"id": "S61",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/README.ja",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "c341a10636227e426a759da4b80b754258ef31f1554a9ac369a79c5afeeadeb6",
|
||||
"lines": [59, 60],
|
||||
"selection_sha256": "63f1ffb13bd10f6b3a2052d09b4d9c336c41c45262363e035e25a362ffd5c73a"
|
||||
},
|
||||
{
|
||||
"id": "S62",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/logo/tmux-logo-1-color.eps",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "f4da0cd411ea21140efbb3ebd5fc9a76c87183c8eceb7902e6f08d061c17235b",
|
||||
"lines": [1, 20],
|
||||
"selection_sha256": "2c23a57c4e1dfdf7fdf3d45d0d4cb092413835ab36eb320a3cc25d80b393f0d4"
|
||||
},
|
||||
{
|
||||
"id": "S63",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/logo/tmux-logo.eps",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "13ecb5c04f2b40f5dca7dc7e9be3986de3d7641c6494cc3f139669a3e90dd144",
|
||||
"lines": [1, 20],
|
||||
"selection_sha256": "2c23a57c4e1dfdf7fdf3d45d0d4cb092413835ab36eb320a3cc25d80b393f0d4"
|
||||
},
|
||||
{
|
||||
"id": "S64",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/tmux/logo/tmux-logomark.eps",
|
||||
"repository": ".github/tools/external/tmux",
|
||||
"revision": "615c27c11789948df2db09e113e882f82dfb3e1c",
|
||||
"sha256": "f5afbd939a1675b5b1293cd642273d8b0b9555b906683970b5e7a34f802674fd",
|
||||
"lines": [1, 20],
|
||||
"selection_sha256": "ecbd0ccba3e5665b62c06509dd78ed90525ad60737c63c29d089fb8b54e23b5b"
|
||||
},
|
||||
{
|
||||
"id": "S65",
|
||||
"purpose": "support",
|
||||
"path": ".github/tools/external/.tmux/.logo/LICENSE",
|
||||
"repository": ".github/tools/external/.tmux",
|
||||
"revision": "87dcd13a28aeb5f18baee630e24b3f5765ae3a4f",
|
||||
"sha256": "6ae92da1ac8fc251f218491c42048d258d50d57bc685beb871fb09adf0bcea3e",
|
||||
"lines": [1, 17],
|
||||
"selection_sha256": "6ae92da1ac8fc251f218491c42048d258d50d57bc685beb871fb09adf0bcea3e"
|
||||
}
|
||||
],
|
||||
"objects": [
|
||||
@@ -792,7 +1082,15 @@
|
||||
"implementation": "S16",
|
||||
"support": [
|
||||
"S14",
|
||||
"S15"
|
||||
"S15",
|
||||
"S42",
|
||||
"S44",
|
||||
"S45",
|
||||
"S46",
|
||||
"S47",
|
||||
"S48",
|
||||
"S49",
|
||||
"S50"
|
||||
],
|
||||
"boundary": "指固定submodule修订的软件实现;多个CLI入口及可选MCP模块不机械复制产品身份。3.5.1仅为pyproject源码声明,不是已核发布或运行版。",
|
||||
"declared_version": "3.5.1(仅源码声明)"
|
||||
@@ -804,9 +1102,13 @@
|
||||
"implementation": "S18",
|
||||
"support": [
|
||||
"S17",
|
||||
"S19"
|
||||
"S19",
|
||||
"S37",
|
||||
"S38",
|
||||
"S39",
|
||||
"S65"
|
||||
],
|
||||
"boundary": "配置文件含run、cut|sh调用链及可执行shell指令,按实际程序内容归software-artifact,不能仅因.conf后缀归纯规约;不是tmux本身。",
|
||||
"boundary": "配置文件含run、cut|sh调用链及可执行shell指令,按实际程序内容归software-artifact,不能仅因.conf后缀归纯规约;不是tmux本身。仓内.logo许可证另由S65绑定;其指向可变tmux/master路径,具体SVG来源关系与许可覆盖范围未核,不能据此批准仓库整体再分发。",
|
||||
"declared_version": null
|
||||
},
|
||||
{
|
||||
@@ -815,7 +1117,22 @@
|
||||
"type_id": "software-artifact",
|
||||
"implementation": "S21",
|
||||
"support": [
|
||||
"S20"
|
||||
"S20",
|
||||
"S40",
|
||||
"S41",
|
||||
"S52",
|
||||
"S53",
|
||||
"S54",
|
||||
"S55",
|
||||
"S56",
|
||||
"S57",
|
||||
"S58",
|
||||
"S59",
|
||||
"S60",
|
||||
"S61",
|
||||
"S62",
|
||||
"S63",
|
||||
"S64"
|
||||
],
|
||||
"boundary": "指固定源码修订的程序内容,不是物理终端、pane、socket地址或一次会话。Git describe的邻近tag不作为已核发布版本。",
|
||||
"declared_version": null
|
||||
@@ -826,7 +1143,9 @@
|
||||
"type_id": "software-artifact",
|
||||
"implementation": "S23",
|
||||
"support": [
|
||||
"S22"
|
||||
"S22",
|
||||
"S43",
|
||||
"S51"
|
||||
],
|
||||
"boundary": "只纳入skill-creator下生成目录/模板的独立Python程序,不把官方Skill集合、自然语言方法、模板或其他全部辅助脚本称作同一程序。",
|
||||
"declared_version": null
|
||||
@@ -901,7 +1220,6 @@
|
||||
],
|
||||
"boundary": "Skill方法/规约、执行脚本、被依赖程序及运行入口分别指认。",
|
||||
"pending": [
|
||||
"两个assets入口在source_revision 0a7fdf4ca54d2bb327dcdfc13e816da57ee9c4c2处为零字节普通文件,与README/AGENTS声明的软链接不一致;references登记绑定该修订与空字节状态。为保留固定来源修订和原始摘要,本轮未替换;链接及上游源码可达性仍未解决。若修复,须追加可追溯来源修订并保留旧状态,不得静默改写。",
|
||||
"蜂群附属脚本不逐一登记,不启动蜂群,也不将蜂群状态/日志算软件。",
|
||||
"2026-10-13:将本工作分支内26个.sh入口的Git执行模式从100644改为100755;auto-tmux doctor、26个脚本bash -n及两个help入口通过。完整技能validator与tmux smoke未运行,运行效果仍待验证。"
|
||||
]
|
||||
@@ -914,11 +1232,22 @@
|
||||
"sources": [
|
||||
"S14",
|
||||
"S15",
|
||||
"S16"
|
||||
"S16",
|
||||
"S42",
|
||||
"S44",
|
||||
"S45",
|
||||
"S46",
|
||||
"S47",
|
||||
"S48",
|
||||
"S49",
|
||||
"S50"
|
||||
],
|
||||
"boundary": "源码内容与仓库载体、接口规范、抓取过程、输入资料和生成Skill分开。",
|
||||
"pending": [
|
||||
"CLI与MCP各实现的完整对应关系、许可/可用性与外部I/O权限未作完整审查。"
|
||||
"2026-10-14:S45–S50绑定固定CLI路由、AgentClient与install/upload静态选区。CLI映射包含create/enhance/package/upload/install/install-agent等;AgentClient的auto模式按环境密钥选择API或本地代理,API路径将prompt发送给provider,本地subprocess.run未显式限制env;Claude预设含--dangerously-skip-permissions,Codex含--full-auto和--skip-git-repo-check。install将auto_upload设为默认true(可用--no-upload),upload路径调用目标adaptor并可从环境变量取key。仅静态审阅,未运行、联网、上传或读取凭据;完整MCP链路、数据范围/来源授权、子进程权限、环境隔离、外部与本地写入及恢复路径仍待审。",
|
||||
"仓库LICENSE标注MIT,但版权行保留[Your Name/Username]占位符;权利主体与授权未核,不作许可证批准依据。",
|
||||
"固定pyproject将PyMuPDF>=1.24.14列为核心依赖;2026-10-14本地Python 3.12.3环境未安装PyMuPDF(pip另有~umpy无效发行警告),运行/doctor/PDF路径未验证。这是环境观察,不等于上游实现缺陷。",
|
||||
"2026-10-15:在Python 3.12.3环境运行python3 -m pip show PyMuPDF仍显示未安装;未安装依赖、未运行Skill Seekers。运行验证仍为false;此项只是目标环境依赖存在性检查,不是程序测试。"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -929,7 +1258,10 @@
|
||||
"sources": [
|
||||
"S17",
|
||||
"S18",
|
||||
"S19"
|
||||
"S19",
|
||||
"S37",
|
||||
"S38",
|
||||
"S39"
|
||||
],
|
||||
"boundary": "配置数据与嵌入程序按实际所指区分;本条纳入可执行配置程序,未安装或source配置。",
|
||||
"pending": [
|
||||
@@ -943,10 +1275,29 @@
|
||||
],
|
||||
"sources": [
|
||||
"S20",
|
||||
"S21"
|
||||
"S21",
|
||||
"S40",
|
||||
"S41",
|
||||
"S52",
|
||||
"S53",
|
||||
"S54",
|
||||
"S55",
|
||||
"S56",
|
||||
"S57",
|
||||
"S58",
|
||||
"S59",
|
||||
"S60",
|
||||
"S61",
|
||||
"S62",
|
||||
"S63",
|
||||
"S64"
|
||||
],
|
||||
"boundary": "tmux程序与配置、操控封装、终端会话和显示记录分开。",
|
||||
"pending": []
|
||||
"pending": [
|
||||
"S40仅绑定tmux.c文件头许可选区;S41明确COPYING仅供信息参考、许可依文件头。2026-10-15第一轮固定pin许可清点见S52–S56;此轮未覆盖全部313文件、非C/H/Y资产、所有上游来源及再分发兼容性,limits.license_approved仍为false。",
|
||||
"2026-10-15:pin 615c27c11789948df2db09e113e882f82dfb3e1c有313个tracked文件、无嵌套gitlink。对196个C/H/Y文件作固定字面扫描:182个含ISC式授权句、13个含BSD式再分发句(compat/daemon-darwin.c与compat/getopt_long.c同时含两种),另有xmalloc.c(S55)/xmalloc.h(sha256 8d0a589c43e16549174b0ffb0b59a8581af00d99eb912205bfb4f293502bbeae)的Tatu Ylonen特殊使用与命名条件、compat/explicit_bzero.c的Public domain声明;BSD式文件为compat/bitstring.h、compat/daemon-darwin.c、compat/daemon.c、compat/getline.c、compat/getopt_long.c、compat/memmem.c、compat/queue.h、compat/strcasestr.c、compat/strsep.c、compat/tree.h、compat/unvis.c、compat/vis.c、compat/vis.h。README (S52)、COPYING (S41) 与 README.ja(sha256 c341a10636227e426a759da4b80b754258ef31f1554a9ac369a79c5afeeadeb6)列举的ISC例外不同;README.ja还列出SYNCING(sha256 5243f70e3adbb2f7554e99889d3ea9b5b719d50108ac127db1392ced65e7c61c),本轮未见该文件头许可声明;FAQ/TODO未跟踪。logo/LICENSE由S56单独绑定。getopt_long.c(S54)自述来源于OpenSSH commit b5b405fee7f3e79d44e2d2971a4b6b4cc53f112e,本轮未独立比对上游。该清点是有限静态检索而非法律兼容性意见;正式许可批准、完整文件级/第三方依赖审查仍未完成。",
|
||||
"2026-10-15第二轮固定pin非C/H/Y许可线索见S57–S64:仅审117个非C/H/Y tracked文件中的8个选区。mdoc2man.awk与tmux.1含逐文件版权、permission及免责声明;example_tmux.conf由作者声明Public domain;tools/24-bit-color.sh标注来源为iTerm2的master并称“presumably covered”于其LICENSE,未冻结或核对上游修订/条款;README.ja:59将本文件、CHANGES、FAQ、SYNCING、TODO列为ISC许可对象,与英文COPYING/README的列举不同;三个EPS文件头各自声明Apple 2000–2004 Copyright/All Rights Reserved,未证实logo/LICENSE是否覆盖。未审其余非C/H/Y文件、其他二进制资产及第三方依赖;不构成完整文件/权利/再分发兼容性审查,limits.license_approved仍为false。"
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": ".github/tools/external/claude-official-skills",
|
||||
@@ -955,12 +1306,16 @@
|
||||
],
|
||||
"sources": [
|
||||
"S22",
|
||||
"S23"
|
||||
"S23",
|
||||
"S43",
|
||||
"S51"
|
||||
],
|
||||
"boundary": "集合入口不等于法器身份;指令内容与脚本实现分别判断。",
|
||||
"pending": [
|
||||
"README明确部分文档Skill仅source-available,不能把整个集合称为同一开源许可证;本次不批准再分发/商用许可。",
|
||||
"其余辅助脚本未逐模块展开。"
|
||||
"README明确部分文档Skill仅source-available,不能把整个集合称为同一开源许可证;skill-creator/LICENSE.txt提供Apache 2.0文本,但其附录版权字段为通用占位符,不能单独证明权利主体或完成全量许可审查。",
|
||||
"本次不批准再分发/商用许可。",
|
||||
"S51绑定skill-creator/SKILL.md步骤3和调用形式,证实该文档要求执行S23;它不验证S23实际输入校验或路径限制,且本次未执行脚本。",
|
||||
"2026-10-14:固定pin 1ed29a03dc852d30fa6ef2ca53a67dc2c2c2c563的S23(init_skill.py:194-303)静态复核:CLI提示skill_name应为小写kebab-case,但main未校验;函数直接拼接Path(path).resolve()/skill_name且未检查目标仍在指定父目录内,若调用方传入含../或绝对路径的名称,输出可越出预期目录。目录/模板创建中途失败只返回错误,不回滚部分输出。风险取决于调用方输入控制;未运行脚本、未创建测试文件,不作可利用性或运行安全结论。其余辅助脚本仍未逐模块展开。"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1401,17 +1756,17 @@
|
||||
},
|
||||
{
|
||||
"path": ".github/skills/auto-tmux/assets/oh-my-tmux",
|
||||
"state": "empty-placeholder",
|
||||
"target": null,
|
||||
"related_object_id": null,
|
||||
"boundary": "实际Git模式100644、0字节;README称软链接,但此路径不能提供上游来源到达证据。"
|
||||
"state": "symlink",
|
||||
"target": "../../../tools/external/.tmux",
|
||||
"related_object_id": "faqi-oh-my-tmux",
|
||||
"boundary": "当前仓内相对软链接指向已登记的oh-my-tmux submodule;source_revision保留原零字节历史基线,链接状态不代表运行、许可或效果验证。"
|
||||
},
|
||||
{
|
||||
"path": ".github/skills/auto-tmux/assets/tmux-src",
|
||||
"state": "empty-placeholder",
|
||||
"target": null,
|
||||
"related_object_id": null,
|
||||
"boundary": "实际Git模式100644、0字节;独立tmux源码已按真实submodule审,不把占位文件算副本。"
|
||||
"state": "symlink",
|
||||
"target": "../../../tools/external/tmux",
|
||||
"related_object_id": "faqi-tmux",
|
||||
"boundary": "当前仓内相对软链接指向已登记的tmux submodule;source_revision保留原零字节历史基线,链接状态不代表运行、许可或效果验证。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,8 +6,46 @@
|
||||
- [registry.json](registry.json)是功法条目唯一可编辑数据源;`entry_status`区分已登记与待评候选,候选不等于正式登记。历史来源候选仍保存在不可变快照,不因快照存在自动入登记。
|
||||
- 2026-10-07两批共登记79条:仓内来源62条(首批41条、续收21条)+指定项目页面17条;两批初评分别覆盖58条与21条。拼好码于2026-10-11按用户指令由地阶中级暂定调整为天阶高级暂定,历史值与理由见文件末尾审计。
|
||||
- 截至2026-10-14,3条备忘录与3条早期Solve候选素材均未写入登记JSON或生成总表;定向语义复核将P15暂列为能力/学习框架,确认Solve候选A为6来源跨域合成且暂不作为单一方法候选;B可保留为来源绑定的待审候选但未进入机器登记;C收窄为审计既有检索结果集的单一`OperatorSpec`候选,不包括检索构造或执行。B/C写入机器登记均需另行确认。同日另冻结机器学习来源包中的漂移检测、分布外检查和置信度升级3条`OperatorSpec`,仅供来源追溯与人工复核;首轮对照官方stable文档发现原引用对完整操作契约仅有相邻支持,来源版本、许可与效果未验证,不进入登记或总表。另冻结此前仅由本地全量导出定位的2条同名Solve记录,供与既有候选逐项比较,未决定合并或登记。详细范围与未决事项见[候选方法整理稿及交叉核对](../../docs/gongfa/methodology-toolbox.md#philosophy-methodology-toolbox-候选方法整理稿)。
|
||||
- 2026-10-15续审P19“最小模型—迁移—边界回填”:有限类比研究支持关系结构映射及对推论结构支持、目标域事实和任务相关性的分别核验;不支持该完整操作序列的来源归属或软件工程效果。编辑稿已澄清映射与验证边界,候选仍源自仓内备忘录,未分配ID、未写登记/总表或赋级。快照见[source-selected-candidate-minimal-model-transfer-boundaries-20261015.txt](source-selected-candidate-minimal-model-transfer-boundaries-20261015.txt);本次不是556→410全量语义去重。
|
||||
- 2026-10-15续审Solve计算机科学pack entries[0..4]:CS2023官方课程页与报告仅支持算法策略主题,不证明Agent泛化操作或效果。抽象是视角、问题分解是流程中间产物;归约和动态规划保留窄边界待审;分治与已登记方法重叠,不重复登记。未改registry或总表,有限快照见[source-selected-computer-science-entries-0-to-4-20261015.txt](source-selected-computer-science-entries-0-to-4-20261015.txt),不代表556→410全量去重。
|
||||
- 2026-10-15续审Solve计算机科学pack entries[5..9]:CS2023支持贪心、回溯、分支定界和算法复杂度课程主题,不支持Agent完整操作合同;NIST形式化方法词条仅支持广义定义。贪心需局部选择性质/近似界;回溯和分支定界需明确状态、撤销/剪枝正确性与预算;复杂度需分开渐近分析和token/latency/成本测量;形式化方法与已登记轻量形式化高度相关。未新增登记、候选或评级;快照见[source-selected-computer-science-entries-5-to-9-20261015.txt](source-selected-computer-science-entries-5-to-9-20261015.txt),不代表556→410全量去重。
|
||||
- 2026-10-15完成Solve计算机科学pack entries[10..15]有限复核:STRIPS支持动作前置条件/效果和目标模型,但不证明通用Agent执行;invariant/interface/dependency graph沿用已有历史候选,不复制或升级;memoization与缓存误用约束分开,derived搜索循环只作编辑草图。未改功法登记/候选/总表或评级;快照见[source-selected-computer-science-entries-10-to-15-20261015.txt](source-selected-computer-science-entries-10-to-15-20261015.txt),不代表全量语义去重。
|
||||
- 2026-10-15续审Solve算法pack entries[1..6]:MIT讲义支持有限的近似比、随机算法、DAG拓扑序及在线竞争分析命题;随机重启/尾部置信、通用图建模、运行时并行安全和Agent质量映射仍缺合同。区分MethodSpec、OperatorSpec、MentalModelSpec与derived组合,不新增登记/候选/评级;快照见[source-selected-algorithms-entries-1-to-6-20261015.txt](source-selected-algorithms-entries-1-to-6-20261015.txt),不代表556→410全量语义去重。
|
||||
- 2026-10-15续审Solve机器学习pack entries[0..4]:官方文档支持传统估计器的测试集隔离、k-fold验证和按训练样本数的学习曲线;Agent hidden eval、task-fold评测、reasoning/context/tool-call资源曲线及预算正则化映射仍属未验证跨域类比。与已有实验设计、性能测量等记录相邻,不新增登记、候选ID或评级。有限快照见[source-selected-machine-learning-entries-0-to-4-20261015.txt](source-selected-machine-learning-entries-0-to-4-20261015.txt),只覆盖五条,不代表556→410全量语义去重。
|
||||
- 2026-10-15续审Solve机器学习pack entries[5..8]:官方文档支持传统模型的数据泄漏边界、超参数组合搜索/嵌套交叉验证、分类概率校准及单特征置换敏感度;Agent隐藏评测、配置搜索、confidence/escalation及上下文/工具输出扰动仍属未验证迁移。置换分数变化不等于因果效应,概率校准也不等于动作阈值。与实验设计、指标优化、置信度升级和因果特征消融相邻但不自动合并;不新增登记、候选ID或评级。有限快照见[source-selected-machine-learning-entries-5-to-8-20261015.txt](source-selected-machine-learning-entries-5-to-8-20261015.txt),仅覆盖四条,不代表556→410全量语义去重。
|
||||
- 两批入库初评的原始分布为黄7、玄47、地25、天0;这是修订前历史记录,不代表当前分布,也不是效果实测。
|
||||
- 另于2026-10-14冻结Solve机器学习包中的`因果特征消融`来源记录,供因果语义与来源支持复核;两条`source_refs`目前仅有相邻支持,消融结果不自动构成因果证据,不进入登记或总表。
|
||||
- 同日冻结`主动学习`来源记录:与通用“信息价值”相关但不完全等同;成本敏感的VOI可成为主动学习的查询策略。原引用未支持完整标签选择循环,补充综述不属于原引用,需新来源修订。本轮不进入登记或总表、不赋级,详见有限选区快照。
|
||||
- 同日冻结`摊销分析`来源记录:MIT讲义支持操作序列成本上界方法,CS2023将其列为`KA Core`;原CS2023引用URL失效,“平均代价”还须与统计平均区分。只供人工审查,不进入登记或总表、不赋级。
|
||||
- 另冻结`programming-principles-101` pack中5条近标题记录,与历史候选A017/A032/A071/A097/A099作有限语义对照;操作化表达不自动构成独立功法,pack原文与许可未独立核验,不进入登记或总表。
|
||||
- 另对照该pack最前面的7条原则记录(2.1–2.7)与历史候选A004–A010;七条均高度重叠,Solve步骤属操作化增量,来源、独立身份与效果未验证,不进入登记或总表。
|
||||
- 另冻结该pack 3.2–3.10中的8条记录(跳过已审的3.7),与历史A012–A016、A018–A020对照:简洁/KISS与重复最少化/DRY高度重叠;变化适应、影响局部化、对称性、声明式表达、变动率各自边界不同或相邻。来源和独立身份仍未核验,不进入登记或总表。
|
||||
- 另冻结该pack的3.12–3.21九条操作化记录(跳过另行审阅的3.14):单一引用点与DRY/重复最少化高度重叠,分治对应已登记条目;抽象、封装、打包和职责分离按边界区分,但来源及独立身份未核,不进入登记或总表。
|
||||
- 另冻结该pack的3.23–3.27五条操作化记录:3.25效率性与已登记性能测量原则高度重叠;易变性、互操作性、可靠性、可测试性是相关设计准则的流程化表达,身份、来源和效果仍未核验,不进入登记或总表。
|
||||
- 另冻结该pack的3.28、3.30–3.33五条记录:3.30简单性与已审3.3高度重叠;3.32对称原理与3.8对称性强重复;3.31存在编号/标题与定义偏移。其余记录与胶水原则、SLAP等相邻,暂不新增登记。
|
||||
- 另冻结该pack的3.34–3.39五条记录:3.35清晰原理与历史候选定义有偏移;3.35/3.39同名但对象不同;3.36安全原理仍须独立风险审查,不因Solve步骤化而登记。
|
||||
- 另冻结3.40–3.44五条:3.41分离原则与3.18高度重复;3.42简单原则与3.3、3.30形成重复簇;组合、规模控制及透明性分别与胶水、模块边界和故障可控方法相邻,不据此新增登记。
|
||||
- 另冻结3.45–3.49五条:3.47最小意外原则与已登记条目重叠;健壮性、修复与失败控制相邻;表达性和沉默原则按知识表达、输出通道边界处理,不作为登记证据。
|
||||
- 另冻结3.50–3.54五条:3.52与性能测量原则高度重叠;生成、经济核算、多样性和可扩展性分别保留机械派生、总成本、真实变体与已证实扩展轴边界,不新增登记。
|
||||
- 另冻结3.56–3.60五条:3.57与高内聚/单一职责重叠;3.55 UNIX哲学是未映射的历史复合候选,不等于Solve记录或已定义方法。
|
||||
- 另冻结3.61–3.64及4.1五条:软件杠杆(3.61)此前已在近标题快照对照;shell、非交互和过滤器方法保留安全边界;4.1内聚审计与高内聚条目重叠。本批只新增4条记录的直接对照。
|
||||
- 另冻结4.2–4.6五条:耦合、可逆性、技术负债与已有登记重叠;正交性保留变化轴边界,代码坏味作为诊断信号,不作自动重构授权。
|
||||
- 另冻结entries[72..76]五条:契约设计与现有不变式/接口契约重叠;童子军规则受任务范围约束;内部测试指真实内部使用,橡皮鸭叙述不是证据;布鲁克斯法则须按任务依赖与并行性评估。
|
||||
- 另冻结entries[77..81]五条:康威定律作为组织/架构假设;破窗与熵增只作类比,不证明因果;80-10-10此前已审,本次不重复计数;约书亚树命名与概念工程/变量索引相邻。
|
||||
- 另冻结entries[82..84]三条:第二系统此前已审;重新造轮与胶水原则重叠;牦牛剃毛保留为问题栈/停止条件候选,不能中止必要硬依赖。
|
||||
- 另复核软件工程Solve pack entries[0..4]:架构权衡已在历史快照,设计理由与现有登记重叠;需求工程过宽,可追踪性需限定范围,验证与确认的精确定义仍待来源核对。仅冻结四条新字段投影,均不新增登记/评级;SWEBOK/NIST页面只支持主题范围,不证明精确步骤、许可或效果。详见[有限快照](source-selected-software-engineering-entries-0-to-4-20261014.txt)。
|
||||
- 续审软件工程Solve pack entries[5..9]:CS2023 Software Engineering Version Gamma(2023年8月)补充支持迭代/快速反馈、代码评审、配置管理与版本控制、按新需求识别待改区域,以及重构对既有用户影响最小的目标;这些是课程主题/学习目标,不证明完整操作、许可或效果。该Gamma PDF是补充来源,不等于Solve原`ref:cs2023`固定来源;前批快照保留原样,当前更新见后续批次快照。详见[entries 5–9有限审阅](source-selected-software-engineering-entries-5-to-9-20261014.txt)。
|
||||
- 另审软件工程Solve pack entries[10..15]:Gamma支持CI、组件边界/API原则及可靠性telemetry等主题,但不证明全部操作;风险驱动测试和事故复盘仍缺精确流程来源,接口隔离仍是待审候选,可观测性与可观测性设计需先判断身份/阶段关系。只冻结entries[10]、[11]、[13]、[15]投影,不新增登记/初评/评级;entries[12]、[14]沿用旧快照。详见[有限审阅与来源补充](source-selected-software-engineering-entries-10-to-15-20261014.txt)。
|
||||
- 另审软件工程Solve pack entry[16]:它是引用需求、追踪、增量开发、评审、配置管理和可观测性的`derived`组合;与已登记总体交付流程重心不同,但来源只有不可独立复核的conversation映射,且阶段合同、风险/验证证据、失败恢复仍不完整。不新增登记、初评或评级。详见[entry 16有限对照](source-selected-software-engineering-entry-16-20261014.txt)。
|
||||
- 另审编程Solve pack entries[0..4]:快反馈与既有总体流程/小步候选相邻,假设驱动调试与溯因排错高度重叠;二分调试是同ID历史候选,旧“优先候选”不是登记;Python 3.12.15文档只支持断点/单步等工具能力,不证明完整操作契约,Agent trace仍受来源和数据边界限制。仅限前五条,不新增登记、初评或评级;详见[有限语义复核](source-selected-programming-entries-0-to-4-20261014.txt)。
|
||||
- 续审编程Solve pack entries[5..9]:性能剖析是既有性能测量方法内的工具操作;最小复现与模糊测试沿用历史候选意见;静态分析及并发检测缺少可独立复核的来源。本轮只冻结entries[5]、[8]、[9]投影,entries[6]、[7]不重复复制或升级;不新增登记、初评或评级。详见[有限复核](source-selected-programming-entries-5-to-9-20261014.txt)。
|
||||
- 再续审编程Solve pack entries[10..14]:小变更和读—执行—观察—修改并入现有交付/反馈循环;性质测试、差分测试沿用历史候选意见;插桩与tracing作为观测链相邻阶段,来源和身份边界仍待补足。本轮仅冻结entries[10]、[11]、[14]投影,不新增登记、初评或评级。详见[有限复核](source-selected-programming-entries-10-to-14-20261014.txt)。
|
||||
- 继续审编程Solve pack末三条entries[15..17]:依赖最小化与胶水/依赖审查相邻但来源未支持具体方法合同;资源预算/停止语义属于横切约束,仍缺运行时方法来源;派生调试循环组合此前已审条目,不因此自动产生新身份。本轮不新增登记或评级。详见[有限复核](source-selected-programming-entries-15-to-17-20261014.txt)。
|
||||
- 首审问题求解方法论Solve pack entries[0..4]:任务定框并入问题界定闭环;问题空间与解空间边界相关但不相同;手段—目的和启发式搜索沿用历史候选意见;表征变换与Projection转换相邻。原文获取有限,不新增登记或评级。详见[有限语义复核](source-selected-problem-solving-methodology-entries-0-to-4-20261014.txt)。
|
||||
- 续审问题求解方法论Solve pack entries[5..8]:构造性见证与元认知监控沿用历史候选;回看评估作为检查阶段但未证明独立流程;派生通用循环不按固定顺序登记。Newell–Simon与Pólya来源不支持线性阶段解释,NIH/National Academies页面返回403;不新增候选、登记或评级。详见[有限语义复核](source-selected-problem-solving-methodology-entries-5-to-8-20261014.txt)。
|
||||
- 首审信息与知识科学Solve pack entries[0..3]:区分信息需求、检索式扩展、来源血缘与既有结果集评测;DCAT/PROV-DM/FAIR支持元数据与追溯结构,不等于来源权威或许可批准;TREC的检索Recall与回答引用支持度precision/recall不可混用。沿用候选C窄边界,不新增登记或评级。详见[有限语义复核](source-selected-information-knowledge-science-entries-0-to-3-20261014.txt)。
|
||||
- 续审信息与知识科学Solve pack entries[4..5]:区分FAIR数据可复用原则与社会公平,NIST/DCAT不支持差别影响审计,NIH页面返回403;派生检索循环缺组合、反馈和停止合同,仅作编辑性草图。与前批合计覆盖该6条pack,但不代表556→410全量语义去重;不新增候选、登记或评级。详见[有限语义复核](source-selected-information-knowledge-science-entries-4-to-5-20261014.txt)。
|
||||
- 该pack的85条编号/标题结构交叉表显示85/85唯一映射到HTML历史候选且去章节号后标题一致;这是字段交叉核对,不是语义去重、来源独立证明或登记输入。当前85条记录均有直接语义对照(含此前单独审阅的信息隐藏3.14;本批7.7此前已审),但记录数不代表85个独立概念,也不代表556→410全量去重。
|
||||
- 完整可复用正文从[统一功法文集](../../docs/gongfa/README.md)进入;文集不等于独立功法记录。
|
||||
- [本体主文](../../docs/gongfa/cultivation-ontology-taxonomy.md#功法本体与品级)解释类型与语义;等级是分组,不是类型继承。
|
||||
- 来源声明、编者摘要与真实效果证据不同;缺失字段明确列在`missing_fields`,不编造成立条件或效果。
|
||||
@@ -39,8 +77,46 @@ gongfa/
|
||||
├── source-methodology-931f79be.txt # 指定页面原始HTML快照(惰性文本)
|
||||
├── source-selected-candidates-20261013.txt # 3项备忘录与3项早期Solve候选的冻结选区及来源指纹
|
||||
├── source-selected-candidates-20261014.txt # 机器学习包3条OperatorSpec的有限评审选区,不进入总表
|
||||
├── source-selected-machine-learning-entries-0-to-4-20261015.txt # 机器学习pack前五条有限来源与语义复核,不进入总表
|
||||
├── source-selected-machine-learning-entries-5-to-8-20261015.txt # 机器学习pack后四条有限来源与语义复核,不进入总表
|
||||
├── source-selected-candidate-causal-feature-ablation-20261014.txt # 因果特征消融来源记录的有限评审选区
|
||||
└── source-selected-title-matches-20261014.txt # 两条同名命中来源的有限冻结选区
|
||||
├── source-selected-candidate-active-learning-20261014.txt # 主动学习来源记录的有限评审选区
|
||||
├── source-selected-candidate-amortized-analysis-20261014.txt # 摊销分析来源记录的有限评审选区
|
||||
├── source-selected-candidate-minimal-model-transfer-boundaries-20261015.txt # P19与类比研究的有限来源对照,不新增登记或效果证据
|
||||
├── source-selected-computer-science-entries-0-to-4-20261015.txt # Solve计算机科学pack前五条有限语义与来源复核
|
||||
├── source-selected-computer-science-entries-5-to-9-20261015.txt # Solve计算机科学pack entries[5..9]有限语义与来源复核
|
||||
├── source-selected-computer-science-entries-10-to-15-20261015.txt # Solve计算机科学pack末六条有限语义与来源复核
|
||||
├── source-selected-algorithms-entries-1-to-6-20261015.txt # Solve算法pack六条source/derived条目的有限语义与来源复核
|
||||
├── source-selected-title-matches-20261014.txt # 两条同名命中来源的有限冻结选区
|
||||
├── source-selected-near-title-matches-20261014.txt # 五条编程原则近标题命中的有限冻结选区
|
||||
├── source-selected-principle-operations-20261014.txt # 七条编程原则操作化对照及完整Solve记录
|
||||
├── source-selected-principle-operations-3-2-to-3-10-20261014.txt # 八条编程原则语义对照及完整Solve记录
|
||||
├── source-selected-principle-operations-3-12-to-3-21-20261014.txt # 九条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-3-23-to-3-27-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-3-28-to-3-33-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-3-34-to-3-39-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-3-40-to-3-44-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-3-45-to-3-49-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-3-50-to-3-54-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-3-56-to-3-60-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-3-61-to-3-64-and-4-1-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-4-2-to-4-6-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-entries-72-to-76-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-entries-77-to-81-20261014.txt # 五条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-principle-operations-entries-82-to-84-20261014.txt # 三条编程原则语义对照及Solve字段投影
|
||||
├── source-selected-problem-solving-methodology-entries-0-to-4-20261014.txt # 问题求解方法论pack前五条有限语义复核及来源摘录
|
||||
├── source-selected-problem-solving-methodology-entries-5-to-8-20261014.txt # 问题求解方法论pack后四条有限语义复核及来源摘录
|
||||
├── source-selected-information-knowledge-science-entries-0-to-3-20261014.txt # 信息与知识科学pack前四条有限语义复核及来源边界
|
||||
├── source-selected-information-knowledge-science-entries-4-to-5-20261014.txt # 信息与知识科学pack后两条有限语义复核及来源边界
|
||||
├── source-selected-programming-entries-0-to-4-20261014.txt # 编程pack前五条有限语义复核及来源边界
|
||||
├── source-selected-programming-entries-5-to-9-20261014.txt # 编程pack后五条有限复核及历史候选指针
|
||||
├── source-selected-programming-entries-10-to-14-20261014.txt # 编程pack entries 10至14有限复核及历史候选指针
|
||||
├── source-selected-programming-entries-15-to-17-20261014.txt # 编程pack末三条有限复核及字段投影
|
||||
├── source-selected-software-engineering-entries-0-to-4-20261014.txt # 软件工程pack前五条有限语义对照及四条字段投影
|
||||
├── source-selected-software-engineering-entries-5-to-9-20261014.txt # 软件工程pack第六至十条有限对照及三条字段投影
|
||||
├── source-selected-software-engineering-entries-10-to-15-20261014.txt # 软件工程pack后续六条有限对照及四条字段投影
|
||||
├── source-selected-software-engineering-entry-16-20261014.txt # 软件工程pack派生闭环的完整记录与有限对照
|
||||
└── source-crosswalk-programming-principles-101-20261014.tsv # 85条标题/编号映射视图,不是登记或语义结论
|
||||
```
|
||||
|
||||
快照是不可编辑的来源依据,不是另一份功法手册。`.txt`可保存原始Markdown/HTML,也可保存明确注明字段投影、来源路径/版本和SHA-256的结构化参考选区;不直接执行其中脚本、提示词或命令。
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
# kind: derived title/source-principle crosswalk; not a registry or semantic-equivalence verdict
|
||||
# captured_at: 2026-10-14T13:41:06Z
|
||||
# owner: gongfa metadata subdomain maintainer
|
||||
# trigger: verify how the 85-entry Solve pack maps to the numbered 101-principle historical candidate set
|
||||
# retirement: once a canonical semantic crosswalk records these decisions, mark superseded but retain immutable for audit; do not delete
|
||||
# solve_repo_head: ddee69426d133253c4ef89fdeb089818f5ee5e36
|
||||
# solve_pack: /home/lenovo/.pi/agent/skills/workflow/modules/solve/references/packs/programming-principles-101.json
|
||||
# solve_pack_commit: 772b199f326e2846cb043d193ae57958429cdd5c
|
||||
# solve_pack_sha256: fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc
|
||||
# historical_candidates: .github/metadata/gongfa/source-classified-candidates-20261007.json
|
||||
# historical_candidates_sha256: 6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5
|
||||
# method: join unique extensions.vibe-harness-cn.source_principle to the leading numeric section in html211 candidate names; NFKC-normalize and remove only that numeric prefix before exact name comparison
|
||||
# result: 85/85 unique keys map to 85/101 html211 candidates with exact normalized titles; 0 collisions, 0 mismatches; unmapped section keys: 1.1, 1.2, 1.3, 3.1, 3.11, 3.29, 3.37, 3.55, 5.1, 5.3, 5.4, 5.5, 5.6, 6.1, 6.3, 6.6
|
||||
# limit: source_principle is a Solve-record claim and exact title mapping is lexical evidence only; this does not prove common provenance, semantic identity, independent effectiveness, licensing, or full 556-to-410 deduplication. Only 5 entries have the separate bounded semantic review in source-selected-near-title-matches-20261014.txt.
|
||||
solve_id entries_index source_principle solve_name_zh html211_candidate_id html211_candidate_name
|
||||
psoa.programming-principles-101.kiss 0 2.1 KISS原则 A004 2.1 KISS原则
|
||||
psoa.programming-principles-101.dry 1 2.2 DRY A005 2.2 DRY
|
||||
psoa.programming-principles-101.yagni 2 2.3 YAGNI A006 2.3 YAGNI
|
||||
psoa.programming-principles-101.pie 3 2.4 PIE A007 2.4 PIE
|
||||
psoa.programming-principles-101.slap 4 2.5 SLAP A008 2.5 SLAP
|
||||
psoa.programming-principles-101.ocp 5 2.6 OCP A009 2.6 OCP
|
||||
psoa.programming-principles-101.meaningful-naming 6 2.7 名字很重要 A010 2.7 名字很重要
|
||||
psoa.programming-principles-101.communication 7 3.2 交流 A012 3.2 交流
|
||||
psoa.programming-principles-101.simplicity 8 3.3 简洁 A013 3.3 简洁
|
||||
psoa.programming-principles-101.flexibility 9 3.4 灵活性 A014 3.4 灵活性
|
||||
psoa.programming-principles-101.effect-locality 10 3.5 效应局部化 A015 3.5 效应局部化
|
||||
psoa.programming-principles-101.minimal-repetition 11 3.6 重复最少化 A016 3.6 重复最少化
|
||||
psoa.programming-principles-101.logic-data-cohesion 12 3.7 逻辑与数据的一体化 A017 3.7 逻辑与数据的一体化
|
||||
psoa.programming-principles-101.symmetry 13 3.8 对称性 A018 3.8 对称性
|
||||
psoa.programming-principles-101.declarative-expression 14 3.9 声明式表 A019 3.9 声明式表
|
||||
psoa.programming-principles-101.change-rate 15 3.10 变动率 A020 3.10 变动率
|
||||
psoa.programming-principles-101.abstraction 16 3.12 抽象 A022 3.12 抽象
|
||||
psoa.programming-principles-101.encapsulation 17 3.13 封装 A023 3.13 封装
|
||||
psoa.programming-principles-101.information-hiding 18 3.14 信息隐藏 A024 3.14 信息隐藏
|
||||
psoa.programming-principles-101.packaging 19 3.15 打包 A025 3.15 打包
|
||||
psoa.programming-principles-101.separation-of-concerns 20 3.16 关注点分离 A026 3.16 关注点分离
|
||||
psoa.programming-principles-101.adequacy-completeness-primitiveness 21 3.17 充足性、完整性、原始性 A027 3.17 充足性、完整性、原始性
|
||||
psoa.programming-principles-101.strategy-implementation-separation 22 3.18 策略和实现的分离 A028 3.18 策略和实现的分离
|
||||
psoa.programming-principles-101.interface-implementation-separation 23 3.19 接口与实现的分离 A029 3.19 接口与实现的分离
|
||||
psoa.programming-principles-101.single-source-of-truth 24 3.20 单一引用点 A030 3.20 单一引用点
|
||||
psoa.programming-principles-101.divide-and-conquer 25 3.21 分治 A031 3.21 分治
|
||||
psoa.programming-principles-101.nonfunctional-requirements 26 3.22 软件架构的非功能需求 A032 3.22 软件架构的非功能需求
|
||||
psoa.programming-principles-101.changeability 27 3.23 易变性 A033 3.23 易变性
|
||||
psoa.programming-principles-101.interoperability 28 3.24 互操作性 A034 3.24 互操作性
|
||||
psoa.programming-principles-101.efficiency 29 3.25 效率性 A035 3.25 效率性
|
||||
psoa.programming-principles-101.reliability 30 3.26 可靠性 A036 3.26 可靠性
|
||||
psoa.programming-principles-101.testability 31 3.27 可测试性 A037 3.27 可测试性
|
||||
psoa.programming-principles-101.reusability 32 3.28 可复用性 A038 3.28 可复用性
|
||||
psoa.programming-principles-101.simplicity-principle 33 3.30 简单性原理 A040 3.30 简单性原理
|
||||
psoa.programming-principles-101.isomorphism-principle 34 3.31 同构原理 A041 3.31 同构原理
|
||||
psoa.programming-principles-101.symmetry-principle 35 3.32 对称原理 A042 3.32 对称原理
|
||||
psoa.programming-principles-101.hierarchy-principle 36 3.33 层次原理 A043 3.33 层次原理
|
||||
psoa.programming-principles-101.linearity-principle 37 3.34 线性原理 A044 3.34 线性原理
|
||||
psoa.programming-principles-101.clarity-principle 38 3.35 清晰原理 A045 3.35 清晰原理
|
||||
psoa.programming-principles-101.safety-principle 39 3.36 安全原理 A046 3.36 安全原理
|
||||
psoa.programming-principles-101.modularity-principle 40 3.38 模块化原则 A048 3.38 模块化原则
|
||||
psoa.programming-principles-101.unix-clarity 41 3.39 清晰原则 A049 3.39 清晰原则
|
||||
psoa.programming-principles-101.composition-principle 42 3.40 组合原则 A050 3.40 组合原则
|
||||
psoa.programming-principles-101.separation-principle 43 3.41 分离原则 A051 3.41 分离原则
|
||||
psoa.programming-principles-101.unix-simplicity 44 3.42 简单原则 A052 3.42 简单原则
|
||||
psoa.programming-principles-101.parsimony-principle 45 3.43 简约原则 A053 3.43 简约原则
|
||||
psoa.programming-principles-101.transparency-principle 46 3.44 透明性原则 A054 3.44 透明性原则
|
||||
psoa.programming-principles-101.robustness-principle 47 3.45 健壮性原则 A055 3.45 健壮性原则
|
||||
psoa.programming-principles-101.expressiveness-principle 48 3.46 表达性原则 A056 3.46 表达性原则
|
||||
psoa.programming-principles-101.least-surprise 49 3.47 最小意外原则 A057 3.47 最小意外原则
|
||||
psoa.programming-principles-101.silence-principle 50 3.48 沉默原则 A058 3.48 沉默原则
|
||||
psoa.programming-principles-101.repair-principle 51 3.49 修复原则 A059 3.49 修复原则
|
||||
psoa.programming-principles-101.economy-principle 52 3.50 经济原则 A060 3.50 经济原则
|
||||
psoa.programming-principles-101.generation-principle 53 3.51 生成原则 A061 3.51 生成原则
|
||||
psoa.programming-principles-101.optimization-principle 54 3.52 优化原则 A062 3.52 优化原则
|
||||
psoa.programming-principles-101.diversity-principle 55 3.53 多样性原则 A063 3.53 多样性原则
|
||||
psoa.programming-principles-101.extensibility-principle 56 3.54 可扩展性原则 A064 3.54 可扩展性原则
|
||||
psoa.programming-principles-101.small-is-beautiful 57 3.56 小就是美 A066 3.56 小就是美
|
||||
psoa.programming-principles-101.do-one-thing 58 3.57 工作唯一 A067 3.57 工作唯一
|
||||
psoa.programming-principles-101.early-prototyping 59 3.58 尽早创建原型 A068 3.58 尽早创建原型
|
||||
psoa.programming-principles-101.portability-over-efficiency 60 3.59 可移植性优先于效率 A069 3.59 可移植性优先于效率
|
||||
psoa.programming-principles-101.text-data 61 3.60 文本数据 A070 3.60 文本数据
|
||||
psoa.programming-principles-101.software-leverage 62 3.61 充分利用软件的杠杆效应 A071 3.61 充分利用软件的杠杆效应
|
||||
psoa.programming-principles-101.shell-glue 63 3.62 活用shell脚本 A072 3.62 活用shell脚本
|
||||
psoa.programming-principles-101.noninteractive-interface 64 3.63 避开交互式用户接口 A073 3.63 避开交互式用户接口
|
||||
psoa.programming-principles-101.filter-oriented-design 65 3.64 过滤器化 A074 3.64 过滤器化
|
||||
psoa.programming-principles-101.cohesion-audit 66 4.1 内聚度 A075 4.1 内聚度
|
||||
psoa.programming-principles-101.coupling-audit 67 4.2 耦合度 A076 4.2 耦合度
|
||||
psoa.programming-principles-101.orthogonality-audit 68 4.3 正交性 A077 4.3 正交性
|
||||
psoa.programming-principles-101.reversibility-audit 69 4.4 可逆性 A078 4.4 可逆性
|
||||
psoa.programming-principles-101.code-smell-triage 70 4.5 代码中的“坏味” A079 4.5 代码中的“坏味”
|
||||
psoa.programming-principles-101.technical-debt-management 71 4.6 技术负债 A080 4.6 技术负债
|
||||
psoa.programming-principles-101.boy-scout-improvement 72 5.2 童子军规则 A082 5.2 童子军规则
|
||||
psoa.programming-principles-101.design-by-contract 73 6.2 契约式设计 A088 6.2 契约式设计
|
||||
psoa.programming-principles-101.dogfooding 74 6.4 内部测试 A090 6.4 内部测试
|
||||
psoa.programming-principles-101.rubber-duck-debugging 75 6.5 橡皮鸭调试法 A091 6.5 橡皮鸭调试法
|
||||
psoa.programming-principles-101.brooks-law-response 76 7.1 布鲁克斯法则 A093 7.1 布鲁克斯法则
|
||||
psoa.programming-principles-101.conway-law-alignment 77 7.2 康威定律 A094 7.2 康威定律
|
||||
psoa.programming-principles-101.broken-windows-repair 78 7.3 破窗效应 A095 7.3 破窗效应
|
||||
psoa.programming-principles-101.entropy-control 79 7.4 熵增原理 A096 7.4 熵增原理
|
||||
psoa.programming-principles-101.eighty-ten-ten-boundary-check 80 7.5 80-10-10原则 A097 7.5 80-10-10原则
|
||||
psoa.programming-principles-101.joshua-tree-naming 81 7.6 约书亚树原则 A098 7.6 约书亚树原则
|
||||
psoa.programming-principles-101.second-system-control 82 7.7 第二系统综合征 A099 7.7 第二系统综合征
|
||||
psoa.programming-principles-101.reinventing-the-wheel-check 83 7.8 重新发明车轮 A100 7.8 重新发明车轮
|
||||
psoa.programming-principles-101.yak-shaving-recovery 84 7.9 给牦牛剃毛 A101 7.9 给牦牛剃毛
|
||||
|
@@ -0,0 +1,95 @@
|
||||
# 2026-10-15 Solve「算法」pack entries[1..6]有限语义与来源复核
|
||||
|
||||
> 本快照只冻结本批字段选区、直接来源核对和定向交叉对照;不构成新登记、初评、品级、正式效能评级、许可批准或运行效果证据,也不代表Solve 556条与功法目录410条的全量语义去重。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 记录时间:`2026-10-15T08:14:50Z`。
|
||||
- 触发:延续算法候选筛查,复核近似算法、随机化搜索、图建模、拓扑排序、在线竞争分析及其派生循环的来源支持和条目边界。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:被完整、可审计的候选语义交叉表承接后,转为只读历史依据并保留。
|
||||
- PR基线:`ddc036cadc83e91ccc0503ebaad47b58be369611`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`;生成目录 SHA-256 `beed226238267c42d89c455c4889c5b6105a506737420760c3499adcc1fbcb6e`;历史候选 SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`。
|
||||
- Solve pack:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/packs/algorithms.json`,版本`1.0.0`,SHA-256 `f1d2378c0b696527138afdcf3f213dee9957a5340aaec3671b6ddd2f0cb3f3be`;共7条(6条source、1条derived),本批仅`.entries[1..6]`;pack字节与Solve仓库HEAD `ddee69426d133253c4ef89fdeb089818f5ee5e36`一致。
|
||||
- Solve来源清单:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/source-inventory.json`,版本`1.9.0`,当前工作区SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`。该清单工作区存在其他未提交修改;本批用到的`ref:mit-algorithms`、`ref:cs2023`、`ref:mit-probability-inference`字段已与该Solve仓库HEAD逐项比对一致,未修改该清单。
|
||||
- 来源绑定边界:上列MIT讲义是针对课程页定位到的补充材料;6.006/2011及6.046J/2012讲义不是pack原`ref:mit-algorithms`所指Spring 2015课程。网页提取Markdown的SHA只绑定本地提取文本,不是原始PDF字节哈希。未据此审核版权条款或再分发许可。
|
||||
- 对照范围:核对79条登记、410条生成目录和历史候选中的定向命中,包括`gongfa-explicit-dependencies`、候选`依赖图`、`影响分析`、`加法—减法贪心算法`、`后悔与鲁棒决策`及`离线—在线评估双轨`。未逐条扫描全部登记/目录,也未覆盖其他Solve条目、C01–C20或556→410全量语义比较。
|
||||
|
||||
## 来源核对
|
||||
|
||||
- `ref:mit-algorithms`指向MIT OCW [6.046J Design and Analysis of Algorithms, Spring 2015](https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/),原清单说明覆盖图算法、随机化、优化、近似、复杂度和摊销分析。课程总页只是主题索引;本批进一步核对三份讲义:
|
||||
- [Lecture 17: Approximation Algorithms(PDF)](https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/a4a7f356ba3e65a00ad2bdcfed6e0f35_MIT6_046JS15_lec17.pdf),第1–7页定义近似比及PTAS/FPTAS并给出Vertex Cover、Set Cover、Partition例子;本地提取文本SHA-256 `769beeb1c04739374461578ad19558ca8b699c2f8ba9c7819ed03ad4640caf3a`。
|
||||
- [Lecture 6: Randomized Algorithms(PDF)](https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/cb55cb123a557eed0738a1187a452c24_MIT6_046JS15_lec06.pdf),第1–6页区分Monte Carlo/Las Vegas,展示Freivalds矩阵乘法检查和随机化快速排序;本地提取文本SHA-256 `21d5c95de77b68b277a44ceb42566d127c7afc19cf2d9a2b703705d288354750`。
|
||||
- `ref:mit-probability-inference`指向MIT 6.041SC概率系统分析课程Unit IV,登记说明涉及概率推断、假设检验、置信区间和统计保证;本批未核其中具体讲义,不能单独支持随机搜索的操作合同或置信区间算法。
|
||||
- `ref:cs2023`指向[ACM/IEEE-CS/AAAI CS2023报告PDF](https://csed.acm.org/wp-content/uploads/2024/04/CS2023-Final-Report.pdf),是计算机科学能力/课程主题来源,不是这些Agent操作步骤的逐条规范;先前已冻结报告提取文本SHA `a896bfe79fd1906af3b17e3257bac25d6c975f423d436e61258f7c9ceb016f7e`,并非PDF原始字节哈希。
|
||||
- 拓扑排序补充核对MIT OCW [6.006 Introduction to Algorithms, Fall 2011, Lecture 14: Graphs II—DFS(PDF)](https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/e59f8a55929028498953691891229a17_MIT6_006F11_lec14.pdf),第4–6页涵盖DAG任务依赖、DFS环检测、按完成时间逆序产生拓扑序及正确性;本地提取文本SHA-256 `3fc98b83243efcd31fada3a142db9ec05be1b465858a279703be55e5702bdf27`。
|
||||
- 在线竞争分析补充核对MIT OCW [6.046J Design and Analysis of Algorithms, Spring 2012, Lecture 12(PDF)](https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2012/c6d52bc904f5f6e592413e7dca1551ea_MIT6_046JS12_lec12.pdf),第1–5页区分online/offline,并定义`C_A(S) ≤ α·C_OPT(S)+k`形式的竞争性及给出列表访问例子;本地提取文本SHA-256 `ca99a256889233a8bee213cb4fcb651fe194e9c7c26c14a9d18e6ecb9d04327e`。
|
||||
- 以上来源支持所述算法主题或特定讲义命题,不证明通用Agent效果、来源许可、运行能力或独立审阅;只作有限转述。
|
||||
|
||||
## 冻结字段审阅投影
|
||||
|
||||
### `.entries[1]` — `psoa.algorithms.approximation`
|
||||
|
||||
- `kind/status/origin`: `MethodSpec` / `experimental` / `source`;`name_zh`: 近似算法。
|
||||
- `summary`: 精确最优代价过高时定义可接受误差并求带保证的近似解。
|
||||
- `operation`: 定义目标和误差/比率 → 放松问题 → 求近似解 → 给出界和反例 → 决定是否接受。
|
||||
- `source_refs`: `ref:mit-algorithms`, `ref:cs2023`。
|
||||
- Lecture 17直接支持算法问题上的近似比、近似方案及特定算法的界;不支持把“放松问题”视为所有近似算法的必经步骤,也不支持把算法近似保证直接移植成Agent质量天花板。`token/时间/工具预算`不是近似比的替代定义;需明确可行域、目标、上下界方向、硬约束及证明/测量口径。
|
||||
- 与历史候选`加法—减法贪心算法`只是相邻:旧材料描述提示元素的增删试探,缺独立价值oracle、停止条件和留出验证;它不是通用近似保证,也不构成等价身份。
|
||||
- 处理:作为窄算法概念继续审阅,不写入登记、历史候选机器源或总表,不赋级。
|
||||
|
||||
### `.entries[2]` — `psoa.algorithms.randomized-search`
|
||||
|
||||
- `kind/status/origin`: `MethodSpec` / `experimental` / `source`;`name_zh`: 随机化搜索。
|
||||
- `summary`: 以抽样、随机重启或概率放大搜索大空间,并区分Las Vegas与Monte Carlo风险。
|
||||
- `operation`: 定义随机空间和目标 → 选择采样/重启 → 多次运行 → 估计成功率/尾部 → 固定种子或放大概率。
|
||||
- `source_refs`: `ref:mit-algorithms`, `ref:mit-probability-inference`。
|
||||
- Lecture 6直接支持随机算法、Monte Carlo/Las Vegas区分、特定错误概率和随机快速排序期望运行时间;不直接支持通用随机重启、尾部分布/置信区间估计或固定种子即保证可复现。重复试验的概率放大需说明独立性或相关性模型、成功事件、停止预算与候选验证器;一次成功不证明一般性。
|
||||
- `probability-inference`是广义概率课程引用,本轮未核准到与该条操作相符的具体来源;其存在不能填补上述来源缺口。
|
||||
- 处理:作为窄范围待审概念;须将“随机算法分析”与“任意大空间搜索”区分,暂不建立候选机器身份、登记或赋级。
|
||||
|
||||
### `.entries[3]` — `psoa.algorithms.graph-modeling`
|
||||
|
||||
- `kind/status/origin`: `OperatorSpec` / `experimental` / `source`;`name_zh`: 图建模。
|
||||
- `summary`: 将实体、依赖、转换或冲突映射为节点和边,再选择匹配的图目标/算法。
|
||||
- `operation`: 识别实体/关系 → 选择有向/无向/加权图 → 明确图目标 → 应用图算法。
|
||||
- `source_refs`: `ref:mit-algorithms`, `ref:cs2023`。
|
||||
- 课程主题来源不足以支持通用实体/关系抽取方法或图建模完整合同。与历史候选`psoa.computer-science.dependency-graph`有明显依赖建模交集;和已登记`gongfa-explicit-dependencies`不同,后者是显式依赖优先的准则,但不因不同就自动形成新功法。已存在的依赖图候选及影响分析也须避免重复计数。
|
||||
- 处理:保留为表示/图算法入口的operator候选,不将OperatorSpec泛化为独立MethodSpec,不新登记或赋级。
|
||||
|
||||
### `.entries[4]` — `psoa.algorithms.topological-order`
|
||||
|
||||
- `kind/status/origin`: `OperatorSpec` / `experimental` / `source`;`name_zh`: 拓扑排序。
|
||||
- `summary`: 对DAG依赖图求合法顺序,遇环不能在当前DAG模型中得到拓扑序。
|
||||
- `operation`: 建立依赖图 → 检测环 → 计算拓扑序 → 标记可并行节点 → 在变化后重算。
|
||||
- `source_refs`: `ref:mit-algorithms`。
|
||||
- 6.006/2011补充讲义直接支持DAG依赖顺序、DFS环检测与拓扑排序。它不支持`indegree-zero`即运行时可安全并发:资源上限、写冲突、锁、外部副作用和任务级安全条件仍需另行验证;图变化后的增量/全量重算合同也未由该讲义定义。环说明当前图无拓扑序,不说明所有带反馈或迭代的任务系统都不可解。
|
||||
- 处理:视作依赖DAG上的窄operator,不能独立替代图完整性或并行调度验证;当前不登记或赋级。
|
||||
|
||||
### `.entries[5]` — `psoa.algorithms.online-competitive-analysis`
|
||||
|
||||
- `kind/status/origin`: `MentalModelSpec` / `experimental` / `source`;`name_zh`: 在线竞争分析。
|
||||
- `summary`: 在未来输入不可见时,将在线策略与离线最优基准比较。
|
||||
- `source_refs`: `ref:mit-algorithms`, `ref:cs2023`。
|
||||
- 6.046J/2012讲义支持online/offline及竞争比;本段不支持把`regret`与competitive ratio当成同一指标,也不支持任意Agent场景的长期效果。它与历史候选`后悔与鲁棒决策`及`离线—在线评估双轨`主题相邻但对象不同:前者比较情景损失/最坏后悔,后者区分离线控制评估与线上真实价值验证。
|
||||
- 处理:作为观察模型而非动作方法保留概念边界;如未来收录,需单独声明输入可见性、离线基准、成本函数和指标,不与后悔指标混写。本轮不登记或赋级。
|
||||
|
||||
### `.entries[6]` — `psoa.algorithms.design-analysis-loop`
|
||||
|
||||
- `kind/status/origin`: `MethodSpec` / `experimental` / `derived`;`name_zh`: 算法设计分析循环。
|
||||
- `steps`: 固定串接图建模、拓扑排序、近似算法、摊销分析、随机化搜索。
|
||||
- `source_refs`: `ref:mit-algorithms`, `ref:cs2023`;条目标为`derived`,课程主题引用不是该固定组合的来源证明。
|
||||
- 该序列混合问题表示、依赖排序、解质量、序列成本和随机化;拓扑排序、近似算法、摊销分析、随机化各有不同前置条件,通常是按问题选择的分支/工具,而非无条件阶段。条目没有选择规则、阶段接口或证明该组合优于既有问题求解流程的证据。
|
||||
- 处理:仅作派生编辑草图,不形成独立方法候选,不登记或赋级。
|
||||
|
||||
## 有限语义对照与结论
|
||||
|
||||
| Solve条目 | 本轮结论 |
|
||||
|---|---|
|
||||
| `approximation` | 特定算法问题有正式近似比/方案证据;通用Agent质量映射与统一放松步骤未获来源支持,是否形成独立方法仍待审。 |
|
||||
| `randomized-search` | 随机算法的有限定义/例证有来源;随机重启、概率放大、尾部/置信区间合同未充分绑定前提,是否形成独立方法仍待审。 |
|
||||
| `graph-modeling` | 通用图建模的课程引用较宽;与已有依赖图候选有交集,作为OperatorSpec不升级成方法。 |
|
||||
| `topological-order` | 补充讲义支持DAG拓扑序;顺序正确不证明运行时并行安全。 |
|
||||
| `online-competitive-analysis` | 竞争比与在线/离线模型有独立讲义支持;不能替换regret或线上产品评估。 |
|
||||
| `design-analysis-loop` | 固定步骤跨越不同适用条件且来源为derived;不赋独立身份。 |
|
||||
|
||||
本批不修改功法registry、历史候选JSON、生成目录或评级,也未修改Solve pack/来源清单。所作语义对照是选定概念的定向审阅,不代表对410条目录的逐条全量去重;来源存在不等于来源授权、完整操作合同、效果证明或独立审查。
|
||||
@@ -0,0 +1,97 @@
|
||||
# 2026-10-14 主动学习候选的有限冻结选区
|
||||
|
||||
> 本文件冻结一条 Solve `MethodSpec` 供身份、语义和来源支持审查;不是第二份正文、已接受的项目候选、登记、评级、许可或效果验证。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T09:12:28Z`。
|
||||
- 触发:核对主动学习与既有信息价值/衡量方法的身份边界;owner:功法元数据子域维护者;退役:来源支持与身份处理决定归档后,本文件转为只读历史证据并保留,不删除。
|
||||
- 来源根目录:`/home/lenovo/.pi/agent/`;Pi agent仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`。
|
||||
- Solve pack:`skills/workflow/modules/solve/references/packs/machine-learning.json`;pack ID/version:`psoa.pack.machine-learning@1.0.0`;文件最后修改提交:`46a3cd6815a56b046145c93a0866a4e194b6ccfa`;完整原始字节SHA-256:`7166b175953aaeb94eed65d8813e9f17e1986afb0dc49268423f09e22a927417`;该pack文件在HEAD工作树干净,当前文件字节与SHA一致。选择器为`.entries`零基索引`12`、原文件第821行,记录ID为`psoa.machine-learning.active-learning`。
|
||||
- 同一Solve工作区其他文件当时有未提交变化:`VERSION` SHA-256 `59854984853104df5c353e2f681a15fc7924742f9a2e468c29af248dce45ce03`;`references/catalog.json` SHA-256 `3da86a365fba610feef00dab0a4774242c9ff07209fc9e5941882775b51b3d58`;`references/source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`。不以未提交的Solve其他文件冒称正式发布版本。
|
||||
- 原记录声明的引用键映射来自上述工作树`M`状态的`source-inventory.json`:`ref:sklearn-model-selection` → <https://scikit-learn.org/stable/model_selection.html>;`ref:mit-probability-inference` → <https://ocw.mit.edu/courses/6-041sc-probabilistic-systems-analysis-and-applied-probability-fall-2013/pages/unit-iv/>。只绑定当时映射,不代表原文支持。
|
||||
- 补充来源核验:Burr Settles, *Active Learning Literature Survey*, University of Wisconsin–Madison Computer Sciences Technical Report 1648 (2009),[校方馆藏记录](https://minds.wisconsin.edu/handle/1793/60660),[作者站PDF](https://burrsettles.com/pub/settles.activelearning_20090109.pdf)。2026-10-14读取了摘要及§1.1、§2.2–2.3、§3.1–3.6、§4–5;PDF文本提取为46页。该报告是补充语义核验来源,不在Solve记录原有`source_refs`中;未取得原始PDF字节摘要,未核许可,不据此改写上游记录。
|
||||
|
||||
## 来源支持与语义边界
|
||||
|
||||
- scikit-learn的模型选择索引列出交叉验证、超参数调优、阈值调整、指标和学习/验证曲线;本次读取未见主动学习的查询—标注循环。MIT Unit IV介绍大数定律、估计和贝叶斯/经典推断;本次读取未见从未标注样本池选择标签查询的程序。两条原`source_refs`只能提供相邻背景,不能支撑原记录完整操作。
|
||||
- Settles报告将主动学习定义为学习者可选择训练数据,并由oracle(如人工标注者)返回未标注实例的标签;§2区分合成查询、流式选择采样和池式主动学习,§2.3描述小型已标注集与大型未标注池中的选择循环,§3介绍不确定性采样、委员会分歧、预期模型变化/误差下降、方差降低及密度加权等策略。§5.3还把“价值信息(VOI)”作为成本敏感主动学习的一种路径,联合考虑标签成本与预期误分类成本;§4.1明确列出主动学习有时可能比被动随机采样需要更多标注的反例。因此主动学习可包括决策价值驱动的查询策略,但不保证普遍优于被动采样。
|
||||
- 与历史候选`psoa.decision-science.value-of-information`相关但不完全等同。通用信息价值以决策损失/净效用评估信息;主动学习则在目标学习任务中选择待标注样本/查询并更新模型。Settles §5.3明确说明,若价值信息被用于选择训练标签并同时计入误分类成本,它就是成本敏感主动学习的一种策略;不涉及模型训练查询的决策级VOI则不是主动学习。两者可能在子场景重叠,不能按名称自动合并。
|
||||
- 与历史候选`VC098 通用五步衡量法`不等同:VC098是定义决策/不确定性、量化知识、衡量信息价值并循环的通用流程;主动学习限定于模型训练中的候选样本与标签查询。与“贝叶斯认识论”的序贯实验/后验更新相邻,但不是同一训练样本选择协议。
|
||||
- 原Solve记录将“标签/测量”“检索/实验”与“模型/决策”并列,尚未说明共同的目标学习任务与查询语义。Settles报告确实涵盖为学习任务选标签或实验结果的查询,但不支持把任意检索或决策信息采集都称为主动学习。若形成正式来源修订,建议限定为池式监督学习查询:明确候选池、oracle/实验标签、查询策略、预算、独立留出集,并以相同预算的被动采样基线比较;该建议不是当前定义或登记。
|
||||
|
||||
**处理结论:**主动学习与通用“信息价值”有关,且成本敏感VOI可成为其子策略;两者并非全域互斥,也不能按名称合并。综述支持主动学习概念与多个查询框架,但不证明所有场景均有效;原Solve记录的两条`source_refs`仍未支持完整流程,补充报告不属于其原始引用,故本轮不分配项目ID、不写入机器登记或总表、不赋初评/品级,也不声称效果。若要进入项目候选登记,须先形成可追溯的新来源修订或受批准的限定选区,补入并核验直接来源、明确池式监督学习查询边界;许可、独立领域审查和实测效果仍须分别核验。
|
||||
|
||||
## 冻结的Solve记录
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.machine-learning.active-learning",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"origin": "source",
|
||||
"source_key": "machine-learning.active-learning",
|
||||
"name": "Active Learning",
|
||||
"name_zh": "主动学习",
|
||||
"domain": "machine-learning",
|
||||
"status": "experimental",
|
||||
"summary": "优先获取最能改变模型或决策的不确定样本和标签。",
|
||||
"core_question": "下一条信息应该采集什么最有价值?",
|
||||
"operation": "估计不确定性/多样性 → 选择样本 → 获取标签或实验 → 更新模型 → 比较边际收益",
|
||||
"agent_use": "把有限人工、检索或实验预算投向信息增益最高的地方。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"标注、实验或检索成本高且模型可表达不确定性。"
|
||||
],
|
||||
"not_when": [
|
||||
"选择策略会泄漏留出信息或样本分布不可控。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:sklearn-model-selection",
|
||||
"ref:mit-probability-inference"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"候选池、预算、选择评分和评估集已隔离。"
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"order": 1,
|
||||
"instruction": "定义不确定性、多样性或信息增益评分"
|
||||
},
|
||||
{
|
||||
"order": 2,
|
||||
"instruction": "从候选池选择一批样本并记录理由"
|
||||
},
|
||||
{
|
||||
"order": 3,
|
||||
"instruction": "获取标签/测量并更新候选模型"
|
||||
},
|
||||
{
|
||||
"order": 4,
|
||||
"instruction": "在固定留出集比较边际收益"
|
||||
}
|
||||
],
|
||||
"stop_conditions": [
|
||||
"边际收益低于成本、预算耗尽或选择偏差不可控。"
|
||||
],
|
||||
"success_conditions": [
|
||||
"相同预算获得更高且可泛化的信息增益。"
|
||||
],
|
||||
"evidence_required": [
|
||||
"候选池、评分、选择批次、标签来源、预算和留出评估。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"只选择模型最自信的样本。",
|
||||
"选择循环污染评估集。"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,97 @@
|
||||
# 2026-10-14 摊销分析候选的有限冻结选区
|
||||
|
||||
> 本文件冻结一条 Solve `MethodSpec`供语义与来源支持审查;不是第二份正文、已接受的项目候选、登记、评级、许可或效果验证。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T10:09:29Z`。
|
||||
- 触发:完成候选D“摊销分析”的来源与身份核对;owner:功法元数据子域维护者;退役:候选处理决定归档后转为只读历史证据并保留,不删除。
|
||||
- 来源根目录:`/home/lenovo/.pi/agent/`;Pi agent仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`。
|
||||
- Solve pack:`skills/workflow/modules/solve/references/packs/algorithms.json`;pack ID/version:`psoa.pack.algorithms@1.0.0`;pack SHA-256:`f1d2378c0b696527138afdcf3f213dee9957a5340aaec3671b6ddd2f0cb3f3be`;选择器为`.entries`零基索引`0`、原文件第7行,记录ID为`psoa.algorithms.amortized-analysis`。捕获时该pack文件与HEAD一致;Solve工作区的`VERSION`、`references/catalog.json`、`references/source-inventory.json`另有未提交改动,不据此冒称完整Solve发布版本。
|
||||
- 原引用键映射来自当时未提交的`skills/workflow/modules/solve/references/source-inventory.json`,SHA-256为`5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`:`ref:mit-algorithms` → <https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/>;`ref:cs2023` → <https://csed.acm.org/wp-content/uploads/2024/04/CS2023-Final-Report.pdf>。只绑定当时映射,不代表引用原文支持。
|
||||
- 补充来源核验:MIT OCW 2015春季6.046J [Lecture 5: Amortization](https://live.ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/13e2c7d165259712327af0af312a068e_MIT6_046JS15_lec05.pdf);ACM/IEEE-CS/AAAI [CS2023 Body of Knowledge PDF](https://csed.acm.org/wp-content/uploads/2024/04/3.1-Body-of-Knowledge-1.pdf),PDF第30页(正文页码)。当前`ref:cs2023`登记的`CS2023-Final-Report.pdf`返回HTTP 404;替代PDF来自同一官方站点,不回写Solve来源清单,也不冒称为登记URL的原字节。
|
||||
|
||||
## 来源支持与语义边界
|
||||
|
||||
- MIT课程主页说明课程覆盖有效算法设计与分析,但未在主页摘要中展开摊销分析步骤。补充Lecture 5明确介绍aggregate、accounting、charging与potential methods,并以动态表扩容、二进制计数器和搜索树为例;还说明摊销成本“可以是、但不必是”平均成本,摊销分配的总和须覆盖操作序列的实际总成本,势函数法还须保持势能不低于初始值。该讲义支持算法/数据结构操作序列上的摊销分析,但不是Solve记录原`source_refs`中的精确讲义选区;许可未核验。
|
||||
- CS2023 Body of Knowledge第30页将`Amortized analysis`列入`AL-Complexity: Complexity`的`KA Core`,与`CS Core`分列;据此不能推断每个计算机科学项目都必须把它作为CS Core教学要求。该文件是课程分类材料,不是摊销推导的完整教程。
|
||||
- 摊销分析不是期望值或统计意义上的平均情况分析。它在给定成本模型与操作序列条件下,证明序列总成本上界,并可给出每种操作的摊销成本;不能据此声称每次实际操作都有相同成本或响应时延满足硬上限。
|
||||
- Solve摘要中的“估算平均代价”有歧义,可能被误解为概率平均;原记录后续步骤提到聚合/记账/势函数,但没有明确列出charging method和初始势函数约束。若未来形成新来源修订,建议用“证明操作序列的总成本界,并明确摊销分配方法及边界条件”表述;将其用于agent loop、缓存或增量流程还需另行定义状态、成本单位、操作序列与响应时延合同,算法教材不证明这些软件场景的收益。
|
||||
- 对现有410项总表Markdown与Excel做了限定关键词检索(“摊销分析”“amortized analysis”“势函数”“记账法”“操作序列”等),未命中同名或显式同义条目。此为词项级定位,不是556→410完整语义去重;与一般复杂度约束、阿姆达尔定律、利特尔法则不同,不足以独立证明全表无重复。
|
||||
|
||||
**处理结论:**摊销分析可作为算法分析领域的独立方法主题与既有一般复杂度/性能方法区分;MIT讲义直接支持核心方法,CS2023支持其课程分类,但原Solve引用映射过宽且CS2023原登记URL失效。故本轮冻结来源用于人工审查,不分配项目ID、不写入机器登记或总表、不赋初评/品级、不声称应用效果。若要进入项目候选登记,须形成可追溯来源修订、固定MIT讲义与CS2023文件版本/许可,并审查是否收录算法专用方法;原“平均代价”措辞须先消除统计平均歧义。
|
||||
|
||||
## 冻结的Solve记录
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.algorithms.amortized-analysis",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"origin": "source",
|
||||
"source_key": "algorithms.amortized-analysis",
|
||||
"name": "Amortized Analysis",
|
||||
"name_zh": "摊销分析",
|
||||
"domain": "algorithms",
|
||||
"status": "experimental",
|
||||
"summary": "不只看单次最坏成本,而是在一串操作上用势函数或记账方法估算平均代价。",
|
||||
"core_question": "连续操作的总成本到底由什么决定?",
|
||||
"operation": "定义操作序列和势函数 → 计算实际/摊销代价 → 求总界 → 与预算比较",
|
||||
"agent_use": "评估 agent loop、缓存和增量流程的长期成本。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"单次操作昂贵但状态可积累或释放。"
|
||||
],
|
||||
"not_when": [
|
||||
"一次性操作且没有跨步骤状态。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:mit-algorithms",
|
||||
"ref:cs2023"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "low",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"操作序列、状态和成本度量可定义。"
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"order": 1,
|
||||
"instruction": "列出实际操作成本和状态变化"
|
||||
},
|
||||
{
|
||||
"order": 2,
|
||||
"instruction": "选择势函数、聚合或记账方案"
|
||||
},
|
||||
{
|
||||
"order": 3,
|
||||
"instruction": "证明每步摊销代价及总和上界"
|
||||
},
|
||||
{
|
||||
"order": 4,
|
||||
"instruction": "按真实规模与预算评估"
|
||||
}
|
||||
],
|
||||
"stop_conditions": [
|
||||
"总成本界与资源预算可比较。",
|
||||
"状态或成本无法观测。"
|
||||
],
|
||||
"success_conditions": [
|
||||
"得到可解释的序列成本上界和热点。"
|
||||
],
|
||||
"evidence_required": [
|
||||
"成本模型、势函数/记账规则、推导、规模和测量。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"势函数不下界或漏记状态转移。",
|
||||
"平均界掩盖单次硬实时约束。"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
# P19「最小模型—迁移—边界回填」有限来源复核
|
||||
|
||||
> 本记录是候选方法的有限文献对照,不是来源原件、登记、类型/品级决定、独立审查、许可意见或效果验证。外部文献只用于核对类比映射与推论评估的局部结构,不证明P19的历史来源、整套步骤或软件工程效果。
|
||||
|
||||
## 范围与指纹
|
||||
|
||||
- 记录时间:`2026-10-15T00:23:04Z`
|
||||
- 候选冻结选区:`.github/metadata/gongfa/source-selected-candidates-20261013.txt`,SHA-256:`72007c8f803de46899ab4e923f8b864c10ea66d7effa83dfb48f12e0a82b20a1`,定位锚点:`philosophy-methodology-toolbox-candidate-minimal-model-transfer-boundaries`。
|
||||
- 当前编辑稿:`.github/docs/gongfa/methodology-toolbox.md#philosophy-methodology-toolbox-candidate-minimal-model-transfer-boundaries`。冻结选区保持不变;当前方法文字属于编辑稿,不据此改写候选的来源归属。
|
||||
- 范围仅限P19及下列两份类比研究,不覆盖其他候选、C01–C20、法器,也不代表Solve 556条与功法目录410条的全量语义比较。
|
||||
|
||||
## 外部文献及可复核位置
|
||||
|
||||
### 1. 结构映射理论
|
||||
|
||||
Dedre Gentner, “Structure-Mapping: A Theoretical Framework for Analogy,” *Cognitive Science*, 7(2), 155–170 (1983). DOI: <https://doi.org/10.1207/s15516709cog0702_3>。
|
||||
|
||||
- 出版方书目记录:<https://onlinelibrary.wiley.com/doi/abs/10.1207/s15516709cog0702_3>。本次直接抓取返回HTTP 403;DOI书目由检索结果核对。
|
||||
- 作者页面PDF:<https://groups.psych.northwestern.edu/gentner/papers/Gentner83.2b.pdf>。
|
||||
- 相关页码:摘要p.155将类比核心表述为映射关系而非对象属性;pp.158–160说明基例/目标域及从对象对应投射关系;pp.162–164说明由高阶关系联结的系统性关系对映射选择的重要性。
|
||||
- 可定位的短语(均为原文短摘):p.155 “Relations between objects, rather than attributes of objects”;p.163 “system of mutually interconnecting relationships”。其余为上述页段的内容概述,不是逐字引文。
|
||||
- 本次PDF文本提取件SHA-256:`c3ca9019f8b3cc4da5cd0015265d66c4b699caea8ce8836b595cf646bfc264b4`;这是本地提取Markdown的哈希,不是原PDF字节摘要。
|
||||
|
||||
### 2. 类比的组成过程与评估
|
||||
|
||||
Dedre Gentner & J. Colhoun, “Analogical Processes in Human Thinking and Learning,” in B. M. Glatzeder, V. Goel & A. von Müller (eds.), *Towards a Theory of Thinking*, pp. 35–48, Springer (2010). DOI: <https://doi.org/10.1007/978-3-642-03129-8_3>。
|
||||
|
||||
- 出版方章节页:<https://link.springer.com/chapter/10.1007/978-3-642-03129-8_3>;用于核对章节书目信息。本次正文页码与内容对照依据作者页面PDF的文本提取件。
|
||||
- 作者页面PDF:<https://groups.psych.northwestern.edu/gentner/papers/gentner%26Colhoun_2010.pdf>。
|
||||
- 相关页码:章节p.36区分检索、映射、评估、抽象及再表征;p.37讨论映射的一对一对应、关系参数平行和高阶关系系统;p.41区分结构支持、目标域事实有效性、任务相关性与推论适配性。
|
||||
- 可定位的短语(均为原文短摘):p.37 “one-to-one correspondence”与“parallel connectivity”;p.41 “factual validity ... must be checked separately”。其余为上述页段的内容概述,不是逐字引文。
|
||||
- 本次PDF文本提取件SHA-256:`d127abcb9d975e7a40db4df3248ff3406a6a57ac5b1b81b85f9b8f24a0c2d809`;这是本地提取Markdown的哈希,不是原PDF字节摘要。
|
||||
|
||||
### 版本、访问与许可边界
|
||||
|
||||
引用按上述DOI和作者页面PDF绑定。原PDF字节没有保存到仓库,两个SHA-256只识别本次生成的文本提取件;提取/OCR忠实度未与原始PDF逐字节校验。未核查版权许可或再分发权限;本记录仅保留必要的短语和页码,不把可访问副本等同开放许可。
|
||||
|
||||
## 对P19的限定判断
|
||||
|
||||
- **得到局部支持的要素**:P19“逐项写明对应关系”与关系结构映射相邻。文献支持优先辨认关系而非仅比较对象外观,并检查映射的一致性及彼此联结的高阶关系;映射产生的候选推论还应分别审视其结构支持、目标域事实和当前问题相关性。
|
||||
- **需要明确的边界**:类比映射可生成候选推论,不保证目标域事实成立,也不保证推论与当前任务相关。结构匹配本身不能代替目标域证据。
|
||||
- **仍属P19编辑组合、未被上述文献确立的部分**:把“最小化模型—列遗漏变量—回填边界—低成本验证”固定成一条通用操作流程。两篇文献讨论类比映射和评估,不足以证明该完整流程的共同来源、独立方法身份或在软件工程中的效果。
|
||||
- **处理**:保留为文稿中的待评候选;编辑性补明关系结构、映射一致性及目标事实/任务相关性核验。候选仍源自仓内备忘录,拟议ID `gongfa-minimal-model-transfer-boundaries`未分配;不写入`registry.json`、不刷新生成目录、不赋类型/品级,不把任何文献主张表述为效果证据。
|
||||
@@ -0,0 +1,98 @@
|
||||
# 2026-10-15 Solve「计算机科学」pack entries[0..4]有限语义与来源复核
|
||||
|
||||
> 本快照只冻结所列 Solve 字段及有限来源核对。它不是登记、初评、品级或效果证据,不代表Solve 556条与功法目录410条的全量语义去重,也不审阅本体验收判例C01–C20。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 记录时间:`2026-10-15T00:47:24Z`。
|
||||
- 触发:续审未覆盖的Solve计算机科学pack前五条,比较其与当前登记及可复核课程来源的语义边界。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:被完整、可审计的候选语义交叉表承接后,转为只读历史依据并保留。
|
||||
- PR基线:`8352d16a81ebfeb4b4e6f5533be0e2341b62a85d`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`;生成目录SHA-256 `beed226238267c42d89c455c4889c5b6105a506737420760c3499adcc1fbcb6e8`;历史候选SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`。
|
||||
- Solve pack:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/packs/computer-science.json`,版本`1.0.0`,SHA-256 `a82461bb418bf006ac37285612120a2e0595adf95b8d8d1a62cc918b0fcf695f`;目录声明15条source、1条derived,本批仅`.entries[0..4]`。
|
||||
- Solve来源清单:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/source-inventory.json`,版本`1.9.0`,SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`。
|
||||
- 冻结字段:`id/version/kind/status/origin/source_key/name_zh/summary/core_question/operation/applicability.{when[],not_when[]}/source_refs/semantics`;列表次序保持原样。未列字段不作为本批判断依据。
|
||||
- 对照边界:查当前registry与历史候选中的定向命中;未逐条扫描79条登记或410条目录。`ref:user-cross-domain-map`只指向`conversation://cross-domain-method-map`,source inventory未绑定独立文件、版本或摘要;本批不据此确认用户原材料、来源归属或共同历史。
|
||||
|
||||
## 官方课程来源核对
|
||||
|
||||
- ACM CS2023官方[Algorithmic Foundations核心页面](https://csed.acm.org/al-cs-core/)将算法策略列为知识单元,并列出分治、动态规划、归约等策略。
|
||||
- ACM/IEEE-CS/AAAI《Computer Science Curricula 2023》报告的官方页面为<https://csed.acm.org/final-report/>;从官方页面可访问[报告PDF](https://ieeecs-media.computer.org/media/education/reports/CS2023.pdf),封面信息为2024年1月,DOI `10.1145/3664191`。提取文本覆盖前100页,SHA-256 `a896bfe79fd1906af3b17e3257bac25d6c975f423d436e61258f7c9ceb016f7e`;该摘要只绑定工具生成的提取文本,不是PDF原始字节SHA。
|
||||
- 可复核选区:报告p.90的AL-Strategies列出分治、贪心、Transform-and-Conquer/Reduction及动态规划;p.93在NP完全性证明中列出对已知问题的归约,并列出可计算性知识单元的reducibility/reductions;p.98–99课程示例要求解释、评估并应用指定算法策略。官方AL核心页面也列出分治、动态规划及例子。
|
||||
- 这些材料证明相关算法策略属于课程知识范围,不证明Solve对Agent的泛化操作说明、其完整前置/停止/恢复合同、独立身份或软件任务效果。尤其算法归约、复杂度证明中的归约和跨领域“复用已知方案”不能仅凭同名视为同一语义。当前Solve来源清单中的`ref:cs2023`指向旧PDF URL,报告页面与上述官方镜像仅作为补充来源,不改写Solve包内引用身份。
|
||||
- 报告p.4有版权及用途许可说明;本次只作短段落定位和转述,不复制整段或整份报告。许可/再分发批准未完成;不作法律结论。
|
||||
|
||||
## 冻结字段审阅投影
|
||||
|
||||
> 标识、标题、摘要、核心问题、操作、适用条件和来源引用按所选字段记录;长语义数组在下方压缩转述,并非逐字副本。完整源由pack路径、`.entries[0..4]`和SHA-256绑定,需逐字复核时应按固定摘要重读原文件。
|
||||
|
||||
### `.entries[0]` — `psoa.computer-science.abstraction`
|
||||
|
||||
- `kind/status/origin/source_key`: `MentalModelSpec` / `experimental` / `source` / `computer-science.abstraction`
|
||||
- `name_zh`: 抽象
|
||||
- `summary`: 抽象:要求 Agent 分别给出 L0/L1/L2 抽象层解释。
|
||||
- `core_question`: 哪些细节现在不重要?
|
||||
- `operation`: 隐去实现 → 保留接口与性质 → 在更高层推理
|
||||
- `applicability`: 适用=细节过多阻碍推理或需要跨实现比较;不适用=关键安全、数据或行为细节会被抽象隐藏。
|
||||
- `source_refs`: `ref:user-cross-domain-map`, `ref:cs2023`
|
||||
- `semantics`: questions=“哪些细节现在不重要?”;interpretation_rules=“隐去实现 → 保留接口与性质 → 在更高层推理”“要求Agent分别给出L0/L1/L2抽象层解释”;limitations=关键安全、数据或行为细节会被抽象隐藏。
|
||||
|
||||
### `.entries[1]` — `psoa.computer-science.problem-decomposition`
|
||||
|
||||
- `kind/status/origin/source_key`: `OperatorSpec` / `experimental` / `source` / `computer-science.problem-decomposition`
|
||||
- `name_zh`: 问题分解
|
||||
- `summary`: 问题分解:让Agent先拆任务,再确定并行、串行和验证依赖。
|
||||
- `core_question`: 大问题由哪些相对独立的子问题构成?
|
||||
- `operation`: 问题 → 子问题 → 依赖图
|
||||
- `applicability`: 适用=任务包含多个可独立验收的目标或依赖;不适用=问题高度耦合,拆分会丢失核心约束。
|
||||
- `source_refs`: `ref:user-cross-domain-map`, `ref:cs2023`
|
||||
- `semantics`: preconditions=任务包含多个可独立验收的目标或依赖;inputs=`problem_state/goal/constraints`;procedure=问题→子问题→依赖图;effect=让Agent先拆任务,再确定并行、串行和验证依赖;outcomes=`succeeded/inconclusive/not_applicable/failed`;evidence_required=分解图、候选空间、复杂度估算、剪枝理由与组合结果;failure_modes=高度耦合导致约束丢失、过程产物不足以支持效果声明;recovery=保留输入与已验证事实并交回Harness重新选择。
|
||||
|
||||
### `.entries[2]` — `psoa.computer-science.reduction`
|
||||
|
||||
- `kind/status/origin/source_key`: `OperatorSpec` / `experimental` / `source` / `computer-science.reduction`
|
||||
- `name_zh`: 归约
|
||||
- `summary`: 归约:要求Agent说明最接近的已解决问题以及映射保持了什么。
|
||||
- `core_question`: 能否把陌生问题变成熟悉问题?
|
||||
- `operation`: 问题A → 保持关键性质的变换 → 已知问题B → 解B → 映射回A
|
||||
- `applicability`: 适用=存在成熟问题类别或工具可复用;不适用=变换不能保持目标、约束或解的有效性。
|
||||
- `source_refs`: `ref:user-cross-domain-map`, `ref:cs2023`
|
||||
- `semantics`: preconditions=存在成熟问题类别或工具可复用;inputs=`problem_state/goal/constraints`;procedure=问题A→保持关键性质的变换→已知问题B→解B→映射回A;effect=要求Agent说明最近的已解决问题及映射保持项;outcomes=`succeeded/inconclusive/not_applicable/failed`;evidence_required=分解图、候选空间、复杂度估算、剪枝理由与组合结果;failure_modes=映射不保持目标/约束/解有效性、产物不足;recovery=保留输入与已验证事实并交回Harness重新选择。
|
||||
|
||||
### `.entries[3]` — `psoa.computer-science.divide-and-conquer`
|
||||
|
||||
- `kind/status/origin/source_key`: `MethodSpec` / `experimental` / `source` / `computer-science.divide-and-conquer`
|
||||
- `name_zh`: 分治
|
||||
- `summary`: 分治:让多个执行单元解决相似子问题,再用显式合并规则集成。
|
||||
- `core_question`: 能否拆成结构相似且可独立求解的小问题?
|
||||
- `operation`: 划分 → 独立求解 → 合并
|
||||
- `applicability`: 适用=子问题结构相似、交互有限且结果可组合;不适用=子问题共享强状态或合并成本高于直接求解。
|
||||
- `source_refs`: `ref:user-cross-domain-map`, `ref:cs2023`
|
||||
- `semantics`: preconditions=子问题结构相似、交互有限且结果可组合;steps=划分→独立求解→合并;stop_conditions=Verifier依据证据确认成功,或前置条件失效/预算耗尽/Harness policy阻止;success_conditions=多个执行单元解决相似子问题后按显式规则集成;evidence_required=分解图、候选空间、复杂度估算、剪枝理由与组合结果;failure_modes=共享强状态/合并成本过高、数据控制或验证依赖未满足。
|
||||
|
||||
### `.entries[4]` — `psoa.computer-science.dynamic-programming`
|
||||
|
||||
- `kind/status/origin/source_key`: `MethodSpec` / `experimental` / `source` / `computer-science.dynamic-programming`
|
||||
- `name_zh`: 动态规划
|
||||
- `summary`: 动态规划:缓存中间结论,并用状态键避免重复reasoning。
|
||||
- `core_question`: 是否反复解决相同子问题?
|
||||
- `operation`: 定义状态 → 建立转移 → 复用子问题结果 → 自底向上或记忆化求解
|
||||
- `applicability`: 适用=问题具有重叠子问题和最优子结构;不适用=状态无法有限表达或缓存成本超过重复计算。
|
||||
- `source_refs`: `ref:user-cross-domain-map`, `ref:cs2023`
|
||||
- `semantics`: preconditions=问题具有重叠子问题和最优子结构;steps=定义状态→建立转移→复用子问题结果→自底向上或记忆化求解;stop_conditions=Verifier依据证据确认成功,或前置条件失效/预算耗尽/Harness policy阻止;success_conditions=缓存中间结论并用状态键避免重复reasoning;evidence_required=分解图、候选空间、复杂度估算、剪枝理由与组合结果;failure_modes=状态无法有限表达/缓存成本过高、步骤依赖未满足。
|
||||
|
||||
## 有限语义对照与处理
|
||||
|
||||
| Solve条目 | 对照结果与边界 |
|
||||
|---|---|
|
||||
| `abstraction` | `MentalModelSpec`是解释视角,不是施行方法。与登记`gongfa-validated-abstraction`及目录3.12“抽象”相关,但现有条目分别限定真实使用验证/共同本质抽取;不因同名自动合并或增加身份。CS2023 AL来源选区不特指此条L0/L1/L2操作,其他课程段落未在本批穷尽。 |
|
||||
| `problem-decomposition` | 是产生子问题/依赖图的操作,不包括求解与集成;与已登记`gongfa-divide-and-conquer`重叠但不是逐字同一完整流程。当前证据支持它作为任务求解的中间表示步骤,尚不足以证明独立功法身份;不新登记。 |
|
||||
| `reduction` | 可区分算法问题A/B之间保持所需性质的映射,与一般类比、搜索、工具复用相邻但不等同。CS2023只支持算法/复杂度课程中存在归约主题;未支持Solve将其泛化为任意跨域复用的完整操作。保留为待审候选边界,不分配ID/类型/品级。 |
|
||||
| `divide-and-conquer` | 核心划分—独立求解—组合已由`gongfa-divide-and-conquer`覆盖;Solve增写“多个执行单元”并不由标准分治算法类别推出,也不证明并行收益。沿用既有登记,不重复创建。 |
|
||||
| `dynamic-programming` | CS2023支持其作为算法策略及Warshall/Floyd等课程例子,不支持“缓存中间推理”可不加条件地迁移到Agent记忆。可复用结论必须有充分状态键、转移/递推正确性、重叠子问题和缓存失效边界;与`gongfa-cache-lifecycle-isolation`相邻但对象不同。保留窄算法候选待审,不新登记。 |
|
||||
|
||||
同一泛化`evidence_required`清单被用于分解、归约、分治、动态规划,无法区分每类方法的正确性证据:例如归约需说明映射保持的不变量与反向还原,动态规划需给出状态/转移及可验证的复用依据。此字段不构成执行记录,也不能证明算法有效。
|
||||
|
||||
## 结论与限制
|
||||
|
||||
本批不修改功法登记、候选登记、生成目录、品级或正式评级;不把CS2023课程范围当作独立来源、许可授权、独立审阅或工程效果证据。Solve计算机科学pack其余entries[5..15]、历史候选全集及556→410全量语义比较仍未完成。
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
# 2026-10-15 Solve「计算机科学」pack entries[10..15]有限语义与来源复核
|
||||
|
||||
> 本快照只冻结本批选区、直接来源核对和定向语义对照;它不是新登记、初评、品级或效果证据,不代表Solve 556条与功法目录410条的全量语义去重,也不审阅本体验收判例C01–C20。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 记录时间:`2026-10-15T01:34:35Z`。
|
||||
- 触发:完成计算机科学pack剩余六条的有限来源与登记交叉检查,并复核此前已冻结的三条候选记录是否应重复收录。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:被完整、可审计的候选语义交叉表承接后,转为只读历史依据并保留。
|
||||
- PR基线:`78fae22b7f7e8dcd5d23f8862b8a761be63ad998`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`;生成目录SHA-256 `beed226238267c42d89c455c4889c5b6105a506737420760c3499adcc1fbcb6e`;历史候选SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`。
|
||||
- Solve pack:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/packs/computer-science.json`,版本`1.0.0`,SHA-256 `a82461bb418bf006ac37285612120a2e0595adf95b8d8d1a62cc918b0fcf695f`;共16条(15条source、1条derived),本批仅`.entries[10..15]`。
|
||||
- Solve来源清单:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/source-inventory.json`,版本`1.9.0`,SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`。
|
||||
- 历史候选:`source-classified-candidates-20261007.json`中已冻结entries[11]不变量检查、[12]接口契约和[14]依赖图的同源字段投影与编者意见;本批沿用它们,不新复制、不提升原推荐或品级。
|
||||
- 对照边界:当前registry、目录与历史候选只作名称/语义定向核验,未逐条扫描79条登记或410条目录。`ref:user-cross-domain-map`仅指向`conversation://cross-domain-method-map`,无固定文件、版本或摘要,不能独立复核其原始映射。
|
||||
|
||||
## 来源核对
|
||||
|
||||
- `ref:strips-pddl`的ScienceDirect链接返回HTTP 403;改由作者Nils J. Nilsson公开的[Stanford原文PDF](https://ai.stanford.edu/~nilsson/OnlinePubs-Nils/PublishedPapers/strips.pdf)核对,题名、Fikes/Nilsson作者、Artificial Intelligence 2 (1971), pp.189–208及DOI `10.1016/0004-3702(71)90010-5`相符。原文p.190定义初始world model、操作符及目标,并强调规划中的operator与实际执行action routine有别;p.192说明操作符由适用条件/前置条件和对world model的增删效果组成。
|
||||
- Stanford PDF提取文本SHA-256 `6eccc37ce964e48c6239f28c64a82b4783eb35221a38c7fbcb4ce2b666660a6c`,只绑定本地提取文本,不是PDF原始字节哈希。原文的STRIPS模型支持特定规划语义,不证明任意Agent工具调用具备相同效果,也不保证搜索总会终止或给出最优解;该1971论文不等同于后来的PDDL标准。
|
||||
- NIST[Formal Methods Glossary](https://csrc.nist.gov/glossary/term/formal_methods)给出形式化方法的广义定义:以数学严谨方法进行软件系统规格、开发与验证。该词条不是不变量检查或API错误矩阵的操作规范。
|
||||
- Solve的`ref:cs2023`仍指向CS2023课程报告;已核的报告p.90–91支持算法策略/复杂度课程主题,但本批不据此声称其覆盖了每条状态模型、接口或缓存细节。提取文本SHA-256 `a896bfe79fd1906af3b17e3257bac25d6c975f423d436e61258f7c9ceb016f7e`仅是工具生成的前100页提取文本哈希,不是PDF原始字节哈希。
|
||||
- OMG[Essence v1.2正式规范](https://www.omg.org/spec/Essence/1.2/PDF)第7.1–7.3节描述软件工程方法/实践的定义与组合;当前About页面另列2.0 beta 2。Solve的`ref:omg-essence`未固定版本,而Essence不是组件API契约规范。v1.2提取文本SHA-256 `9f617213c818df76cf0dd44b2556bc50a99f151244035692259a8e71e20c2096`仅绑定本地提取文本,不是PDF字节哈希。
|
||||
- MIT OCW的[6.046J Spring 2015课程页](https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/)列出动态规划、贪心、复杂度等课程主题;该课程概述不支持缓存键版本化、权限隔离、失效或Agent跨任务记忆的完整合同。本次未审阅全部课程讲义。
|
||||
- 许可/再分发批准、独立审阅和软件工程效果均未据此确认;只作必要转述,不复制整篇论文或规范。
|
||||
|
||||
## 冻结字段审阅投影
|
||||
|
||||
### `.entries[10]` — `psoa.computer-science.state-transition-modeling`
|
||||
|
||||
- `kind/status/origin`: `MethodSpec` / `experimental` / `source`;`name_zh`: 状态转移建模。
|
||||
- `summary`: 显式描述系统状态、动作、转移条件和目标状态。
|
||||
- `core_question`: 执行动作后系统状态如何改变?
|
||||
- `operation`: 定义状态变量 → 列动作及前置条件 → 写转移效果 → 检查可达性与终止。
|
||||
- `source_refs`: `ref:strips-pddl`, `ref:nist-formal-methods`。
|
||||
|
||||
### `.entries[11]` — `psoa.computer-science.invariant-checking`
|
||||
|
||||
- 已有历史来源快照冻结完整字段;本批不重复展开。记录主张在状态转移检查点求值不变量,并保留可复核违反路径或覆盖证据。
|
||||
- `source_refs`: `ref:nist-formal-methods`, `ref:cs2023`。
|
||||
|
||||
### `.entries[12]` — `psoa.computer-science.interface-contract`
|
||||
|
||||
- 已有历史来源快照冻结完整字段;本批不重复展开。记录主张定义类型/范围、前后条件、错误、时序/资源和版本关系,再以边界反例检查。
|
||||
- `source_refs`: `ref:nist-formal-methods`, `ref:omg-essence`。
|
||||
|
||||
### `.entries[13]` — `psoa.computer-science.cache-memoization`
|
||||
|
||||
- `kind/status/origin`: `MethodSpec` / `experimental` / `source`;`name_zh`: 缓存与记忆化。
|
||||
- `summary`: 识别重复子问题,定义稳定键、失效与一致性边界,再复用已验证结果。
|
||||
- `core_question`: 哪些中间结论可以安全复用而不重复计算?
|
||||
- `operation`: 识别重复 → 定义键与版本 → 保存结果/证据 → 命中前检查新鲜度 → 失效或重算。
|
||||
- `source_refs`: `ref:cs2023`, `ref:mit-algorithms`。
|
||||
|
||||
### `.entries[14]` — `psoa.computer-science.dependency-graph`
|
||||
|
||||
- 已有历史来源快照冻结完整字段;本批不重复展开。记录主张登记节点/边、求变更后的下游可达集、检测图缺口并安排验证。
|
||||
- `source_refs`: `ref:cs2023`, `ref:nist-formal-methods`。
|
||||
|
||||
### `.entries[15]` — `psoa.computer-science.search-space-control-loop`
|
||||
|
||||
- `kind/status/origin`: `MethodSpec` / `experimental` / `derived`;`name_zh`: 搜索空间控制循环。
|
||||
- `summary`: 将解空间变为可分解、可回退、可剪枝并可复用中间结果的结构。
|
||||
- `operation`: `Decompose → Reduce → Search → Prune → Reuse`。
|
||||
- `source_refs`: 仅`ref:user-cross-domain-map`。
|
||||
- `semantics.steps`实际依次引用问题分解、归约、回溯、分支定界与动态规划;`evidence_required`为概括性清单。
|
||||
|
||||
## 有限语义对照与处理
|
||||
|
||||
| Solve条目 | 对照结果与边界 |
|
||||
|---|---|
|
||||
| `state-transition-modeling` | STRIPS原文支持显式world model、动作前置条件、增删效果与目标条件;并明确规划operator与执行routine不同。Solve额外要求失败转移、可达性/循环/终止检查;引用未定义通用失败转移,也未证明检查完备性、全局终止或运行时执行保证。与`gongfa-state-space-thinking`、`gongfa-state-classification`、`gongfa-constrained-state-transformation`相邻,但分别是分析视角、阶段分类、路径搜索与操作符模型,不因“状态”同名合并。保留窄建模边界,不新登记。 |
|
||||
| `invariant-checking` | 已是历史候选并与`gongfa-invariant-constraints`关联;谓词及检查点是可区分于准则的操作化表达,但静态列出检查点不证明覆盖了全部可达转移。执行轨迹检查只证明该轨迹;全路径结论需独立形式验证与模型/性质边界。沿用历史候选,不重复建立身份或等级。 |
|
||||
| `interface-contract` | 已有历史候选,与`gongfa-stable-interface-contract`(契约与实现分离准则)相关但层级不同。NIST只支持形式化方法总概念,Essence支持方法/实践组合而非API合同;现有来源未支持错误矩阵、timeout、幂等、资源和版本兼容等完整操作。保留为待审候选,不把相邻来源当作合同证据。 |
|
||||
| `cache-memoization` | 与已登记`gongfa-cache-lifecycle-isolation`相邻但不等同:前者是可证明重复子问题的算法复用,后者限制缓存生命周期、容量、隔离与一致性误用。MIT/CS2023课程概述不证明该条的Agent上下文键、权限、时间依赖或跨任务失效契约;不得把算法记忆化自动推广为模型推理缓存。暂留窄算法候选,不登记或赋级。 |
|
||||
| `dependency-graph` | 已有历史候选。旧审阅区分`gongfa-explicit-dependencies`的显式依赖准则与本条图构造/可达集方法,并要求与影响分析避免重复。当前引用只支持课程/形式化主题,未直接证明从真实代码完整抽取依赖边;无边不证明无依赖,隐藏和时间依赖需观测。沿用历史候选,不复制或抬升旧建议。 |
|
||||
| `search-space-control-loop` | `origin=derived`且唯一来源是未冻结的conversation映射;摘要、操作与steps的组件边界不一致。回溯、分支定界、动态规划有不同前置条件,不能默认按固定流水线组合;未定义选择分支、状态/效果衔接、反馈、停止和恢复。只作编辑性组合草图,不赋予独立方法身份。 |
|
||||
|
||||
## 结论与限制
|
||||
|
||||
本批不改功法registry、历史候选JSON或生成目录,不新增候选身份、品级或正式评级。`entries[0..15]`现已分三批作有限复核,但没有扫描其他Solve pack或完成556→410全量语义比较;C01–C20验收判例也未覆盖。来源存在不等于操作合同、效果证据、许可批准或独立审阅。
|
||||
@@ -0,0 +1,95 @@
|
||||
# 2026-10-15 Solve「计算机科学」pack entries[5..9]有限语义与来源复核
|
||||
|
||||
> 本快照冻结所列Solve字段及有限来源核对。它不是登记、初评、品级或效果证据,不代表Solve 556条与功法目录410条的全量语义去重,也不审阅本体验收判例C01–C20。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 记录时间:`2026-10-15T01:07:31Z`。
|
||||
- 触发:续审计算机科学pack中尚未覆盖的entries[5..9],核对算法课程范围、NIST术语定义和当前功法登记的边界。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:被完整、可审计的候选语义交叉表承接后,转为只读历史依据并保留。
|
||||
- PR基线:`ffc8976719309b665fe04070fdc9bb181449341d`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`;生成目录SHA-256 `beed226238267c42d89c455c4889c5b6105a506737420760c3499adcc1fbcb6e`;历史候选SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`。
|
||||
- Solve pack:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/packs/computer-science.json`,版本`1.0.0`,SHA-256 `a82461bb418bf006ac37285612120a2e0595adf95b8d8d1a62cc918b0fcf695f`;共16条记录(15条source、1条derived),本批仅`.entries[5..9]`。
|
||||
- Solve来源清单:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/source-inventory.json`,版本`1.9.0`,SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`。
|
||||
- 冻结字段:`id/version/kind/status/origin/source_key/name_zh/summary/core_question/operation/applicability.{when[],not_when[]}/source_refs/semantics`;字段列表保持原次序,未列字段不作为本批判断依据。
|
||||
- 对照边界:只对当前registry、历史候选和目录作定向检索;未逐条语义扫描79条登记或410条目录。`ref:user-cross-domain-map`指向`conversation://cross-domain-method-map`,未绑定可独立复核的源文件、版本或摘要,不据此确认来源归属。
|
||||
|
||||
## 来源核对
|
||||
|
||||
- ACM/IEEE-CS/AAAI《Computer Science Curricula 2023》官方[报告PDF](https://ieeecs-media.computer.org/media/education/reports/CS2023.pdf),DOI `10.1145/3664191`:p.90的AL-Strategies列出贪心策略;“Handling exponential growth”举出branch-and-bound与backtracking;p.91列出最优、平均、最坏情况,经验/增长率测量,输入规模、原语操作、时间与空间效率、渐近复杂度等课程主题,并要求学习者评价贪心方法是否得到最优解。报告官方入口为<https://csed.acm.org/final-report/>。
|
||||
- 本地报告提取文本SHA-256 `a896bfe79fd1906af3b17e3257bac25d6c975f423d436e61258f7c9ceb016f7e`;该哈希只绑定提取文本,不是PDF原始字节哈希。上述课程内容证明主题与学习目标在课程范围内,不证明Solve所写Agent操作合同、独立身份或软件工程效果。
|
||||
- NIST[Formal Methods Glossary](https://csrc.nist.gov/glossary/term/formal_methods)将formal methods定义为用于软件系统规格、开发和验证的数学上严谨技术,并引用NIST AI 100-2e2025。它支持形式化方法的广义概念,不独立规定本条的具体步骤或“执行前证明”保证。
|
||||
- 来源许可、独立审查和工程效果未由此核验;只作必要短引和转述,不据此批准复用/再分发。
|
||||
|
||||
## 冻结字段审阅投影
|
||||
|
||||
### `.entries[5]` — `psoa.computer-science.greedy`
|
||||
|
||||
- `kind/status/origin/source_key`: `MethodSpec` / `experimental` / `source` / `computer-science.greedy`
|
||||
- `name_zh`: 贪心
|
||||
- `summary`: 让Agent每步选择当前收益最高操作并持续验证约束。
|
||||
- `core_question`: 能否通过局部最好逐步构造可接受答案?
|
||||
- `operation`: 选择当前局部最优 → 检查可行性 → 固定选择 → 继续。
|
||||
- `applicability`: 适用条件为局部选择可证明安全,或允许近似且有质量界;反条件是局部最优会破坏全局目标且无近似保证。
|
||||
- `source_refs`: `ref:user-cross-domain-map`, `ref:cs2023`。
|
||||
- `semantics.evidence_required`: 分解图、候选空间、复杂度估算、剪枝理由与组合结果。
|
||||
|
||||
### `.entries[6]` — `psoa.computer-science.backtracking`
|
||||
|
||||
- `kind/status/origin/source_key`: `MethodSpec` / `experimental` / `source` / `computer-science.backtracking`
|
||||
- `name_zh`: 回溯
|
||||
- `summary`: 要求Agent显式维护候选路径、检查点和撤销条件。
|
||||
- `core_question`: 当前路径错误时怎样系统撤销并换路?
|
||||
- `operation`: 选择 → 测试 → 失败 → 撤销 → 尝试替代。
|
||||
- `applicability`: 解空间可枚举且局部失败能及早发现;不适用于副作用不可撤销或分支数无界且无预算的情形。
|
||||
- `source_refs`: `ref:user-cross-domain-map`, `ref:cs2023`。
|
||||
- `semantics.evidence_required`: 分解图、候选空间、复杂度估算、剪枝理由与组合结果。
|
||||
|
||||
### `.entries[7]` — `psoa.computer-science.branch-and-bound`
|
||||
|
||||
- `kind/status/origin/source_key`: `MethodSpec` / `experimental` / `source` / `computer-science.branch-and-bound`
|
||||
- `name_zh`: 分支定界
|
||||
- `summary`: 为方案设置upper/lower bound,提前淘汰不可能胜出的路线。
|
||||
- `core_question`: 哪些方向已经不值得继续探索?
|
||||
- `operation`: 分支 → 估计上下界 → 与当前最好解比较 → 剪枝。
|
||||
- `applicability`: 候选可分支且存在可靠界估计;界过松、成本过高或可能误剪可行解时不适用。
|
||||
- `source_refs`: `ref:user-cross-domain-map`, `ref:cs2023`。
|
||||
- `semantics.evidence_required`: 分解图、候选空间、复杂度估算、剪枝理由与组合结果。
|
||||
|
||||
### `.entries[8]` — `psoa.computer-science.complexity-analysis`
|
||||
|
||||
- `kind/status/origin/source_key`: `OperatorSpec` / `experimental` / `source` / `computer-science.complexity-analysis`
|
||||
- `name_zh`: 复杂度分析
|
||||
- `summary`: 要求每个方案估算token、latency、cost和state complexity。
|
||||
- `core_question`: 方案规模扩大后会发生什么?
|
||||
- `operation`: 确定规模变量 → 估算时间、空间、通信与成本 → 检查渐近和实际瓶颈。
|
||||
- `applicability`: 方案包含循环、搜索、I/O、模型调用或增长风险;规模变量和运行边界完全未知时无法形成有意义估算。
|
||||
- `source_refs`: `ref:user-cross-domain-map`, `ref:cs2023`。
|
||||
- `semantics.evidence_required`: 分解图、候选空间、复杂度估算、剪枝理由与组合结果。
|
||||
|
||||
### `.entries[9]` — `psoa.computer-science.formal-methods`
|
||||
|
||||
- `kind/status/origin/source_key`: `MethodSpec` / `experimental` / `source` / `computer-science.formal-methods`
|
||||
- `name_zh`: 形式化方法
|
||||
- `summary`: 把需求转成invariant/contract,再生成或审查实现。
|
||||
- `core_question`: 能否在执行前证明关键性质?
|
||||
- `operation`: 形式化规格 → 定义不变量或性质 → 构造模型 → 验证或检查反例。
|
||||
- `applicability`: 关键行为可形式化且错误代价高;性质无法稳定定义或形式化成本明显超过风险收益时不适用。
|
||||
- `source_refs`: `ref:user-cross-domain-map`, `ref:nist-formal-methods`。
|
||||
- `semantics.evidence_required`: 分解图、候选空间、复杂度估算、剪枝理由与组合结果。
|
||||
|
||||
## 有限语义对照与处理
|
||||
|
||||
| Solve条目 | 对照结果与边界 |
|
||||
|---|---|
|
||||
| `greedy` | CS2023支持贪心作为算法策略,并要求评估其是否最优;不支持将“选当前收益最高操作”无条件用于任意Agent任务。需要明确目标/可行域、局部选择性质或近似保证及停止条件。历史候选“加法—减法贪心算法”限于提示元素组装,且候选材料明确缺少独立价值oracle、停止规则和留出;它与一般贪心策略相邻,不证明同一身份或效果。 |
|
||||
| `backtracking` | CS2023只把回溯列作处理指数增长的策略例子;Solve的“选择—测试—失败—撤销—替代”需进一步说明状态表示、候选完备性、撤销正确性、剪枝和预算。内部可恢复状态不等于外部I/O或已产生副作用可回滚。暂不新增登记。 |
|
||||
| `branch-and-bound` | 课程列举该策略不等于验证了此处的Agent流程。安全剪枝需明确目标方向、为剩余分支提供有效的乐观界,并证明不会剪掉可能优于当前incumbent的分支(从而保留最优解);还需定义incumbent更新、终止与界计算成本。Solve文本未写明这些证明义务。保留算法候选边界,不登记或赋级。 |
|
||||
| `complexity-analysis` | 与已登记`gongfa-input-scale-complexity-constraints`相关;CS2023 p.91支持算法输入规模、渐近及时间/空间效率主题。Solve将渐近算法分析与token、latency、通信和货币成本合列,维度的单位、系统边界和观测方法不同,不能由同一复杂度估算替代。定向对照不足以判定新的独立身份。 |
|
||||
| `formal-methods` | NIST定义支持规格、开发与验证这一广义概念;条目列举的步骤是可行应用之一,定义本身不保证能在执行前证明所有关键性质。与已登记`gongfa-lightweight-formal-methods`高度相关,当前证据不支持再建一个同义总项;若后续需要区分,应以适用逻辑、模型范围和验证保证作边界,而不是标题区分。 |
|
||||
|
||||
五条entry复用同一泛化`evidence_required`清单,和方法的正确性义务不匹配:贪心需要局部选择/近似保证,回溯需要状态树与完备/撤销证据,分支定界需要界的正确性及剪枝证明,复杂度分析需要规模假设与分析/测量口径,形式化方法需要规格、模型及验证覆盖。该清单不构成实际执行记录或效果证明。
|
||||
|
||||
## 结论与限制
|
||||
|
||||
本批不修改功法registry、历史候选登记、生成总表、品级或正式评级;不把CS2023或NIST术语定义当作Agent完整流程、独立身份、许可批准、独立审阅或软件工程效果证据。仅审查该pack的entries[5..9]和定向既有条目;entries[10..15]、历史候选全集以及556→410全量语义比较仍未完成。
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
# 2026-10-14 信息与知识科学 Solve pack entries[0..3]有限语义复核选区
|
||||
|
||||
> 本快照绑定原始pack选区和本次实际读取的来源范围;不是完整pack/目录语义去重,不代表许可批准、来源权威认证或效果证据。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- recorded_at: `2026-10-14T23:21:23Z`。
|
||||
- trigger: 续审信息需求、检索扩展、来源血缘及既有检索结果审计;区分来源元数据结构、查询操作、评测任务与完整检索流程。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 可审计的Solve全量候选语义交叉表承接本批结论后,本文件转只读历史依据并保留。
|
||||
- 项目审阅基线:`600c9ccd0dcc13dc88892fb43195a0e807e8408f`;功法registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve源仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;`agent/skills/workflow/modules/solve/references/packs/information-knowledge-science.json`工作树无差异,SHA-256 `4f6aadfa67ba2bf37e01f84d9334ccd83cbfe785e282ab233d16bcd5419e6db1`;选区为`/entries/0..3`,全pack共6项。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;捕获时该清单在Solve源仓库工作树为modified,仅绑定观察到的引用声明,不冒称它在该HEAD下已提交。
|
||||
- 本次读取NIST TREC overview(`https://trec.nist.gov/about.html`)、How To TREC(`https://trec.nist.gov/howto.html`)、W3C DCAT 3(`https://www.w3.org/TR/vocab-dcat-3/`)、W3C PROV-DM(`https://www.w3.org/TR/prov-dm/`)及NIST FAIR页面(`https://www.nist.gov/itl/ssd/information-systems-group/configurable-data-curation-system-cdcs/cdcs-help-and-resources-1`)。HTML页面未保存不可变原始副本/字节SHA;网页与规范的题名/版本按当前页面显示,不能代表永久固定版本。
|
||||
- TREC 2025 RAG Track overview PDF来自`https://trec.nist.gov/pubs/trec34/papers/Overview_rag.pdf`;抓取器提取21页、78,204字节Markdown,SHA-256 `8d8418693dac3d82f88af66edd4dd5c86929188bbe053d3b70fb72610e6aaf2f`。提取文本标出`arXiv:2603.09891v1 [cs.IR] 10 Mar 2026`。此哈希标识本次转换文本,不是PDF字节SHA,也不证明同行评审、效能或版本完整性。
|
||||
|
||||
## 有限语义对照
|
||||
|
||||
| Solve条目 | 与既有内容/候选关系 | 来源支持与处理 |
|
||||
|---|---|---|
|
||||
| `psoa.information-knowledge-science.information-need-formulation` | 将宽泛请求展开为目标、概念边界、时间、来源、证据和用途。与已登记问题界定框架相邻,但后者着重目标/现状/差距/验收;信息需求还有检索专用的资源与证据边界。 | TREC描述共享检索任务、query/topic、测试集合和相关性判断;DCAT描述数据目录元数据。二者不提供本条的完整需求规约顺序、证据标准或停止条件。可作为有用检索准备活动,但本轮不据主题素材建立独立登记。 |
|
||||
| `psoa.information-knowledge-science.retrieval-query-expansion` | 将概念扩为同义、上下位、实体、多语言/拼写变体,并按结果缺口调整查询;不等同于完整信息需求,也不覆盖结果质量评估。 | TREC How-to说明查询、训练/评估数据与提交流程,但不是通用扩词方法;DCAT提供目录描述词汇,不规定检索词扩展算法。TREC 2025 RAG PDF另述查询聚类/子叙事生成,但该内容不是此条列出的source_refs,不拿来替原来源补证。来源不能证明完整操作合同,暂不登记。 |
|
||||
| `psoa.information-knowledge-science.source-authority-and-provenance` | 记录身份、发布者、版本、许可、生成/派生活动,再按用途限定结论。与已登记`gongfa-evidence-triangulation`相关但不同:前者追踪资源和责任/派生关系,后者比较独立证据渠道;不把PROV元数据等同于来源权威判断。 | DCAT提供数据/服务目录和标识、发布者、日期、许可、关系等元数据结构;PROV-DM定义Entity、Activity、Agent及生成、使用、派生等关系;NIST FAIR页面列持久标识、可搜索元数据、访问协议、许可和provenance要求。这支持记录与追溯结构,不单独确立发布者可信度、证据源独立性、法律许可批准或用途特定的权威排序。主题可区分,完整审核方法与权威判据仍不足,本轮不登记。 |
|
||||
| `psoa.information-knowledge-science.relevance-precision-recall-audit` | 保持已存在于工具箱中的候选C窄边界:对已经形成的结果集,基于定义清楚的判断集审计相关性、排序与漏检;不负责拟定需求、扩展query或执行检索。该候选仍非机器登记。 | TREC建立检索评测任务、文档/query集合及相关性判断;TREC 2025 RAG report使用人工相关性qrels,并展示nDCG@30/@100与Recall@100。其“weighted precision/recall”属于生成回答对引用段落的支持评估,不等于文档检索precision/recall。该报告人工评估只覆盖22个narratives且因时限仅评每组最高优先级提交中的部分运行,说明判断集覆盖必须报告。它支持任务与范围边界,不替代独立完整qrels或候选的通用操作证明;沿用现有候选C,不扩成整条证据检索流程。详见工具箱锚点`philosophy-methodology-toolbox-candidate-retrieval-quality-evidence-coverage`。 |
|
||||
|
||||
### 实际读取到的来源范围
|
||||
|
||||
- NIST TREC overview说明NIST提供测试文档和问题,参与者提交排序结果,NIST汇集并组织相关性判断与评测;TREC How-to说明共享任务的训练数据与最终评估数据分离,提交结果并获得评分。两者支持IR评测环境和任务事实,不自动提供本pack所有步骤。
|
||||
- W3C DCAT 3的摘要说明它是描述Web数据目录中dataset/data service的RDF词汇;其数据项包含发布者、标识、日期、license与关系等属性。它规定的是目录互操作模型,不是source authority评分规则。
|
||||
- W3C PROV-DM摘要把provenance定义为涉及实体、活动及相关人员的生产信息,可用于对质量、可靠性或可信度形成判断;模型区分Entity、Activity、Agent、Derivation等结构。模型可表达血缘,不替使用者判断该来源是否足以支持某结论。
|
||||
- NIST FAIR页面列出Findable、Accessible、Interoperable、Reusable原则,涵盖持久标识、丰富可搜索元数据、标准访问协议、可共享词汇、usage license与detailed provenance;页面注明其原则摘自2016年论文、页面更新于2025-08-13。FAIR是数据管理原则,不是自动认证或许可批准。
|
||||
- TREC 2025 RAG报告将长篇narrative拆为sub-narratives后评文档相关性,使用0–4标签;Retrieval任务报告nDCG和Recall指标。它另设response/support评估,其中weighted precision/recall针对回答句子与被引段落支持关系。报告还指出人工相关性评估仅覆盖有限narratives及提交,不能把这批判断等同于全语料完整ground truth。
|
||||
|
||||
## 冻结的Solve字段投影
|
||||
|
||||
> 以下仅冻结本次判断使用的字段;pack SHA与JSON Pointer用于重取完整原项,不创建Solve第二份可编辑副本。
|
||||
|
||||
```text
|
||||
entry[0] psoa.information-knowledge-science.information-need-formulation
|
||||
kind=MethodSpec; origin=source; name_zh=信息需求规约
|
||||
summary=把模糊问题拆成目标、概念、时间范围、来源类型、可接受证据和输出用途。
|
||||
operation=澄清任务 → 定义概念/边界 → 指定来源与时间 → 预设证据标准和停止条件
|
||||
source_refs=[ref:trec-about, ref:w3c-dcat3]
|
||||
|
||||
entry[1] psoa.information-knowledge-science.retrieval-query-expansion
|
||||
kind=OperatorSpec; origin=source; name_zh=检索式扩展
|
||||
summary=围绕信息需求生成术语、实体、关系和多语言变体,再用结果反馈收缩或改写检索式。
|
||||
operation=抽取概念 → 加同义/上位/下位/实体词 → 分层检索 → 看结果缺口 → 迭代收缩
|
||||
source_refs=[ref:trec-howto, ref:w3c-dcat3]
|
||||
|
||||
entry[2] psoa.information-knowledge-science.source-authority-and-provenance
|
||||
kind=MethodSpec; origin=source; name_zh=来源权威与血缘审计
|
||||
summary=记录资源标识、发布者、版本、许可、生成活动和派生关系,按用途评估来源权威而非只看排名。
|
||||
operation=锁定标识 → 查发布者/版本/许可 → 追生成与派生 → 比较独立来源 → 限定可用结论
|
||||
source_refs=[ref:w3c-dcat3, ref:w3c-prov, ref:nist-fair-data]
|
||||
|
||||
entry[3] psoa.information-knowledge-science.relevance-precision-recall-audit
|
||||
kind=OperatorSpec; origin=source; name_zh=相关性、精确率与召回审计
|
||||
summary=用明确主题、相关性判断和评估集检查检索结果的精确率、召回率、排序质量和漏检。
|
||||
operation=定义相关性 → 建判断集 → 标注结果 → 计算 precision/recall/ranking → 分析漏检和偏差
|
||||
source_refs=[ref:trec-about, ref:trec-howto, ref:trec-rag-2025]
|
||||
项目候选边界=工具箱候选C:仅审既有检索结果集,不含需求制定、查询扩展或执行。
|
||||
```
|
||||
|
||||
## 范围与结论
|
||||
|
||||
本轮只审information-knowledge-science pack entries[0..3]、项目现有候选C及定向相邻登记/来源;未审entry[4..5],未遍历79条登记或410条目录,不构成556→410全量语义去重。entry[3]沿用已有候选,不重复立项;entry[0..2]不新增候选、登记、总表、初评或评级。没有修改registry、历史候选JSON或生成目录;外部页面未锁定完整版本/许可,独立审查和效果验证未完成。
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
# 2026-10-14 信息与知识科学 Solve pack entries[4..5]有限语义复核选区
|
||||
|
||||
> 本快照绑定原始pack选区及本次读取的来源范围;不是完整pack/目录语义去重,不代表许可批准、独立语义审查或效果证据。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- recorded_at: `2026-10-14T23:50:41Z`。
|
||||
- trigger: 续审FAIR元数据检查及派生证据检索组合;确认FAIR概念与社会公平的区分,并评估派生步骤是否有来源合同与真实闭环。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 可审计的Solve全量候选语义交叉表承接本批结论后,本文件转只读历史依据并保留。
|
||||
- 项目审阅基线:`b0159e438f69f06cacc3cbd2d84cc2f023250908`;功法registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve源仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;`agent/skills/workflow/modules/solve/references/packs/information-knowledge-science.json`工作树无差异,SHA-256 `4f6aadfa67ba2bf37e01f84d9334ccd83cbfe785e282ab233d16bcd5419e6db1`;选区为`/entries/4..5`,全pack共6项。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;捕获时该清单在Solve源仓库工作树为modified,仅绑定观察到的引用声明,不冒称它在该HEAD下已提交。
|
||||
- NIST FAIR页面:`https://www.nist.gov/itl/ssd/information-systems-group/configurable-data-curation-system-cdcs/cdcs-help-and-resources-1`,本次可读取;页面说这些原则摘自2016年论文,页面创建于2018-09-18、更新于2025-08-13。读取了当前可读文本,未保存原始HTML或字节SHA。
|
||||
- W3C DCAT 3:`https://www.w3.org/TR/vocab-dcat-3/`,本次读取当前规范页面;可见其描述数据目录互操作及publisher、identifier、license/rights、version、access URL/service等元数据属性。未保存不可变原始副本或字节SHA。
|
||||
- NIH Data Management and Sharing:`https://www.grants.nih.gov/policy-and-compliance/policy-topics/sharing-policies/dms/data-management`,本次直接读取返回HTTP 403,未读取正文;source-inventory中的摘要不作为已核验正文或公平性证据。
|
||||
- TREC overview:`https://trec.nist.gov/about.html`,沿用前批entries[0..3]快照中实际读取的共享任务、查询/文档集、相关性判断与检索评估范围;该来源不定义entry[5]的组合顺序、分支、反馈或再入循环。
|
||||
|
||||
## 有限语义对照
|
||||
|
||||
| Solve条目 | 与既有内容/候选关系 | 来源支持与处理 |
|
||||
|---|---|---|
|
||||
| `psoa.information-knowledge-science.metadata-and-fairness-check` | entry名`Metadata and FAIR Check`指FAIR(Findable、Accessible、Interoperable、Reusable),不是通常所说的社会/分配公平(fairness)。条目摘要与core question又加入公平/受影响群体是否被排除,需与FAIR元数据检查分开判定。 | NIST FAIR页面支持持久标识、丰富元数据、可搜索登记、标准访问协议(必要时认证/授权)、共享词汇、清晰使用许可、provenance和领域标准;W3C DCAT提供目录元数据/访问关系表达。这些不定义群体差异影响评估、伦理公平判据或责任流程。NIH源本次403,不能支持该扩展主张。条目可以作为窄FAIR元数据检查主题,但当前版本的公平性范围与固定来源不匹配,完整方法合同亦未独立核实;不新建项目候选或登记。 |
|
||||
| `psoa.information-knowledge-science.evidence-retrieval-loop` | `origin=derived`,依次调用entries[0..4];其外部refs仅覆盖TREC overview、DCAT和NIST FAIR等部分组件主题。与`gongfa-problem-definition-framework`、`gongfa-methodology-delivery-loop`有总体流程/反馈相邻关系,但本条的证据对象更窄,不能据此判为同一身份或独立增量。 | 组合条目没有独立来源或可复核的组合协议:列出一条固定序列,却没有明确何时回到需求/查询、何时跳过/重做阶段、异步来源失败如何恢复,或precision/recall与FAIR缺口如何设定可执行阈值。标题中的“Loop”及`origin=derived`不证明实际反馈闭环。来源支持若干组成概念,不能推出完整流程、效果或普遍适用性;保留为编辑性工作流草图,不独立登记。 |
|
||||
|
||||
## 实际读取到的来源范围
|
||||
|
||||
- NIST页面所列FAIR原则中,Accessibility允许必要的身份验证/授权;Reusability要求清晰的data usage license、详细provenance及领域标准。它没有提供群体公平性/差别影响审计流程,也不构成自动认证。
|
||||
- W3C DCAT 3定义Web数据目录的RDF词汇,以提升目录互操作与发现;可表达发布者、标识、许可/权利、版本、分发访问URL和访问服务等信息。元数据属性的存在不等于权限已经批准、资源可访问或资源满足公平性要求。
|
||||
- NIH来源本次HTTP 403,未核对页面所述政策、FAIR倡议和适用条件;不从来源清单摘要补写正文事实。
|
||||
- TREC overview与前批一样只支持共享检索任务、测试集合、返回排序结果、池化判断与评估这一层;没有提供将TREC、DCAT与FAIR按该派生顺序组合的定义。
|
||||
|
||||
## 冻结的Solve字段投影
|
||||
|
||||
> 以下仅冻结本次判断使用的字段;pack SHA与JSON Pointer用于重取完整原项,不创建Solve第二份可编辑副本。
|
||||
|
||||
```text
|
||||
entry[4] psoa.information-knowledge-science.metadata-and-fairness-check
|
||||
kind=MethodSpec; origin=source; name_zh=元数据与 FAIR 检查
|
||||
summary=检查资源是否可发现、可访问、可互操作、可复用,并把元数据缺口与公平/访问限制单独记录。
|
||||
operation=查标识/元数据 → 查协议/权限 → 查格式/词表 → 查许可/血缘/标准 → 记录缺口与访问影响
|
||||
source_refs=[ref:nist-fair-data, ref:w3c-dcat3, ref:nih-fair-data-management]
|
||||
|
||||
entry[5] psoa.information-knowledge-science.evidence-retrieval-loop
|
||||
kind=MethodSpec; origin=derived; name_zh=证据检索循环
|
||||
summary=组合需求规约、查询扩展、来源血缘、检索质量和 FAIR 检查,形成从问题到可复用证据集的循环。
|
||||
operation=Specify Need → Expand Query → Audit Sources → Measure Retrieval → Check FAIR
|
||||
source_refs=[ref:trec-about, ref:w3c-dcat3, ref:nist-fair-data]
|
||||
composition=[entries[0], entries[1], entries[2], entries[3], entries[4]]
|
||||
```
|
||||
|
||||
## 范围与结论
|
||||
|
||||
本轮只审information-knowledge-science pack entries[4..5]、相应引用页面与定向相邻登记;与前批entries[0..3]合计覆盖此pack的6条记录,但不覆盖其他Solve pack或410条目录,不构成556→410全量语义去重。entry[4]不把FAIR误作fairness,也不将不可读的NIH页面当证据;entry[5]作为派生工作流草图,不因组合或“Loop”名称建立独立身份。没有修改registry、历史候选JSON、生成总表、初评或评级;来源页面未锁定字节版本,NIH正文未读取,许可、独立审查与效果未验证。
|
||||
@@ -0,0 +1,235 @@
|
||||
# 2026-10-15 Solve「机器学习」pack entries[0..4]有限语义与来源复核
|
||||
|
||||
> 本快照冻结五条Solve来源记录、官方文档选区与定向语义对照;不构成新登记、候选接受、初评、品级、正式效能评级、许可批准、运行效果或独立审查,也不代表Solve 556条与功法目录410条的全量语义去重。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-15T09:57:54Z`。
|
||||
- 触发:延续机器学习pack审阅,检查训练/验证/测试分离、交叉验证、偏差—方差诊断、学习曲线和正则化的来源边界、Agent迁移与既有登记交叉关系。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:由带完整来源绑定、范围和独立复核记录的统一候选交叉表承接后,转为只读历史依据并保留。
|
||||
- PR基线:`89f9b25f72e097f846172d49a097a64868864a64`;`registry.json` SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`;生成目录 `catalog.md` SHA-256 `beed226238267c42d89c455c4889c5b6105a506737420760c3499adcc1fbcb6e`。基线含79条登记及410条目录记录;本批只做有限关键词、标题与选定登记的语义对照。
|
||||
- Solve pack:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/packs/machine-learning.json`,身份`psoa.pack.machine-learning@1.0.0`,18条记录;本批仅`.entries[0..4]`。完整原始文件SHA-256 `7166b175953aaeb94eed65d8813e9f17e1986afb0dc49268423f09e22a927417`。当前Pi agent Git HEAD为`ddee69426d133253c4ef89fdeb089818f5ee5e36`;该pack文件工作树无修改,HEAD中`agent/skills/workflow/modules/solve/references/packs/machine-learning.json`字节SHA与上述值一致;最后修改提交为`46a3cd6815a56b046145c93a0866a4e194b6ccfa`(`2026-09-20T03:20:15+08:00`)。这只绑定选定文件,不表示整个Solve工作树干净或Solve已发布。
|
||||
- Solve来源清单:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/source-inventory.json`,元数据版本`1.9.0`,当前工作树SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;该文件在Pi agent工作树为未提交修改。引用键当前映射为:`ref:user-cross-domain-map` → `conversation://cross-domain-method-map`(用户提供的跨领域方法清单;不是可独立复核的外部来源正文);`ref:sklearn-model-selection` → <https://scikit-learn.org/stable/model_selection.html>;`ref:sklearn-pitfalls` → <https://scikit-learn.org/stable/common_pitfalls.html>;`ref:sklearn-validation-curves` → <https://scikit-learn.org/stable/modules/learning_curve.html>。映射绑定当前清单工作树哈希;不将其未提交状态冒称正式版本。
|
||||
- 核验日期:2026-10-15。scikit-learn页面使用可变`stable`地址,未固定发布版本或原始页面字节哈希。为弥补模型选择索引页对交叉验证机制的证据不足,另补充读取官方[交叉验证文档](https://scikit-learn.org/stable/modules/cross_validation.html);该URL不在这五条记录的`source_refs`中,以下将其明确标为补充来源,不回填为原始来源绑定。
|
||||
- 未执行Solve方法或Harness实验;未修改registry、历史候选、评级或生成目录;未分配项目ID。
|
||||
|
||||
## 官方来源核对
|
||||
|
||||
以下引文为2026-10-15访问scikit-learn官方`stable`文档时保存的短摘录;页面会随版本变化,本快照不声称保存或哈希页面原始字节。
|
||||
|
||||
- [Common pitfalls §12.2 Data leakage](https://scikit-learn.org/stable/common_pitfalls.html#data-leakage)明确:“Test data should never be used to make choices about the model.”该页面把数据泄漏描述为在构建模型时使用预测时不可用的信息。它支持评估数据隔离,不直接定义Harness隐藏集、prompt版本选择或多轮Agent评测的完整治理规则。
|
||||
- 补充的[Cross-validation文档](https://scikit-learn.org/stable/modules/cross_validation.html)说明:“A test set should still be held out for final evaluation, but the validation set is no longer needed when doing CV.”其基本k-fold做法是在其余fold上训练、在留出的fold上评价,再汇总各fold指标;同页提醒i.i.d.虽常作为机器学习假设,现实中往往不满足,时间相关及群组依赖应使用匹配数据结构的划分器。该来源支持传统监督学习估计器上的交叉验证,不自动证明对Agent任务集采用随机fold有效。
|
||||
- 原引用的[Model selection and evaluation](https://scikit-learn.org/stable/model_selection.html)是相关主题导航页,链接到交叉验证、超参数调节和评价章节;仅凭该索引不能支撑五条记录各自的完整操作合同。
|
||||
- [Validation curves and learning curves](https://scikit-learn.org/stable/modules/learning_curve.html#learning-curve)说明:“A learning curve shows the validation and training score of an estimator for varying numbers of training samples.”页面称其可观察增加训练数据的收益并帮助区分偏差/方差问题;还以训练与验证分数的组合讨论欠拟合和过拟合。该来源的横轴是训练样本数,不是reasoning轮数、context或tool calls。
|
||||
- `ref:user-cross-domain-map`是来源记录中的会话映射,不是独立研究证据;它不能使Agent类比自动获得scikit-learn原文支持。
|
||||
|
||||
## 冻结Solve来源选区
|
||||
|
||||
完整Solve对象如下;其语义与顺序绑定上述pack原始SHA和零基数组索引。
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"id": "psoa.machine-learning.train-validation-test-separation",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"origin": "source",
|
||||
"source_key": "machine-learning.train-validation-test-separation",
|
||||
"name": "Train Validation Test Separation",
|
||||
"name_zh": "训练/验证/测试分离",
|
||||
"domain": "machine-learning",
|
||||
"status": "experimental",
|
||||
"summary": "训练/验证/测试分离:把 Harness 开发集与最终 hidden eval 严格分离。",
|
||||
"core_question": "优化过程有没有偷看最终考试?",
|
||||
"operation": "在训练集优化 → 在验证集选择 → 最终测试集只评一次",
|
||||
"agent_use": "把 Harness 开发集与最终 hidden eval 严格分离。",
|
||||
"applicability": {
|
||||
"when": ["需要比较或优化模型、prompt、agent 或 workflow。"],
|
||||
"not_when": ["样本少到无法形成有意义切分且已有更合适重采样方案。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:sklearn-model-selection", "ref:sklearn-pitfalls"],
|
||||
"governance": {"risk_level": "medium", "permission_decision": "harness_policy", "outcome_decision": "verifier", "sensitive_values": "reference_only"},
|
||||
"semantics": {
|
||||
"preconditions": ["需要比较或优化模型、prompt、agent 或 workflow。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "在训练集优化"},
|
||||
{"order": 2, "instruction": "在验证集选择"},
|
||||
{"order": 3, "instruction": "最终测试集只评一次"}
|
||||
],
|
||||
"stop_conditions": ["成功条件已由 Verifier 依据证据确认。", "前置条件失效、预算耗尽或 Harness policy 阻止继续。"],
|
||||
"success_conditions": ["把 Harness 开发集与最终 hidden eval 严格分离。"],
|
||||
"evidence_required": ["固定数据切分、指标、重复运行、置信/校准结果和 held-out 评估。"],
|
||||
"failure_modes": ["样本少到无法形成有意义切分且已有更合适重采样方案。", "步骤之间的数据、控制或验证依赖未满足。"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "psoa.machine-learning.cross-validation",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"origin": "source",
|
||||
"source_key": "machine-learning.cross-validation",
|
||||
"name": "Cross-Validation",
|
||||
"name_zh": "交叉验证",
|
||||
"domain": "machine-learning",
|
||||
"status": "experimental",
|
||||
"summary": "交叉验证:在多个 task folds 上评价 prompt 或 Agent。",
|
||||
"core_question": "结论是否依赖某一批样本?",
|
||||
"operation": "建立多个数据切分 → 重复训练或评估 → 聚合分布",
|
||||
"agent_use": "在多个 task folds 上评价 prompt 或 Agent。",
|
||||
"applicability": {
|
||||
"when": ["样本量有限且需要估计结果稳定性。"],
|
||||
"not_when": ["时间序列、群组或泄漏结构不允许普通随机切分。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:sklearn-model-selection"],
|
||||
"governance": {"risk_level": "medium", "permission_decision": "harness_policy", "outcome_decision": "verifier", "sensitive_values": "reference_only"},
|
||||
"semantics": {
|
||||
"preconditions": ["样本量有限且需要估计结果稳定性。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "建立多个数据切分"},
|
||||
{"order": 2, "instruction": "重复训练或评估"},
|
||||
{"order": 3, "instruction": "聚合分布"}
|
||||
],
|
||||
"stop_conditions": ["成功条件已由 Verifier 依据证据确认。", "前置条件失效、预算耗尽或 Harness policy 阻止继续。"],
|
||||
"success_conditions": ["在多个 task folds 上评价 prompt 或 Agent。"],
|
||||
"evidence_required": ["固定数据切分、指标、重复运行、置信/校准结果和 held-out 评估。"],
|
||||
"failure_modes": ["时间序列、群组或泄漏结构不允许普通随机切分。", "步骤之间的数据、控制或验证依赖未满足。"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "psoa.machine-learning.bias-variance-diagnosis",
|
||||
"version": "1.0.0",
|
||||
"kind": "MentalModelSpec",
|
||||
"origin": "source",
|
||||
"source_key": "machine-learning.bias-variance-diagnosis",
|
||||
"name": "Bias-Variance Diagnosis",
|
||||
"name_zh": "偏差—方差诊断",
|
||||
"domain": "machine-learning",
|
||||
"status": "experimental",
|
||||
"summary": "偏差—方差诊断:判断应该增加 Agent 能力还是减少复杂度。",
|
||||
"core_question": "错误来自能力不足还是对开发数据过拟合?",
|
||||
"operation": "比较训练与验证表现 → 识别高偏差或高方差 → 选择增容或约束",
|
||||
"agent_use": "判断应该增加 Agent 能力还是减少复杂度。",
|
||||
"applicability": {
|
||||
"when": ["训练和验证指标可比较且存在性能缺口。"],
|
||||
"not_when": ["数据分布不一致或指标本身不可靠。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:sklearn-model-selection"],
|
||||
"governance": {"risk_level": "low", "permission_decision": "harness_policy", "outcome_decision": "verifier", "sensitive_values": "reference_only"},
|
||||
"semantics": {
|
||||
"questions": ["错误来自能力不足还是对开发数据过拟合?"],
|
||||
"interpretation_rules": ["比较训练与验证表现 → 识别高偏差或高方差 → 选择增容或约束", "判断应该增加 Agent 能力还是减少复杂度。"],
|
||||
"limitations": ["数据分布不一致或指标本身不可靠。"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "psoa.machine-learning.learning-curve",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "machine-learning.learning-curve",
|
||||
"name": "Learning Curve",
|
||||
"name_zh": "学习曲线",
|
||||
"domain": "machine-learning",
|
||||
"status": "experimental",
|
||||
"summary": "学习曲线:测 reasoning 轮数、context、tool calls 与质量的收益曲线。",
|
||||
"core_question": "增加数据、上下文或计算还有多少边际收益?",
|
||||
"operation": "逐级增加资源 → 固定其他条件评估 → 绘制性能曲线 → 判断饱和点",
|
||||
"agent_use": "测 reasoning 轮数、context、tool calls 与质量的收益曲线。",
|
||||
"applicability": {
|
||||
"when": ["需要决定是否继续投入数据或计算。"],
|
||||
"not_when": ["实验条件无法控制或样本噪声掩盖趋势。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:sklearn-model-selection"],
|
||||
"governance": {"risk_level": "low", "permission_decision": "harness_policy", "outcome_decision": "verifier", "sensitive_values": "reference_only"},
|
||||
"semantics": {
|
||||
"preconditions": ["需要决定是否继续投入数据或计算。"],
|
||||
"inputs": ["problem_state", "goal", "constraints"],
|
||||
"procedure": ["逐级增加资源", "固定其他条件评估", "绘制性能曲线", "判断饱和点"],
|
||||
"effect": {"state": "knowledge_state", "statement": "测 reasoning 轮数、context、tool calls 与质量的收益曲线。"},
|
||||
"outcomes": ["succeeded", "inconclusive", "not_applicable", "failed"],
|
||||
"evidence_required": ["固定数据切分、指标、重复运行、置信/校准结果和 held-out 评估。"],
|
||||
"failure_modes": ["实验条件无法控制或样本噪声掩盖趋势。", "过程产物不足以支持声明的效果。"],
|
||||
"recovery": ["保留输入与已验证事实,返回 inconclusive、not_applicable 或 failed,并交由 Harness 重新选择方法。"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "psoa.machine-learning.regularization",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"origin": "source",
|
||||
"source_key": "machine-learning.regularization",
|
||||
"name": "Regularization",
|
||||
"name_zh": "正则化",
|
||||
"domain": "machine-learning",
|
||||
"status": "experimental",
|
||||
"summary": "正则化:给 Agent 加 action budget、tool budget 和 architecture penalty。",
|
||||
"core_question": "怎样限制系统用复杂度记住噪声?",
|
||||
"operation": "定义复杂度度量 → 增加惩罚或约束 → 重新优化 → 比较泛化",
|
||||
"agent_use": "给 Agent 加 action budget、tool budget 和 architecture penalty。",
|
||||
"applicability": {
|
||||
"when": ["开发集表现好但泛化差,或系统复杂度持续膨胀。"],
|
||||
"not_when": ["约束会删除完成任务所必需的能力。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:sklearn-model-selection"],
|
||||
"governance": {"risk_level": "medium", "permission_decision": "harness_policy", "outcome_decision": "verifier", "sensitive_values": "reference_only"},
|
||||
"semantics": {
|
||||
"preconditions": ["开发集表现好但泛化差,或系统复杂度持续膨胀。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "定义复杂度度量"},
|
||||
{"order": 2, "instruction": "增加惩罚或约束"},
|
||||
{"order": 3, "instruction": "重新优化"},
|
||||
{"order": 4, "instruction": "比较泛化"}
|
||||
],
|
||||
"stop_conditions": ["成功条件已由 Verifier 依据证据确认。", "前置条件失效、预算耗尽或 Harness policy 阻止继续。"],
|
||||
"success_conditions": ["给 Agent 加 action budget、tool budget 和 architecture penalty。"],
|
||||
"evidence_required": ["固定数据切分、指标、重复运行、置信/校准结果和 held-out 评估。"],
|
||||
"failure_modes": ["约束会删除完成任务所必需的能力。", "步骤之间的数据、控制或验证依赖未满足。"]
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## 冻结字段审阅投影
|
||||
|
||||
### `.entries[0]` — `train-validation-test-separation`
|
||||
|
||||
- 官方`common_pitfalls`及补充交叉验证页面支持训练、验证与最终测试用途分离,且测试数据不得用于模型选择;“最终测试只评一次”是避免自适应泄漏的执行策略,不是该页面逐字给出的无条件定律。
|
||||
- 将普通测试集映射为Harness hidden eval是可理解的跨域类比,不是来源直接证明。要成立,评测任务、标签、反馈和评分信号在优化期都不能泄漏;一旦开发者据隐藏评测反馈修改prompt/Agent,该集合就参与了选择,不能继续冒称未触碰的最终留出集。
|
||||
- 处理:作为评估数据隔离约束保留在方法论层,不单独登记为新功法;需与模型/Agent版本、指标、数据分组及评测反馈可见性绑定。
|
||||
|
||||
### `.entries[1]` — `cross-validation`
|
||||
|
||||
- 补充官方文档支持经典k-fold:每轮在其余fold拟合,在留出fold评分,并聚合多轮分数;最终测试集仍需单独保留。原`source_refs`中的模型选择URL仅为导航页,细节支持来自本批补充来源。
|
||||
- 移植到Agent评估时应明确独立观测单位(任务、用户、项目、时间窗)、共同来源和泄漏关系;任务有时间或群组结构时不能默认随机fold。反复用同一fold选择prompt/模型会使其成为开发反馈,仍需独立最终评估。对Agent不一定存在逐fold“训练”阶段,较准确地说可能是分层/重复任务集评估,而非照搬估计器训练语义。
|
||||
- 处理:作为评估设计算子由既有实验/评测方法承载;不独立登记,也不把多fold平均自动当成统计独立性或泛化保证。
|
||||
|
||||
### `.entries[2]` — `bias-variance-diagnosis`
|
||||
|
||||
- 官方学习曲线文档支持有限模型诊断:训练和验证表现都低可提示欠拟合;训练表现高而验证低可提示过拟合。它支持观察模式,不证明所有误差都可归因为“能力不足”或“复杂度过高”。
|
||||
- “增加Agent能力或减少复杂度”是待验证行动假设;还可能受任务难度分布、标签噪声、指标失真、采样偏差、随机性或分布漂移影响。先确认数据与指标可比,再设计区分实验,不由单个训练/验证差距直接决定架构变更。
|
||||
- 处理:保留为模型诊断心智模型,不升格为通用Agent策略,不登记。
|
||||
|
||||
### `.entries[3]` — `learning-curve`
|
||||
|
||||
- 官方来源定义的横轴是训练样本数,记录训练与验证分数并帮助判断增加训练数据的收益;Solve记录把横轴外推到reasoning轮数、context和tool calls,属于跨域资源投入—质量响应曲线,不是来源已经证明的经典学习曲线语义。
|
||||
- 此类实验需固定任务抽样、模型/prompt版本、工具环境、评分器和成本口径;对不同资源轴分别测量并记录延迟、token、工具成本及质量,不把某次局部曲线的饱和外推为所有任务的最优预算。数据缺乏控制或噪声遮蔽时结论应为不确定。
|
||||
- 处理:概念上归入`gongfa-experimental-design`与`gongfa-performance-by-measurement`的具体测量方案;若需要新操作名,应先区分资源响应曲线与样本学习曲线,并以独立评测验证,不登记当前泛化版本。
|
||||
|
||||
### `.entries[4]` — `regularization`
|
||||
|
||||
- 本条原始引用只指向模型选择导航页及用户提供的跨域映射;本批页面没有直接核实“Agent action/tool budget或architecture penalty即正则化”的具体操作合同。
|
||||
- action/tool budget常是硬性可行域约束;只有在明确优化目标、复杂度惩罚/约束及其训练—验证影响时,才可进一步讨论与特定正则化形式的对应。预算约束可能删掉完成任务所需能力,不能把“少用工具/动作”本身当成功或泛化证明。
|
||||
- 与`gongfa-input-scale-complexity-constraints`、`gongfa-pragmatic-optimization`及`gongfa-validated-abstraction`有成本/复杂度主题交集,但不等同;当前Agent映射证据不足,暂不形成新功法身份或登记。
|
||||
|
||||
## 定向交叉对照与结论
|
||||
|
||||
本批针对79条登记与410条目录做了标题/关键词检索,并检查下列既有记录;不是逐条全量语义去重。存在主题相邻,不代表同义或已经合并:
|
||||
|
||||
- `gongfa-experimental-design`:把设计争议转为可测实验;可承载交叉验证或资源响应实验的研究设计,但不等同于机器学习CV算法。
|
||||
- `gongfa-performance-by-measurement`、`gongfa-pragmatic-optimization`:支持先定指标、测量和避免凭感觉优化;不自动给出数据划分或统计推断合同。
|
||||
- `gongfa-evidence-triangulation`、`gongfa-falsification`:分别处理证据独立性与可失败检验;不替代独立留出集。
|
||||
- `gongfa-finite-sample-generative-inference`:涉及有限样本、假设和模型选择,概念相邻但不是数据隔离或交叉验证步骤。
|
||||
- `gongfa-input-scale-complexity-constraints`:检查输入规模、复杂度、复制与内存代价;不证明资源预算就是正则化。
|
||||
|
||||
五条记录跨越`MethodSpec`、`MentalModelSpec`与`OperatorSpec`,其中Agent使用方式主要由用户跨域映射给出。传统机器学习侧有部分官方概念支持;从模型/数据集到Agent、prompt、task fold和运行预算的转移仍是待证类比。故本批不新增登记、候选ID、初评、品级或正式评级,也不自动合并现有记录。未审核本pack其余entries,不代表Solve 556条与功法目录410条全量去重。
|
||||
@@ -0,0 +1,230 @@
|
||||
# 2026-10-15 Solve「机器学习」pack entries[5..8]有限语义与来源复核
|
||||
|
||||
> 本快照绑定四条Solve来源记录、有限官方文档选区及定向交叉核对;不构成新登记、候选接受、初评、品级、正式效能评级、许可批准、运行效果或独立审查,也不代表Solve 556条与功法目录410条的全量语义去重。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-15T10:47:03Z`。
|
||||
- 触发:续审机器学习pack,核对数据泄漏控制、超参数搜索、概率校准和特征贡献分析的外部支持、Agent迁移边界及与已登记方法的局部邻接关系。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:由具完整来源绑定、范围与独立复核的统一候选交叉表承接后,转为只读历史依据并保留。
|
||||
- PR基线:`564a21a5f468ff149fc521608a939b8ce3b0b693`;`registry.json` SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`;生成目录`catalog.md` SHA-256 `beed226238267c42d89c455c4889c5b6105a506737420760c3499adcc1fbcb6e`。基线有79条登记和410条目录记录;本批只做有限关键词、标题和相关登记的局部语义核对。
|
||||
- Solve pack:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/packs/machine-learning.json`,身份`psoa.pack.machine-learning@1.0.0`,18条记录;本批仅`.entries[5..8]`。完整文件SHA-256 `7166b175953aaeb94eed65d8813e9f17e1986afb0dc49268423f09e22a927417`;对该切片执行`jq -c '.entries[5:9]'`所得SHA-256 `5578cb7714ab7830293ed6f8479268f4c2d0a0964086eeadb8bd7447030ff44d`。两个哈希绑定当前本地源文件与零基数组选区,不代表Solve工作树整体干净或已发布。
|
||||
- Solve来源清单:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/source-inventory.json`,元数据版本`1.9.0`,当前工作树SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`,为未提交修改;引用键`ref:user-cross-domain-map`是用户提供的会话方法清单,不是独立外部正文;`ref:sklearn-model-selection`映射到<https://scikit-learn.org/stable/model_selection.html>,`ref:sklearn-pitfalls`映射到<https://scikit-learn.org/stable/common_pitfalls.html>。以下补充模块页未写回pack或source inventory,不能伪称为原始引用键的冻结内容。
|
||||
- scikit-learn使用可变`stable`地址,页面发布版本与原始字节哈希未固定。以下仅核对2026-10-15访问时的相关官方页面短摘录。
|
||||
- 未执行Solve方法或Agent实验;未修改功法registry、历史候选、评级或生成目录;未分配项目ID或候选ID。
|
||||
|
||||
## 来源核对
|
||||
|
||||
- [Common pitfalls—Data leakage](https://scikit-learn.org/stable/common_pitfalls.html#data-leakage):前批同日快照已记录原文“Test data should never be used to make choices about the model.”页面支持传统估计器的测试数据隔离,不直接定义hidden eval访问控制、reviewer context或跨轮Agent调参规则。
|
||||
- [Tuning the hyper-parameters](https://scikit-learn.org/stable/modules/grid_search.html):`GridSearchCV`评估参数组合并保留最佳组合;页面将嵌套交叉验证示例称为使用grid search评估模型表现的最佳实践。只支持传统估计器的搜索/选择与评估边界;不证明prompt、temperature、agent depth或retrieval-k的搜索空间、预算、指标和效果。
|
||||
- [Probability calibration](https://scikit-learn.org/stable/modules/calibration.html):校准曲线比较二分类器概率预测与条件事件频率;页面指出校准器宜用独立于分类器训练数据的数据拟合,并提醒训练数据会造成偏差。它不证明Agent自报confidence是真概率、不确定度分数已校准,也不提供风险升级阈值。
|
||||
- [Permutation feature importance](https://scikit-learn.org/stable/modules/permutation_importance):将单一表格特征随机打乱并观察模型分数退化;可重复扰动估计特定模型和评分函数下的变化。留出集测量可帮助观察泛化表现中的依赖,但不是因果效应证明。pack自身将强相关特征列为单变量扰动的适用限制;本次官方页面选区未独立核实该限制,Agent输入扰动的语义破坏和分布变化影响也未实测。
|
||||
- `ref:user-cross-domain-map`只记录用户给定的跨域映射,不能为Agent迁移提供独立经验支持。上述补充页面不回填为原pack的`source_refs`。
|
||||
|
||||
## 冻结选区与边界
|
||||
|
||||
切片身份依赖上述pack文件SHA和`.entries[5..8]`范围:
|
||||
|
||||
| pack索引 | Solve记录 | 传统机器学习来源可支持的范围 | Agent侧未证范围 |
|
||||
|:---|:---|:---|:---|
|
||||
| 5 | `psoa.machine-learning.data-leakage-control` | 测试数据不应用于模型选择;泄漏会污染泛化评估 | hidden tests、reviewer context、检索与生成各阶段的隔离合同;来源只支持一般评测隔离,跨域适配仍需Harness实测 |
|
||||
| 6 | `psoa.machine-learning.hyperparameter-search` | 评估参数组合并按验证目标选择;评估搜索结果须防止选择偏差 | Agent配置空间、任务族、搜索预算、成本/安全约束及是否可重复,均未由Estimator文档证明 |
|
||||
| 7 | `psoa.machine-learning.calibration` | 二分类概率与观测频率的对照、独立校准数据与传统校准器 | Agent confidence、风险分数、escalate threshold的真值、标注、分组/漂移、误拒漏放与动作效用;不能把概率校准直接等同动作策略 |
|
||||
| 8 | `psoa.machine-learning.feature-importance` | 指定模型、评分函数与数据集上的单列置换敏感度 | 扰动context/document/tool output是否保持语义、是否分布外,以及能否支持因果归因;这些都未验证 |
|
||||
|
||||
以下为上述索引范围的完整Solve条目;身份与顺序仍由pack完整SHA、零基索引及切片SHA共同绑定:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"id": "psoa.machine-learning.data-leakage-control",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"origin": "source",
|
||||
"source_key": "machine-learning.data-leakage-control",
|
||||
"name": "Data Leakage Control",
|
||||
"name_zh": "数据泄漏控制",
|
||||
"domain": "machine-learning",
|
||||
"status": "experimental",
|
||||
"summary": "数据泄漏控制:hidden tests 不进入生成、调参或 reviewer context。",
|
||||
"core_question": "评估信息是否进入了生成或选择过程?",
|
||||
"operation": "标记数据角色 → 隔离测试数据 → 只在允许阶段访问 → 审计派生关系",
|
||||
"agent_use": "hidden tests 不进入生成、调参或 reviewer context。",
|
||||
"applicability": {
|
||||
"when": ["存在模型/提示优化、检索、评审或多阶段数据使用。"],
|
||||
"not_when": ["数据角色无法追踪或同一 artifact 被多头复制。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:sklearn-pitfalls"],
|
||||
"governance": {
|
||||
"risk_level": "high",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": ["存在模型/提示优化、检索、评审或多阶段数据使用。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "标记数据角色"},
|
||||
{"order": 2, "instruction": "隔离测试数据"},
|
||||
{"order": 3, "instruction": "只在允许阶段访问"},
|
||||
{"order": 4, "instruction": "审计派生关系"}
|
||||
],
|
||||
"stop_conditions": [
|
||||
"成功条件已由 Verifier 依据证据确认。",
|
||||
"前置条件失效、预算耗尽或 Harness policy 阻止继续。"
|
||||
],
|
||||
"success_conditions": ["hidden tests 不进入生成、调参或 reviewer context。"],
|
||||
"evidence_required": ["固定数据切分、指标、重复运行、置信/校准结果和 held-out 评估。"],
|
||||
"failure_modes": [
|
||||
"数据角色无法追踪或同一 artifact 被多头复制。",
|
||||
"步骤之间的数据、控制或验证依赖未满足。"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "psoa.machine-learning.hyperparameter-search",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"origin": "source",
|
||||
"source_key": "machine-learning.hyperparameter-search",
|
||||
"name": "Hyperparameter Search",
|
||||
"name_zh": "超参数搜索",
|
||||
"domain": "machine-learning",
|
||||
"status": "experimental",
|
||||
"summary": "超参数搜索:自动搜索 prompt、temperature、agent depth 和 retrieval-k。",
|
||||
"core_question": "哪种配置在既定目标和预算下最好?",
|
||||
"operation": "定义搜索空间 → 选择搜索策略 → 重复评估 → 按验证目标选择",
|
||||
"agent_use": "自动搜索 prompt、temperature、agent depth 和 retrieval-k。",
|
||||
"applicability": {
|
||||
"when": ["配置对效果敏感且评估可重复。"],
|
||||
"not_when": ["搜索预算不足、指标易被投机或测试集已泄漏。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:sklearn-model-selection"],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": ["配置对效果敏感且评估可重复。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "定义搜索空间"},
|
||||
{"order": 2, "instruction": "选择搜索策略"},
|
||||
{"order": 3, "instruction": "重复评估"},
|
||||
{"order": 4, "instruction": "按验证目标选择"}
|
||||
],
|
||||
"stop_conditions": [
|
||||
"成功条件已由 Verifier 依据证据确认。",
|
||||
"前置条件失效、预算耗尽或 Harness policy 阻止继续。"
|
||||
],
|
||||
"success_conditions": ["自动搜索 prompt、temperature、agent depth 和 retrieval-k。"],
|
||||
"evidence_required": ["固定数据切分、指标、重复运行、置信/校准结果和 held-out 评估。"],
|
||||
"failure_modes": [
|
||||
"搜索预算不足、指标易被投机或测试集已泄漏。",
|
||||
"步骤之间的数据、控制或验证依赖未满足。"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "psoa.machine-learning.calibration",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"origin": "source",
|
||||
"source_key": "machine-learning.calibration",
|
||||
"name": "Calibration",
|
||||
"name_zh": "校准",
|
||||
"domain": "machine-learning",
|
||||
"status": "experimental",
|
||||
"summary": "校准:校准 Agent confidence 和 escalate threshold。",
|
||||
"core_question": "系统声称的置信度和真实正确率是否一致?",
|
||||
"operation": "收集置信与结果 → 分桶比较 → 拟合或调整 → 在留出集复验",
|
||||
"agent_use": "校准 Agent confidence 和 escalate threshold。",
|
||||
"applicability": {
|
||||
"when": ["系统输出概率、置信或风险分数并据此行动。"],
|
||||
"not_when": ["没有可靠真值或分布快速漂移。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:sklearn-model-selection"],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": ["系统输出概率、置信或风险分数并据此行动。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "收集置信与结果"},
|
||||
{"order": 2, "instruction": "分桶比较"},
|
||||
{"order": 3, "instruction": "拟合或调整"},
|
||||
{"order": 4, "instruction": "在留出集复验"}
|
||||
],
|
||||
"stop_conditions": [
|
||||
"成功条件已由 Verifier 依据证据确认。",
|
||||
"前置条件失效、预算耗尽或 Harness policy 阻止继续。"
|
||||
],
|
||||
"success_conditions": ["校准 Agent confidence 和 escalate threshold。"],
|
||||
"evidence_required": ["固定数据切分、指标、重复运行、置信/校准结果和 held-out 评估。"],
|
||||
"failure_modes": [
|
||||
"没有可靠真值或分布快速漂移。",
|
||||
"步骤之间的数据、控制或验证依赖未满足。"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "psoa.machine-learning.feature-importance",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "machine-learning.feature-importance",
|
||||
"name": "Feature Importance",
|
||||
"name_zh": "特征贡献分析",
|
||||
"domain": "machine-learning",
|
||||
"status": "experimental",
|
||||
"summary": "特征贡献分析:扰动 context、document 或 tool output,识别 Agent 依赖的信息。",
|
||||
"core_question": "结果真正依赖哪些输入信息?",
|
||||
"operation": "扰动或移除特征 → 重评性能 → 比较退化 → 排序贡献",
|
||||
"agent_use": "扰动 context、document 或 tool output,识别 Agent 依赖的信息。",
|
||||
"applicability": {
|
||||
"when": ["需要解释模型或 Harness 的信息依赖。"],
|
||||
"not_when": ["特征强相关导致单变量扰动产生误导。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:sklearn-model-selection"],
|
||||
"governance": {
|
||||
"risk_level": "low",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": ["需要解释模型或 Harness 的信息依赖。"],
|
||||
"inputs": ["problem_state", "goal", "constraints"],
|
||||
"procedure": ["扰动或移除特征", "重评性能", "比较退化", "排序贡献"],
|
||||
"effect": {
|
||||
"state": "knowledge_state",
|
||||
"statement": "扰动 context、document 或 tool output,识别 Agent 依赖的信息。"
|
||||
},
|
||||
"outcomes": ["succeeded", "inconclusive", "not_applicable", "failed"],
|
||||
"evidence_required": ["固定数据切分、指标、重复运行、置信/校准结果和 held-out 评估。"],
|
||||
"failure_modes": [
|
||||
"特征强相关导致单变量扰动产生误导。",
|
||||
"过程产物不足以支持声明的效果。"
|
||||
],
|
||||
"recovery": ["保留输入与已验证事实,返回 inconclusive、not_applicable 或 failed,并交由 Harness 重新选择方法。"]
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## 有限语义交叉核对
|
||||
|
||||
- `data-leakage-control`与entries[0..4]的训练/验证/测试隔离主题连续,尤其重叠于避免测试信息参与选择的边界;它把规则展开到hidden eval、生成、调参及reviewer context,但这些操作阶段是Agent侧扩展,不足以据此认定独立于现有评测隔离方法的新功法。
|
||||
- `hyperparameter-search`与已登记的`gongfa-experimental-design`、`gongfa-pragmatic-optimization`相邻:前者强调配置候选搜索,后两者分别重在实验决策和指标导向。当前来源不足以证明pack所列Agent参数搜索构成独立且完整方法,也不因相邻而自动合并。
|
||||
- `calibration`是概率预测质量检查;此前`confidence-escalation`候选还包含风险阈值和动作路由,两者有关联但不是同一操作。此次官方来源支持传统分类器校准,不足以确认Agent置信度的测量与校准契约。
|
||||
- `feature-importance`和此前审阅的`causal-feature-ablation`都涉及输入扰动,但本记录按评分退化排序的是模型依赖敏感度;消融的因果说法需要可解释干预、对照及混杂控制。单特征置换不证明因果,Context/文档/工具输出的语义保持也未证。
|
||||
- 局部标题/术语检索可见`gongfa-proximate-causal-mechanism`、`gongfa-validated-abstraction`等相邻记录,但本批不是79条登记、410条目录或Solve 556条的完整语义去重,不声称不存在其他重复或等价表达。
|
||||
|
||||
## 处理结果
|
||||
|
||||
四条均保留为Solve来源包中的实验性记录,仅作本次有限来源/语义复核;不新增候选快照ID、功法身份、初评或评级,不改registry与生成总表。源包所述Agent行为若要升级,需明确任务族、数据和动作边界,并有独立标签、固定评估协议、失败样例与可复核运行结果;官方传统机器学习文档不能替代这些证据。
|
||||
@@ -0,0 +1,421 @@
|
||||
# 2026-10-14 编程原则 pack 近标题命中的有限冻结选区
|
||||
|
||||
> 本文件冻结5条Solve来源记录及其有限对照定位,用于检查标题相近项是否只是同一历史候选的操作化表达;不证明来源沿袭、身份合并、独立功法、许可或效果,也不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T13:02:51Z`。
|
||||
- 触发:复核先前的Solve候选名称相似检索结果,选择5条当前pack记录与仓内冻结历史候选直接比较;相似度仅用于召回,不作语义结论。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:五项的人工语义与来源处置均记录后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;该仓`VERSION`、`catalog.json`、`source-inventory.json`有未提交修改,不声称整体为干净发布状态。
|
||||
- 来源pack:`skills/workflow/modules/solve/references/packs/programming-principles-101.json`,`psoa.pack.programming-principles-101@1.0.0`,最后修改提交`772b199f326e2846cb043d193ae57958429cdd5c`,文件SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`;pack文件工作树干净。下方保存完整JSON值;索引为`.entries`零基索引,JSON空白不作为来源字节。
|
||||
- 来源清单文件`references/source-inventory.json`当前SHA-256为`5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`,尚有未提交修改。所选条目的`source_refs`指向`ref:programming-principles-101-book`,来源清单将其URI登记为`conversation://programming-principles-101-materials`;原始材料、版本、具体选区和许可未在本轮独立核验。
|
||||
- 对照快照:仓内`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;下表候选ID仅定位历史HTML材料,不表示已登记。
|
||||
|
||||
| Solve来源ID / 选区 | 历史候选定位 | 本轮观察(有限) |
|
||||
|---|---|---|
|
||||
| `psoa.programming-principles-101.logic-data-cohesion` / `.entries[12]` | `html211:A017`「3.7 逻辑与数据的一体化」 | 同一核心主张:让共同变化的数据与逻辑靠近;Solve条目更明确列读写者、边界迁移和契约验证,暂视为高度重叠/操作化,不据此另立身份。 |
|
||||
| `psoa.programming-principles-101.nonfunctional-requirements` / `.entries[26]` | `html211:A032`「3.22 软件架构的非功能需求」 | 同为非功能质量属性;Solve条目将属性展开为场景、阈值、设计/测试关联,旧候选本身是复合内容。可视为更可执行的表达,但独立方法性与来源仍未证明。 |
|
||||
| `psoa.programming-principles-101.software-leverage` / `.entries[62]` | `html211:A071`「3.61 充分利用软件的杠杆效应」 | 同为复用既有软件与自动化;Solve条目补充许可、维护、行为验证和回滚,未证明其为独立于既有胶水原则/候选内容的方法。 |
|
||||
| `psoa.programming-principles-101.eighty-ten-ten-boundary-check` / `.entries[80]` | `html211:A097`「7.5 80-10-10原则」 | 同为验证工具适用域与尾部缺口;Solve条目补充代表性场景及退出/替代决策,不能把数值比例当经验定律或实测保证。 |
|
||||
| `psoa.programming-principles-101.second-system-control` / `.entries[82]` | `html211:A099`「7.7 第二系统综合征」 | 同为抑制后续版本的功能膨胀;Solve条目补充逐项需求证据、核心/外围分层和回归,不据此建立平行身份。 |
|
||||
|
||||
五条历史记录来自已冻结的候选快照,但该快照明确不是独立来源核验或正式登记。以上只是有限的语义近邻核对;不推广到`programming-principles-101` pack其余条目,也不构成556→410全量去重。
|
||||
|
||||
## 冻结的Solve记录
|
||||
|
||||
### psoa.programming-principles-101.logic-data-cohesion — entries[12]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.logic-data-cohesion",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.logic-data-cohesion",
|
||||
"name": "Logic and Data Cohesion",
|
||||
"name_zh": "逻辑与数据的一体化",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "把修改某数据所需的逻辑靠近该数据,减少跨模块同步和隐含关联。",
|
||||
"core_question": "修改一份数据时,相关逻辑是否能在同一边界内找到?",
|
||||
"operation": "追踪数据与逻辑的共同变化 → 调整边界 → 收窄同步面 → 用数据变更回归。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“逻辑与数据的一体化”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"数据结构和处理逻辑分散,修改需要跨多个模块同步。"
|
||||
],
|
||||
"not_when": [
|
||||
"数据必须由明确的外部契约或独立层拥有。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"数据结构和处理逻辑分散,修改需要跨多个模块同步。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"列出数据的读写者和共同变化点",
|
||||
"识别应由同一边界负责的逻辑",
|
||||
"移动或封装相关逻辑",
|
||||
"验证外部契约和序列化行为"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "相关数据和逻辑的变更路径更短、更显式。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"数据流图、读写清单、接口差异和回归测试。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"移动逻辑破坏所有权、事务或性能边界。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复边界或增加明确适配层,保留可追踪的数据所有权。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.7",
|
||||
"functional_class": "decomposition"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.nonfunctional-requirements — entries[26]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.nonfunctional-requirements",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.nonfunctional-requirements",
|
||||
"name": "Non-functional Requirements",
|
||||
"name_zh": "软件架构的非功能需求",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "把易变性、互操作性、效率、可靠性、可测试性、安全和审计等属性提前变成可验证要求。",
|
||||
"core_question": "除了功能正确,系统还必须在什么质量属性上成立?",
|
||||
"operation": "列质量属性 → 写场景和阈值 → 绑定设计与测试 → 持续复核实际边界。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“软件架构的非功能需求”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"功能完成但上线、维护、互操作或审计风险仍未定义。"
|
||||
],
|
||||
"not_when": [
|
||||
"没有目标用户、负载或风险语境,无法给质量属性设定可检验边界。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"功能完成但上线、维护、互操作或审计风险仍未定义。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"列出相关质量属性和失败影响",
|
||||
"为每项写可观察场景和阈值",
|
||||
"把要求关联到设计与验证",
|
||||
"记录剩余风险和复查触发器"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "非功能目标进入设计、测试和交付验收,而非事后补救。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"质量属性场景、阈值、测试结果和剩余风险。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把口号当成需求,缺少可测指标或优先级。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"缩小范围到高影响属性,补充测量和验收条件。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.22",
|
||||
"functional_class": "verification-falsification"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.software-leverage — entries[62]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.software-leverage",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.software-leverage",
|
||||
"name": "Software Leverage",
|
||||
"name_zh": "充分利用软件的杠杆效应",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "优先复用成熟能力、组合小工具和自动化重复劳动,让已有软件产生乘数效应。",
|
||||
"core_question": "是否存在成熟能力可以安全复用,而无需重新实现?",
|
||||
"operation": "调查现有能力 → 比较复用与自研 → 组合或自动化 → 验证供应链和行为边界。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“充分利用软件的杠杆效应”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"重复手工工作或常见能力已有成熟实现。"
|
||||
],
|
||||
"not_when": [
|
||||
"现有方案不满足核心契约、维护不可控或引入不可接受供应链风险。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"重复手工工作或常见能力已有成熟实现。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"列出候选工具及其许可、维护和契约",
|
||||
"验证候选覆盖的真实需求",
|
||||
"用小范围组合或自动化试点",
|
||||
"保留替换和回滚路径"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "开发杠杆提高,新增依赖的风险和边界透明。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"候选调查、许可/版本、试点结果、行为回归和退出方案。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把工具宣传当成能力证明,忽略边界和维护成本。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回退到可控实现,保留调查证据并重新比较。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.61",
|
||||
"functional_class": "construction"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.eighty-ten-ten-boundary-check — entries[80]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.eighty-ten-ten-boundary-check",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.eighty-ten-ten-boundary-check",
|
||||
"name": "80-10-10 Boundary Check",
|
||||
"name_zh": "80-10-10原则",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "在采用高层工具前验证其主要覆盖范围、最后关键部分和商业核心边界。",
|
||||
"core_question": "工具覆盖不了的最后部分是否正好是最重要或最难替代的部分?",
|
||||
"operation": "用代表性场景模拟 → 划分覆盖与缺口 → 评估最后部分价值 → 组合、替换或自研。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“80-10-10 原则”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"工具、框架或平台看似覆盖大部分需求,但尾部能力未知。"
|
||||
],
|
||||
"not_when": [
|
||||
"工具边界已被独立测试覆盖,且缺口不影响目标。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"工具、框架或平台看似覆盖大部分需求,但尾部能力未知。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"选择覆盖正常、边界和核心业务的场景",
|
||||
"记录工具覆盖、失败和不可替代部分",
|
||||
"判断尾部需求的价值与风险",
|
||||
"决定组合工具、增加边界或退出"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "工具选择基于代表性覆盖和尾部风险,而非总体宣传比例。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"模拟结果、覆盖矩阵、缺口价值、成本和替代方案。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"只测简单演示路径,最后关键部分上线才暴露。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"冻结扩展承诺,补测核心缺口并重新选择方案。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "7.5",
|
||||
"functional_class": "control-metacognition"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.second-system-control — entries[82]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.second-system-control",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.second-system-control",
|
||||
"name": "Second-System Control",
|
||||
"name_zh": "第二系统综合征",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "后续大版本不把上一版遗留想法和所有新需求一次塞入核心,优先稳定核心和用户价值。",
|
||||
"core_question": "这个功能对目标用户和核心价值是否足够重要,值得进入核心吗?",
|
||||
"operation": "重新定义用户与目标 → 逐项审查功能价值 → 删除非核心 → 将真实扩展放入外围。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“第二系统综合征控制”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"第二版或大版本功能数量快速膨胀,核心体验和复杂度恶化。"
|
||||
],
|
||||
"not_when": [
|
||||
"功能均有已验证需求、频率、收益和维护预算。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"第二版或大版本功能数量快速膨胀,核心体验和复杂度恶化。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"为每项功能写用户、问题和使用频率",
|
||||
"区分核心、外围和实验能力",
|
||||
"拒绝没有证据的功能",
|
||||
"用核心回归和使用反馈验证范围"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "版本范围与核心价值一致,非核心需求不会污染稳定核心。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"功能决策表、用户证据、复杂度评估和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把拒绝需求当成永不扩展,错过真实高价值变化。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"保留明确扩展入口和复查条件,不提前实现。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "7.7",
|
||||
"functional_class": "control-metacognition"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,580 @@
|
||||
# 2026-10-14 七条编程原则操作化记录的有限冻结选区
|
||||
|
||||
> 本文件冻结7条Solve记录及历史候选对照,记录它们与对应原则候选的语义重叠;不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T13:47:21Z`。
|
||||
- 触发:在85条编号/标题结构映射中,继续审查最前面的2.1–2.7七项,判断Solve操作化表达是否构成独立于对应历史原则候选的身份。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:七项语义与来源处置进入完整候选交叉表后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;Solve包`programming-principles-101.json`自身工作树干净,最近修改提交`772b199f326e2846cb043d193ae57958429cdd5c`,文件SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`。下方保存完整JSON值,选区为`.entries[0..6]`;JSON空白不作为来源字节。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;选区定位`html211_candidates`中的A004–A010。该候选快照不等于外部原著或许可证验证。
|
||||
- 七条Solve记录的`source_refs`均为`ref:programming-principles-101-book`;记录本身为`experimental`。本轮未取得可独立复核的原始材料、版本、精确页段或许可,不把标题/`source_principle`字段当作独立来源证明。
|
||||
|
||||
| Solve ID / 编号 | 历史候选 | 定向语义对照 |
|
||||
|---|---|---|
|
||||
| `kiss` / 2.1 | A004「KISS原则」 | 同为删除非必要复杂度。Solve补充目标/硬约束、本质与偶然复杂度区分、独立读者检查;属更可执行的表达,未证明独立身份。 |
|
||||
| `dry` / 2.2 | A005「DRY」 | 同为让同一知识有单一权威表达。Solve补充区分同一知识与表面相似、验证抽取边界及防止语义漂移;不因步骤更细另立方法。 |
|
||||
| `yagni` / 2.3 | A006「YAGNI」 | 同为推迟未被当前需求支持的扩展。Solve补充验收/使用证据、测试保护及契约例外;未证明不同核心。 |
|
||||
| `pie` / 2.4 | A007「PIE」 | 同为通过结构与命名表达意图。Solve增加独立读者复述作为检查;是操作化增量,不足以证明独立身份。 |
|
||||
| `slap` / 2.5 | A008「SLAP」 | 同为保持统一抽象层级。Solve补充标注层级、下沉细节并执行行为回归;未证明不同核心。 |
|
||||
| `ocp` / 2.6 | A009「OCP」 | 同为稳定边界与扩展行为。Solve更明确要求观察到重复变化后才抽象,避免为猜测性变化设计插件;为边界强化,不据此另立身份。 |
|
||||
| `meaningful-naming` / 2.7 | A010「名字很重要」 | 同为名称表达目的、角色与行为。Solve补充副作用/公开契约检查和迁移后更新使用点;属可执行化,不证明独立身份。 |
|
||||
|
||||
有限结论:七项均与对应历史候选高度重叠,Solve记录补充了边界、步骤或验证要求。它们可能是原则的操作化表达;现有证据既不支持把它们作为全新的独立功法登记,也不足以判定来源沿袭或永久合并身份。它们仍未进入登记或总表,不赋级。外部来源、独立评审与效果均未核验。
|
||||
|
||||
## 冻结的Solve记录
|
||||
|
||||
### psoa.programming-principles-101.kiss — entries[0]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.kiss",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.kiss",
|
||||
"name": "KISS",
|
||||
"name_zh": "KISS原则",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "在当前目标下删除无价值的层、配置和机制,保留最容易解释的可行结构。",
|
||||
"core_question": "当前复杂度中,哪些部分不是目标真正需要的?",
|
||||
"operation": "列出目标与约束 → 删除非必要结构 → 比较可理解性与风险 → 保留最小可行设计。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“KISS”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"设计开始出现炫技、特殊机制或难以解释的层次。"
|
||||
],
|
||||
"not_when": [
|
||||
"安全、清晰或必要的复杂度会因追求短小而被删除。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "low",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"设计开始出现炫技、特殊机制或难以解释的层次。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"列出当前必须满足的目标和硬约束",
|
||||
"区分本质复杂度与偶然复杂度",
|
||||
"删除或合并没有证据支持的结构",
|
||||
"用独立读者检查意图是否更清楚"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "设计复杂度收敛到当前需求能够证明的最小范围。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"变更前后结构差异、目标覆盖、独立可读性评审。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把必要的安全、边界或领域复杂度误判为偶然复杂度。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复被删除的必要约束,重新按风险和可理解性划分复杂度。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "2.1",
|
||||
"functional_class": "control-metacognition"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.dry — entries[1]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.dry",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.dry",
|
||||
"name": "DRY",
|
||||
"name_zh": "DRY",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "识别同一知识的多处落点,并把修改理由收敛到一个可验证来源。",
|
||||
"core_question": "重复的是同一知识,还是仅仅相似的文本?",
|
||||
"operation": "比较修改理由与变化方向 → 识别共同知识 → 集中定义或生成 → 重跑行为检查。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“DRY”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"同一规则、常量、条件或修改理由在多处维护。"
|
||||
],
|
||||
"not_when": [
|
||||
"片段只是表面相似,或处于会独立变化的不同语境。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"同一规则、常量、条件或修改理由在多处维护。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"对比重复片段表达的规则和变化原因",
|
||||
"确认抽取后的边界和调用关系",
|
||||
"建立单一来源并替换重复落点",
|
||||
"用测试和搜索确认没有语义漂移"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "同一知识的修改点减少,并且各使用方仍保持原有行为。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"重复点清单、单一来源位置、行为回归和搜索结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"过早合并独立变化的代码,形成错误耦合。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"撤销过度抽取,保留语义边界并只集中真正共同的知识。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "2.2",
|
||||
"functional_class": "transformation"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.yagni — entries[2]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.yagni",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.yagni",
|
||||
"name": "YAGNI",
|
||||
"name_zh": "YAGNI",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "只实现已确认的当前能力,把未来可能性留给真实变化证据。",
|
||||
"core_question": "这个扩展点现在由什么确定需求支持?",
|
||||
"operation": "列出当前验收 → 标记推测性结构 → 删除未使用扩展 → 保留可回滚证据。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“YAGNI”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"代码包含只由“以后可能需要”支持的配置、策略或兼容层。"
|
||||
],
|
||||
"not_when": [
|
||||
"确有已批准需求、迁移契约或当前使用者依赖该能力。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "low",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"代码包含只由“以后可能需要”支持的配置、策略或兼容层。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"逐项关联当前需求和验收标准",
|
||||
"标记没有调用、数据或用户证据的扩展",
|
||||
"删除推测性结构并保持测试保护",
|
||||
"等真实变化出现后再重新评估抽象"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "实现范围与当前已证实需求一致,未引入空置能力。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"需求追踪、调用/配置使用证据、删除差异和回归结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"误删已存在但低频或隐式使用的契约。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复受保护契约,补充使用证据后重新划定最小范围。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "2.3",
|
||||
"functional_class": "control-metacognition"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.pie — entries[3]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.pie",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.pie",
|
||||
"name": "Program Intently and Expressively",
|
||||
"name_zh": "PIE",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "让结构、名称和注释表达目的、边界与决策理由,而不是只暴露机械步骤。",
|
||||
"core_question": "读者能否从代码本身理解目标和关键限制?",
|
||||
"operation": "识别需要作者解释的区域 → 重写结构与命名 → 补充必要的为什么 → 由读者复述意图。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“PIE:意图表达”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"代码可以运行,但目的、边界或非显然决策只能靠口头说明。"
|
||||
],
|
||||
"not_when": [
|
||||
"需求或语境本身尚未确定,贸然表达会固化错误理解。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "low",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"代码可以运行,但目的、边界或非显然决策只能靠口头说明。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"收集读者无法直接解释的片段",
|
||||
"让结构和名称先表达业务目的",
|
||||
"只为原因、限制和风险补充注释",
|
||||
"用独立读者复述检查表达是否闭环"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "关键意图和限制可从实现中被独立复述。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"改名前后示例、读者复述、评审意见和行为回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"为了“表达”加入冗余注释或改变了真实语义。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"保留行为不变的小步重写,删除过时注释并回到可验证意图。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "2.4",
|
||||
"functional_class": "representation"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.slap — entries[4]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.slap",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.slap",
|
||||
"name": "Single Level of Abstraction Principle",
|
||||
"name_zh": "SLAP",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "把混合多个抽象层级的函数改写成同层叙述,并将细节下沉到有意义的边界。",
|
||||
"core_question": "一个函数是否同时在说业务目标和底层实现细节?",
|
||||
"operation": "标出抽象层级跳跃 → 提取有名步骤 → 保持每层单一叙述 → 用阅读和测试复核。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“SLAP:单一抽象层级”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"同一函数混合业务流程、IO、SQL、字符串或位运算。"
|
||||
],
|
||||
"not_when": [
|
||||
"函数本身就是明确的底层适配边界,继续拆分会隐藏关键细节。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"同一函数混合业务流程、IO、SQL、字符串或位运算。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"为函数中的语句标注抽象层级",
|
||||
"先写高层目录式流程",
|
||||
"把细节下沉到职责清晰的函数",
|
||||
"运行行为回归并检查调用语义"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "每一层都能用同一层级的一句话描述,细节边界更清楚。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"抽象层标注、函数差异、调用图和回归测试。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"提取出无语义的小函数,增加跳转成本而没有降低认知负担。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并无价值碎片,保留真正的领域步骤和边界。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "2.5",
|
||||
"functional_class": "decomposition"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.ocp — entries[5]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.ocp",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.ocp",
|
||||
"name": "Open-Closed Principle",
|
||||
"name_zh": "OCP",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "在真实变化重复出现后隔离变化轴,让新增行为尽量通过扩展而非修改稳定核心实现。",
|
||||
"core_question": "哪些变化反复迫使稳定代码改动?",
|
||||
"operation": "统计真实变化 → 定位变化轴 → 设计最小扩展边界 → 用新案例验证核心未被改写。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“OCP:对扩展开放”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"同一类变化多次修改稳定条件树或核心流程。"
|
||||
],
|
||||
"not_when": [
|
||||
"只有一次猜测性变化,或扩展层会制造比修改更大的复杂度。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"同一类变化多次修改稳定条件树或核心流程。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"收集至少一组真实变化和受影响位置",
|
||||
"区分稳定机制与可变策略",
|
||||
"建立最小接口或注册边界",
|
||||
"用新变化和旧回归检查扩展成本"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "已证实的变化通过边界扩展,稳定核心的修改面收窄。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"历史变更聚类、接口差异、新增案例和回归结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"提前抽象不存在的变化,造成复杂插件或配置系统。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回退到简单实现,等变化证据足够后再建立扩展边界。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "2.6",
|
||||
"functional_class": "transformation"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.meaningful-naming — entries[6]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.meaningful-naming",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.meaningful-naming",
|
||||
"name": "Meaningful Naming",
|
||||
"name_zh": "名字很重要",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "用领域、角色、目的和效果命名,使读者无需打开实现也能形成正确预期。",
|
||||
"core_question": "仅凭名字,读者能否还原对象的真实角色和行为?",
|
||||
"operation": "先描述概念 → 选择团队术语 → 检查目的与副作用 → 让名字与行为同步。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“名字很重要”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"名称含糊、缩写过多、暴露机械实现或与行为不一致。"
|
||||
],
|
||||
"not_when": [
|
||||
"公开术语尚未稳定,或重命名会破坏外部契约且没有迁移方案。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "low",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"名称含糊、缩写过多、暴露机械实现或与行为不一致。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"写出对象的领域描述和角色",
|
||||
"选择可读、可搜索、可发音的术语",
|
||||
"比较名称与真实行为及副作用",
|
||||
"同步更新引用和文档并运行检查"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "名字成为稳定的概念索引,减少读者反向解码。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"命名对照表、调用方检查、搜索结果和行为回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"名字更短但语义更弱,或改名遗漏了外部使用点。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复契约别名或迁移映射,继续以行为和领域术语校正。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "2.7",
|
||||
"functional_class": "representation"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
+470
@@ -0,0 +1,470 @@
|
||||
# 2026-10-14 编程原则3.12–3.21九条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存九条Solve记录的明确字段投影及历史候选对照;3.14信息隐藏已在另一份冻结选区审阅,因此本批跳过。这里记录语义关系,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T14:46:38Z`。
|
||||
- 触发:沿85条编号/标题交叉表继续审阅3.12–3.21,处理抽象、封装、职责分离及其具体接口边界候选。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;`programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`,文件工作树干净,最近相关提交`772b199f326e2846cb043d193ae57958429cdd5c`。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A022、A023、A025–A031;A024由此前同名标题选区覆盖。
|
||||
- Solve选区:pack `.entries[16]`、`.entries[17]`、`.entries[19]`至`.entries[25]`。下方为原JSON的字段投影,字段选择为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;未选字段不据此作判断。九条均为`experimental`,`source_refs`均为`ref:programming-principles-101-book`;原始来源、版本、页段与许可未独立核验。
|
||||
|
||||
| Solve记录 / 编号 | 历史候选 | 定向对照 |
|
||||
|---|---|---|
|
||||
| `abstraction` / 3.12 | A022「抽象」 | 同为提取稳定共性、隐藏无关细节;操作化增加调用者成本与错误抽象回退检查。与已登记`gongfa-validated-abstraction`相邻但不等同。 |
|
||||
| `encapsulation` / 3.13 | A023「封装」 | 数据、规则和不变量由同一边界负责;与A024信息隐藏相关但不同:封装强调所有权/状态控制,信息隐藏强调哪些变化决策不向调用者暴露。 |
|
||||
| `packaging` / 3.15 | A025「打包」 | 以共同责任/变化组织更高层单元,并约束依赖;不只是目录美化,是否形成独立方法仍需来源与边界证据。 |
|
||||
| `separation-of-concerns` / 3.16 | A026「关注点分离」 | 广义分开独立变化理由;策略/实现与接口/实现是具体分离轴,不把大原则和子类批量登记。 |
|
||||
| `adequacy-completeness-primitiveness` / 3.17 | A027「充足性、完整性、原始性」 | 对API核心操作集合的三项约束;概念可区分,不能仅凭原语/便利操作命名断言充分或完整。 |
|
||||
| `strategy-implementation-separation` / 3.18 | A028「策略和实现的分离」 | 变化较快的策略与相对稳定机制分离;是关注点分离的具体轴,Solve补充多策略验证。 |
|
||||
| `interface-implementation-separation` / 3.19 | A029「接口与实现的分离」 | 调用方依赖稳定行为契约、实现可替换;历史候选关联已登记`gongfa-stable-interface-contract`,不能由相关关系推成新身份。 |
|
||||
| `single-source-of-truth` / 3.20 | A030「单一引用点」 | 同一事实仅有一个权威定义;与DRY A005、重复最少化A016高重叠,并需排除合法缓存/副本,不另建平行身份。 |
|
||||
| `divide-and-conquer` / 3.21 | A031「分治」 | 核心即分解子问题再组合;历史候选关联已登记`gongfa-divide-and-conquer`,Solve补充输入输出、独立验证和组合检查,不是新条目。 |
|
||||
|
||||
有限结论:高重叠项为单一引用点与DRY/重复最少化、分治与现有登记;抽象、封装、关注点分离、策略/实现分离、接口/实现分离彼此相关但作用层次不同。打包和API三项性质有可辨认的概念边界,但仅有候选文本不足以证明来源、完整定义或独立方法资格。九条均不由本快照转入登记、总表或评级。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.abstraction — entries[16]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.abstraction",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "抽象",
|
||||
"summary": "通过舍象和一般化忽略无关细节、提取共同概念,降低认知复杂度。",
|
||||
"core_question": "哪些细节必须保留,哪些可以由更稳定的概念替代?",
|
||||
"operation": "区分个别与共同属性 → 选择抽象边界 → 检查调用者理解成本 → 必要时回退。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"多个实现共享稳定概念,但直接暴露细节增加理解成本。"
|
||||
],
|
||||
"not_when": [
|
||||
"抽象没有共同语义,或调用者必须学习更多间接层。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出需要被隐藏和保留的事实",
|
||||
"提取可被多个案例验证的共同概念",
|
||||
"让接口覆盖真实核心能力",
|
||||
"由调用者和边界案例检查可理解性"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "无关细节被隐藏,核心概念和适用边界更清楚。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"抽象前后调用示例、案例覆盖、接口差异和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把偶然相似抽成错误共同抽象。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"拆分抽象或回到具体实现,等待共同语义证据。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.12"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.encapsulation — entries[17]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.encapsulation",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "封装",
|
||||
"summary": "把共同数据与逻辑放在同一边界,隔离不相关概念和内部状态。",
|
||||
"core_question": "哪些状态与规则应由同一个边界负责?",
|
||||
"operation": "识别共同不变量 → 合并相关数据与逻辑 → 隐藏内部状态 → 验证边界行为。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"数据和处理它的规则分散,调用方直接操纵内部状态。"
|
||||
],
|
||||
"not_when": [
|
||||
"边界所有权、事务或生命周期尚未明确。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出状态、不变量和操作",
|
||||
"确定唯一负责边界",
|
||||
"限制外部直接修改内部状态",
|
||||
"用成功、失败和并发案例检查不变量"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "内部状态由清晰边界维护,外部依赖减少。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"所有权图、公开接口、状态不变量和行为回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"封装只增加了包装层,没有形成真实所有权。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"删除无意义包装,或补齐真正的状态责任。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.13"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.packaging — entries[19]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.packaging",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "打包",
|
||||
"summary": "在真实模块关系稳定后形成更高层分组,不用目录结构掩盖设计。",
|
||||
"core_question": "哪些模块具有稳定的共同边界,适合一起被理解和演化?",
|
||||
"operation": "观察模块依赖和共同变化 → 形成包边界 → 约束跨包依赖 → 检查导航和构建。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"模块数量和关系已稳定,需要更高层组织和依赖边界。"
|
||||
],
|
||||
"not_when": [
|
||||
"包只是为了好看或目录层级,真实关系尚未出现。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出模块、依赖和共同变化",
|
||||
"按稳定责任形成包",
|
||||
"限制循环和无意义跨包依赖",
|
||||
"用构建、导入和维护任务验证"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "包边界反映真实责任,导航和依赖方向更清楚。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"包依赖图、构建结果、迁移差异和评审。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"人为分组造成跨包往返或循环依赖。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并过度碎片化包,回到实际变化和依赖边界。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.15"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.separation-of-concerns — entries[20]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.separation-of-concerns",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "关注点分离",
|
||||
"summary": "把不同变化理由和关注点拆开,避免一个修改同时触及无关责任。",
|
||||
"core_question": "哪些关注点有独立的变化理由或验证方式?",
|
||||
"operation": "识别变化轴 → 划分责任边界 → 管理必要横切机制 → 观察变化扩散。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"UI、存储、业务策略、审计或外部协议相互缠绕。"
|
||||
],
|
||||
"not_when": [
|
||||
"拆分会制造更高的转换成本,且关注点实际总是共同变化。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出各关注点的变化理由和验证方式",
|
||||
"分离可以独立演化的部分",
|
||||
"对横切需求使用受控统一机制",
|
||||
"用代表性变化检查扩散和可读性"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "独立关注点可局部修改,必要交叉点保持显式。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"变化轴清单、依赖图、代表性变更和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把强关联逻辑拆散,造成理解和协调成本。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并真实共同变化部分,并保留明确的跨关注点契约。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.16"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.adequacy-completeness-primitiveness — entries[21]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.adequacy-completeness-primitiveness",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "充足性、完整性、原始性",
|
||||
"summary": "检查抽象/API 是否足够完成目标、覆盖本质能力且基本操作不可轻易由其他操作派生。",
|
||||
"core_question": "这个接口既没有贫瘠,也没有把便利功能无限塞进核心吗?",
|
||||
"operation": "列出用户目标和本质能力 → 检查覆盖 → 找可派生操作 → 调整核心边界。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"设计公共抽象、接口或模块基本操作集合时。"
|
||||
],
|
||||
"not_when": [
|
||||
"接口尚无稳定使用场景,或便利层本身是已批准的独立产品能力。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出必须支持的任务和最小操作",
|
||||
"检查每个本质能力是否可达",
|
||||
"识别可由其他操作派生的冗余",
|
||||
"用代表性使用者验证可用性和边界"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "核心接口既可用又不过度膨胀,派生能力与核心边界清楚。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"能力矩阵、接口差异、代表性调用和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"删除冗余操作后破坏稳定契约或隐藏重要语义。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复必要兼容入口,并将便利操作移到明确的外围层。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.17"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.strategy-implementation-separation — entries[22]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.strategy-implementation-separation",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "策略和实现的分离",
|
||||
"summary": "把变化快的业务策略与相对稳定的机制分开,使策略可替换、机制可复用。",
|
||||
"core_question": "哪部分是“做什么”,哪部分是“怎么做”,它们变化是否不同?",
|
||||
"operation": "区分策略与机制 → 定义最小承诺 → 允许策略替换 → 用多策略案例验证。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"产品规则频繁变化,而执行机制相对稳定。"
|
||||
],
|
||||
"not_when": [
|
||||
"策略和机制总是同因变化,拆分会只增加转发层。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"按变化历史划分策略和机制",
|
||||
"定义策略输入输出与不变量",
|
||||
"把机制依赖稳定契约",
|
||||
"用至少两个策略和失败路径检查边界"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "策略变化不再迫使机制重写,替换边界有证据支持。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"变化历史、策略接口、多策略案例和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把尚未变化的细节提前抽成复杂策略框架。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回退到直接实现,等待重复变化后再分离。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.18"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.interface-implementation-separation — entries[23]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.interface-implementation-separation",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "接口与实现的分离",
|
||||
"summary": "让调用者依赖稳定承诺而非内部做法,使实现可替换且边界可验证。",
|
||||
"core_question": "替换内部实现时,哪些调用者不应被迫理解细节?",
|
||||
"operation": "抽取稳定契约 → 隔离实现细节 → 迁移调用者 → 用替换实现和错误案例验证。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"上层代码直接依赖具体实现、供应商或数据结构。"
|
||||
],
|
||||
"not_when": [
|
||||
"没有稳定的共同语义,或外部契约本身就是实现协议。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出调用者真正依赖的行为",
|
||||
"定义输入、输出、错误和资源承诺",
|
||||
"隔离具体实现并迁移调用者",
|
||||
"用替代实现和边界输入回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "实现替换不改变调用者对稳定契约的理解。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"接口契约、依赖差异、替代实现和回归结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"接口只隐藏名称而没有减少行为耦合。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"扩大稳定契约或删除无效间接层,保持实际语义清楚。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.19"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.single-source-of-truth — entries[24]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.single-source-of-truth",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "单一引用点",
|
||||
"summary": "让一个事实尽量只定义一次,减少隐式副作用和多处同步。",
|
||||
"core_question": "同一个事实现在由多少个位置负责定义或赋值?",
|
||||
"operation": "盘点事实和落点 → 选择唯一来源 → 替换复制状态 → 检查读取和更新路径。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"常量、规则、状态或配置在多处定义、赋值或同步。"
|
||||
],
|
||||
"not_when": [
|
||||
"复制是明确的快照、缓存或跨边界契约,并有一致性规则。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出事实的定义、派生和缓存位置",
|
||||
"指定权威来源和更新责任",
|
||||
"删除无理由的复制和隐式写入",
|
||||
"用变更传播和并发案例验证一致性"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "事实来源和派生关系显式,修改不会依赖手工同步。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"来源登记、数据流、变更测试和一致性结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把合法缓存或外部副本误删,导致性能或契约退化。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复明确的派生/缓存边界,并记录一致性策略。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.20"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.divide-and-conquer — entries[25]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.divide-and-conquer",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "分治",
|
||||
"summary": "把不可掌控的问题拆成可理解、可验证的子问题,再通过清晰接口组合。",
|
||||
"core_question": "怎样切分才能让每个子问题可独立理解和验证?",
|
||||
"operation": "识别子目标 → 选择低耦合边界 → 分别验证 → 按契约组合 → 检查依赖是否爆炸。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"问题规模或复杂度已经超过单一模块的可理解范围。"
|
||||
],
|
||||
"not_when": [
|
||||
"拆分会留下不可运行中间态,或子问题共享无法隔离的状态。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"写出子目标、输入输出和共享不变量",
|
||||
"选择能减少耦合的分解边界",
|
||||
"独立验证子问题",
|
||||
"按契约组合并检查整体行为"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "大问题被转换为可验证子问题,组合边界可追踪。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"分解图、子问题证据、接口契约和组合回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"依赖数量爆炸,子问题无法独立验证。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回退分解层级,合并真实强关联部分并重新切分。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.21"
|
||||
}
|
||||
```
|
||||
+660
@@ -0,0 +1,660 @@
|
||||
# 2026-10-14 编程原则3.2–3.10八条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件冻结八条Solve记录(跳过已在另一选区审阅的3.7)及历史候选对照;记录语义关系,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T13:57:31Z`。
|
||||
- 触发:沿85条编号/标题交叉表继续审阅编程原则3.2–3.10,区分重复原则、一般准则与具体操作边界。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack文件工作树干净,最近相关提交`772b199f326e2846cb043d193ae57958429cdd5c`;`programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;选区`html211_candidates`中的A012–A020,排除A017(已在另一选区审阅)。
|
||||
- Solve索引:`.entries[7]–[11]`及`.entries[13]–[15]`,完整JSON值如下;文件SHA绑定原始输入。八条均标为`experimental`,`source_refs`均为`ref:programming-principles-101-book`。原始来源、版本、页段与许可本轮未独立核验。
|
||||
|
||||
| Solve记录 / 原则编号 | 历史候选 | 对照结论 |
|
||||
|---|---|---|
|
||||
| `communication` / 3.2 | A012「交流」 | 代码作为维护者沟通媒介,与PIE A007高度相关但范围更广;单条文本不够支持独立方法身份。 |
|
||||
| `simplicity` / 3.3 | A013「简洁」 | 与KISS A004同为删减偶然复杂度;不因不同章节标题另建平行原则。 |
|
||||
| `flexibility` / 3.4 | A014「灵活性」 | 一般变化适应性;OCP A009是稳定边界/扩展的一种具体策略,相关但层次不同。 |
|
||||
| `effect-locality` / 3.5 | A015「效应局部化」 | 关注变更影响传播范围;逻辑数据内聚A017是可实现局部化的一种边界,二者不等同。 |
|
||||
| `minimal-repetition` / 3.6 | A016「重复最少化」 | 明确重复DRY核心;与DRY A005高度重叠,Solve主要强化“按修改理由区分共同知识与表面相似”。 |
|
||||
| `symmetry` / 3.8 | A018「对称性」 | 同类/成对操作保持可类推性;不同于一般一致性,保留为相邻原则,不凭此立独立登记。 |
|
||||
| `declarative-expression` / 3.9 | A019「声明式表」 | 以声明目标/约束替代机械步骤,主题可区分;具体选型、错误和性能条件仍需外部来源及领域审查。 |
|
||||
| `change-rate` / 3.10 | A020「变动率」 | 用历史共变频率识别边界;与灵活性、OCP和局部化相关但判据不同,需变化样本避免偶然共变。 |
|
||||
|
||||
有限结论:这八项与各自历史候选标题/定义对应。至少`简洁`与KISS、`重复最少化`与DRY高度重叠;其余多为相邻原则、操作化或更窄的设计判据。由于原始来源和独立语义审查均不完整,本轮不判为新登记,也不强行将所有相邻原则合并。无评级或效果结论。
|
||||
|
||||
## 冻结的Solve记录
|
||||
|
||||
### psoa.programming-principles-101.communication — entries[7]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.communication",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.communication",
|
||||
"name": "Communication",
|
||||
"name_zh": "交流",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "把代码当作程序员之间的沟通媒介,优先修复目的、边界和变化理由的表达。",
|
||||
"core_question": "维护者需要通过哪些信息才能正确修改这里?",
|
||||
"operation": "从读者视角扫描目的和边界 → 找信息缺口 → 改善结构、名称或注释 → 让读者复述。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“交流”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"代码维护依赖作者口头解释,或评审反复误解同一意图。"
|
||||
],
|
||||
"not_when": [
|
||||
"目标和领域术语仍在变化,尚无稳定语义可表达。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "low",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"代码维护依赖作者口头解释,或评审反复误解同一意图。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"列出读者必须猜测的前提",
|
||||
"优先用结构和名称补齐信息",
|
||||
"只记录不能从代码推导的原因和限制",
|
||||
"通过独立复述验证表达质量"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "实现的目的、边界和变化理由可被维护者独立理解。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"读者复述、评审问题变化、文档差异和回归结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把作者偏好当成领域语义,增加无价值说明。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回到用户目标和可观察行为,删除主观解释。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.2",
|
||||
"functional_class": "representation"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.simplicity — entries[8]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.simplicity",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.simplicity",
|
||||
"name": "Simplicity",
|
||||
"name_zh": "简洁",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "区分本质复杂度与偶然复杂度,删除后者而不牺牲意图和安全边界。",
|
||||
"core_question": "哪些复杂度来自问题本身,哪些只是实现选择?",
|
||||
"operation": "列出必须保留的约束 → 标记偶然复杂度 → 小步删除或替换 → 检查理解和行为。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“简洁”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"代码难以理解,且复杂结构没有对应需求、约束或证据。"
|
||||
],
|
||||
"not_when": [
|
||||
"追求短小会掩盖安全、错误处理或领域边界。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "low",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"代码难以理解,且复杂结构没有对应需求、约束或证据。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"把复杂结构关联到目标或约束",
|
||||
"找出可删除的间接层、例外和配置",
|
||||
"做保持行为的小步简化",
|
||||
"由独立读者和测试确认没有损失"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "偶然复杂度减少,核心约束和意图保持可见。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"复杂度对照、差异、可读性评审和回归测试。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"简化只减少行数却增加隐藏状态或特殊情况。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回滚该步,改用更显式的结构并重新评估收益。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.3",
|
||||
"functional_class": "control-metacognition"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.flexibility — entries[9]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.flexibility",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.flexibility",
|
||||
"name": "Flexibility",
|
||||
"name_zh": "灵活性",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "把灵活性定义为真实变化的低成本适应,而不是提前堆叠抽象。",
|
||||
"core_question": "下一次已知变化会修改哪些边界,当前设计能否局部承受?",
|
||||
"operation": "收集真实变化 → 测量修改扩散 → 选择小步重构或边界 → 复验变化成本。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“灵活性”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"维护、扩展或重组成本持续上升。"
|
||||
],
|
||||
"not_when": [
|
||||
"变化只是想象,或增加间接层无法降低已观察的修改成本。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"维护、扩展或重组成本持续上升。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"从变更历史找出重复变化方向",
|
||||
"定位变化扩散的边界",
|
||||
"只引入能局部吸收变化的结构",
|
||||
"用下一条代表性变化做回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "已验证变化的修改范围和理解成本下降。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"变更历史、受影响文件、代表性变化演练和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把灵活性误解为任意配置或扩展点。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"删除无证据的可配置性,保留真实变化所需的边界。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.4",
|
||||
"functional_class": "control-metacognition"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.effect-locality — entries[10]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.effect-locality",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.effect-locality",
|
||||
"name": "Effect Locality",
|
||||
"name_zh": "效应局部化",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "让修改尽量停留在局部边界,减少跨模块往返和非预期扩散。",
|
||||
"core_question": "一次变化实际影响了多大范围,扩散是否合理?",
|
||||
"operation": "追踪变化影响 → 按关联性重排边界 → 缩短跨模块路径 → 用变更样例复核。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“效应局部化”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"小改动经常需要修改多个无关模块或重复同步。"
|
||||
],
|
||||
"not_when": [
|
||||
"跨边界传播是已确认的业务契约,不能只靠拆分消除。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"小改动经常需要修改多个无关模块或重复同步。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"记录一次代表性变更的影响路径",
|
||||
"区分必要传播和边界泄漏",
|
||||
"把强关联内容放近并隔离弱关联",
|
||||
"用同类变化验证扩散是否收窄"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "变化影响范围与修改理由更一致,边界泄漏减少。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"影响图、变更文件集合、依赖差异和回归结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"拆分后增加数据搬运和跨模块协调。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并过度碎片化边界,保留真实关联并重新测量。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.5",
|
||||
"functional_class": "decomposition"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.minimal-repetition — entries[11]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.minimal-repetition",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.minimal-repetition",
|
||||
"name": "Minimal Repetition",
|
||||
"name_zh": "重复最少化",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "以修改理由而非文本相似度识别重复,集中真正共同的知识。",
|
||||
"core_question": "哪些重复位置会因同一业务变化一起修改?",
|
||||
"operation": "按修改理由聚类 → 区分共同知识与偶然相似 → 集中来源 → 验证独立语境未被耦合。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“重复最少化”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"同一规则或决策散落在多个实现位置。"
|
||||
],
|
||||
"not_when": [
|
||||
"相似片段的领域含义、变化方向或生命周期不同。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"同一规则或决策散落在多个实现位置。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"记录重复位置和各自修改理由",
|
||||
"找出真正共同的知识单元",
|
||||
"提取单一来源或生成输入",
|
||||
"用不同语境测试避免错误共享"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "同一知识的维护落点减少,同时保留独立变化边界。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"重复清单、抽取差异、调用图和跨语境回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"为消除文本重复而合并不同知识。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"拆回独立实现,并只共享经过验证的知识定义。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.6",
|
||||
"functional_class": "transformation"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.symmetry — entries[13]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.symmetry",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.symmetry",
|
||||
"name": "Symmetry",
|
||||
"name_zh": "对称性",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "让同类概念和成对生命周期采用可类推的结构、命名和参数顺序。",
|
||||
"core_question": "读者能否根据一个操作可靠推测其对应操作?",
|
||||
"operation": "识别成对或同类操作 → 对齐结构和命名 → 检查资源生命周期 → 验证异常路径。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“对称性”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"获取/释放、注册/注销、开始/结束等成对操作表现不一致。"
|
||||
],
|
||||
"not_when": [
|
||||
"两侧语义本来不对称,强行对齐会隐藏真实差异。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "low",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"获取/释放、注册/注销、开始/结束等成对操作表现不一致。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"列出成对操作和共同约束",
|
||||
"统一名称、参数、抽象层和生命周期",
|
||||
"检查成功与失败路径的成对释放",
|
||||
"用边界和异常测试验证可预测性"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "同类操作更容易类推,资源和状态生命周期更少出现遗漏。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"成对 API 对照、生命周期覆盖和异常回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"追求表面一致导致错误的同构或资源处理。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复显式差异,并只对齐共享语义。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.8",
|
||||
"functional_class": "representation"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.declarative-expression — entries[14]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.declarative-expression",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.declarative-expression",
|
||||
"name": "Declarative Expression",
|
||||
"name_zh": "声明式表",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "在规则、配置、查询和映射中优先表达目标、约束和关系,减少不必要的控制流程。",
|
||||
"core_question": "这段复杂控制流能否用数据、规则或高层约束表达?",
|
||||
"operation": "提取目标和约束 → 比较声明式与命令式表示 → 选择更易检查者 → 验证边界和性能。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“声明式表达”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"规则或映射被大量机械流程代码掩盖。"
|
||||
],
|
||||
"not_when": [
|
||||
"声明式形式无法表达动态控制、错误恢复或关键性能约束。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"规则或映射被大量机械流程代码掩盖。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"写出输入、目标、约束和关系",
|
||||
"尝试用规则表、数据结构或高层 API 表达",
|
||||
"保留必须显式控制的部分",
|
||||
"用等价案例和性能检查验证"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "意图和约束从实现流程中分离出来,便于检查和生成。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"前后表示、等价案例、边界测试和性能基线。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"声明式配置缺少校验,错误被推迟到运行期。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"补充 schema、静态检查或恢复为显式流程。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.9",
|
||||
"functional_class": "representation"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.change-rate — entries[15]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.change-rate",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"origin": "source",
|
||||
"source_key": "programming-principles-101.change-rate",
|
||||
"name": "Change Rate",
|
||||
"name_zh": "变动率",
|
||||
"domain": "programming-principles-101",
|
||||
"status": "experimental",
|
||||
"summary": "按修改理由和频率分组代码,用共同变化判断真实职责边界。",
|
||||
"core_question": "哪些部分总是一起变,哪些部分各自变化?",
|
||||
"operation": "分析变更历史 → 聚类共同变化 → 调整模块边界 → 用后续变更验证。",
|
||||
"agent_use": "在软件设计、实现、维护或调试中使用“变动率”检查并改善当前问题。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"模块职责争议无法仅凭静态结构判断。"
|
||||
],
|
||||
"not_when": [
|
||||
"没有足够的历史或变化样本支持边界结论。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": [
|
||||
"模块职责争议无法仅凭静态结构判断。"
|
||||
],
|
||||
"inputs": [
|
||||
"目标与验收标准",
|
||||
"当前代码、结构或运行证据",
|
||||
"变化约束与资源预算"
|
||||
],
|
||||
"procedure": [
|
||||
"收集同类变更和修改理由",
|
||||
"标记共同变化与独立变化",
|
||||
"按变化轴拆分或合并边界",
|
||||
"观察新变更是否减少无关触及"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "模块边界与实际变化方向一致,修改扩散减少。"
|
||||
},
|
||||
"outcomes": [
|
||||
"succeeded",
|
||||
"inconclusive",
|
||||
"not_applicable",
|
||||
"failed"
|
||||
],
|
||||
"evidence_required": [
|
||||
"版本历史、变更聚类、影响范围和回归结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把偶然共变误判为长期职责,造成过度拆分。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"保留现状并继续收集变化证据,避免提前固化。"
|
||||
]
|
||||
},
|
||||
"extensions": {
|
||||
"vibe-harness-cn": {
|
||||
"source_principle": "3.10",
|
||||
"functional_class": "decomposition"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
+271
@@ -0,0 +1,271 @@
|
||||
# 2026-10-14 编程原则3.23–3.27五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照;只记录语义邻接、重叠与边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T15:52:13Z`。
|
||||
- 触发:按85条交叉表继续检查3.23–3.27,比较软件质量属性候选与现有登记。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;`programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`,文件字节已核;此处不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A033–A037。候选中的`ontology_type`与`review_status`是仓内初评,不是外部来源或效果证明。
|
||||
- Solve选区:pack `.entries[27]`至`.entries[31]`。下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余源字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应外部原文、版本与许可未独立核验。`source_principle`是Solve记录自述编号,历史候选编号/标题相同只支持本次语义对照,不自动证明同源。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `changeability` / 3.23 / A033「易变性」 | 两者都要求依据真实变化成本与扩散来组织设计。Solve记录补充变化样本、影响范围、小步重构和后续回归,属于对准则的操作化表达;历史候选初评为准则,不把`OperatorSpec`格式本身当作独立方法证明。未见已登记的同一专用流程;不登记。 |
|
||||
| `interoperability` / 3.24 / A034「互操作性」 | 两者都强调跨系统交换;Solve补充协议/格式、版本、错误语义、供应商适配与对端测试。与`gongfa-stable-interface-contract`的单接口契约、`gongfa-glue-coding`的复用/适配/编排相关但对象更窄或更宽,不等同;历史候选初评为准则。仅凭这条来源未证成独立可登记方法。 |
|
||||
| `efficiency` / 3.25 / A035「效率性」 | 历史候选明确关联已登记`gongfa-performance-by-measurement`。后者要求以监控、profiling、压测和真实数据定位性能,Solve在此基础上把负载、指标、基线、不确定性、热点和回归串为更明确流程;当前更支持既有测量原则的操作化,而非平行功法。不得将应用案例或单次基准当效果证据。 |
|
||||
| `reliability` / 3.26 / A036「可靠性」 | 历史候选是可靠性准则;Solve补充目标、故障矩阵、继续/降级/停止、故障注入与一致性恢复。与已登记`gongfa-controllable-failure`的发现/定位/隔离/恢复高度相关,但该登记偏故障可控与运维响应,Solve覆盖目标和预防/降级策略;视为相邻、互补,不据此合并或另行登记。 |
|
||||
| `testability` / 3.27 / A037「可测试性」 | 历史候选是测试性设计准则;Solve补充依赖/时间隔离、观察点、契约测试和真实集成,强调避免只让替身通过。与`gongfa-lightweight-formal-methods`、`gongfa-failure-mode-analysis`的验证活动相邻但非同一对象:这里关注使系统可测试的结构条件。记录仍不足以证明独立方法来源;不登记。 |
|
||||
|
||||
结论:这五条不是五个同质“独立功法”。四条历史候选在初评中属于设计准则,Solve把它们展开成`OperatorSpec`操作记录;3.25历史候选被初评为方法,并明确关联现有性能测量登记。源格式、编号映射和步骤细化均不能替代身份、来源、许可、效果或正式评级证据。本批不改机器登记、候选数或评级。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.changeability — entries[27]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.changeability",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "易变性",
|
||||
"summary": "用维护、扩展、重组和移植成本判断结构是否能承受真实长期变化。",
|
||||
"core_question": "下一次维护变化的成本会由哪些边界和依赖决定?",
|
||||
"operation": "收集变化样本 → 估计修改成本 → 找出变化扩散 → 以小步重构降低利息。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"长期系统的修改成本、绕路或回归风险持续上升。"
|
||||
],
|
||||
"not_when": [
|
||||
"没有真实变化样本,只是在预先设计未来所有可能性。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"记录近期代表性变更和受影响范围",
|
||||
"区分本质变化与结构摩擦",
|
||||
"选择最小降低扩散的重构",
|
||||
"用下一次变化和回归验证收益"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "结构对已观察变化更容易调整,维护成本有可追踪证据。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"变化历史、成本/影响范围、重构差异和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"为低概率变化引入过多间接层。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"删除无证据的可变性,回到当前需求和测量。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.23"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.interoperability — entries[28]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.interoperability",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "互操作性",
|
||||
"summary": "优先标准协议、数据格式和外部契约,用适配层隔离遗留与供应商差异。",
|
||||
"core_question": "外部系统如何在不理解内部细节的情况下稳定交换信息?",
|
||||
"operation": "识别交换边界 → 选择标准表示 → 明确版本与错误契约 → 用真实对端验证。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"系统需要接入遗留系统、第三方服务或跨平台数据。"
|
||||
],
|
||||
"not_when": [
|
||||
"没有稳定的外部语义,或标准格式无法表达必要业务约束。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出双方输入、输出、版本和错误语义",
|
||||
"优先采用成熟协议和格式",
|
||||
"把供应商/遗留差异放入适配层",
|
||||
"用代表性数据和兼容矩阵回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "外部交换可复现、可演进,内部模型不被外部细节污染。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"契约/版本、兼容矩阵、样例数据和对端测试。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"只兼容成功样例,忽略版本、编码或错误路径。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"冻结失败样例,补齐契约和适配边界后再扩展。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.24"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.efficiency — entries[29]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.efficiency",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "效率性",
|
||||
"summary": "分别测量时间和资源效率,在可维护性、复用与运行成本之间依据真实约束取舍。",
|
||||
"core_question": "哪个资源指标是瓶颈,间接层的收益是否值得成本?",
|
||||
"operation": "定义负载与指标 → 测量基线 → 定位热点 → 局部优化 → 复测回归。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"存在时延、CPU、内存、IO、token 或成本约束。"
|
||||
],
|
||||
"not_when": [
|
||||
"没有代表性负载、差异小于噪声或优化会破坏正确性。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"固定代表性负载和测量方法",
|
||||
"建立基线和不确定范围",
|
||||
"只优化被证实的热点",
|
||||
"比较性能、复杂度和行为回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "效率结论由可重复测量支持,优化范围保持局部。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"基线、热点分析、优化差异、重复测量和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"凭感觉删层或过拟合单次基准。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复清晰实现,改进负载和测量后再判断。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.25"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.reliability — entries[30]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.reliability",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "可靠性",
|
||||
"summary": "先定义可靠性目标,再选择冗余、降级、故障安全和恢复策略。",
|
||||
"core_question": "系统在什么故障下必须继续、降级或安全停止?",
|
||||
"operation": "定义故障模式和目标 → 选择容错策略 → 注入边界故障 → 检查恢复和数据一致性。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"系统故障会影响用户、数据、任务进度或安全。"
|
||||
],
|
||||
"not_when": [
|
||||
"没有影响模型,或所谓容错只是吞掉错误并隐藏损坏。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出故障模式、影响和可接受结果",
|
||||
"为每类故障定义继续/降级/停止",
|
||||
"实现最小恢复和可观测错误",
|
||||
"通过故障演练检查实际行为"
|
||||
],
|
||||
"effect": {
|
||||
"state": "reliability_state",
|
||||
"statement": "故障行为、恢复边界和剩余风险明确且可验证。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"故障矩阵、注入记录、恢复结果、数据一致性和告警。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"以重试掩盖非幂等副作用或让错误数据继续扩散。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"停止危险路径,恢复一致性并重新定义可接受的降级范围。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.26"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.testability — entries[31]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.testability",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "可测试性",
|
||||
"summary": "通过减少隐藏依赖、提供观察点和清晰边界,使关键行为可以被独立验证。",
|
||||
"core_question": "怎样在不依赖完整外部环境的情况下验证这个行为?",
|
||||
"operation": "识别难测依赖 → 引入最小替换/观察边界 → 编写可重复检查 → 验证真实集成仍成立。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"测试需要复杂环境、全局状态、时间或不可控外部服务。"
|
||||
],
|
||||
"not_when": [
|
||||
"测试接口会暴露生产秘密、改变行为或制造伪实现。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出行为输入、输出和外部依赖",
|
||||
"隔离可替换依赖和时间/随机性",
|
||||
"增加必要观察点和契约测试",
|
||||
"用集成样例防止测试替身偏离真实行为"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "关键行为可重复验证,测试困难不再掩盖设计耦合。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"依赖边界、测试夹具、契约测试和集成回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"只让测试替身通过,真实环境行为未被覆盖。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"补充真实集成检查,收窄替身并明确验证边界。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.27"
|
||||
}
|
||||
```
|
||||
+271
@@ -0,0 +1,271 @@
|
||||
# 2026-10-14 编程原则3.28–3.33五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照。3.29未出现在Solve pack,本批覆盖其现有的3.28及3.30–3.33记录。只记录语义重叠、偏移和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T16:12:59Z`。
|
||||
- 触发:继续审阅85条编号/标题交叉表;对3.28、3.30–3.33记录检查历史候选、已有Solve记录与登记。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`,该文件当前与固定版本字节一致;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A038、A040–A043。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- Solve选区:pack `.entries[32]`至`.entries[36]`。下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余源字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。`source_principle`是Solve记录自述编号,编号/标题映射不自动证明语义身份或共同来源。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `reusability` / 3.28 / A038「可复用性」 | 历史准则强调低耦合、稳定职责、清晰边界后再复用;Solve多出调查成熟组件、许可/维护、跨应用验证及退出路径。与`gongfa-glue-principle`、`gongfa-glue-coding`的成熟能力优先和适配编排相邻,但“是否把本地组件提升为共享能力”是不同决策点。仍是准则的操作化候选,不足以另建登记。 |
|
||||
| `simplicity-principle` / 3.30 / A040「简单性原理」 | 与本pack既审的`.entries[8] simplicity`(3.3/A013)高重叠:两者都删除无证据/无目的的偶然复杂度并保留需求与安全约束。3.30的边界测试是操作化补充,不构成新身份;也与`gongfa-toolbox-occams-razor`、`gongfa-reasonable-code`相关,不另登记。 |
|
||||
| `isomorphism-principle` / 3.31 / A041「同构原理」 | 存在实质对齐差异:历史候选说问题结构与解决方案结构相对应;Solve条目改为同类模块/接口使用相同约定,检查形式异常。两者相关但并非同一操作。`source_principle=3.31`和标题一致不能消解此偏移;应标为待核来源/语义错位,不将Solve表述反向当作历史候选定义。 |
|
||||
| `symmetry-principle` / 3.32 / A042「对称原理」 | 与同pack`.entries[13] symmetry`(3.8/A018)构成强重复:两条均处理成对/同类操作、命名与结构可类推、资源生命周期及异常路径。3.32的中断、最终资源状态和可重复执行是细化,不足以另立算子;建议后续源库若有维护授权时合并为一个规范记录,并保留别名/迁移记录。本项目不改Solve上游或功法登记。 |
|
||||
| `hierarchy-principle` / 3.33 / A043「层次原理」 | 与同pack`.entries[4] slap`(2.5)高度相邻:二者都让函数/层次保持一致抽象并把细节下沉。SLAP针对函数内叙述层次;3.33还涉及模块层次和获取/释放等资源配对,范围更宽,不能只凭相邻合并。历史候选初评为准则,Solve的OperatorSpec步骤仍不证明独立来源。 |
|
||||
|
||||
结论:本批没有足够证据新增项目功法身份。3.32是Solve pack内部的强语义重复候选;3.30更像3.3简洁准则的再次操作化;3.31则有编号/标题匹配但定义偏移,需回到可追溯原文核对。可复用性与层次原理分别与既有胶水流程/SLAP相关但范围有差异。五条来源、许可、独立身份与效果均未核验;登记、候选数、总表和评级均不变。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.reusability — entries[32]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.reusability",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "可复用性",
|
||||
"summary": "优先复用成熟组件;只有经过多个不同应用检验后,才把本地组件提升为共享能力。",
|
||||
"core_question": "复用能减少什么成本,通用化又会增加什么设计和验证成本?",
|
||||
"operation": "调查已有能力 → 比较适配与自研成本 → 用多个案例验证 → 决定复用或抽取。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"存在相似需求、成熟组件或可能共享的本地能力。"
|
||||
],
|
||||
"not_when": [
|
||||
"复用会引入不透明供应链、错误抽象或无法满足核心差异。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出已有组件、契约、许可证和维护状态",
|
||||
"比较直接复用、适配和自研",
|
||||
"用不同应用验证通用边界",
|
||||
"记录选择理由和退出路径"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "复用决策有证据,通用组件不以猜测扩张。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"方案比较、使用案例、维护/许可检查和行为回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"为复用而强行统一不同语境,或复制未验证组件。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"撤销错误通用化,保留局部实现并重新评估真实共享点。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.28"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.simplicity-principle — entries[33]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.simplicity-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "简单性原理",
|
||||
"summary": "优先自然、直接、可解释的代码,因为复杂处更容易隐藏缺陷。",
|
||||
"core_question": "这个结构是否比问题本身更复杂?",
|
||||
"operation": "识别必要复杂度 → 删除巧技和例外 → 保持直线表达 → 用边界测试复核。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"实现存在难以解释的间接层、技巧或特殊分支。"
|
||||
],
|
||||
"not_when": [
|
||||
"复杂度对应真实安全、性能或领域约束。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出每个复杂结构的理由",
|
||||
"删除没有证据支持的技巧和分支",
|
||||
"改成直接可读的控制和数据流",
|
||||
"运行边界、错误和回归检查"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "实现更直接,缺陷隐藏点和理解成本减少。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"复杂度理由、差异、代码评审和测试结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把必要的防护误删,导致边界行为退化。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复必要防护,区分其与偶然复杂度。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.30"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.isomorphism-principle — entries[34]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.isomorphism-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "同构原理",
|
||||
"summary": "让同类问题使用同类结构和团队约定,使异常部分更容易被发现。",
|
||||
"core_question": "同类概念是否以一致形式表达,例外是否真正有理由?",
|
||||
"operation": "收集同类结构 → 选择稳定约定 → 统一可类推部分 → 显式标注真实例外。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"同类模块、接口或流程风格分裂,读者无法迁移理解。"
|
||||
],
|
||||
"not_when": [
|
||||
"不同结构表达的语义确实不同,统一会掩盖边界。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"识别可比较的同类对象",
|
||||
"提取共同命名、参数和流程约定",
|
||||
"统一稳定部分并保留显式差异",
|
||||
"用新读者和异常案例检查可预测性"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "一致结构降低学习成本,真正异常更突出。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"规范对照、同类对象差异、评审和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"为形式一致牺牲领域语义或保留错误例外。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复语义差异,更新约定边界而非机械统一。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.31"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.symmetry-principle — entries[35]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.symmetry-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "对称原理",
|
||||
"summary": "让成对概念采用对称结构与命名,帮助读者预测资源和状态转换。",
|
||||
"core_question": "一个操作的对应操作是否在结构和生命周期上可预测?",
|
||||
"operation": "识别成对动作 → 对齐命名和参数 → 检查成功/失败路径 → 用资源测试验证。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"生命周期或双向操作存在遗漏、命名不一致或异常不对称。"
|
||||
],
|
||||
"not_when": [
|
||||
"对应操作有明确不同语义,不能强行镜像。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出成对操作和资源责任",
|
||||
"统一共同结构和术语",
|
||||
"覆盖正常、中断和失败路径",
|
||||
"检查资源最终状态和可重复执行"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "成对操作更易类推,资源和状态不变量更稳定。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"生命周期图、资源测试、命名对照和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"表面镜像掩盖了不同的错误或权限语义。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"显式记录不对称原因,并只共享真正相同的部分。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.32"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.hierarchy-principle — entries[36]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.hierarchy-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "层次原理",
|
||||
"summary": "让每层保持一致抽象,配对行为尽量在同层完成,高层说做什么、低层说怎么做。",
|
||||
"core_question": "跨层调用是否迫使读者同时理解多个抽象层?",
|
||||
"operation": "标注层次 → 对齐同层职责与配对行为 → 收窄跨层泄漏 → 用流程阅读检查。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"函数或模块混合高层目标与低层细节,资源配对跨层分散。"
|
||||
],
|
||||
"not_when": [
|
||||
"底层适配本身就是必须暴露的边界,隐藏会损害契约。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"标注调用链中的抽象层",
|
||||
"把获取/释放等配对行为放在可见同层",
|
||||
"把实现细节下沉到明确边界",
|
||||
"由读者顺序复述高层流程"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "每一层职责和资源责任可独立理解,跨层泄漏减少。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"层次图、函数差异、资源配对测试和评审。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"增加层数却没有降低复杂度或扩散。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并无价值层,保留真实的抽象和生命周期边界。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.33"
|
||||
}
|
||||
```
|
||||
+273
@@ -0,0 +1,273 @@
|
||||
# 2026-10-14 编程原则3.34–3.39五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照。3.37未出现在Solve pack,本批覆盖3.34–3.36及3.38–3.39。只记录语义重叠、错位和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T16:22:53Z`。
|
||||
- 触发:继续审阅85条编号/标题交叉表,比较3.34–3.39的历史候选、同pack记录及现有登记。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`,该文件字节与固定版本一致;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A044–A046、A048–A049。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- Solve选区:pack `.entries[37]`至`.entries[41]`。下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余源字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。`source_principle`是Solve记录自述编号,标题、编号不能替代定义核对。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `linearity-principle` / 3.34 / A044「线性原理」 | 历史准则要求直接、可追踪的控制流,减少跳转和隐式副作用;Solve把它细化为入口处理边界、命名顺序步骤与分支覆盖。与已登记`gongfa-reasonable-code`的浅分支/平逻辑相关,但主要针对控制流可读性;不因此另登记。 |
|
||||
| `clarity-principle` / 3.35 / A045「清晰原理」 | 存在明显语义偏移:历史候选讲设计意图易读、清楚表达胜过短小技巧;Solve则讲修改前弄清语境、根因与不变量,用测试/实验区分假设。后者更像调查/诊断方法,不能仅凭编号和标题认作同一原则;需要可追溯原文核对。 |
|
||||
| `safety-principle` / 3.36 / A046「安全原理」 | 两者都强调异常/误用下限制损害、尽早显露失败;Solve增加安全默认、拒绝/降级/停止、状态一致性和故障注入。与`gongfa-controllable-failure`及`gongfa-failure-mode-analysis`相邻但范围不完全相同;高风险安全边界仍须独立专业审查,本轮不登记或声称有效。 |
|
||||
| `modularity-principle` / 3.38 / A048「模块化原则」 | 同一主张为清楚边界、简单接口、小模块;Solve补充责任/依赖核对、删除多余操作、独立检查与组合验证。与`gongfa-divide-and-conquer`、稳定接口契约及关注点分离有关联,但分别回答分解、契约和变化边界问题;候选来源未核,不新增平行登记。 |
|
||||
| `unix-clarity` / 3.39 / A049「清晰原则」 | 历史准则与Solve都强调代码面向维护者,选择可读表达而非晦涩技巧;Solve补充读者误读、命名、注释意图和回归验证。与`gongfa-reasonable-code`高度相关,当前证据支持操作化/相邻,不足以证明独立身份。 |
|
||||
|
||||
同pack中3.35与3.39都显示为「清晰原理/清晰原则」,但语义不同:前者是改动前的语境/根因理解,后者是代码表示的可读性,不因中文标题近似合并。A045与A049在历史候选中也各有自己的编号和定义;两者不自动互相替代。
|
||||
|
||||
结论:本批不新增项目登记、不改Solve上游。3.35有编号标题匹配但定义偏移,3.36涉及高风险安全语义;其余记录分别与已有可推理代码、故障控制、模块/契约边界相邻。记录格式、章节号、过程步骤数都不能证明来源同一、独立方法身份、许可证或效果。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.linearity-principle — entries[37]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.linearity-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "线性原理",
|
||||
"summary": "让控制流尽量像直线,减少嵌套和特殊分支,把异常移到边界或小函数。",
|
||||
"core_question": "读者能否按顺序阅读流程而不在多层分支中跳转?",
|
||||
"operation": "识别嵌套和特殊情况 → 提前处理边界 → 提取命名步骤 → 用路径覆盖验证。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"复杂条件树、深层嵌套或异常路径遮蔽主要流程。"
|
||||
],
|
||||
"not_when": [
|
||||
"状态机或算法本质上需要分支,强行线性化会损失准确性。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"画出主要和异常路径",
|
||||
"把输入错误和边界条件移到入口",
|
||||
"提取可命名的顺序步骤",
|
||||
"覆盖每条保留分支和恢复路径"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "主流程更易顺序理解,分支数量和嵌套深度降低。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"控制流图、分支覆盖、差异和行为回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"为追求直线隐藏状态转换或错误处理。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复显式状态/分支,优先保证语义和可验证性。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.34"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.clarity-principle — entries[38]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.clarity-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "清晰原理",
|
||||
"summary": "复用或修改前先理解语境和根因,把隐含条件通过测试、图示或实验显式化。",
|
||||
"core_question": "我们是在理解后修改,还是在猜测后试错?",
|
||||
"operation": "写出当前解释 → 找未知条件 → 用最小证据验证 → 再选择代码变换。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"修复、复用或重构前对语境、根因和不变量没有把握。"
|
||||
],
|
||||
"not_when": [
|
||||
"任务是明确的机械操作,额外探索不会增加正确性。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"记录已知事实和待验证假设",
|
||||
"用最小测试、图示或实验区分假设",
|
||||
"在理解稳定后实施小步变更",
|
||||
"由独立证据复核解释和行为"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "修改基于可复述语境和证据,而非局部猜测。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"假设记录、实验结果、解释差异和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把一次通过当成根因证明,或实验改变多个变量。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回到最小复现和可证伪假设,重新建立证据。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.35"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.safety-principle — entries[39]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.safety-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "安全原理",
|
||||
"summary": "主动覆盖看似不可能的状态和错误输入,保证系统在必要条件之外还有安全运行的充分条件。",
|
||||
"core_question": "未知、空值、资源失败或异常枚举出现时,系统如何安全处理?",
|
||||
"operation": "列出不可能状态 → 定义安全默认与停止策略 → 注入边界故障 → 验证错误不扩散。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"需求只描述正常路径,系统会接收未知输入或外部资源不可靠。"
|
||||
],
|
||||
"not_when": [
|
||||
"安全策略没有明确影响边界,或测试环境无法隔离故障。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"枚举空值、未知值、超时和资源失败",
|
||||
"为每类异常定义拒绝、降级或安全停止",
|
||||
"确保错误不会污染后续状态",
|
||||
"通过边界和故障注入复核"
|
||||
],
|
||||
"effect": {
|
||||
"state": "safety_state",
|
||||
"statement": "未知状态有明确且可观察的安全行为,危险路径被阻断。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"边界矩阵、故障注入、错误输出和状态一致性。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"默认分支吞错、继续执行危险操作或泄露敏感信息。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"立即停止危险路径,恢复一致状态并补充显式错误契约。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.36"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.modularity-principle — entries[40]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.modularity-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "模块化原则",
|
||||
"summary": "用小而单纯的模块和少量简单接口控制理解、替换和组合成本。",
|
||||
"core_question": "这个模块是否有一个清楚责任和最小边界?",
|
||||
"operation": "识别责任与依赖 → 缩小模块接口 → 验证独立行为 → 检查组合成本。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"模块同时承担多个变化理由或接口暴露过多内部细节。"
|
||||
],
|
||||
"not_when": [
|
||||
"模块天然是不可分割的事务或拆分会增加真实耦合。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"写出模块单一责任",
|
||||
"删除不必要的公开操作和依赖",
|
||||
"为边界补充独立检查",
|
||||
"用组合案例确认拆分没有依赖爆炸"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "模块职责和接口表面收窄,组合更可控。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"接口清单、依赖图、独立测试和组合回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"模块碎片化导致跳转和协调成本上升。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并真实共同变化部分,保留可理解的模块边界。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.38"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.unix-clarity — entries[41]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.unix-clarity",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "清晰原则",
|
||||
"summary": "代码写给人看;如果需要二次破译,就降低表示和命名的解码成本。",
|
||||
"core_question": "维护者是否需要逐行“翻译”才能知道代码意图?",
|
||||
"operation": "定位需要破译的片段 → 改善结构和术语 → 保留必要原因 → 由读者复述。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"代码依赖技巧、隐式约定或复杂表达才能理解。"
|
||||
],
|
||||
"not_when": [
|
||||
"实现细节本身就是外部契约,不能只改成表面更短。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"收集读者卡点和误读",
|
||||
"用直接结构和领域名称重写",
|
||||
"检查注释是否解释原因而非重复代码",
|
||||
"运行行为回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "代码的主要意图可被快速复述,解码步骤减少。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"读者反馈、结构差异、误解案例和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"为了清晰改变了时序、错误或性能语义。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"保留语义边界,分离表达改善和行为变化。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.39"
|
||||
}
|
||||
```
|
||||
+271
@@ -0,0 +1,271 @@
|
||||
# 2026-10-14 编程原则3.40–3.44五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照。只记录语义重叠、错位和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T16:40:48Z`。
|
||||
- 触发:继续审阅85条编号/标题交叉表,比较3.40–3.44的历史候选、同pack记录及现有登记。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A050–A054。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- Solve选区:pack `.entries[42..46]`。下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余源字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。`source_principle`是Solve记录自述编号,标题、编号不能替代定义核对。历史候选各自也未补齐上游原文、独立语义审查或效果证据。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `composition-principle` / 3.40 / A050「组合原则」 | 历史候选要求程序可连接协同;Solve细化为稳定I/O、小契约、错误传播与背压。与`gongfa-glue-coding`的选择—适配—编排相关,但关注可组合接口的限制更窄;作为架构准则操作化,不新增平行登记。 |
|
||||
| `separation-principle` / 3.41 / A051「分离原则」 | 策略/机制分离、稳定边界及多策略替换,和已审3.18 `strategy-implementation-separation`高度重复;历史候选提及UI/策略/机制,但Solve的判断对象及流程仍近同一类变化边界。不作为新身份;与稳定接口/实现分离相邻但不把这些概念机械合并。 |
|
||||
| `unix-simplicity` / 3.42 / A052「简单原则」 | 强调抵抗炫技和无证据复杂度,与3.30 `simplicity-principle`及3.3 `simplicity`构成高重叠簇。收益账本、比较替代方案可作操作化补充,不足以支持第三个平行登记。 |
|
||||
| `parsimony-principle` / 3.43 / A053「简约原则」 | 历史候选偏向“优先小程序/组合,扩大规模须有理由”;Solve偏向删除冗余并按真实责任拆分过大的模块/流程。与简单性、模块化相关但对象和决策粒度有差异,暂作相邻规模控制准则,不据此登记。避免按行数阈值机械拆分。 |
|
||||
| `transparency-principle` / 3.44 / A054「透明性原则」 | 两者都关注运行状态/行为的可观察与诊断;Solve增加最小观测点、脱敏、采样、保留、成本和故障演练。与`gongfa-controllable-failure`中的发现/定位能力相邻,但观测不是完整故障处置方法;不能以加日志等同有效可观测性,隐私和时序边界必须保留。 |
|
||||
|
||||
结论:3.41与3.18高度重复;3.42与3.3、3.30形成重复簇;3.40、3.43、3.44与既有胶水、复杂度/模块边界、故障可控方法分别相邻。五条不新增项目登记、不改Solve上游。仅有pack字段与冻结历史候选,不足以证明来源相同、独立方法身份、许可证或效果。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.composition-principle — entries[42]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.composition-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "组合原则",
|
||||
"summary": "让程序通过稳定、简单的输入输出接口组合,而不是共享内部状态。",
|
||||
"core_question": "这个组件能否与其他组件通过小契约可靠连接?",
|
||||
"operation": "定义输入输出 → 移除隐式耦合 → 组合小组件 → 验证管道和错误传播。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"工具、服务或步骤需要串联,且共享状态会限制复用。"
|
||||
],
|
||||
"not_when": [
|
||||
"组件输出没有稳定语义,或组合需要不可见的全局上下文。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"明确输入、输出、错误和生命周期",
|
||||
"优先使用简单稳定的交换格式",
|
||||
"组合小组件完成代表性任务",
|
||||
"检查边界、背压和错误传播"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "组件可以在契约内组合,组合关系可观察可测试。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"接口契约、管道样例、错误传播和集成回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"组合只在演示输入上成立,真实边界互不兼容。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"收窄契约或增加明确适配器,拒绝隐式共享状态。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.40"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.separation-principle — entries[43]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.separation-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "分离原则",
|
||||
"summary": "把策略与机制拆开,让稳定机制承载可替换策略。",
|
||||
"core_question": "变化的策略是否被稳定机制的细节绑住?",
|
||||
"operation": "识别策略和机制 → 定义稳定接口 → 分离配置/规则 → 用多策略案例检查。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"同一机制需要支持多个策略或策略变化明显快于机制。"
|
||||
],
|
||||
"not_when": [
|
||||
"策略和机制同因变化,分离只造成无意义转发。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"记录策略和机制的变化频率",
|
||||
"设计最小策略输入和机制承诺",
|
||||
"移出硬编码策略",
|
||||
"用替代策略和失败输入回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "策略替换不再污染机制实现,变化边界有证据。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"策略/机制依赖图、替代案例和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"预先建立过度通用的策略框架。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回退为直接实现,等待实际多策略证据。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.41"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.unix-simplicity — entries[44]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.unix-simplicity",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "简单原则",
|
||||
"summary": "抵抗炫技和功能营销带来的复杂化,优先可解释和可维护的直接方案。",
|
||||
"core_question": "新增机制是否真正降低了目标问题的总复杂度?",
|
||||
"operation": "列出新增机制的收益 → 比较直接方案 → 删除无证据复杂度 → 复测目标。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"设计因技巧、营销功能或过早扩展而膨胀。"
|
||||
],
|
||||
"not_when": [
|
||||
"复杂度是已验证的安全、性能或兼容性必要条件。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"为每项新增复杂度写收益和证据",
|
||||
"比较更简单的替代实现",
|
||||
"删除没有可测收益的机制",
|
||||
"用目标场景和维护者检查复核"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "总复杂度下降,必要能力和边界保持清楚。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"复杂度账本、方案比较、目标场景和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把“简单”变成拒绝必要工程约束的口号。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复必要机制,并将可删部分单独标记。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.42"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.parsimony-principle — entries[45]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.parsimony-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "简约原则",
|
||||
"summary": "不让程序或模块长成无法掌控的大块,及时拆分或删除不需要的代码。",
|
||||
"core_question": "这段规模是否已经超过单个维护者可掌控范围?",
|
||||
"operation": "识别不可掌控的大块 → 删除无价值内容 → 按职责拆分 → 用导航和测试复核。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"模块、配置或流程过大,维护者无法快速定位责任。"
|
||||
],
|
||||
"not_when": [
|
||||
"拆分会破坏不可分割事务或增加比规模问题更大的复杂度。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"记录规模、职责和访问路径",
|
||||
"删除未使用和重复内容",
|
||||
"按真实责任拆分大块",
|
||||
"检查依赖、导航和行为回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "可理解规模恢复,维护入口和责任清楚。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"规模/责任清单、删除差异、依赖图和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"机械按行数拆分,产生碎片和跳转。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"按语义重新合并,并以责任和变化而非行数划分。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.43"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.transparency-principle — entries[46]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.transparency-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "透明性原则",
|
||||
"summary": "让内部运行可观察,通过日志、追踪、测试钩子和诊断工具支持理解与复盘。",
|
||||
"core_question": "系统出问题时,我们凭什么知道它走了哪条路径?",
|
||||
"operation": "列诊断问题 → 设计最小观测点 → 采集并脱敏 → 用故障演练验证定位能力。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"状态转移、外部调用或失败原因无法从现有输出判断。"
|
||||
],
|
||||
"not_when": [
|
||||
"观测会泄露敏感信息、改变实时行为或超过成本边界。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出需要回答的诊断问题",
|
||||
"选择必要事件、指标和关联信息",
|
||||
"校验脱敏、采样和保留边界",
|
||||
"通过正常/失败路径演练复核"
|
||||
],
|
||||
"effect": {
|
||||
"state": "observability_state",
|
||||
"statement": "关键执行路径和状态可被独立观察,且不扩大敏感暴露。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"事件 schema、脱敏策略、trace、故障演练和成本。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"只堆日志但无法关联状态,或记录敏感值。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"收窄字段并建立关联键,必要时改用隔离回放。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.44"
|
||||
}
|
||||
```
|
||||
+271
@@ -0,0 +1,271 @@
|
||||
# 2026-10-14 编程原则3.45–3.49五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照。只记录语义重叠、错位和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T16:51:15Z`。
|
||||
- 触发:继续审阅85条编号/标题交叉表,比较3.45–3.49的历史候选、同pack记录及现有登记。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A055–A059。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- Solve选区:pack `.entries[47..51]`。下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余源字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。`source_principle`是Solve记录自述编号,标题、编号不能替代定义核对。历史候选各自也未补齐上游原文、独立语义审查或效果证据。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `robustness-principle` / 3.45 / A055「健壮性原则」 | 历史候选强调以透明、简单结构抵抗错误;Solve列举偏离模式、边界策略、诊断上下文与异常测试。与3.36安全、`gongfa-controllable-failure`和`gongfa-failure-mode-analysis`相关,但它们分别关注安全边界、发现/定位/隔离/恢复、失败模式分析;不机械合并,也不据候选重叠新登记。 |
|
||||
| `expressiveness-principle` / 3.46 / A056「表达性原则」 | 历史候选要求把开发者掌握的信息写入命名、数据结构和逻辑;Solve更窄地把固定规则表达为可校验数据。与`gongfa-reasonable-code`、`gongfa-explicit-dependencies`及`gongfa-mechanistic-explanation`相邻,可能是表达/数据化操作,不据此新增独立身份。 |
|
||||
| `least-surprise` / 3.47 / A057「最小意外原则」 | 历史候选显式关联已登记`gongfa-least-surprise`;两者核心均是用户预期与实际接口行为可预测。Solve补充惯例对照、默认值和显式例外,是操作化细节,不平行登记。仓内关联不证明外部来源身份。 |
|
||||
| `silence-principle` / 3.48 / A058「沉默原则」 | 成功路径避免无价值噪声,分离结果协议与诊断输出;Solve细化通道、级别、默认值和自动化消费。属于输出契约准则候选;“安静”不得掩盖法规、安全、审计要求或失败,也不得把诊断永久关闭。本轮来源未核,不登记。 |
|
||||
| `repair-principle` / 3.49 / A059「修复原则」 | 两者要求不可继续时显式报告、尽早停止或隔离,避免错误扩散;Solve额外区分可恢复输入与内部契约破坏、检查资源释放及状态证据。与健壮性、失败模式分析和可控故障相关,但不等于故障分析或全套恢复流程;不据标题另立身份。 |
|
||||
|
||||
结论:3.47与现有登记直接重叠;3.45和3.49处于可靠性/失败处理相邻簇;3.46、3.48是相关表达和输出契约候选。五条不新增项目登记、不改Solve上游。现有描述不能证明来源相同、独立方法身份、许可证或实际效果。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.robustness-principle — entries[47]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.robustness-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "健壮性原则",
|
||||
"summary": "通过透明、简单和明确边界提升抗错误能力,而不是用吞错掩盖问题。",
|
||||
"core_question": "输入、依赖或环境偏离预期时,系统是否仍能可解释地处理?",
|
||||
"operation": "枚举偏离场景 → 定义边界行为 → 注入异常 → 检查错误可见性和恢复。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"外部输入、依赖或环境存在不可控变化。"
|
||||
],
|
||||
"not_when": [
|
||||
"没有可隔离的异常环境,或容错要求未被业务定义。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出输入和依赖的偏离模式",
|
||||
"定义拒绝、降级、重试和停止条件",
|
||||
"让错误包含足够诊断上下文",
|
||||
"用异常输入和资源故障回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "reliability_state",
|
||||
"statement": "异常不会静默扩散,系统行为在边界内可解释。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"异常矩阵、故障注入、错误记录和恢复结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"宽容策略接受了不可解释数据或掩盖根因。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"收紧输入边界,保留明确错误并重新定义恢复范围。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.45"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.expressiveness-principle — entries[48]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.expressiveness-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "表达性原则",
|
||||
"summary": "能用数据表达的规则优先转成可查看、生成和校验的数据。",
|
||||
"core_question": "复杂度放在逻辑还是数据,哪一处更容易检查和演进?",
|
||||
"operation": "识别固定规则 → 选择数据表达 → 建立校验和生成 → 比较阅读、变更和运行成本。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"规则、映射或样板被大量重复控制流程承载。"
|
||||
],
|
||||
"not_when": [
|
||||
"数据表达无法覆盖动态语义,或数据规模使检查和运行失控。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"分离变化数据与稳定执行机制",
|
||||
"设计可读且可验证的表示",
|
||||
"添加 schema/生成/静态检查",
|
||||
"用边界和性能案例确认等价"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "固定规则更容易查看、生成和校验,逻辑复杂度下降。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"数据 schema、生成输入、等价案例和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把行为逻辑伪装成难以调试的数据。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复必要显式逻辑,保留真正适合数据化的部分。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.46"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.least-surprise — entries[49]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.least-surprise",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "最小意外原则",
|
||||
"summary": "让接口和行为匹配目标用户已有经验,避免名称相同但语义微妙不同。",
|
||||
"core_question": "熟悉该领域的使用者会对这个行为形成什么预期?",
|
||||
"operation": "识别用户约定 → 比较现有惯例 → 对齐命名和行为 → 对不可避免差异显式提示。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"接口、配置或错误行为容易被用户按惯例误用。"
|
||||
],
|
||||
"not_when": [
|
||||
"目标领域没有稳定约定,或兼容旧行为要求保留差异。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出用户已有的术语和行为预期",
|
||||
"检查接口与惯例的偏差",
|
||||
"采用更可预测的默认和命名",
|
||||
"为不可避免差异提供显式契约和测试"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "使用者的合理预期与实际行为一致,误用减少。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"惯例对照、误用案例、接口文档和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"为追求熟悉而复制不适用惯例。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"明确领域特有语义,保留与惯例不同的可见理由。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.47"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.silence-principle — entries[50]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.silence-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "沉默原则",
|
||||
"summary": "正常成功路径只输出有意义的数据,把诊断信息与正常输出分离并按需开启。",
|
||||
"core_question": "哪些输出是消费者数据,哪些只是诊断噪音?",
|
||||
"operation": "分类输出 → 分离正常流和诊断流 → 定义级别与默认值 → 检查自动化消费。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"工具需要被管道、脚本或其他系统消费,日志会污染协议。"
|
||||
],
|
||||
"not_when": [
|
||||
"法规、审计或安全要求必须保留不可关闭的事件。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出输出消费者和契约",
|
||||
"把结果、告警和诊断分到明确通道",
|
||||
"设置安全默认和可控详细级别",
|
||||
"用自动化解析与错误路径回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "interface_state",
|
||||
"statement": "正常输出稳定可消费,诊断信息不干扰协议且仍可获取。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"输出 schema、管道测试、日志级别和错误回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"静默掩盖重要失败,或混入不可解析的诊断内容。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"保留必要错误和状态码,重新划分结果与诊断边界。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.48"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.repair-principle — entries[51]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.repair-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "修复原则",
|
||||
"summary": "无法可靠恢复时尽早停止,让错误清晰可见,避免继续处理扩大损坏。",
|
||||
"core_question": "当前错误能否被可靠恢复,还是应该安全停止?",
|
||||
"operation": "分类错误 → 判断可恢复性 → 定义停止/恢复边界 → 保留证据并检查一致性。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"错误可能污染数据、状态或后续决策。"
|
||||
],
|
||||
"not_when": [
|
||||
"错误属于预期用户输入且已有明确校正路径。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"区分可恢复输入错误和内部契约破坏",
|
||||
"为内部失败设安全停止和资源释放",
|
||||
"让错误包含原因和位置",
|
||||
"用失败注入验证不会继续扩散"
|
||||
],
|
||||
"effect": {
|
||||
"state": "recovery_state",
|
||||
"statement": "不可恢复错误及时停止,状态和错误证据保持可追踪。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"错误分类、停止原因、资源状态、失败注入和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"以宽容重试掩盖非幂等副作用或丢失原始证据。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回滚到最近一致状态,补齐幂等/恢复契约后再重试。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.49"
|
||||
}
|
||||
```
|
||||
+271
@@ -0,0 +1,271 @@
|
||||
# 2026-10-14 编程原则3.50–3.54五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照。只记录语义重叠、错位和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T17:11:09Z`。
|
||||
- 触发:继续审阅85条编号/标题交叉表,比较3.50–3.54的历史候选、同pack记录及现有登记。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A060–A064。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- Solve选区:pack `.entries[52..56]`。下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余源字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。`source_principle`是Solve记录自述编号,标题、编号不能替代定义核对。历史候选各自也未补齐上游原文、独立语义审查或效果证据。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `economy-principle` / 3.50 / A060「经济原则」 | 历史候选聚焦可行时用机器替代重复人工;Solve扩展到工具、自动化、硬件和流程的投入产出、机会成本及退出成本。自动化节省人工不自动推出端到端总成本下降;差异化扩展尚无可追溯原文或实测支持,不新登记。 |
|
||||
| `generation-principle` / 3.51 / A061「生成原则」 | 两者均主张从单一高层来源生成机械可推导产物;Solve增加可重复生成、Schema/行为校验、版本与重建证据。与仓内JSON→catalog等派生视图实践相符,但本地实现是应用示例,不证明外部原则的独立身份;不新增登记。 |
|
||||
| `optimization-principle` / 3.52 / A062「优化原则」 | 历史候选明确关联已登记`gongfa-performance-by-measurement`;两者均要求先正确/清晰、再测量热点后局部优化。Solve增加固定基准、小步变化、重复测量和正确性回归,是既有原则的操作细化,不平行登记。 |
|
||||
| `diversity-principle` / 3.53 / A063「多样性原则」 | 历史候选反对把不同问题域强塞进一种工具/技术;Solve将“多样”限定为有真实使用差异的受控变体,并要求选择边界、维护成本与淘汰条件。它不是无限配置或将兼容性当扩展理由;来源未核,不据此登记。 |
|
||||
| `extensibility-principle` / 3.54 / A064「可扩展性原则」 | 历史候选关注兼容地增加字段/命令/实现;Solve限定为有证据的扩展轴、版本/生命周期/错误契约及代表性插件回归。与已登记`gongfa-stable-interface-contract`及开闭设计相邻,细节可能有差异,但当前来源未核,不能把预测性扩展点写成既成需求或新增身份。 |
|
||||
|
||||
结论:3.52与现有性能测量原则高度重叠;3.51的源—规则—派生产物强调与仓内生成总表实践相符但不能反过来证明外部来源。3.50、3.53、3.54保留范围边界,不因名称和合理性自动登记。五条不新增项目登记、不改Solve上游;来源、许可、独立审查及效果均未核实。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.economy-principle — entries[52]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.economy-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "经济原则",
|
||||
"summary": "用投入产出和机会成本判断工具、自动化、硬件和流程投资,而不是只看局部价格。",
|
||||
"core_question": "哪项投入能显著减少重复劳动、等待或错误成本?",
|
||||
"operation": "量化当前成本 → 比较候选投入 → 试点测量 → 依据收益决定保留或撤销。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"重复手工操作、长等待或高错误率已成为明显瓶颈。"
|
||||
],
|
||||
"not_when": [
|
||||
"收益无法测量,或试点成本和风险超过可接受预算。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"定义时间、资源、错误和维护成本",
|
||||
"比较自动化/工具/流程候选",
|
||||
"做有界试点并测量收益",
|
||||
"记录长期维护和退出成本"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "资源投入与可验证收益匹配,低价值自动化被排除。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"基线、试点成本、收益测量和退出判断。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把局部速度提升误当总成本下降。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回到端到端指标,撤销不能降低总成本的投入。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.50"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.generation-principle — entries[53]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.generation-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "生成原则",
|
||||
"summary": "把固定格式、重复样板和可机械推导内容交给生成器,并把输入保持为单一事实来源。",
|
||||
"core_question": "这部分内容是否可由稳定输入和规则机械推导?",
|
||||
"operation": "识别可生成内容 → 设计源数据和生成规则 → 生成 → 自动校验 → 保留可重建产物。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"重复样板、协议文件或派生代码容易漂移。"
|
||||
],
|
||||
"not_when": [
|
||||
"生成规则不稳定、输出需大量人工判断或生成器无法被验证。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"区分源数据、规则和派生产物",
|
||||
"建立可重复的生成入口",
|
||||
"对生成结果运行 schema/行为检查",
|
||||
"记录版本、输入和重建方式"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "重复产物由可追踪源生成,手工漂移和维护成本减少。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"源数据、生成命令、产物差异、校验和重建结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"生成器隐藏规则、产物不可审查或源与结果不同步。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"停止生成发布,恢复上一个可验证产物并修正源/规则。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.51"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.optimization-principle — entries[54]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.optimization-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "优化原则",
|
||||
"summary": "先保证正确和清晰,再依据基准与热点测量优化关键部分。",
|
||||
"core_question": "性能问题是否已被测量定位,优化是否值得引入复杂度?",
|
||||
"operation": "固定行为和基准 → 定位热点 → 提出优化假设 → 小步修改 → 重测并回归。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"已有明确性能目标且测量显示存在热点。"
|
||||
],
|
||||
"not_when": [
|
||||
"没有代表性负载、没有热点证据或优化会破坏关键语义。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"建立正确性和性能基线",
|
||||
"找出占主要成本的热点",
|
||||
"一次只改变一个优化因素",
|
||||
"比较收益、方差、复杂度和回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "性能改进由可重复测量支持,正确性和边界保持成立。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"基准输入、热点数据、重复测量、行为回归和差异解释。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"过拟合基准、优化非热点或引入不可维护技巧。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"撤回优化,扩大负载并回到清晰实现。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.52"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.diversity-principle — entries[55]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.diversity-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "多样性原则",
|
||||
"summary": "承认合理替代路线的存在,但只为真实差异保留受控扩展,不把多样性变成无限配置。",
|
||||
"core_question": "保留多个方案是为了什么已证实的差异?",
|
||||
"operation": "列出替代方案 → 说明差异与使用条件 → 选择最小可维护扩展 → 设定淘汰和验证条件。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"不同平台、用户或约束确实需要不同实现路线。"
|
||||
],
|
||||
"not_when": [
|
||||
"替代方案没有使用证据,只是为未来可能性堆叠配置。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"记录候选方案的真实差异",
|
||||
"区分必要变体与重复实现",
|
||||
"用清晰选择边界承载变体",
|
||||
"测量维护和组合成本并定期淘汰"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "必要多样性可被选择和验证,空置变体不再扩张。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"变体矩阵、使用证据、选择规则和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"每个边界都被配置化,系统无法理解和测试。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并未使用变体,保留少量有证据的扩展点。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.53"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.extensibility-principle — entries[56]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.extensibility-principle",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "可扩展性原则",
|
||||
"summary": "只为已知扩展轴留下可插拔边界,并让数据格式可自描述、可版本化。",
|
||||
"core_question": "扩展点对应哪个真实生态或变化轴,谁会使用它?",
|
||||
"operation": "识别已证实扩展轴 → 定义版本化边界 → 实现最小插件契约 → 用新扩展验证。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"已有明确的外部生态、插件需求或重复扩展案例。"
|
||||
],
|
||||
"not_when": [
|
||||
"扩展轴只是推测,或扩展机制比直接修改核心更复杂。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出真实扩展者和扩展内容",
|
||||
"定义版本、生命周期和错误契约",
|
||||
"实现最小可替换边界",
|
||||
"用一个代表性扩展和旧行为回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "已验证扩展不会侵入稳定核心,版本和兼容边界明确。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"扩展契约、版本矩阵、代表性插件和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"扩展点过早固定错误的变化方向。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"删除无证据扩展层,等真实生态需求出现再演进。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.54"
|
||||
}
|
||||
```
|
||||
+273
@@ -0,0 +1,273 @@
|
||||
# 2026-10-14 编程原则3.56–3.60五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照。只记录语义重叠、错位和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T17:16:16Z`。
|
||||
- 触发:继续审阅85条编号/标题交叉表,比较3.56–3.60的历史候选、同pack记录及现有登记。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A066–A070。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- 本批只覆盖pack `.entries[57..61]`,其`source_principle`为3.56–3.60;3.55不是该pack记录,属于85/101结构交叉表的未映射章节号。
|
||||
- A065「3.55 UNIX哲学」只作为历史候选背景:其候选类型标为“复合”,文本列出小程序、单一职责、原型、可移植性、文本数据、软件杠杆、shell、避免交互式接口和过滤器等实践。候选原文SHA-256为`3937e6a028bb323afeb2e86d91e9bda149a172b5ce14555a53818688c149941e`。这不证明这些子项具有统一组合契约,也不把A065算作Solve记录或独立登记。
|
||||
- 下方Solve投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。历史候选A066–A070也缺上游原文核验、独立语义审查及效果证据。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `small-is-beautiful` / 3.56 / A066「小就是美」 | 历史候选与Solve都主张缩小程序/组件、便于理解和组合;与已登记`gongfa-high-cohesion`及3.43简约、3.42简单性相关,但“小”不是行数阈值或无条件拆分,事务、性能、一致性和协调成本仍是边界。不新增平行身份。 |
|
||||
| `do-one-thing` / 3.57 / A067「工作唯一」 | 历史候选要求程序专注一个工作;Solve以变化理由、使用者、接口和独立场景回归判定职责边界。与`gongfa-high-cohesion`中“单一职责是内聚核心”高度重叠;不另行登记。 |
|
||||
| `early-prototyping` / 3.58 / A068「尽早创建原型」 | 这是候选包中类型标为“方法”的记录:最小可丢弃实验检验高风险未知,并以反馈决定继续/改路/停止。与实验设计、迭代及原型角色相邻,但各自范围不同;原型证据不能外推为生产可用,也不因方法类型自动登记。 |
|
||||
| `portability-over-efficiency` / 3.59 / A069「可移植性优先于效率」 | 不是绝对禁止特化;核心论点是测量收益后再支付平台锁定/迁移成本,并隔离适配边界。与性能测量、稳定接口有关,但环境矩阵、真实迁移和基准未提供,来源也未核,不赋独立身份。 |
|
||||
| `text-data` / 3.60 / A070「文本数据」 | 强调文本可读、可审查、可组合、跨工具交换;Solve补充schema、编码、版本和大负载例外。与3.40组合原则及3.51派生数据相邻;格式选择须匹配消费者/规模,不能把文本一律当成最佳或安全格式。当前不登记。 |
|
||||
|
||||
结论:3.57与已有单一职责/内聚主张高度重叠;A065是复合候选但不代表已定义的整套方法。其余条目保留职责、原型、平台特化和格式选择的区别,不机械合并,也不新增登记。不改Solve上游。候选文本、Solve投影及目录实践都不证明原始来源相同、许可证、独立方法效能或组合方法成立。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.small-is-beautiful — entries[57]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.small-is-beautiful",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "小就是美",
|
||||
"summary": "保持工具、模块和服务小而可组合,降低理解、维护和复用门槛。",
|
||||
"core_question": "缩小组件是否能降低理解和组合成本?",
|
||||
"operation": "识别不可掌控的大块 → 按职责切分 → 设计小契约 → 检查组合成本。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"组件过大、复用困难或修改一个功能会牵动无关部分。"
|
||||
],
|
||||
"not_when": [
|
||||
"拆分会破坏事务、性能或一致性边界。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出大块的职责和变化理由",
|
||||
"删除无价值功能和重复",
|
||||
"按真实责任形成小组件",
|
||||
"用端到端场景验证组合是否可接受"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "组件规模和责任更可掌控,组合关系更清楚。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"责任清单、组件依赖、端到端回归和性能基线。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"小组件数量过多,协调成本超过收益。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并真实共同变化组件,以可理解性而非规模教条收敛。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.56"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.do-one-thing — entries[58]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.do-one-thing",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "工作唯一",
|
||||
"summary": "让一个程序或组件聚焦单一职责,通过组合获得额外能力。",
|
||||
"core_question": "这个组件是否在“顺便”承担另一个独立职责?",
|
||||
"operation": "列出当前职责 → 找独立变化和使用者 → 拆出可组合组件 → 验证接口。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"组件不断加入不相关功能,导致名称、测试和边界膨胀。"
|
||||
],
|
||||
"not_when": [
|
||||
"职责必须共享不可分割事务,拆出后会损害一致性。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"用一个动词短语描述当前职责",
|
||||
"标记顺便功能及其变化理由",
|
||||
"拆出独立职责并定义小接口",
|
||||
"用原场景和独立场景回归"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "组件职责单一,附加能力通过可理解组合获得。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"职责描述、接口差异、组合案例和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"拆分后产生大量胶水和隐式共享状态。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并不可分割部分,保留真正独立的职责边界。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.57"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.early-prototyping — entries[59]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.early-prototyping",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "尽早创建原型",
|
||||
"summary": "在可行性、需求或交互未知时尽早做可丢弃原型,用反馈暴露错误前提。",
|
||||
"core_question": "哪一个未知假设最值得用最低成本先验证?",
|
||||
"operation": "选最高风险未知 → 做最小可丢弃原型 → 观察反馈 → 决定继续、改路或放弃。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"需求、交互、性能或技术可行性存在高不确定性。"
|
||||
],
|
||||
"not_when": [
|
||||
"原型被误当成生产实现,或高风险操作没有隔离环境。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出未知假设和失败代价",
|
||||
"选择能区分假设的最小原型",
|
||||
"明确原型不可直接发布的边界",
|
||||
"依据反馈记录下一步或停止"
|
||||
],
|
||||
"effect": {
|
||||
"state": "knowledge_state",
|
||||
"statement": "关键未知在低成本阶段获得证据,错误路线及时终止。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"原型范围、假设、观察记录、反馈和决策理由。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"原型验证了演示路径却没有覆盖真实约束。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"补充代表性场景和退出标准,避免把原型证据外推过度。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.58"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.portability-over-efficiency — entries[60]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.portability-over-efficiency",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "可移植性优先于效率",
|
||||
"summary": "把平台依赖隔离,让大部分代码保持平台无关;只有测量证明必要时才做深度特化。",
|
||||
"core_question": "平台特化带来的收益是否足以支付锁定和迁移成本?",
|
||||
"operation": "识别平台依赖 → 隔离适配边界 → 建立跨环境基线 → 只保留有证据优化。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"系统需要跨平台部署、迁移或长期维护。"
|
||||
],
|
||||
"not_when": [
|
||||
"目标明确锁定单一硬件/平台,且性能收益已被稳定测量。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出平台相关代码和契约",
|
||||
"把特化放入可替换适配层",
|
||||
"在目标环境建立行为和性能基线",
|
||||
"比较移植成本与特化收益"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "核心逻辑保持可移植,平台优化边界和代价清楚。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"平台矩阵、适配差异、行为/性能基线和迁移演练。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"抽象层破坏关键性能,或遗漏平台差异。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"保留必要特化并显式记录平台契约和退出条件。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.59"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.text-data — entries[61]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.text-data",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "文本数据",
|
||||
"summary": "在可读、可组合和跨平台交换有价值时优先使用开放文本格式,并明确性能例外。",
|
||||
"core_question": "数据是否需要人读、工具串联或跨平台交换?",
|
||||
"operation": "列数据消费者和约束 → 选择可读标准格式 → 定义 schema/编码/版本 → 测量必要时再特化。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"数据需要审查、管道组合、跨语言或跨平台交换。"
|
||||
],
|
||||
"not_when": [
|
||||
"体积、吞吐或保密要求已证明文本格式不可接受。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出可读性、兼容性、体积和速度需求",
|
||||
"选择标准文本表示及 schema",
|
||||
"测试错误、版本和大数据边界",
|
||||
"用测量决定是否引入二进制或压缩"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "数据契约可读可审查,格式变化和互操作边界明确。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"格式 schema、样例、跨平台解析、性能基线和版本测试。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"文本格式无边界校验或在高负载下成为瓶颈。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"补充校验/压缩/分块,或以有证据的二进制适配层隔离。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.60"
|
||||
}
|
||||
```
|
||||
+272
@@ -0,0 +1,272 @@
|
||||
# 2026-10-14 编程原则3.61–3.64及4.1五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照。只记录语义重叠、错位和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T17:20:50Z`。
|
||||
- 触发:继续审阅85条编号/标题交叉表,比较Solve `.entries[62..66]`及历史候选A071–A075。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A071–A075。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- 下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。历史候选各自也未补齐上游原文核验、独立语义审查或效果证据。
|
||||
- A065/3.55「UNIX哲学」是前一快照记录的未映射复合候选,不是本pack记录。其把小程序、职责、原型、可移植、文本、软件杠杆、shell、非交互入口与过滤器放在同一段落;本次逐条比较不据此假定存在共同契约或完整组合方法。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `software-leverage` / 3.61 / A071「充分利用软件的杠杆效应」 | 历史候选与Solve都要求先复用成熟能力并用组合/自动化放大产出;与已登记`gongfa-glue-principle`核心重叠。Solve增加许可、版本、供应链、试点、回滚和退出检查,属于成熟复用原则的风险操作化,不另登记。 |
|
||||
| `shell-glue` / 3.62 / A072「活用shell脚本」 | 候选类型标为“方法”:使用脚本组合现有命令完成固定自动化。Solve明确错误码、空格、超时、清理和迁移到更合适语言的边界。是工具实现手段,不等于普适shell优先原则;安全性须按具体命令审查,不因自动化绕过确认/权限。来源未核,不登记。 |
|
||||
| `noninteractive-interface` / 3.63 / A073「避开交互式用户接口」 | 为自动化提供无TTY接口,但Solve保留了人类判断、确认与持续探索的例外。非交互不等于取消授权、风险确认或安全闸门;操作语义、超时、取消和结果一致性须单独验证,不新登记。 |
|
||||
| `filter-oriented-design` / 3.64 / A074「过滤器化」 | 候选和Solve均强调标准输入—单一转换—输出的可组合流;Solve增加错误流、背压、大输入和副作用边界。它是具体流处理方法,不等于一般模块组合,也不等于A065整段UNIX文化列表;来源未核,不登记。 |
|
||||
| `cohesion-audit` / 4.1 / A075「内聚度」 | 历史候选标为“复合”,描述内聚概念及若干级别;Solve只提供以责任描述、共同变化和代表性调用检查模块边界的审计算子。与已登记`gongfa-high-cohesion`(候选也显式关联)主张高度重叠;不复制历史分级体系,也不另登记。 |
|
||||
|
||||
结论:3.61与胶水原则高度重叠;3.62、3.63、3.64分别是脚本编排、非交互调用和流式组合的窄操作,不应合并为一句“UNIX哲学”或机械套用;4.1是内聚检查操作化,不能冒充完整内聚分级理论。五条不新增登记、不改Solve上游。候选文本和相同标题不证明共同外部来源、许可、效果或单一复合方法成立。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.software-leverage — entries[62]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.software-leverage",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "充分利用软件的杠杆效应",
|
||||
"summary": "优先复用成熟能力、组合小工具和自动化重复劳动,让已有软件产生乘数效应。",
|
||||
"core_question": "是否存在成熟能力可以安全复用,而无需重新实现?",
|
||||
"operation": "调查现有能力 → 比较复用与自研 → 组合或自动化 → 验证供应链和行为边界。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"重复手工工作或常见能力已有成熟实现。"
|
||||
],
|
||||
"not_when": [
|
||||
"现有方案不满足核心契约、维护不可控或引入不可接受供应链风险。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出候选工具及其许可、维护和契约",
|
||||
"验证候选覆盖的真实需求",
|
||||
"用小范围组合或自动化试点",
|
||||
"保留替换和回滚路径"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "开发杠杆提高,新增依赖的风险和边界透明。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"候选调查、许可/版本、试点结果、行为回归和退出方案。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把工具宣传当成能力证明,忽略边界和维护成本。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回退到可控实现,保留调查证据并重新比较。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.61"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.shell-glue — entries[63]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.shell-glue",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "活用shell脚本",
|
||||
"summary": "在命令行自动化和胶水任务中组合现有命令,复杂业务逻辑则选择更合适的语言。",
|
||||
"core_question": "这个任务是简单编排,还是已经需要可维护的业务程序?",
|
||||
"operation": "拆分命令输入输出 → 组合现有工具 → 定义错误和退出码 → 超出边界时迁移合适语言。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"任务主要是文件、进程、管道和已有命令的编排。"
|
||||
],
|
||||
"not_when": [
|
||||
"逻辑复杂、数据结构丰富、跨平台或安全边界要求超出脚本可维护范围。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出命令、输入输出和失败语义",
|
||||
"组合小步骤并避免隐式全局状态",
|
||||
"覆盖空格、错误码、超时和清理",
|
||||
"评估何时应迁移到更合适语言"
|
||||
],
|
||||
"effect": {
|
||||
"state": "execution_state",
|
||||
"statement": "自动化入口短、可组合、错误边界明确。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"脚本测试、退出码、临时资源清理和跨环境结果。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"脚本在特殊输入或失败路径上静默破坏数据。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"启用严格失败和隔离目录,必要时迁移为可测试程序。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.62"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.noninteractive-interface — entries[64]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.noninteractive-interface",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "避开交互式用户接口",
|
||||
"summary": "为自动化和组合提供非交互入口,不把核心能力锁在只能人工操作的会话中。",
|
||||
"core_question": "这个能力能否被脚本、测试或其他组件无交互地调用?",
|
||||
"operation": "识别人工交互步骤 → 提取稳定输入输出 → 提供非交互入口 → 保留必要交互层。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"工具需要自动化、批量处理、回归测试或被其他组件组合。"
|
||||
],
|
||||
"not_when": [
|
||||
"任务本身需要人类判断、确认或持续探索,不能安全自动化。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出交互输入、状态和结果",
|
||||
"定义命令/API 输入输出和错误契约",
|
||||
"覆盖无 TTY、超时和取消",
|
||||
"用自动化调用验证与交互路径一致"
|
||||
],
|
||||
"effect": {
|
||||
"state": "interface_state",
|
||||
"statement": "核心能力可被受控自动化调用,交互层成为可选入口。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"非交互契约、自动化测试、取消/超时和结果一致性。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"无交互模式隐藏确认或改变安全语义。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"补齐明确确认和权限边界,禁止无提示危险路径。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.63"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.filter-oriented-design — entries[65]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.filter-oriented-design",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "过滤器化",
|
||||
"summary": "把工具视为输入到处理再到输出的过滤器,保持标准输入、输出和错误可组合。",
|
||||
"core_question": "这个组件能否在清晰流接口中被串联和替换?",
|
||||
"operation": "定义输入/输出/错误流 → 保持单一处理职责 → 组合管道 → 验证背压、失败和大输入。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"工具需要被管道组合、批处理或跨组件传递数据。"
|
||||
],
|
||||
"not_when": [
|
||||
"状态必须长期驻留,或业务语义不能压缩为流式输入输出。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"明确三类流和格式契约",
|
||||
"让处理步骤保持单一职责",
|
||||
"组合代表性管道和空/大输入",
|
||||
"验证错误不污染正常输出"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "组件在管道中可替换,输入、结果和诊断流边界清晰。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"流格式、管道样例、错误流、背压和大输入测试。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把交互状态或副作用藏在流接口后。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"显式声明状态和副作用,必要时使用更合适的服务契约。"
|
||||
]
|
||||
},
|
||||
"source_principle": "3.64"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.cohesion-audit — entries[66]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.cohesion-audit",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "内聚度",
|
||||
"summary": "检查模块内部元素是否围绕同一目的,并按真实功能责任改善边界。",
|
||||
"core_question": "这个模块能否用一个准确的动词短语命名?",
|
||||
"operation": "描述模块责任 → 识别“还有/以及/顺便” → 检查共同变化 → 小步拆分或合并。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"模块包含不相关操作、标志分支或难以准确命名的内容。"
|
||||
],
|
||||
"not_when": [
|
||||
"模块天然围绕同一事务,拆分会破坏一致性或增加碎片。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"用一句话描述模块核心功能",
|
||||
"列出成员的变化理由和数据关系",
|
||||
"找出低内聚部分",
|
||||
"用代表性调用和回归确认新边界"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "模块职责更集中,名称和变化边界更准确。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"责任描述、共同变化、依赖图和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"按理论等级机械拆分,忽略实际可理解性。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并真实共同责任,并保留明确命名和边界。"
|
||||
]
|
||||
},
|
||||
"source_principle": "4.1"
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,271 @@
|
||||
# 2026-10-14 编程原则4.2–4.6五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照。只记录语义重叠、错位和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T17:28:32Z`。
|
||||
- 触发:继续审阅85条编号/标题交叉表,比较Solve `.entries[67..71]`及历史候选A076–A080。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A076–A080。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- 下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。历史候选各自也未补齐上游原文核验、独立语义审查或效果证据。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `coupling-audit` / 4.2 / A076「耦合度」 | 历史候选将多类耦合、数量、方向和依赖稳定性放在一个复合条目;Solve集中检查隐式状态、控制耦合、过量数据与重试。与已登记`gongfa-low-coupling`、`gongfa-explicit-dependencies`主张重叠;不追求零依赖,也不为降耦合制造无价值间接层,不另登记。 |
|
||||
| `orthogonality-audit` / 4.3 / A077「正交性」 | 聚焦不同变化轴能否局部修改;与低耦合、高内聚相邻但不完全等同。正交不等于零依赖、强行分层或完全独立;变化轴真实共同演化时,转换与性能成本可反超收益。暂作独立候选边界保留,来源未核,不登记。 |
|
||||
| `reversibility-audit` / 4.4 / A078「可逆性」 | 与已登记`gongfa-reversible-decisions`高度重叠。Solve将风险排序、外部边界、迁移/回滚演练具体化;“概率×影响”不能在缺校准时当精确数值,适配层也不应无差别铺设。 |
|
||||
| `code-smell-triage` / 4.5 / A079「代码中的‘坏味’」 | 候选类型为“方法”:将重复、过长、过大、过多和名称失真作为调查信号;Solve强调先找根因、再选最小行为保持变换并复核。坏味不自动证明需要重构,不能把风格偏好或列表命中变成改动授权;其方法性仍待来源和独立验证。 |
|
||||
| `technical-debt-management` / 4.6 / A080「技术负债」 | 与已登记`gongfa-technical-debt-ledger`核心重叠。负责人、偿还触发器、验收和测试是可操作细化;“利息”是未来修改成本的比喻,不代表普适线性增长率,也不把所有不整洁都定义成债务。 |
|
||||
|
||||
结论:4.2和4.4分别与既有低耦合/显式依赖及可逆决策登记高度重叠;4.6与技术债台账高度重叠;4.3保留为变化轴独立性的候选边界,4.5保留为诊断方法候选。五条均未因标题映射或Solve操作化而新增登记、赋级或宣称效果,也未修改Solve上游。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.coupling-audit — entries[67]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.coupling-audit",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "耦合度",
|
||||
"summary": "识别内容、全局、控制和过量数据耦合,降低不必要依赖但不追求零依赖。",
|
||||
"core_question": "调用者依赖了多少内部状态、控制细节或无关数据?",
|
||||
"operation": "绘制依赖和数据流 → 分类耦合 → 收窄参数和控制 → 验证重试、幂等和替换。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"修改或重试一个组件会因隐式状态、全局变量或控制标志影响其他组件。"
|
||||
],
|
||||
"not_when": [
|
||||
"依赖稳定标准库或明确外部契约,且其变化成本可接受。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出依赖方向、共享状态和参数使用",
|
||||
"移除不必要全局/控制耦合",
|
||||
"传递最小必要数据",
|
||||
"用重复执行和失败案例验证安全性"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "依赖关系、数据边界和重试语义更显式。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"依赖图、参数使用矩阵、幂等/安全测试和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"为降低耦合引入无价值适配层或数据搬运。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"保留稳定依赖,撤销没有降低变化成本的间接层。"
|
||||
]
|
||||
},
|
||||
"source_principle": "4.2"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.orthogonality-audit — entries[68]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.orthogonality-audit",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "正交性",
|
||||
"summary": "把 UI、存储、业务策略等不同变化轴拆开,检查修改是否能相互独立。",
|
||||
"core_question": "修改一个变化轴时,是否被迫改动另一个无关轴?",
|
||||
"operation": "列变化轴 → 跟踪修改传播 → 形成单向边界 → 用替换案例验证正交性收益。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"修改 UI、协议、存储或策略会连锁触及其他层。"
|
||||
],
|
||||
"not_when": [
|
||||
"变化轴真实共同演化,拆分只增加转换和性能成本。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出各部分的独立变化理由",
|
||||
"画出依赖方向和跨层转换",
|
||||
"隔离不必要的全局状态和反向依赖",
|
||||
"用单轴变化和集成回归检查"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "独立变化能局部发生,跨层传播被限制在明确边界。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"变化传播图、替换案例、性能测量和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"增加层次却没有隔离变化,反而增加转换成本。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"合并无收益层,保留能降低传播的最小边界。"
|
||||
]
|
||||
},
|
||||
"source_principle": "4.3"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.reversibility-audit — entries[69]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.reversibility-audit",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "可逆性",
|
||||
"summary": "按外部决策的概率与影响决定是否保留适配、迁移和回滚路径。",
|
||||
"core_question": "如果外部依赖被迫改变,当前核心是否还有可行退路?",
|
||||
"operation": "估计风险与影响 → 找不可逆交界面 → 隔离高风险依赖 → 演练迁移或回滚。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"许可证、供应商、安全、平台、数据库或框架变化可能造成高代价锁定。"
|
||||
],
|
||||
"not_when": [
|
||||
"概率和影响都低,维持可逆性的间接层成本明显更高。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出外部依赖及改变后果",
|
||||
"按概率×影响排序",
|
||||
"为高风险边界建立适配/接口",
|
||||
"验证迁移、回滚和数据恢复路径"
|
||||
],
|
||||
"effect": {
|
||||
"state": "recovery_state",
|
||||
"statement": "高风险决策保留可行退路,低风险部分不被过度抽象。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"风险矩阵、边界设计、迁移演练和回滚证明。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"回滚路径只写在文档里,实际无法执行。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"降低依赖范围并做有界演练,不以纸面路径宣称可逆。"
|
||||
]
|
||||
},
|
||||
"source_principle": "4.4"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.code-smell-triage — entries[70]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.code-smell-triage",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "代码中的“坏味”",
|
||||
"summary": "把重复、过长、过大、过多和名称失真当作诊断信号,而不是自动重构指令。",
|
||||
"core_question": "这个坏味提示的真实原因是什么,最小安全变换是什么?",
|
||||
"operation": "记录坏味 → 找根因和变化方向 → 选择小步变换 → 用行为证据复核。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"出现重复、超长函数、巨大模块、碎片中介或名称失真。"
|
||||
],
|
||||
"not_when": [
|
||||
"只有风格偏好,没有维护、变化或行为证据支持改动。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"描述现象和影响而非立即命名解决方案",
|
||||
"检查共同知识、职责和变化理由",
|
||||
"选择最小保持行为的变换",
|
||||
"运行测试和独立评审"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "坏味被转化为有证据的诊断和可回滚改动。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"坏味位置、根因假设、变更差异、测试和评审。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"机械套用重构模式,增加耦合或改变行为。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回滚变换,补充根因证据后重新选择动作。"
|
||||
]
|
||||
},
|
||||
"source_principle": "4.5"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.technical-debt-management — entries[71]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.technical-debt-management",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "技术负债",
|
||||
"summary": "允许有边界的临时方案,但记录利息、偿还条件、负责人和验证路径。",
|
||||
"core_question": "这项不整洁会如何产生未来修改成本,何时偿还?",
|
||||
"operation": "登记负债 → 估计利息与影响 → 设退出条件 → 小步偿还并验证。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"临时补丁、低可读性、旧依赖或绕路已经使后续修改变慢或变危险。"
|
||||
],
|
||||
"not_when": [
|
||||
"问题没有实际维护影响,或“债务”只是没有证据的主观偏好。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"记录债务位置、原因、影响和责任人",
|
||||
"定义偿还触发器和验收标准",
|
||||
"补充必要测试保护",
|
||||
"按小步重构并关闭登记"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "技术负债从隐性风险变成可追踪、可偿还的工程事项。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"债务登记、修改耗时/缺陷趋势、偿还差异和测试。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"临时方案没有退出条件,或偿还改动扩大范围。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复可运行基线,重新切分偿还范围并保留未完成风险。"
|
||||
]
|
||||
},
|
||||
"source_principle": "4.6"
|
||||
}
|
||||
```
|
||||
+271
@@ -0,0 +1,271 @@
|
||||
# 2026-10-14 编程原则entries[72..76]五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照。只记录语义重叠、错位和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T17:34:02Z`。
|
||||
- 触发:继续审阅85条编号/标题交叉表,比较Solve `.entries[72..76]`及历史候选A082、A088、A090、A091、A093。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A082、A088、A090、A091、A093。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- 下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。历史候选各自也未补齐上游原文核验、独立语义审查或效果证据。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `boy-scout-improvement` / 5.2 / A082「童子军规则」 | 候选要求每次离开时改善一点;Solve把范围收窄为一个邻近、低风险且能相关验证的小改动。不是扩大任务或顺手重构的授权,不能覆盖用户范围、冻结窗口和风险约束。作为习惯准则候选保留,来源/效果未核,不登记。 |
|
||||
| `design-by-contract` / 6.2 / A088「契约式设计」 | 历史候选与Solve均区分前置条件、后置条件和不变式;Solve强调外部输入边界验证、内部断言、资源清理及停止危险传播。与已登记`gongfa-invariant-constraints`、`gongfa-stable-interface-contract`高度重叠。边界输入验证与内部断言不可混为一谈;断言应暴露程序员错误,不能静默修正数据或阻断契约允许的输入,不另登记。 |
|
||||
| `dogfooding` / 6.4 / A090「内部测试」 | 这里指开发团队把产品用于代表性真实任务并记录摩擦,不等同“单元/集成测试”等测试层级,也不因内部使用而证明整体质量。须有安全数据、权限及反馈隔离边界,将反馈变成可复现问题再验证。当前历史来源及效果未核,保留为方法候选。 |
|
||||
| `rubber-duck-debugging` / 6.5 / A091「橡皮鸭调试法」 | 逐步叙述用于外显假设和定位解释断点;与`gongfa-abductive-debugging`相邻但作用不同:叙述可产生待检验假设,溯因再设计区分性实验。流畅解释不是正确性证据;用最小复现与实验闭环,不重复登记。 |
|
||||
| `brooks-law-response` / 7.1 / A093「布鲁克斯法则」 | 候选是复合项:后期增员的协作/培训成本,及范围、优先级、分阶段交付等应对策略。Solve补充关键路径和任务独立性。此主张不能扩成“增员总会延期”的普遍定律,需按依赖、培训、任务并行性和实测净收益判断;不引用未核实的沟通路径公式。与项目估算/容量规划相邻但目前登记无同一条目;外部原文和效果未核,暂不登记。 |
|
||||
|
||||
结论:5.2和6.4属于习惯/内部使用方法候选,须受任务范围、隐私与权限边界约束;6.2与现有契约/不变式登记重叠;6.5是产生假设而非证明结论的调试启发;7.1由经验主张与项目应对组成,不能当作普适人力公式。五条不因标题映射新增登记或评级,不修改Solve上游。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.boy-scout-improvement — entries[72]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.boy-scout-improvement",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "童子军规则",
|
||||
"summary": "每次离开代码时只做一个小而可验证的净改善,不把维护变成重写。",
|
||||
"core_question": "当前接触点是否存在一个低风险、可立即验证的小改善?",
|
||||
"operation": "选择一个局部问题 → 做最小改善 → 运行相关检查 → 记录范围并停止。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"已在代码附近发现名称、重复、嵌套、接口或测试的小问题。"
|
||||
],
|
||||
"not_when": [
|
||||
"改善会扩大到无法独立验证,或当前任务处于高风险冻结窗口。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"选择单一低风险改善",
|
||||
"保持变更与当前上下文相邻",
|
||||
"运行针对性检查和回归",
|
||||
"不顺手扩展为大规模清理"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "代码以小步、可追踪方式持续净改善。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"局部差异、针对性测试、变更范围和审查。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"以童子军规则为名混入无关重构或改变语义。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"拆分或撤销超出范围部分,只保留可验证的小改善。"
|
||||
]
|
||||
},
|
||||
"source_principle": "5.2"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.design-by-contract — entries[73]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.design-by-contract",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "契约式设计",
|
||||
"summary": "把前置条件、后置条件和不变式写成边界责任,并在违约时尽早暴露和停止危险传播。",
|
||||
"core_question": "调用方必须满足什么,被调用方必须保证什么?",
|
||||
"operation": "定义输入/输出/不变式 → 在边界检查 → 在内部保持契约 → 对违约停止并留证。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"接口责任、数据不变式或错误边界容易被隐式假设。"
|
||||
],
|
||||
"not_when": [
|
||||
"用户输入错误尚未在边界分类,或契约检查会泄露敏感值。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"分别写前置、后置和不变式",
|
||||
"在适当边界校验预期输入",
|
||||
"开发阶段用断言暴露内部违约",
|
||||
"对违约释放资源并停止危险路径"
|
||||
],
|
||||
"effect": {
|
||||
"state": "contract_state",
|
||||
"statement": "接口责任和不变量可检查,错误不会被悄悄修正后扩散。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"契约文档、断言/检查结果、失败输入和状态一致性。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把非法输入静默改成合法,或契约过严阻断合法调用。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"区分边界输入错误和内部违约,调整契约并重放失败案例。"
|
||||
]
|
||||
},
|
||||
"source_principle": "6.2"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.dogfooding — entries[74]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.dogfooding",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "内部测试",
|
||||
"summary": "让开发团队把产品用于真实日常任务,发现演示路径和测试脚本没有覆盖的摩擦。",
|
||||
"core_question": "真实使用者会在哪些任务中遇到测试没有暴露的问题?",
|
||||
"operation": "选择真实任务 → 持续使用 → 记录摩擦和失败 → 转成可复现问题并验证修复。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"产品已有可执行的内部工作流和安全使用边界。"
|
||||
],
|
||||
"not_when": [
|
||||
"使用会触及真实敏感数据、不可逆生产操作或没有隔离反馈渠道。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"选择代表性内部任务和安全数据边界",
|
||||
"让团队持续完成而非只演示路径",
|
||||
"记录缺失能力、稳定性和交互摩擦",
|
||||
"重放问题并验证修复"
|
||||
],
|
||||
"effect": {
|
||||
"state": "verification_state",
|
||||
"statement": "真实使用证据进入产品改进,而非只依赖人工演示。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"任务记录、问题复现、使用频率、修复回归和剩余风险。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"内部使用者绕过风险边界,或反馈无法复现。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"隔离数据和操作权限,建立最小复现与反馈契约。"
|
||||
]
|
||||
},
|
||||
"source_principle": "6.4"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.rubber-duck-debugging — entries[75]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.rubber-duck-debugging",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "橡皮鸭调试法",
|
||||
"summary": "用完整句子解释目标、输入、状态、分支和输出,找出无法解释或与代码不一致的位置。",
|
||||
"core_question": "哪一步我无法同时说明预期行为和实际代码?",
|
||||
"operation": "从目标开始逐步叙述 → 暴露隐藏假设 → 标记解释断点 → 用最小实验验证。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"调试者卡住、假设混乱或代码阅读无法定位根因。"
|
||||
],
|
||||
"not_when": [
|
||||
"问题已有清晰、可复现的失败点,直接运行证据更快。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"写出目标和预期结果",
|
||||
"逐步说出输入、状态、分支和输出",
|
||||
"记录无法解释或前后矛盾的位置",
|
||||
"针对断点设计最小验证"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "隐藏假设和代码/解释不一致处变成可验证问题。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"解释记录、断点位置、实验输出和最小复现。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把流畅叙述误当成正确证明,忽略运行证据。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"强制回到可复现输入和独立验证,不以解释代替证据。"
|
||||
]
|
||||
},
|
||||
"source_principle": "6.5"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.brooks-law-response — entries[76]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.brooks-law-response",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "布鲁克斯法则",
|
||||
"summary": "延期项目后期不盲目加人,先重排依赖、优先级、阶段发布和可并行工作。",
|
||||
"core_question": "新增人员会减少关键路径,还是会增加沟通和培训成本?",
|
||||
"operation": "绘制依赖和关键路径 → 评估加人收益/成本 → 重排范围 → 只把新人放入可独立任务。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"项目延期且团队考虑通过增加人员抢工期。"
|
||||
],
|
||||
"not_when": [
|
||||
"任务高度独立、培训成本低且增加人员有可测净收益。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出关键路径、依赖和培训成本",
|
||||
"区分可并行与不可并行工作",
|
||||
"优先做阶段发布和范围调整",
|
||||
"验证新增人员任务不会增加关键路径阻塞"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "交付计划与真实依赖一致,新增协作不会被误当成线性产能。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"依赖图、时间表、范围决策、培训成本和进度证据。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"只看人数和人天,忽略沟通、培训和集成成本。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"停止继续加人,重新评估范围、关键路径和阶段交付。"
|
||||
]
|
||||
},
|
||||
"source_principle": "7.1"
|
||||
}
|
||||
```
|
||||
+271
@@ -0,0 +1,271 @@
|
||||
# 2026-10-14 编程原则entries[77..81]五条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存五条Solve记录的明确字段投影及历史候选对照。只记录语义重叠、错位和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T17:42:45Z`。
|
||||
- 触发:继续审阅85条编号/标题交叉表,比较Solve `.entries[77..81]`及历史候选A094–A098;7.5/entries[80]/A097已在近标题选区审过,本次只做字段冻结和重复确认,不重复计入语义覆盖数量。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A094–A098。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- 下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余字段不在本次判断范围。
|
||||
- 五条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。历史候选各自也未补齐上游原文核验、独立语义审查或效果证据。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `conway-law-alignment` / 7.2 / A094「康威定律」 | 历史候选把组织沟通结构映射到系统结构,并提出组织/架构协调;Solve把它转成责任、交接、等待和缺陷传播的可观察假设。它不能推出组织重组是唯一方案或结构映射必然发生;先验证协作成本与接口契约,做低风险边界调整,不以理论类比代替实测。来源/因果效果未核,不登记。 |
|
||||
| `broken-windows-repair` / 7.3 / A095「破窗效应」 | 候选和Solve都提醒未管理的小问题可能形成质量基线,但“破窗”是社会类比,不证明一个小瑕疵会导致团队标准下降。与已审童子军规则、坏味诊断和债务登记相邻;只做有影响、低风险局部修复或登记,不自动清理全仓。 |
|
||||
| `entropy-control` / 7.4 / A096「熵增原理」 | 将脆弱、重复、晦涩等维护征兆比喻为熵增,Solve建议趋势观察与小步治理;它不是可直接套用的热力学定律或单一“代码熵”指标。应分别定义复杂度、缺陷、变更成本等代理量及观测范围,单次风格问题不触发重写;与童子军、破窗、技术债主张高度相邻,不新登记。 |
|
||||
| `eighty-ten-ten-boundary-check` / 7.5 / A097「80-10-10原则」 | 本条已在`.github/metadata/gongfa/source-selected-near-title-matches-20261014.txt`直接审阅:作为工具尾部适用域检查,比例不是实测定律。本文件仅保存pack字段投影并确认边界,不重复计算为新增语义审查。 |
|
||||
| `joshua-tree-naming` / 7.6 / A098「约书亚树原则」 | 给重要领域概念命名并共享词汇,与已登记`gongfa-concept-engineering`高度重叠;具体变量索引又与`gongfa-symbol-name-index-maintenance`相邻。共同术语须保留概念边界,不能把相同词强加给不同概念;命名本身不证明团队理解一致,需检查定义、真实对话与调用。 |
|
||||
|
||||
结论:7.2是需实测的组织—架构协调假设,不导出强制重组;7.3/7.4是质量退化的类比性提醒,不是确定因果或物理量;7.5此前已审;7.6与概念工程和变量命名登记重叠。五条不新增登记或评级,不修改Solve上游。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.conway-law-alignment — entries[77]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.conway-law-alignment",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "康威定律",
|
||||
"summary": "同时检查组织通信结构与目标架构/价值流,减少跨组等待和边界错位。",
|
||||
"core_question": "组织如何沟通,是否会稳定地产生当前模块边界?",
|
||||
"operation": "画组织和架构边界 → 找通信/依赖错位 → 调整团队、接口或交付流 → 观察等待变化。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"小功能需要跨多个职能组协作,架构边界与团队责任长期错位。"
|
||||
],
|
||||
"not_when": [
|
||||
"组织结构由外部约束固定且当前协作成本可接受。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"记录团队责任、通信路径和模块所有权",
|
||||
"识别高频跨组等待和交接",
|
||||
"选择调整架构边界或交付组织的最小动作",
|
||||
"用交付时间和缺陷传播验证"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "组织与架构的关键边界更匹配,跨组等待有可追踪改善。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"责任矩阵、依赖图、等待时间、交付和缺陷数据。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把组织调整当作唯一解,忽略契约和流程改进。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"先保留组织边界,使用稳定接口和价值流证据逐步修正。"
|
||||
]
|
||||
},
|
||||
"source_principle": "7.2"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.broken-windows-repair — entries[78]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.broken-windows-repair",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "破窗效应",
|
||||
"summary": "及时处理小坏味或显式登记,避免未管理的问题成为新的质量基线。",
|
||||
"core_question": "这个小问题是否正在教会团队“这里不用管”?",
|
||||
"operation": "发现并分级坏味 → 立即做小修或登记 → 设责任和复查 → 检查质量基线变化。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"小缺陷、命名问题、重复或低质量习惯长期无人管理。"
|
||||
],
|
||||
"not_when": [
|
||||
"修复会破坏冻结发布或问题已有清晰负责人和截止时间。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"记录问题位置、影响和处理方式",
|
||||
"低风险立即小步修复",
|
||||
"暂不能修时登记责任人和触发器",
|
||||
"在复查时验证不再扩散"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "小问题不会被默认成正常,质量基线保持可见可治理。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"问题登记、局部差异、复查结果和趋势。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"借口修复破窗而混入无关大清理。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"限制范围,只保留局部修复或明确登记。"
|
||||
]
|
||||
},
|
||||
"source_principle": "7.3"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.entropy-control — entries[79]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.entropy-control",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "熵增原理",
|
||||
"summary": "用持续测试、重构和质量文化抵抗代码自然走向脆弱、重复和不透明。",
|
||||
"core_question": "系统的混乱是否在积累利息,哪些迹象最先需要处理?",
|
||||
"operation": "扫描刻板/脆弱/重复/不透明等征兆 → 找高利息区域 → 小步治理 → 观察趋势。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"修改扩散、缺陷聚集、平台依赖和未使用机制持续增加。"
|
||||
],
|
||||
"not_when": [
|
||||
"只有一次风格偏差,没有维护成本或缺陷证据。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"建立质量征兆和影响清单",
|
||||
"按修改成本和风险排序",
|
||||
"用测试保护做局部重构",
|
||||
"定期比较趋势和剩余债务"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "质量退化被持续检测和修正,不需要等大重写。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"复杂度/缺陷趋势、债务登记、重构差异和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"用一次大重写替代连续小步治理,扩大回归风险。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复可运行基线,按高利息区域重新切片。"
|
||||
]
|
||||
},
|
||||
"source_principle": "7.4"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.eighty-ten-ten-boundary-check — entries[80]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.eighty-ten-ten-boundary-check",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "80-10-10原则",
|
||||
"summary": "在采用高层工具前验证其主要覆盖范围、最后关键部分和商业核心边界。",
|
||||
"core_question": "工具覆盖不了的最后部分是否正好是最重要或最难替代的部分?",
|
||||
"operation": "用代表性场景模拟 → 划分覆盖与缺口 → 评估最后部分价值 → 组合、替换或自研。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"工具、框架或平台看似覆盖大部分需求,但尾部能力未知。"
|
||||
],
|
||||
"not_when": [
|
||||
"工具边界已被独立测试覆盖,且缺口不影响目标。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"选择覆盖正常、边界和核心业务的场景",
|
||||
"记录工具覆盖、失败和不可替代部分",
|
||||
"判断尾部需求的价值与风险",
|
||||
"决定组合工具、增加边界或退出"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "工具选择基于代表性覆盖和尾部风险,而非总体宣传比例。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"模拟结果、覆盖矩阵、缺口价值、成本和替代方案。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"只测简单演示路径,最后关键部分上线才暴露。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"冻结扩展承诺,补测核心缺口并重新选择方案。"
|
||||
]
|
||||
},
|
||||
"source_principle": "7.5"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.joshua-tree-naming — entries[81]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.joshua-tree-naming",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "约书亚树原则",
|
||||
"summary": "给重要领域概念命名并统一通用语言,让原本不可见的概念进入团队、文档和代码。",
|
||||
"core_question": "团队是否能用同一个词准确指向同一个领域概念?",
|
||||
"operation": "收集同义词和隐含概念 → 选择稳定术语 → 同步代码/文档/对话 → 检查误用。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"团队对同一概念有多个叫法,导致沟通、建模或接口不一致。"
|
||||
],
|
||||
"not_when": [
|
||||
"领域概念尚未稳定,或不同语境确实需要不同术语。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"记录概念、现有叫法和边界",
|
||||
"选择能承载领域意义的术语",
|
||||
"同步更新名称、文档和契约",
|
||||
"用真实对话和调用检查一致性"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "重要概念可被识别、讨论和复用,术语漂移减少。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"术语表、重命名差异、调用搜索和团队复述。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"强行统一不同概念,导致语义冲突。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"恢复语境限定词,保留概念差异并更新术语边界。"
|
||||
]
|
||||
},
|
||||
"source_principle": "7.6"
|
||||
}
|
||||
```
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
# 2026-10-14 编程原则entries[82..84]三条操作化记录的有限冻结选区
|
||||
|
||||
> 本文件保存三条Solve记录的明确字段投影及历史候选对照。只记录语义重叠、错位和边界,不证明外部来源相同、独立功法成立、许可或效果,不进入登记与总表。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- 捕获时间:`2026-10-14T17:51:59Z`。
|
||||
- 触发:完成85条编号/标题交叉表末尾记录的对照,冻结Solve `.entries[82..84]`和历史候选A099–A101;7.7/entries[82]/A099此前已在近标题选区审过,本次只冻结字段并复核,不重复计入语义覆盖数量。
|
||||
- owner:功法元数据子域维护者。
|
||||
- 退役条件:完整候选交叉表承接这些语义与来源处置后,本文件转为只读历史依据并保留,不删除。
|
||||
- Solve仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `programming-principles-101.json` SHA-256 `fbb2fc06e7d6e5c80d93c4e254f3161476d2a15e7489d92808a22bddd2156afc`;不声称Solve仓库其他文件工作树干净。
|
||||
- 历史候选依据:`.github/metadata/gongfa/source-classified-candidates-20261007.json`,SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;定位`html211_candidates`中的A099–A101。候选类型和编号是仓内初评/索引,不是外部来源或效果证明。
|
||||
- 下方投影字段为`id`、`version`、`kind`、`status`、`name_zh`、`summary`、`core_question`、`operation`、`applicability`、`source_refs`、`semantics.{procedure,effect,evidence_required,failure_modes,recovery}`及`extensions.vibe-harness-cn.source_principle`;其余字段不在本次判断范围。
|
||||
- 三条`source_refs`均只指向`ref:programming-principles-101-book`;对应原文、版本与许可未独立核验。历史候选各自也未补齐上游原文核验、独立语义审查或效果证据。
|
||||
|
||||
| Solve记录 / 候选 | 定向对照与处理 |
|
||||
|---|---|
|
||||
| `second-system-control` / 7.7 / A099「第二系统综合征」 | 此项此前已在`.github/metadata/gongfa/source-selected-near-title-matches-20261014.txt`审阅:功能膨胀边界与控制第二版 scope creep 相同核心,Solve增加用户/频率证据、核心/外围/实验分层和回归;本次不重复计数。不是永不扩展需求,真实价值变化可按证据进入。 |
|
||||
| `reinventing-the-wheel-check` / 7.8 / A100「重新发明车轮」 | 候选明确链接`gongfa-glue-principle`;核心重叠于先调查、验证成熟方案,再为真实契约缺口证明自研。Solve补充许可、性能、供应链、边界和退出路径,属于操作化补充,不新登记。学习目的可作为独立目标,但不证明生产自研更优。 |
|
||||
| `yak-shaving-recovery` / 7.9 / A101「给牦牛剃毛」 | 方法型候选:当求解不断派生前置任务时,用问题栈、原始目标、成本与停止条件控制偏航。与`gongfa-problem-definition-framework`及交付闭环相邻,但增加显式依赖栈和停止/切换决策;暂保留为待审候选。必须区分不必要偏航与不可替代硬依赖,不能用“停止”掩盖未满足验收。外部来源和效能未核,不登记。 |
|
||||
|
||||
结论:7.7此前已审;7.8与胶水原则高度重复;7.9是目标偏航恢复的相邻方法候选,但来源、许可和效果证据不足以正式登记。三条不新增登记或评级,不修改Solve上游。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
### psoa.programming-principles-101.second-system-control — entries[82]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.second-system-control",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "第二系统综合征",
|
||||
"summary": "后续大版本不把上一版遗留想法和所有新需求一次塞入核心,优先稳定核心和用户价值。",
|
||||
"core_question": "这个功能对目标用户和核心价值是否足够重要,值得进入核心吗?",
|
||||
"operation": "重新定义用户与目标 → 逐项审查功能价值 → 删除非核心 → 将真实扩展放入外围。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"第二版或大版本功能数量快速膨胀,核心体验和复杂度恶化。"
|
||||
],
|
||||
"not_when": [
|
||||
"功能均有已验证需求、频率、收益和维护预算。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"为每项功能写用户、问题和使用频率",
|
||||
"区分核心、外围和实验能力",
|
||||
"拒绝没有证据的功能",
|
||||
"用核心回归和使用反馈验证范围"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "版本范围与核心价值一致,非核心需求不会污染稳定核心。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"功能决策表、用户证据、复杂度评估和回归。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"把拒绝需求当成永不扩展,错过真实高价值变化。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"保留明确扩展入口和复查条件,不提前实现。"
|
||||
]
|
||||
},
|
||||
"source_principle": "7.7"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.reinventing-the-wheel-check — entries[83]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.reinventing-the-wheel-check",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "重新发明车轮",
|
||||
"summary": "先调查标准、标准库和成熟方案;只有商业核心或学习目的等明确例外才自研。",
|
||||
"core_question": "已有方案为何不能满足当前目标,重造的独特价值是什么?",
|
||||
"operation": "调查成熟方案 → 比较契约/成本/风险 → 记录例外理由 → 验证自研边界和维护责任。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"团队准备重新实现已有通用能力。"
|
||||
],
|
||||
"not_when": [
|
||||
"成熟方案不满足商业差异、质量/控制要求,或学习本身是明确目标。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"列出标准、库、开源和商业候选",
|
||||
"比较行为、维护、许可、性能和供应链",
|
||||
"写清选择复用或自研的理由",
|
||||
"为自研设定边界、测试和退出路径"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "选择由调查和约束驱动,不由“非我发明”情绪驱动。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"候选调研、对比矩阵、许可证/维护证据和行为测试。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"只调查名称不验证边界,或复制成熟方案却失去维护能力。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"回到最小目标,优先复用/适配并保留自研例外证据。"
|
||||
]
|
||||
},
|
||||
"source_principle": "7.8"
|
||||
}
|
||||
```
|
||||
|
||||
### psoa.programming-principles-101.yak-shaving-recovery — entries[84]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.programming-principles-101.yak-shaving-recovery",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "给牦牛剃毛",
|
||||
"summary": "当问题不断派生前置任务时回到原始目标,设停止条件并及时切换路线。",
|
||||
"core_question": "当前问题栈是否仍服务最初目标,继续下去的边际收益是什么?",
|
||||
"operation": "写原始目标 → 列当前问题栈 → 估计成本 → 设停止条件 → 回到目标或切换路线。",
|
||||
"applicability": {
|
||||
"when": [
|
||||
"解决一个问题不断引出前置任务,成本失控且方向逐渐偏离。"
|
||||
],
|
||||
"not_when": [
|
||||
"前置任务是目标不可替代的硬依赖,且成本和收益仍可接受。"
|
||||
]
|
||||
},
|
||||
"source_refs": [
|
||||
"ref:programming-principles-101-book"
|
||||
],
|
||||
"semantics": {
|
||||
"procedure": [
|
||||
"固定最初目标和当前验收",
|
||||
"列出问题栈、依赖和已验证事实",
|
||||
"估计继续成本与剩余价值",
|
||||
"达到阈值时停止、回退或切换路线"
|
||||
],
|
||||
"effect": {
|
||||
"state": "design_state",
|
||||
"statement": "探索保持目标导向,偏离路径和未完成事项被显式记录。"
|
||||
},
|
||||
"evidence_required": [
|
||||
"目标记录、问题栈、成本估计、停止理由和替代路线。"
|
||||
],
|
||||
"failure_modes": [
|
||||
"继续投入沉没成本,或停止时没有保留可复用证据。",
|
||||
"现有证据不足以支持继续修改或确认效果。"
|
||||
],
|
||||
"recovery": [
|
||||
"保存已验证事实和踩坑记录,重新规划最短可行路径。"
|
||||
]
|
||||
},
|
||||
"source_principle": "7.9"
|
||||
}
|
||||
```
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
# 2026-10-14 问题求解方法论 Solve pack entries[0..4]有限语义复核选区
|
||||
|
||||
> 本快照冻结新增字段投影、两条历史候选指针和有限来源摘录。页面主题或转载讲义不等于固定原典、许可核验、登记或效果证据。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- recorded_at: `2026-10-14T22:22:40Z`。
|
||||
- trigger: 将问题求解方法论pack entries[0..4]与现有问题界定、解空间、目的导向选择和表示转换内容对照;防止复用同一状态/目标术语就机械合并,也防止将组件操作重复登记。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 完整、可审计的候选语义交叉表承接本批结论后,本文件转只读历史依据并保留。
|
||||
- 项目审阅基线:`50a04bbf56a6531ea43cd36e167a34a5f68452ac`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve源仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;`agent/skills/workflow/modules/solve/references/packs/problem-solving-methodology.json`工作树无差异,SHA-256 `ff2c226e4e43c1230864e88ffbfbba489b4a14a60dd52f663bba9eced34d46ad`。选区为`/entries/0..4`。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;捕获时源仓库工作树为modified,仅绑定观察到的引用声明,不冒称该清单在该HEAD下已提交。
|
||||
- 历史候选JSON `.github/metadata/gongfa/source-classified-candidates-20261007.json` SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;entries[2]、[4]旧投影/意见见`documents.solve_raw.items[17..18]`与`documents.solve24_analysis.items[0..1]`。
|
||||
- 已读取页面/讲义:Schoenfeld Berkeley GSI讲座摘要 `https://gsi.berkeley.edu/programs-services/hsl-project/hsl-speakers/schoenfeld/`;多伦多CSC104 Pólya教学页 `https://www.teach.cs.toronto.edu/~ajr/104/diary/01/polya.html`;MIT 6.034 ch3 PDF `https://courses.csail.mit.edu/6.034f/ai3/ch3.pdf`;Ash、Cushen、Wiley (2009) ODU论文摘要 `https://digitalcommons.odu.edu/psychology_fac_pubs/62/`。外网页面未冻结修订/SHA;仅引用本次实际读取到的范围。
|
||||
- MIT PDF提取只返回标题与页数,没有正文;Newell–Simon PDF `https://iiif.library.cmu.edu/file/Newell_box00018_fld01306_doc0001/Newell_box00018_fld01306_doc0001.pdf`本批未读取。National Academies `ref:national-academies-metacognition`此前访问返回403,本批未重试。不可把这些来源条目或URL当已核验正文。
|
||||
|
||||
## 有限语义对照
|
||||
|
||||
| Solve条目 | 与现有登记/旧意见的关系 | 来源判断与处理 |
|
||||
|---|---|---|
|
||||
| `psoa.problem-solving-methodology.task-framing` | 将自然语言请求整理成当前/目标/未知/约束/可观察成功条件。与已登记`gongfa-problem-definition-framework`的目标、现状、差距、标准及路径约束高度重叠;“标未知/风险”是重要的边界补充,但未形成独立目标对象或闭环。 | Schoenfeld支持问题求解策略与元认知控制主题;Pólya教学页支持理解/计划/执行/评价阶段,并明确这些不是必须按顺序执行的步骤。均未证明此条的完整任务合同,不新增登记。 |
|
||||
| `psoa.problem-solving-methodology.problem-space-model` | MentalModelSpec描述状态、可用operator、转移/搜索成本和目标判据。已登记`gongfa-solution-space`聚焦候选解及组织关系;两者相邻但对象不完全相同(问题状态/动作模型 vs 可行候选答案集合),不应只凭“空间”名称合并,也没有据此新增平行分类。 | Newell–Simon及Schoenfeld是主题引用;Newell–Simon PDF未读取正文,本批没有可复核的精确原文支持。保留为概念边界待审,不新增登记。 |
|
||||
| `psoa.problem-solving-methodology.means-ends-analysis` | 历史候选已指出其细化`gongfa-purpose-directed-action`及问题界定框架:按影响/可达性选差距,依据operator前置条件建立子目标,再测量差距。历史“明确关系后再判断独立登记”及暂定等级/初评不是登记。 | 当前Solve引用Newell–Simon PDF与MIT讲义;后者本批提取不到正文,未证明完整步骤或许可。保留旧意见,不重复复制或升级。 |
|
||||
| `psoa.problem-solving-methodology.representational-change` | 显式保持对象、关系与约束,在文字/图/表/方程等表示间转换,记录信息损失并回译检查。与`gongfa-projection-representation`的任务约束映射及`gongfa-representation-flattening`相邻;候选的语义保持/回译是可区分的操作合同,但总体身份仍需来源与消费边界判定。 | Ash等(2009)讨论表示困难/转换/洞察机制,并提醒相关理论假设需要经验验证;它不提供本Solve条目的通用操作流程。Pólya仅支持一般求解阶段;不据此新登记。 |
|
||||
| `psoa.problem-solving-methodology.heuristic-search` | 历史候选已把它与`gongfa-solution-space`区分为“有限预算下排序、剪枝记账及遗漏复盘”,而非解空间本身。旧“优先候选”、暂定`xuan-intermediate`仅是历史意见;不能声称完整搜索或最优性。 | Newell–Simon及MIT 6.034为主题引用,但本批没有读取到它们的相关正文;保留历史意见,不重评、不升级。 |
|
||||
|
||||
### 可复核的外部摘录与边界
|
||||
|
||||
- Schoenfeld Berkeley讲座摘要将问题求解相关知识分为知识基础、策略、控制/监控/自我调节和信念;启发式例子包括画图、看个案、解简化问题和建立子目标。它支持主题和例子,不支持entry[0]特定字段/风险清单的完整来源。
|
||||
- 多伦多CSC104讲义列出理解问题、制定计划、执行计划、评价解四个phase,并明确“shouldn't be understood as steps”及“不应被理解为sequence”。因此不能用该页把entry[0]的序列或严格阶段条件归给Pólya。
|
||||
- Ash等论文摘要提出表示困难、表示变化、求解过程不连续三项假设,并要求相关理论得到经验验证;这限制了把“换表示”本身宣称为普遍有效机制的范围。
|
||||
- MIT ch3 PDF虽然报告14页,但本次提取仅有标题;Newell–Simon和MIT内容未形成可检查证据。不得根据课程/著作标题补写步骤。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
> 以下冻结entries[0]、[1]、[3]的新增字段;entries[2]、[4]已在历史候选JSON冻结完整条目和旧编辑意见,本轮只保存原始pack指针。未列字段不作为本轮判断依据。
|
||||
|
||||
### entry[0] — `psoa.problem-solving-methodology.task-framing`
|
||||
|
||||
```text
|
||||
kind=OperatorSpec; version=1.0.0; origin=source; domain=problem-solving-methodology; status=experimental; name_zh=任务定框
|
||||
summary=把自然语言请求改写成当前状态、目标、未知量、约束和可观察成功条件。
|
||||
core_question=我们到底要把哪个状态变成哪个状态?
|
||||
operation=提取对象与边界 → 区分事实/假设/目标 → 定义成功与停止 → 标出未知和风险
|
||||
when=[请求含有多个目标、隐含约束或不明确成功标准。]
|
||||
not_when=[输入已经是可验证的结构化任务契约。]
|
||||
source_refs=[ref:schoenfeld-problem-solving, ref:polya-four-phases, ref:national-academies-metacognition]
|
||||
preconditions=[有可分析的任务描述和目标线索。]
|
||||
inputs=[task_description, known_facts, constraints, risk_signals]
|
||||
procedure=[列出当前状态、目标状态和未知量;把约束分成硬约束与可协商条件;定义最小成功证据、停止条件和需升级事项;把未证实陈述标为假设]
|
||||
effect={state: task_framed, statement: 形成可继续规划和验证的问题定义。}
|
||||
outcomes=[succeeded, inconclusive, blocked, not_applicable]
|
||||
evidence_required=[状态/目标/约束表、假设清单、成功和停止条件。]
|
||||
failure_modes=[把愿望当目标。;遗漏安全、权限或资源约束。]
|
||||
recovery=[请求最小缺口信息,或把结论降级为待定。]
|
||||
```
|
||||
|
||||
### entry[1] — `psoa.problem-solving-methodology.problem-space-model`
|
||||
|
||||
```text
|
||||
kind=MentalModelSpec; version=1.0.0; origin=source; domain=problem-solving-methodology; status=experimental; name_zh=问题空间与算子
|
||||
summary=把问题看成状态节点、可用算子和目标状态组成的搜索空间。
|
||||
core_question=当前知识状态、允许动作和目标状态分别是什么?
|
||||
operation=识别状态表示 → 列可用 operator → 估计转移和搜索成本 → 选择可观察的目标判据
|
||||
when=[问题需要多个候选步骤或路径搜索。]
|
||||
not_when=[只有一次性查值且没有状态变化。]
|
||||
source_refs=[ref:newell-simon-problem-space, ref:schoenfeld-problem-solving]
|
||||
questions=[哪些信息构成当前状态?;哪些 operator 在当前状态可用?;目标判据如何被观察?]
|
||||
interpretation_rules=[先区分任务环境与内部问题空间;优先选择能暴露结构和减少搜索的表示;每次状态变化都应留下原因和证据]
|
||||
limitations=[问题空间的构造本身需要领域理解,不能假定一次完成。]
|
||||
```
|
||||
|
||||
### entry[3] — `psoa.problem-solving-methodology.representational-change`
|
||||
|
||||
```text
|
||||
kind=OperatorSpec; version=1.0.0; origin=source; domain=problem-solving-methodology; status=experimental; name_zh=表征变换
|
||||
summary=在文字、图、表、方程、状态图或抽象模型之间改写同一问题,检查是否暴露新结构。
|
||||
core_question=是不是表示方式挡住了可见的结构?
|
||||
operation=选择保持语义的表示变换 → 生成候选表示 → 比较可见约束和搜索规模 → 记录信息损失
|
||||
when=[原表示导致变量、关系或约束难以比较。]
|
||||
not_when=[变换会丢失决定性语义且无法回译。]
|
||||
source_refs=[ref:newell-simon-problem-space, ref:ash-restructuring, ref:polya-four-phases]
|
||||
preconditions=[已标出原表示的困难和必须保留的语义。]
|
||||
inputs=[problem_representation, invariants, candidate_formats, loss_budget]
|
||||
procedure=[列出需要保持的对象、关系和约束;生成至少一种不同表示;比较每种表示的可见结构、变量数和搜索负担;回译关键结论并检查语义未变]
|
||||
effect={state: problem_represented_alternatively, statement: 得到可比较的替代表征和信息损失记录。}
|
||||
outcomes=[succeeded, inconclusive, failed, not_applicable]
|
||||
evidence_required=[原/新表示、保持不变量、差异说明、回译检查。]
|
||||
failure_modes=[把表示变化误当作问题已解决。;隐藏变量或边界在转换中消失。]
|
||||
recovery=[增加显式映射、缩小抽象层级或恢复原表示。]
|
||||
```
|
||||
|
||||
## 范围与结论
|
||||
|
||||
本轮仅审问题求解方法论pack entries[0..4]及指定的登记/历史候选;entries[5..8]尚未审。未扫描全部79条登记或410条历史候选,不构成556→410全量语义去重。未修改`registry.json`、历史候选JSON、目录或评级,不证明来源完整性、许可、独立领域审查或效果。
|
||||
+70
@@ -0,0 +1,70 @@
|
||||
# 2026-10-14 问题求解方法论 Solve pack entries[5..8]有限语义复核选区
|
||||
|
||||
> 本快照绑定原始pack选区、既有候选指针与本次实际读取的有限来源摘录;不代表整包审查、完整来源认证、许可批准、登记或效果证据。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- recorded_at: `2026-10-14T23:04:26Z`。
|
||||
- trigger: 继续entries[0..4]后的定向复核,区分构造性见证、回看、元认知监控与派生的通用问题求解循环;避免把检查动作、历史候选或编辑组合重复计为新身份。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 可审计的Solve全量候选语义交叉表承接本批结论后,本文件转只读历史依据并保留。
|
||||
- 项目审阅基线:`b7b632cc564a39161893bdf50dc935deb051d2ca`;功法registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve源仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack文件`agent/skills/workflow/modules/solve/references/packs/problem-solving-methodology.json`工作树无差异,SHA-256 `ff2c226e4e43c1230864e88ffbfbba489b4a14a60dd52f663bba9eced34d46ad`;选区为`/entries/5..8`。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;捕获时该清单在Solve源仓库工作树为modified,只绑定观察到的来源引用声明,不冒称清单在该HEAD下已提交。
|
||||
- 历史候选文件`.github/metadata/gongfa/source-classified-candidates-20261007.json` SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`:entry[5]的旧意见位于`documents.solve24_analysis.items[2]`;entry[7]的旧意见位于`items[3]`。这两条仍是历史候选意见,不是功法登记或正式评级。
|
||||
- 已读取MIT OCW课程页`https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer-science-spring-2024/`与Stanford ME113页面`https://web.stanford.edu/class/me113/d_thinking.html`;没有冻结版本或原始页面SHA,只引用本次提取到的范围。NIH复现政策页和National Academies元认知章节均返回HTTP 403,本批未读取正文。
|
||||
- 本次首次读取Newell与Simon的PDF `https://iiif.library.cmu.edu/file/Newell_box00018_fld01306_doc0001/Newell_box00018_fld01306_doc0001.pdf`。抓取器提取为38页、64,011字节的Markdown文本;提取物SHA-256 `35e32d82886fa9519fb9dc27afe5f4f38507995bca3a564dc02a53a3a50aedd7`。PDF首页题为“Human Problem Solving: The State of the Theory in 1970”;本快照不能确定其正式发表形式或版本。提取物哈希只标识本次转换结果,不等于原PDF字节SHA或发表版本鉴定。
|
||||
- Pólya教学页和Schoenfeld Berkeley摘要的前次实际读取范围、抓取边界见`source-selected-problem-solving-methodology-entries-0-to-4-20261014.txt`;不把教学页/摘要等同于原著全文。
|
||||
|
||||
## 有限语义对照
|
||||
|
||||
| Solve条目 | 与既有内容/旧意见的关系 | 来源判断与处理 |
|
||||
|---|---|---|
|
||||
| `psoa.problem-solving-methodology.constructive-witness` | 将存在性/可行性主张落为一个具体候选、反例、证明对象或最小原型,再按既定规则检查。它比`gongfa-solution-space`描述的候选集合窄,也可作为已登记问题界定闭环中的一项验证活动;不是整个求解循环。旧Solve24意见曾列为“优先候选”,带`xuan-advanced`的编辑建议不等于登记或品级。 | MIT课程页只确认离散数学/计算机科学课程覆盖证明技术;Stanford ME113说明其设计思维流程包含原型和测试,适用范围是以用户需求为中心的设计过程;均未证明本条全部字段、独立核验要求、失败分类或软件通用效果。维持旧候选,需来源与消费边界审查后再决定,不重评、不升级。 |
|
||||
| `psoa.problem-solving-methodology.look-back-evaluation` | 对既有目标/约束、关键步骤、边界与备选路径进行回看,产出已核/未核和改进项。与Pólya的“回看”阶段、现有问题界定与求解闭环中的结果验证,以及工程作业流的反例驱动/收敛重构相邻;它可作为验证阶段,不因单列操作就证明有独立方法身份。 | Pólya教学页仅支持四个一般阶段,并明确不应当作必须线性执行的步骤;Stanford测试阶段限于其设计思维情境。NIH及National Academies页面本次403,不能支持精确独立审查流程。不新增登记或评级;来源正文、独立检查合同及一般软件适用性未证。 |
|
||||
| `psoa.problem-solving-methodology.metacognitive-monitoring` | Solve24历史候选指针`items[3]`与当前另一条`psoa.cognitive-science.metacognitive-monitoring`同属策略监控及继续/停止/切换控制。旧条强调进展/成本、替代策略预期收益和停止阈值;新条还表达执行前预测、观察偏差与信心更新。与`gongfa-methodology-delivery-loop`的整体交付阶段相关但作用粒度不同。 | Newell与Simon支持问题空间、启发式选择性搜索及控制主题;文章指出任务中的策略需要检查点、反馈、分支和迭代,但不提供Solve条目的完整指标/预算/阈值合同。National Academies正文不可访问。保留强语义重叠、侧重点不同的历史关联,不仅凭同名合并或新登记;阈值未校准不能推出效能。 |
|
||||
| `psoa.problem-solving-methodology.general-problem-solving-loop` | `origin=derived`,显式组合entry[0..7]为Frame→Model→Decompose→Search→Construct→Look Back→Monitor;其自身步骤不是独立来源记录。与已登记问题界定闭环和工具箱总体作业流有组合重叠,但具体顺序、领域选择及适用合同没有被单一来源确立。 | Newell与Simon明确提醒,线性呈现不是实际问题求解策略;完整策略需有进展检查点、反馈、分支和迭代。Pólya页面亦明确阶段不应视为固定顺序。该证据反对把箭头顺序解释为普遍的线性过程,不能替代实际组合规则、回退条件和组件间数据契约。仅作为源pack中的编辑性派生组合,不新增项目候选、登记或评级。 |
|
||||
|
||||
### 实际读取到的来源范围
|
||||
|
||||
- MIT OCW课程页将课程描述为计算机科学/工程所需的离散数学工具与证明技术,列举逻辑、集合、关系、图论、状态机与不变式、归纳和反证等主题。它证明课程主题范围,不证明entry[5]的程序化步骤或其所有“witness”类型。
|
||||
- Stanford ME113页面描述一套以用户需求为中心的设计思维流程:Empathize、Define、Ideate、Prototype、Test;文字强调通过创建和测试学习、改进初始想法。它仅支持设计课程中的原型/测试关系,不证明所有问题求解都需要原型或独立验证器。
|
||||
- Pólya教学页列举理解、计划、执行和回看四阶段,同时写明这些“shouldn't be understood as steps”,且不要求按固定顺序执行。可支持回看概念,不能归因entry[6]完整的独立检查/边界/简化/推广合同。
|
||||
- Newell与Simon PDF的提取文本第5页明确写道:“A good strategy would have to contain many checkpoints for evaluation of progress, many feedback loops, many branches, many iterations.” 同段指出简洁策略是事后回看整理的,实际策略并非线性。其论述范围是1970年的人类问题求解理论,不是现代软件工程效果研究,也不验证entry[7]阈值或entry[8]特定组合。
|
||||
- NIH与National Academies页面返回403;不得根据页面标题、来源注释或其他引用补写正文内容。来源引用本身不证明来源与步骤一致、许可、独立审查或效果。
|
||||
|
||||
## 冻结的Solve字段投影
|
||||
|
||||
> 以下记录仅包含本次判断用到的原字段。完整原文可由已绑定的pack SHA与JSON Pointer重取;不把本投影当作Solve pack第二副本。
|
||||
|
||||
```text
|
||||
entry[5] psoa.problem-solving-methodology.constructive-witness
|
||||
kind=OperatorSpec; origin=source; source_key=problem-solving-methodology.constructive-witness; name_zh=构造性见证
|
||||
summary=把存在性或可行性主张转成一个可检查的具体候选、反例或最小原型。
|
||||
operation=定义构造目标和约束 → 生成最小 witness → 运行独立检查 → 记录失败条件和改进方向
|
||||
source_refs=[ref:polya-four-phases, ref:mit-mcs-proofs, ref:stanford-design-thinking]
|
||||
旧意见指针=source-classified-candidates-20261007.json#/documents/solve24_analysis/items/2
|
||||
|
||||
entry[6] psoa.problem-solving-methodology.look-back-evaluation
|
||||
kind=OperatorSpec; origin=source; source_key=problem-solving-methodology.look-back-evaluation; name_zh=回看评估
|
||||
summary=对计划、过程和候选解做独立回看,检查合理性、遗漏、可简化性和可推广性。
|
||||
operation=重读目标与约束 → 复算关键步骤 → 检查边界和替代路径 → 记录可简化、可推广和未验证部分
|
||||
source_refs=[ref:polya-four-phases, ref:national-academies-metacognition, ref:nih-rigor-reproducibility]
|
||||
|
||||
entry[7] psoa.problem-solving-methodology.metacognitive-monitoring
|
||||
kind=OperatorSpec; origin=source; source_key=problem-solving-methodology.metacognitive-monitoring; name_zh=元认知监控
|
||||
summary=持续判断当前策略是否产生进展、证据是否足够,以及何时继续、停止、切换或升级。
|
||||
operation=设定监控指标 → 观察进展/成本/不确定性 → 与停止阈值比较 → 继续、切换、回退或升级
|
||||
source_refs=[ref:schoenfeld-problem-solving, ref:national-academies-metacognition, ref:newell-simon-problem-space]
|
||||
旧意见指针=source-classified-candidates-20261007.json#/documents/solve24_analysis/items/3
|
||||
|
||||
entry[8] psoa.problem-solving-methodology.general-problem-solving-loop
|
||||
kind=MethodSpec; origin=derived; name_zh=通用问题求解循环
|
||||
summary=把任务定框、问题空间、目标差异、选择性搜索、构造、回看和元认知控制串成可复用循环。
|
||||
operation=Frame → Model → Decompose → Search → Construct → Look Back → Monitor
|
||||
source_refs=[ref:schoenfeld-problem-solving, ref:polya-four-phases, ref:newell-simon-problem-space, ref:national-academies-metacognition]
|
||||
```
|
||||
|
||||
## 范围与结论
|
||||
|
||||
本轮只审problem-solving-methodology pack entries[5..8]、上述两条冻结历史意见、按ID/主题定向检索到的相邻登记项及本次实际读取的来源;没有遍历全部79条登记或410条历史目录,不构成556→410全量语义去重。entries[5]与[7]沿用历史候选边界,entry[6]只作为可能的检查阶段,entry[8]作为派生编辑组合;没有新增或修改登记、候选JSON、生成目录、初评或正式评级。外部来源未冻结发表版本/许可;独立语义审查和效果验证均未完成。
|
||||
@@ -0,0 +1,101 @@
|
||||
# 2026-10-14 编程 Solve pack entries[0..4]有限语义复核选区
|
||||
|
||||
> 本快照冻结指定条目的字段投影、来源边界与有限对照。名称、Solve类型、历史候选意见和工具文档均不自动构成新登记、许可批准、正式评级或效果证据。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- recorded_at: `2026-10-14T20:00:23Z`。
|
||||
- trigger: 在软件工程pack有限审阅后续看编程pack前五条,核对调试、局部反馈与运行追踪条目是否与现有功法或历史候选重复,并检查其引用是否支持精确操作。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 完整、可审计的候选语义交叉表承接本批结论后,本文件转只读历史依据并保留。
|
||||
- 项目审阅基线:`6400580028c0af71c6936dbf8d8b90ef1edf6b7c`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve源仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;`agent/skills/workflow/modules/solve/references/packs/programming.json`工作树无差异,SHA-256 `66958c76ca33cc03b5740f463065c9c0b80b5a951b9a1e1df3c46b071862e7d5`。选区为`/entries/0..4`;字段列表和数组顺序按该JSON保留。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;捕获时在源仓库工作树中为modified,仅绑定所观察到的引用声明,不冒称其在该HEAD下已提交。
|
||||
- 历史候选JSON `.github/metadata/gongfa/source-classified-candidates-20261007.json` SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;该文件含entry[2]二分调试的原始Solve投影与旧编者意见。
|
||||
- 来源字段:五条均引用`ref:user-cross-domain-map`与`ref:python-debugging`。前者为`conversation://cross-domain-method-map`,当前没有可独立读取的固定正文;后者登记为`https://docs.python.org/3/library/debug.html`,是未固定版本的调试/profiling参考。
|
||||
- 精确版本的补充材料:Python 3.12.15文档页`https://docs.python.org/3.12/library/debug.html`,HTTP 200,2026-10-14抓取,下载HTML的SHA-256为`a0fd82f717b786a1966b0fb260704281cb5161aa273635bf7aca5f1da83ac1f0`。页面概述支持调试器单步、栈帧检查、断点以及分析运行时间的profilers;它是工具能力说明,不支持其余条目的完整方法契约。当前未审查该材料能否授权任何项目包的再发行。
|
||||
- 历史快照中的entry[2]意见是“优先候选”、信心medium、暂定`xuan-advanced`,不是登记或正式评级;本轮保留旧快照、不覆盖历史结论。
|
||||
|
||||
## 有限语义对照
|
||||
|
||||
| Solve条目 | 与现有内容的关系 | 来源判断与处理 |
|
||||
|---|---|---|
|
||||
| `psoa.programming.tight-feedback-loop` | 与已登记`gongfa-methodology-delivery-loop`中的最小实现、检查器及反例验证相邻,也与历史候选“5.5 一步一步走”的一次小变更后立即验证相邻。每步验证可作为工作节奏,不足以证明新的独立方法。 | Python文档只说明调试与profiling工具,不证明“每次局部修改立即验证”的完整循环;`conversation://cross-domain-method-map`不可独立复核。作为已有总体作业流/小步素材,不新增登记。 |
|
||||
| `psoa.programming.hypothesis-driven-debugging` | 与已登记`gongfa-abductive-debugging`高度重叠:两者均列候选原因、设计区分性实验、依证据更新/淘汰解释。显式可证伪假设是适用的操作约束,不足以形成平行方法。 | Python文档提供调试工具,不提供该假设—探针—更新程序;同一conversation来源不可复核。作为溯因排错的操作化表达,不新增登记、初评或评级。 |
|
||||
| `psoa.programming.binary-search-debugging` | 与历史候选JSON中的同一`source_id`、同一pack SHA及当前总表“二分调试”精确相同;不是新的独立候选。旧意见限定于单调、可复现的有序回归区间。 | `ref:python-debugging`不支持二分定位;当前没有可复核的独立固定来源支持对commit、pipeline、prompt或context的扩展。保留既有候选及历史意见,不以本轮重审冒充来源补足,也不新增登记或评级。 |
|
||||
| `psoa.programming.breakpoint-single-step` | 更像断点、单步、检查状态等调试操作符,而不是自足方法;可作为调试任务中的局部操作。 | 版本化Python文档支持通用调试器的单步、栈帧和断点能力;不支持对Agent workflow逐节点应用的完整操作、验收及安全边界。保留来源待审候选,不登记。 |
|
||||
| `psoa.programming.tracing` | 可作为运行时观察/诊断操作;与设计期可观测性相关但不等同。条目“记录完整action/tool/state trace”超出通用Python工具文档支持范围。 | 文档提到审计事件可提供运行时可见性,但不定义跨组件/异步上下文关联、完整trace契约或Agent action/tool/state schema。该操作还须限定数据最小化、敏感值排除、访问、保留与成本;保留待审候选,不登记。 |
|
||||
|
||||
`binary-search-debugging`旧推荐与本轮来源缺口并存:本轮结论用于限制当前依据,不改写不可变历史候选JSON。Solve字段中的通用`evidence_required`也不是五条各自的效果证据。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
> 以下只冻结字段选择:`id/version/kind/origin/domain/status/name_zh/summary/core_question/operation/applicability.when/not_when/source_refs/semantics.preconditions/steps[].instruction或procedure/evidence_required/failure_modes`。未列字段不作为本轮判断依据;列表顺序按原pack保留。entry[2]沿用上述历史候选快照,不重复复制原文。
|
||||
|
||||
### entries[0] — `psoa.programming.tight-feedback-loop`
|
||||
|
||||
```text
|
||||
kind=MethodSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=快反馈
|
||||
summary=快反馈:Agent 每做一个局部修改立即验证。
|
||||
core_question=怎样最快知道刚才改对没有?
|
||||
operation=做最小修改 → 运行最小检查 → 观察结果 → 再修改
|
||||
when=[问题可通过短循环快速获得真实反馈。]
|
||||
not_when=[执行代价高、不可逆或环境无法安全重复。]
|
||||
source_refs=[ref:user-cross-domain-map, ref:python-debugging]
|
||||
preconditions=[问题可通过短循环快速获得真实反馈。]
|
||||
steps=[1 做最小修改;2 运行最小检查;3 观察结果;4 再修改]
|
||||
evidence_required=[最小复现、运行输出、trace/profile、静态诊断、失败与回归结果。]
|
||||
failure_modes=[执行代价高、不可逆或环境无法安全重复。;步骤之间的数据、控制或验证依赖未满足。]
|
||||
```
|
||||
|
||||
### entries[1] — `psoa.programming.hypothesis-driven-debugging`
|
||||
|
||||
```text
|
||||
kind=MethodSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=假设驱动调试
|
||||
summary=假设驱动调试:禁止到处改代码试试,每次实验只区分明确假设。
|
||||
core_question=Bug 最可能在哪里,什么实验能区分候选根因?
|
||||
operation=提出可证伪假设 → 设计探针 → 收集证据 → 更新假设 → 收敛根因
|
||||
when=[故障可复现或至少存在可观测症状。]
|
||||
not_when=[没有原始失败证据,或实验会同时改变多个变量。]
|
||||
source_refs=[ref:user-cross-domain-map, ref:python-debugging]
|
||||
preconditions=[故障可复现或至少存在可观测症状。]
|
||||
steps=[1 提出可证伪假设;2 设计探针;3 收集证据;4 更新假设;5 收敛根因]
|
||||
evidence_required=[最小复现、运行输出、trace/profile、静态诊断、失败与回归结果。]
|
||||
failure_modes=[没有原始失败证据,或实验会同时改变多个变量。;步骤之间的数据、控制或验证依赖未满足。]
|
||||
```
|
||||
|
||||
### entries[3] — `psoa.programming.breakpoint-single-step`
|
||||
|
||||
```text
|
||||
kind=OperatorSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=断点与单步
|
||||
summary=断点与单步:逐节点检查 Agent workflow 的输入、状态和输出。
|
||||
core_question=状态到底在哪一步开始偏离?
|
||||
operation=在关键点暂停 → 检查状态 → 执行下一步 → 对比预期
|
||||
when=[流程可暂停且中间状态可观察。]
|
||||
not_when=[实时系统不能暂停,或暂停会改变竞态行为。]
|
||||
source_refs=[ref:user-cross-domain-map, ref:python-debugging]
|
||||
preconditions=[流程可暂停且中间状态可观察。]
|
||||
procedure=[在关键点暂停;检查状态;执行下一步;对比预期]
|
||||
evidence_required=[最小复现、运行输出、trace/profile、静态诊断、失败与回归结果。]
|
||||
failure_modes=[实时系统不能暂停,或暂停会改变竞态行为。;过程产物不足以支持声明的效果。]
|
||||
```
|
||||
|
||||
### entries[4] — `psoa.programming.tracing`
|
||||
|
||||
```text
|
||||
kind=OperatorSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=跟踪
|
||||
summary=跟踪:记录完整 action/tool/state trace,而不是只看最终输出。
|
||||
core_question=一次请求或任务经过了什么因果路径?
|
||||
operation=插桩 → 记录事件序列 → 关联上下文 → 重建因果路径
|
||||
when=[问题跨越多个步骤、组件或异步边界。]
|
||||
not_when=[trace 缺少关联 ID,或采集敏感数据超出必要范围。]
|
||||
source_refs=[ref:user-cross-domain-map, ref:python-debugging]
|
||||
preconditions=[问题跨越多个步骤、组件或异步边界。]
|
||||
procedure=[插桩;记录事件序列;关联上下文;重建因果路径]
|
||||
evidence_required=[最小复现、运行输出、trace/profile、静态诊断、失败与回归结果。]
|
||||
failure_modes=[trace 缺少关联 ID,或采集敏感数据超出必要范围。;过程产物不足以支持声明的效果。]
|
||||
```
|
||||
|
||||
## 范围与结论
|
||||
|
||||
本轮只核对programming pack entries[0..4]、上述登记条目及已指明历史候选。没有扫描全部79条登记或410条历史候选,不构成556→410全量语义去重;其余programming pack条目未审。未修改`registry.json`、`catalog.md`、`catalog.xlsx`或`catalog-sources.json`,不新增身份、候选初评或正式评级,不证明效果、许可或独立领域审查。
|
||||
@@ -0,0 +1,87 @@
|
||||
# 2026-10-14 编程 Solve pack entries[10..14]有限语义复核选区
|
||||
|
||||
> 本快照冻结entries[10]、[11]、[14]新增字段投影,以及entries[12]、[13]的历史候选指针和有限对照。历史候选不因重复阅读升级为登记、评级、来源认证或效果证据。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- recorded_at: `2026-10-14T21:43:03Z`。
|
||||
- trigger: 继续核验编程pack entries[10..14],识别小变更、控制循环、测试候选与观测工具的既有关系,避免覆盖历史候选意见或把操作拆分误作独立身份。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 完整、可审计的候选语义交叉表承接本批结论后,本文件转只读历史依据并保留。
|
||||
- 项目审阅基线:`3f27506b3ff39a0ab776168470c45a7734b75ac8`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve源仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;`agent/skills/workflow/modules/solve/references/packs/programming.json`工作树无差异,SHA-256 `66958c76ca33cc03b5740f463065c9c0b80b5a951b9a1e1df3c46b071862e7d5`。选区为`/entries/10..14`。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;捕获时在源仓库工作树中为modified,仅绑定观察到的引用声明,不冒称其在该HEAD下已提交。
|
||||
- 历史候选JSON `.github/metadata/gongfa/source-classified-candidates-20261007.json` SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;entries[12]、[13]的旧投影和意见见`documents.solve_raw.items[15..16]`、`documents.solve24_analysis.items[6..7]`。
|
||||
- Python 3.12.15调试与profiling文档HTML SHA-256 `a0fd82f717b786a1966b0fb260704281cb5161aa273635bf7aca5f1da83ac1f0`,固定URL和前批检查边界见`source-selected-programming-entries-0-to-4-20261014.txt`。其工具能力说明不证明Agent循环或完整插桩契约;Solve `ref:cs2023`旧Final Report URL在前序检查中返回404,未据此补造来源。SWEBOK条目是知识领域主页级引用,不是固定修订或精确步骤依据。
|
||||
- `conversation://cross-domain-method-map`没有可独立读取的固定正文。entry[10]只引用该conversation;entries[11]、[12]、[13]引用相邻工具/教学来源;entry[14]另引用SWEBOK主页。本批不重新抓取外部页面或改写Solve `source_refs`。
|
||||
|
||||
## 有限语义对照
|
||||
|
||||
| Solve条目 | 与现有内容/历史意见的关系 | 来源判断与处理 |
|
||||
|---|---|---|
|
||||
| `psoa.programming.small-changes` | 限制原子patch并逐假设验证,与已登记总体交付循环、快反馈循环及历史“一步一步走”素材相邻。事务不可分割或必须原子迁移时,“每次只改一个假设”不适用。 | 只有不可独立复核的conversation来源;“小”没有统一规模度量。把它作为变更切片与回滚提示,不另立方法登记。 |
|
||||
| `psoa.programming.read-execute-observe-modify` | 读取状态、执行、观察、更新理解,是更大交付循环中的反馈控制结构;与`tight-feedback-loop`共享相同核心状态转换,但此条的通用表述没有稳定步骤边界或独立验收。 | Python文档支持部分调试器/运行时观测工具,不证明Agent基础控制循环;conversation正文不可复核。作为总体流程内的局部反馈骨架,不新增平行总流程。 |
|
||||
| `psoa.programming.property-based-testing` | 历史候选将“声明独立性质、定义输入生成域、缩减反例并重放”与证据三角测量/总体交付流程区分;二者关系是方法组件与检验方法,不是同义。 | 旧`优先候选`与`di-initial`仅为历史编辑意见。当前source_refs中的Python调试页不支持该测试方法,CS2023旧报告链接此前返回404;保留历史候选,不升级。 |
|
||||
| `psoa.programming.differential-testing` | 历史候选指出总体流程和三角测量只把差分测试作为验证手段;本条另描述参考/候选、输入、容忍规则、版本和副作用的比较合同。 | 旧`优先候选`和暂定等级不是登记或效果证据;本轮未固定与差分测试比较契约匹配的来源。保留旧意见,不重评。 |
|
||||
| `psoa.programming.instrumentation` | 插桩负责设置观测点、采样/脱敏并取得事件;`tracing`负责记录与关联事件、重建路径。可视为一条观测链的设置与消费阶段,但当前边界未证明形成两个稳定、独立登记身份。 | Python调试文档及SWEBOK主题页只支持相邻工具/知识主题,不证明事件schema、采样、脱敏、成本和恢复契约。与tracing一并待来源与边界收窄,不新增登记。 |
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
> 以下冻结entries[10]、[11]、[14]的新增字段;entries[12]、[13]已在历史候选JSON中冻结原始条目与编辑意见,本轮只保存同源指针。未列字段不作为本轮判断依据。
|
||||
|
||||
### entry[10] — `psoa.programming.small-changes`
|
||||
|
||||
```text
|
||||
kind=MentalModelSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=小变更
|
||||
summary=小变更:限制每次 Agent 只改变一个明确 hypothesis。
|
||||
core_question=为什么修改越大越难理解、验证和回滚?
|
||||
operation=把假设压成原子 patch → 单独验证 → 提交 → 再进入下一假设
|
||||
when=[变更可以切成保持可运行的独立步骤。]
|
||||
not_when=[操作具有不可分割事务或必须原子迁移。]
|
||||
source_refs=[ref:user-cross-domain-map]
|
||||
questions=[为什么修改越大越难理解、验证和回滚?]
|
||||
interpretation_rules=[把假设压成原子 patch → 单独验证 → 提交 → 再进入下一假设;限制每次 Agent 只改变一个明确 hypothesis。]
|
||||
limitations=[操作具有不可分割事务或必须原子迁移。]
|
||||
```
|
||||
|
||||
### entry[11] — `psoa.programming.read-execute-observe-modify`
|
||||
|
||||
```text
|
||||
kind=MethodSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=读—执行—观察—修改
|
||||
summary=读—执行—观察—修改:作为 coding agent 的基础控制循环。
|
||||
core_question=编程的最小学习循环是什么?
|
||||
operation=读取当前状态 → 执行动作 → 观察运行结果 → 修改理解或实现
|
||||
when=[能安全执行并获得真实环境反馈。]
|
||||
not_when=[执行不可逆、没有观测通道或权限边界不清。]
|
||||
source_refs=[ref:user-cross-domain-map, ref:python-debugging]
|
||||
preconditions=[能安全执行并获得真实环境反馈。]
|
||||
steps=[1 读取当前状态;2 执行动作;3 观察运行结果;4 修改理解或实现]
|
||||
stop_conditions=[成功条件已由 Verifier 依据证据确认。;前置条件失效、预算耗尽或 Harness policy 阻止继续。]
|
||||
success_conditions=[作为 coding agent 的基础控制循环。]
|
||||
evidence_required=[最小复现、运行输出、trace/profile、静态诊断、失败与回归结果。]
|
||||
failure_modes=[执行不可逆、没有观测通道或权限边界不清;步骤之间的数据、控制或验证依赖未满足。]
|
||||
```
|
||||
|
||||
### entry[14] — `psoa.programming.instrumentation`
|
||||
|
||||
```text
|
||||
kind=OperatorSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=插桩
|
||||
summary=在关键路径加入可控观测点,收集事件序列、状态和耗时以支持诊断。
|
||||
core_question=系统在什么步骤、以什么状态发生了偏差?
|
||||
operation=选择观测问题 → 插入最小事件点 → 运行采集 → 关联事件 → 移除或固化必要观测
|
||||
when=[故障位置、性能热点或状态转移无法从现有输出判断。]
|
||||
not_when=[插桩会触发敏感信息泄露或改变实时行为且无隔离。]
|
||||
source_refs=[ref:python-debugging, ref:swebok]
|
||||
preconditions=[目标路径、观测字段和脱敏边界已定义。]
|
||||
inputs=[target_path, events, correlation_key, sampling, redaction]
|
||||
procedure=[在关键状态转移前后记录结构化事件;采集并关联事件序列与耗时;对比正常/失败路径;移除一次性观测点或纳入长期观测契约]
|
||||
effect={state: execution_trace_available, statement: 形成可回放的关键执行路径和状态证据。}
|
||||
outcomes=[succeeded, inconclusive, not_applicable, failed]
|
||||
evidence_required=[插桩差异、事件 schema、采样、脱敏、trace 和成本。]
|
||||
failure_modes=[日志顺序或关联键不可靠。;插桩改变时序导致观察者效应。]
|
||||
recovery=[隔离采样、降低字段、使用无侵入 tracing 或回放。]
|
||||
```
|
||||
|
||||
## 范围与结论
|
||||
|
||||
本轮仅核对programming pack entries[10..14]、已登记总体交付/溯因/观测相邻内容及entries[12]、[13]的指定历史候选;没有扫描全部79条登记或410条历史候选,也不构成556→410全量语义去重。entries[12]、[13]沿用旧记录;未修改`registry.json`、`catalog.md`、`catalog.xlsx`或`catalog-sources.json`,不新增登记、初评或正式评级,不证明来源完整性、许可、独立领域审查、执行或效果。
|
||||
@@ -0,0 +1,87 @@
|
||||
# 2026-10-14 编程 Solve pack entries[15..17]有限语义复核选区
|
||||
|
||||
> 本快照冻结entries[15..17]字段投影与有限语义判断;来源引用不等同于来源内容已核验,派生组合不自动构成独立功法。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- recorded_at: `2026-10-14T22:00:31Z`。
|
||||
- trigger: 复核编程pack末三条,判断依赖最小化、资源有界循环及派生调试反馈循环与既有方法、治理规则的边界;避免把通用工程原则或组件组合当作来源已证实的新方法。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 可审计的候选语义交叉表吸收本批结论后,本文件转只读历史依据并保留。
|
||||
- 项目审阅基线:`0202d5500aa43f6e5027d65d9a9361383839618f`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve源仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;`agent/skills/workflow/modules/solve/references/packs/programming.json`工作树无差异,SHA-256 `66958c76ca33cc03b5740f463065c9c0b80b5a951b9a1e1df3c46b071862e7d5`。选区为`/entries/15..17`。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;捕获时源仓库工作树为modified,仅绑定观察到的来源声明,不冒称其在该HEAD下已提交。
|
||||
- 历史候选JSON `.github/metadata/gongfa/source-classified-candidates-20261007.json` SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;按`source_id`未发现本批三条的既有候选记录。
|
||||
- 来源边界:entry[15]引用SWEBOK主题页和Solve `ref:cs2023`旧Final Report;后者此前检查返回404,前者是主页级材料。entry[16]引用Python调试文档及OpenAI scaling laws论文;本批未固定能证明Agent循环预算、取消或重试合同的段落。entry[17]仅有不可独立读取的`conversation://cross-domain-method-map`。不据引用标题推断内容或许可。
|
||||
|
||||
## 有限语义对照
|
||||
|
||||
| Solve条目 | 与现有内容/结构的关系 | 来源判断与处理 |
|
||||
|---|---|---|
|
||||
| `psoa.programming.dependency-minimization` | 依赖清单、使用点、按项移除和回归验证,和已登记胶水原则中的成熟复用、依赖隔离及可回滚选择相邻,也与仓内依赖审查提示相邻;作为供应链收敛操作可能具有更窄任务边界,但现有来源未证明该完整步骤序列。 | SWEBOK/CS2023引用不等同于精确方法依据,且CS2023旧URL此前返回404。保留待来源绑定/范围比较,不新增登记或评级。删除依赖不得忽略动态加载、插件、安全和关键能力。 |
|
||||
| `psoa.programming.resource-bounded-loop` | 有界执行、预算消耗和停止原因属于多种Agent操作的横切约束;它们已由任务预算、成本与重试边界等治理规则分别约束。一个可独立方法还需明确资源单位、计量点、并发/外部成本、取消语义和未完成输出。 | Python调试及scaling laws引用未在本批形成可复核的运行时预算/取消步骤来源。保留为来源待审操作,不将“预算有限”泛化为效果保证,不新增登记。 |
|
||||
| `psoa.programming.debug-feedback-loop` | `origin=derived`,按顺序组合此前已审的读—执行—观察、假设驱动调试、最小复现、tracing和快反馈。与已登记溯因调试和总体交付循环高度相邻;本条没有独立来源,也未说明各阶段间新增的准入、失败恢复或证据合同。 | 引用组件能组合不证明派生序列是独立、自足方法。仅有不可复核conversation映射;不新登记、不赋级,待出现独立组合协议和可审计来源再评。 |
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
> 以下保留entries[15..17]的识别字段、适用边界及支持上述判断的操作字段。未列字段不作为本批语义结论依据。
|
||||
|
||||
### entry[15] — `psoa.programming.dependency-minimization`
|
||||
|
||||
```text
|
||||
kind=MethodSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=依赖最小化
|
||||
summary=删除不必要依赖,收窄供应链和维护面,并用行为证据确认没有隐性需要。
|
||||
core_question=哪些依赖真正被当前路径使用?
|
||||
operation=盘点依赖 → 建使用证据 → 删除/替换候选 → 运行构建与行为检查 → 记录回滚点
|
||||
when=[依赖树大、功能重叠或有未使用组件。]
|
||||
not_when=[依赖承载难以替代的安全、稳定或关键能力且无等价方案。]
|
||||
source_refs=[ref:swebok, ref:cs2023]
|
||||
preconditions=[依赖清单、使用点和边界约束可审计。]
|
||||
steps=[生成直接/传递依赖和实际使用点清单;区分必需、重复、未使用和高风险依赖;一次删除或替换一个候选;运行契约、行为、供应链和启动检查]
|
||||
stop_conditions=[收益小于迁移/回归成本或关键边界无法证明。]
|
||||
success_conditions=[依赖面缩小且目标行为、可维护性和安全性不退化。]
|
||||
evidence_required=[依赖图、使用点、变更、检查结果和风险评估。]
|
||||
failure_modes=[遗漏动态加载或插件依赖。;用自研代码换来更高总拥有成本。]
|
||||
```
|
||||
|
||||
### entry[16] — `psoa.programming.resource-bounded-loop`
|
||||
|
||||
```text
|
||||
kind=OperatorSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=资源有界循环
|
||||
summary=给循环、重试和探索设置时间、次数、token、内存或成本上界,并在耗尽时明确收敛。
|
||||
core_question=怎样保证 agent 不会无限尝试?
|
||||
operation=定义预算 → 每轮消耗计量 → 检查停止条件 → 成功交付或带证据退出
|
||||
when=[循环、重试、搜索或模型调用可能无界增长。]
|
||||
not_when=[已有外部调度器提供可信预算和取消契约。]
|
||||
source_refs=[ref:python-debugging, ref:openai-scaling-laws]
|
||||
preconditions=[预算单位、计量点、取消和失败输出已定义。]
|
||||
inputs=[budget, iteration_state, stop_conditions, cancel_policy]
|
||||
procedure=[在每轮前检查剩余预算和前提;执行有界动作并记录消耗;成功即停止,失败则选择下一路或退出;预算耗尽时输出 inconclusive/failed 及证据]
|
||||
effect={state: bounded_execution, statement: 循环在声明资源上界内执行并有明确终止语义。}
|
||||
outcomes=[succeeded, inconclusive, not_applicable, failed]
|
||||
evidence_required=[预算定义、每轮消耗、停止原因、结果和未完成项。]
|
||||
failure_modes=[只限制迭代次数却忽略 token/并发/外部成本。;重试风暴或取消不生效。]
|
||||
recovery=[降低预算、退避、切换更便宜路径或交由人工升级。]
|
||||
```
|
||||
|
||||
### entry[17] — `psoa.programming.debug-feedback-loop`
|
||||
|
||||
```text
|
||||
kind=MethodSpec; version=1.0.0; origin=derived; domain=programming; status=experimental; name_zh=调试反馈循环
|
||||
summary=让 Agent 用可证伪假设和真实运行证据持续缩小故障范围。
|
||||
core_question=怎样把编程中的关键方法组合成可重复的问题求解闭环?
|
||||
operation=Read → Hypothesize → Reproduce → Trace → Modify → Verify
|
||||
when=[问题主要需要编程的方法形成多步闭环。]
|
||||
not_when=[单一原子操作已经足够,继续组合只会增加成本。]
|
||||
source_refs=[ref:user-cross-domain-map]
|
||||
preconditions=[所引用条目均已装载且其前置条件可在运行时检查。]
|
||||
steps=[1 psoa.programming.read-execute-observe-modify;2 psoa.programming.hypothesis-driven-debugging;3 psoa.programming.minimal-reproduction;4 psoa.programming.tracing;5 psoa.programming.tight-feedback-loop]
|
||||
stop_conditions=[目标得到足够证据支持。;预算耗尽、关键前提失效或 Harness policy 阻止继续。]
|
||||
success_conditions=[让 Agent 用可证伪假设和真实运行证据持续缩小故障范围。]
|
||||
evidence_required=[最小复现、运行输出、trace/profile、静态诊断、失败与回归结果。]
|
||||
failure_modes=[任一引用缺失、输入输出不能衔接或验证依赖不满足。]
|
||||
```
|
||||
|
||||
## 范围与结论
|
||||
|
||||
本轮仅审编程pack最后三条,并对照胶水原则、溯因调试、总体交付循环和现有依赖/预算提示;没有扫描全部79条登记或410条历史候选,不构成556→410全量语义去重。未修改`registry.json`、候选JSON、目录或评级;不证明来源完整性、许可、独立领域审查、执行或效果。
|
||||
@@ -0,0 +1,81 @@
|
||||
# 2026-10-14 编程 Solve pack entries[5..9]有限语义复核选区
|
||||
|
||||
> 本快照冻结新增字段投影、历史候选指针和有限对照。历史候选意见不因重复审阅升级为登记、评级、来源认证或效果证据。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- recorded_at: `2026-10-14T20:17:24Z`。
|
||||
- trigger: 续审编程Solve pack entries[5..9],确认性能剖析、静态分析与并发检测的来源支持和现有语义关联;entries[6]与[7]已有历史审阅,避免重复复制或误升状态。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 完整、可审计的候选语义交叉表承接本批结论后,本文件转只读历史依据并保留。
|
||||
- 项目审阅基线:`f6f1a9c2063bd72267db97843200ab1e7c13b59d`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve源仓库HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;`agent/skills/workflow/modules/solve/references/packs/programming.json`工作树无差异,SHA-256 `66958c76ca33cc03b5740f463065c9c0b80b5a951b9a1e1df3c46b071862e7d5`。选区为`/entries/5..9`。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;捕获时在源仓库工作树中为modified,仅绑定所观察到的引用声明,不冒称其在该HEAD下已提交。
|
||||
- 历史候选JSON `.github/metadata/gongfa/source-classified-candidates-20261007.json` SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`;entry[6]、[7]的旧投影及意见见`documents.solve_raw.items[13..14]`和`documents.solve24_analysis.items[4]`、`items[8]`。
|
||||
- 来源边界:entries[5]、[6]引用`ref:python-debugging`及不可独立读取的`conversation://cross-domain-method-map`;entries[7..9]只引用该conversation URI。Python 3.12.15工具文档的冻结来源及SHA见前批`source-selected-programming-entries-0-to-4-20261014.txt`;本轮不重复复制原网页或补写pack的`source_refs`。
|
||||
|
||||
## 有限语义对照
|
||||
|
||||
| Solve条目 | 与现有内容/旧意见的关系 | 来源判断与处理 |
|
||||
|---|---|---|
|
||||
| `psoa.programming.profiling` | 性能剖析是发现热点的测量操作;已登记`gongfa-performance-by-measurement`已把profiling作为性能定位手段。它可在具体任务中被选择,不因操作字段完整就形成另一方法。 | Python 3.12.15文档支持profilers用于分析执行时间和定位瓶颈;未证明pack的完整“测量→假设→修改→复测”契约、优化有效性或跨token成本适用性。作为测量方法内的工具操作,不新增登记。 |
|
||||
| `psoa.programming.minimal-reproduction` | 旧快照已判为与`gongfa-abductive-debugging`相邻而非同义:候选原因/区分实验与保持同一故障的输入缩减是不同工作。旧意见“优先候选”、暂定`di-initial`、medium仅是历史编者判断。 | 旧条目中的“自动”和“最小”不是已实现自动化或全局最小保证;Python调试文档不支持输入缩减流程,conversation来源仍不可复核。保留旧历史候选,不重复制表或升级。 |
|
||||
| `psoa.programming.fuzzing` | 旧意见将其与`gongfa-evidence-triangulation`区分:后者把fuzz作为证据组件,本条描述输入生成/变异、异常捕获、缩减和回归序列。 | 唯一引用为不可独立复核的conversation URI;稳定oracle、隔离和可重放约束不能替代来源/覆盖合同。保留旧“优先候选”意见,不据此登记、授权执行或主张效果。 |
|
||||
| `psoa.programming.static-analysis` | 静态分析可包含多种工具和规则检查;与已登记总体作业流的检查器步骤相邻,当前没有具体语言、规则集或诊断处置合同来界定独立身份。 | 仅有conversation来源,没有可复核的固定原文;不把“AST/类型/数据流”标签当成工具运行或检出效果证据。留待来源绑定与范围收窄,不登记。 |
|
||||
| `psoa.programming.race-detection` | 关注共享状态和并发交错,但当前步骤是概括性描述;没有定义具体调度模型、冲突判据或检测工具的契约。 | 仅有conversation来源,没有可复核的固定版本;不运行任何被审工具或并发工作负载,不据此宣称检出覆盖。留待来源核验,不登记或评级。 |
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
> 以下冻结新增选区entries[5]、[8]、[9]的字段:`id/version/kind/origin/domain/status/name_zh/summary/core_question/operation/applicability.when/not_when/source_refs/semantics.preconditions/procedure或steps/evidence_required/failure_modes`。未列字段不作为本轮判断依据;列表顺序按原pack保留。entries[6]、[7]已存在于上列历史快照,沿用原投影与意见。
|
||||
|
||||
### entry[5] — `psoa.programming.profiling`
|
||||
|
||||
```text
|
||||
kind=OperatorSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=性能剖析
|
||||
summary=性能剖析:Measure before optimize,禁止凭感觉优化。
|
||||
core_question=真正的资源热点在哪里?
|
||||
operation=测量资源 → 定位热点 → 形成优化假设 → 修改 → 复测
|
||||
when=[存在时延、CPU、内存、I/O 或 token 成本问题。]
|
||||
not_when=[没有代表性负载或测量噪声大于差异。]
|
||||
source_refs=[ref:user-cross-domain-map, ref:python-debugging]
|
||||
preconditions=[存在时延、CPU、内存、I/O 或 token 成本问题。]
|
||||
procedure=[测量资源;定位热点;形成优化假设;修改;复测]
|
||||
evidence_required=[最小复现、运行输出、trace/profile、静态诊断、失败与回归结果。]
|
||||
failure_modes=[没有代表性负载或测量噪声大于差异。;过程产物不足以支持声明的效果。]
|
||||
```
|
||||
|
||||
### entry[8] — `psoa.programming.static-analysis`
|
||||
|
||||
```text
|
||||
kind=OperatorSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=静态分析
|
||||
summary=静态分析:写完代码后进入 compiler、linter 和 type-check loop。
|
||||
core_question=不运行程序能否发现结构、类型或数据流问题?
|
||||
operation=解析 AST/类型/数据流 → 应用规则 → 产生诊断 → 分级复核
|
||||
when=[语言或配置有成熟静态分析器。]
|
||||
not_when=[规则误报无法控制,或目标行为只能运行时观察。]
|
||||
source_refs=[ref:user-cross-domain-map]
|
||||
preconditions=[语言或配置有成熟静态分析器。]
|
||||
procedure=[解析 AST/类型/数据流;应用规则;产生诊断;分级复核]
|
||||
evidence_required=[最小复现、运行输出、trace/profile、静态诊断、失败与回归结果。]
|
||||
failure_modes=[规则误报无法控制,或目标行为只能运行时观察。;过程产物不足以支持声明的效果。]
|
||||
```
|
||||
|
||||
### entry[9] — `psoa.programming.race-detection`
|
||||
|
||||
```text
|
||||
kind=MethodSpec; version=1.0.0; origin=source; domain=programming; status=experimental; name_zh=并发检测
|
||||
summary=并发检测:检查 multi-agent shared-state 的竞争、丢更新和次序依赖。
|
||||
core_question=并发 Bug 是否只在特定交错次序出现?
|
||||
operation=对并发访问插桩 → 施加调度变化 → 检测冲突 → 固定复现 → 回归
|
||||
when=[存在共享可变状态、异步执行或并发访问。]
|
||||
not_when=[没有隔离环境,检测会造成不可接受开销或误判。]
|
||||
source_refs=[ref:user-cross-domain-map]
|
||||
preconditions=[存在共享可变状态、异步执行或并发访问。]
|
||||
steps=[1 对并发访问插桩;2 施加调度变化;3 检测冲突;4 固定复现;5 回归]
|
||||
evidence_required=[最小复现、运行输出、trace/profile、静态诊断、失败与回归结果。]
|
||||
failure_modes=[没有隔离环境,检测会造成不可接受开销或误判。;步骤之间的数据、控制或验证依赖未满足。]
|
||||
```
|
||||
|
||||
## 范围与结论
|
||||
|
||||
本轮只核对programming pack entries[5..9]、已登记`gongfa-performance-by-measurement`及指定历史候选;entries[6]、[7]沿用旧投影/意见。没有扫描全部79条登记或410条历史候选,不构成556→410全量语义去重;其余programming条目未审。未修改`registry.json`、`catalog.md`、`catalog.xlsx`或`catalog-sources.json`,不新增身份、候选初评或正式评级,不证明效果、许可或独立领域审查。
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
# 2026-10-14 software-engineering pack entries[0..4]有限语义复核选区
|
||||
|
||||
> 本快照冻结可核验的Solve字段投影与有限对照。候选、来源、相似主题均不自动形成新登记、类型确认、评级或效果证据。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- captured_at: `2026-10-14T18:37:05Z`。
|
||||
- trigger: 对照软件工程Solve pack最前五条记录与当前登记、仓内历史候选及官方来源页面,避免把学科标签、同名或流程化表达当作独立功法。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 完整、可审计的候选语义交叉表承接本批结论后,本文件转只读历史依据并保留,不删除。
|
||||
- 项目审阅基线:`bf186cc1a4bed72b5238d8e9f9c62454ad8ef091`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve repo HEAD:`ddee69426d133253c4ef89fdeb089818f5ee5e36`;pack `skills/workflow/modules/solve/references/packs/software-engineering.json` SHA-256 `801ea4ccd24ddcfff6f1d0115c3c41184390690046f929df21657cd20ef216b1`;pack本身无工作树差异。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;该文件捕获时为modified,只绑定观察到的引用声明,不冒称已提交或干净版本。
|
||||
- 历史候选:`.github/metadata/gongfa/source-classified-candidates-20261007.json` SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`。
|
||||
- Solve字段选择:`id/version/kind/status/name_zh/summary/core_question/operation/applicability.{when[],not_when[]}/source_refs/semantics.{preconditions[],steps[].instruction|procedure[],evidence_required[],failure_modes[]}`;列表顺序原样保留。其余字段不作为本次比较依据。
|
||||
- 本批覆盖`.entries[0..4]`。`.entries[2]` `psoa.software-engineering.architecture-tradeoff`已完整冻结在历史候选快照的`documents.solve_raw.items[7].original_entry`,且`documents.solve24_analysis.items[14]`已有审阅;此处不重复复制原文。以下冻结其余四条字段投影。
|
||||
|
||||
## 来源核对边界
|
||||
|
||||
- `ref:user-cross-domain-map`映射为`conversation://cross-domain-method-map`;Solve登记称其为用户在项目需求中提供的清单,本次没有可独立读取、固定版本的原始材料。
|
||||
- `ref:swebok`指向[IEEE Computer Society SWEBOK](https://www.computer.org/education/bodies-of-knowledge/software-engineering)。该站于2025-09-25标记更新版为SWEBOK v4.0a;其[主题目录](https://www.computer.org/education/bodies-of-knowledge/software-engineering/topics)列出需求验证/追踪、软件架构、设计理由及V&V等知识主题。这只支持知识领域覆盖,不证明本pack各条精确步骤、边界、因果效果或许可。页面于2026-10-14抓取。
|
||||
- `.entries[4]`另引用[NIST TEVV-Athlon](https://www.nist.gov/artificial-intelligence/ai-research/tevv-athlon-framework-evaluating-ai-systems):页面介绍按组织目标定制AI系统TEVV评估并产出测量证据;不能单独证明通用软件V&V定义或本条操作契约。页面于2026-10-14抓取。
|
||||
- 补充浏览[CMU SEI ATAM页面](https://insights.sei.cmu.edu/library/the-architecture-tradeoff-analysis-method-2/)(1998):页面摘要支持架构多质量属性权衡主题;该链接不是pack原`source_refs`,仅作补充主题核对,未据此补写原来源绑定。
|
||||
- 原始材料版本、完整内容许可、独立领域审查与实际效果均未核验;外部页面主题/摘要不替代完整原文审查。
|
||||
|
||||
## 有限语义对照
|
||||
|
||||
| Solve条目 | 已检查的相邻对象 | 处理 |
|
||||
|---|---|---|
|
||||
| `requirements-engineering` | 登记:`gongfa-problem-definition-framework`、`gongfa-hermeneutic-clarification`、`gongfa-specification-before-implementation`;历史:D058需求控制、VC021用户故事/GWT、VC022 INVEST、VC050规格外部审查、A032非功能需求。 | 覆盖需求获取/冲突/规格/验证,是宽泛生命周期领域;邻项分别覆盖问题界定、歧义澄清、规约先行或局部评审,并非同一流程。当前四动词未给出足够具体的输入输出、变化/审查条件,也未界定流程组合与独立方法;保留为待收窄研究主题,不新增登记。 |
|
||||
| `traceability` | 登记:`gongfa-state-ownership-questions`、`gongfa-decision-rationale-documentation`、`gongfa-methodology-delivery-loop`;历史:`psoa.software-engineering.impact-analysis`。 | 需求→决策→实现→测试→证据的关联不同于状态随时间变化,也不等于变更影响分析;可作为独立工程实践继续收窄。但“每个组件、变更和测试都必须指向具体requirement”过于绝对,未定义豁免、派生/生成对象、链接新鲜度与覆盖判据;保留候选,不登记。 |
|
||||
| `architecture-tradeoff` | 历史快照已有同一pack、同一SHA与同一JSON条目;另有A032非功能属性、VC036多维技术选型及登记`gongfa-reversible-decisions`。 | 不重复冻结或重开旧判定。历史分析暂缓另增并要求与相近权衡候选去重;本次仅补充:ATAM页面支持一般主题,不能证明该四步序列完整或已验证。保持历史候选状态,不变更登记/初评/评级。 |
|
||||
| `design-rationale` | 登记:`gongfa-decision-rationale-documentation`;历史:VC009“设计两次”。 | 现有登记已覆盖记录设计选择的理由;VC009关注决策前生成并比较多个备选。Solve新增候选、理由、后果、复查触发是更细的记录格式,尚不足以证明独立身份。视为既有内容的潜在操作化,不另建条目;若后续修订登记,须独立核实来源与版本。 |
|
||||
| `verification-and-validation` | 登记:`gongfa-methodology-delivery-loop`、`gongfa-evidence-triangulation`、`gongfa-specification-before-implementation`;历史:VC079评估集原则、VC090评估方式选择。 | 将契约符合与用户目标确认分开有辨别价值,且不同于通用交付闭环或证据渠道三角测量;相邻评估候选亦非同一对象。SWEBOK列出V&V主题、NIST支持AI目标导向评估,但本次来源不足以核定该二分定义的标准语义与边界。保留为待来源绑定/范围审查候选,不登记。 |
|
||||
|
||||
## 横向限制与结论
|
||||
|
||||
- 五条的`semantics.evidence_required`逐字共用同一泛化清单(需求/测试追踪、决策、变更、评审、版本与运行观测),未按操作对象区分。此字段不能作为各条效果证据;例如纯决策理由记录不必然要求运行观测,追踪与V&V则应定义各自覆盖/验收合同。
|
||||
- 比较只覆盖上表列明的登记条目与历史选区;没有逐条扫描全部79条登记或410条历史候选,更不是556→410全量语义去重。名称/标题匹配只用于召回。
|
||||
- 本批不修改`registry.json`、`catalog.md`、`catalog.xlsx`或`catalog-sources.json`,不分配新ID、不改候选登记、不新增初评/正式评级,不对运行效果作结论。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
> 下列字段来自pack SHA所绑定版本;为避免重复存放已冻结的`architecture-tradeoff`,只列entries[0]、[1]、[3]、[4]。所有记录共用的`semantics.evidence_required`只展示一次。
|
||||
|
||||
| entries index / ID | 类型/版本/状态/名称 | 摘要 / 核心问题 / 操作 | 适用 / 不适用 | source_refs | 前提 / 步骤或程序 / 失败模式 |
|
||||
|---|---|---|---|---|---|
|
||||
| 0 / `psoa.software-engineering.requirements-engineering` | `MethodSpec` / `1.0.0` / `experimental` / 需求工程 | 需求工程:生成代码前先形成用户目标、非目标和验收标准。 / 到底要解决什么,而不是什么? / 获取需求 → 分析冲突 → 规格化 → 验证需求 | 目标、角色、边界或验收尚未稳定。 / 只是执行一个已明确且无歧义的机械步骤。 | `ref:user-cross-domain-map`; `ref:swebok` | 前提:目标、角色、边界或验收尚未稳定。步骤:获取需求;分析冲突;规格化;验证需求。失败模式:`只是执行一个已明确且无歧义的机械步骤。`;`步骤之间的数据、控制或验证依赖未满足。` |
|
||||
| 1 / `psoa.software-engineering.traceability` | `MethodSpec` / `1.0.0` / `experimental` / 可追踪性 | 可追踪性:强制每个组件、变更和测试指向具体 requirement。 / 每个实现为什么存在? / 需求 ↔ 设计 ↔ 代码 ↔ 测试 ↔ 证据 | 系统长期演化或需要审计变更理由。 / 一次性草稿且没有交付、维护或合规价值。 | `ref:user-cross-domain-map`; `ref:swebok` | 前提:系统长期演化或需要审计变更理由。步骤:为每项需求建立稳定标识;把需求关联到设计决策;把设计决策关联到实现变更;把实现变更关联到测试;把测试关联到当前证据。失败模式:`一次性草稿且没有交付、维护或合规价值。`;`步骤之间的数据、控制或验证依赖未满足。` |
|
||||
| 3 / `psoa.software-engineering.design-rationale` | `OperatorSpec` / `1.0.0` / `experimental` / 设计理由记录 | 设计理由记录:保存决策日志,避免后来在缺少上下文时反复推翻旧决定。 / 为什么当初这样设计? / 记录决策 → 候选 → 理由 → 后果 → 复查触发 | 决策有长期影响、取舍或未来可能令人惊讶。 / 显而易见、易逆且没有维护影响的小改动。 | `ref:user-cross-domain-map`; `ref:swebok` | 前提:决策有长期影响、取舍或未来可能令人惊讶。程序:记录决策;候选;理由;后果;复查触发。失败模式:`显而易见、易逆且没有维护影响的小改动。`;`过程产物不足以支持声明的效果。` |
|
||||
| 4 / `psoa.software-engineering.verification-and-validation` | `MethodSpec` / `1.0.0` / `experimental` / 验证与确认 | 验证与确认:把实现正确和需求正确拆开验收。 / 东西做对了吗,并且做的是对的东西吗? / 验证实现符合规格 → 确认规格满足用户目标 → 分开记录证据 | 交付需要同时证明契约符合与用户价值。 / 没有可观察需求或规格,导致两者都无法判断。 | `ref:user-cross-domain-map`; `ref:swebok`; `ref:nist-tevv` | 前提:交付需要同时证明契约符合与用户价值。步骤:验证实现符合规格;确认规格满足用户目标;分开记录证据。失败模式:`没有可观察需求或规格,导致两者都无法判断。`;`步骤之间的数据、控制或验证依赖未满足。` |
|
||||
|
||||
- 五条共同的`semantics.evidence_required`原文:`需求与测试追踪、决策记录、变更集、评审结果、版本和运行观测。`
|
||||
+200
@@ -0,0 +1,200 @@
|
||||
# 2026-10-14 software-engineering pack entries[10..15]有限语义复核选区
|
||||
|
||||
> 本快照冻结可核验的Solve字段投影、历史交叉引用和官方来源补充核对。候选、来源、相似主题均不自动形成新登记、类型确认、评级或效果证据。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- recorded_at: `2026-10-14T19:17:27Z`。
|
||||
- trigger: 续审软件工程Solve pack entries[10..15],并补记新找到的官方CS2023 Software Engineering Version Gamma资料对entries[5..9]的有限来源支持,防止前批“尚无行为保持定义支持”的时点结论被误作当前结论。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 完整、可审计的候选语义交叉表承接本批结论后,本文件转只读历史依据并保留,不删除。
|
||||
- 项目审阅基线:`33c4cd09472453f6cf219158c35918df61ed300a`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve pack:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/packs/software-engineering.json`,SHA-256 `801ea4ccd24ddcfff6f1d0115c3c41184390690046f929df21657cd20ef216b1`。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;该文件捕获时为modified,只绑定观察到的引用声明,不冒称已提交或干净版本。
|
||||
- 历史候选:`.github/metadata/gongfa/source-classified-candidates-20261007.json` SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`。
|
||||
- Solve字段选择:`id/version/kind/status/name_zh/summary/core_question/operation/applicability.{when[],not_when[]}/source_refs/semantics.{preconditions[],steps[].instruction|procedure[],evidence_required[],failure_modes[]}`;列表顺序原样保留。其余字段不作为本次比较依据。
|
||||
- 本批覆盖`.entries[10..15]`。`.entries[12]` `risk-based-testing`和`.entries[14]` `incident-postmortem`已绑定同一pack SHA的`/entries/12`、`/entries/14`,历史原文和意见见`documents.solve_raw.items[10..11].original_entry`及`documents.solve24_analysis.items[13]`、`items[16]`;此处不重复复制原文。以下冻结新增投影entries[10]、[11]、[13]、[15]。
|
||||
- 前批entries[0..4]与[5..9]有限审阅见各自不可变快照;本文件的CS2023补充来源结论不改写或覆盖旧快照。
|
||||
|
||||
## 官方来源核对与边界
|
||||
|
||||
### CS2023 Software Engineering Version Gamma(补充来源)
|
||||
|
||||
- 官方[CS2023 Software Engineering页面](https://csed.acm.org/software-engineering/)列出“Version Gamma, August 2023”及正式版本链接;本轮读取其官方PDF:[SE-Version-Gamma.pdf](https://csed.acm.org/wp-content/uploads/2023/09/SE-Version-Gamma.pdf)。PDF提取17页。提取文本SHA-256为`be9f57d33e7efe126903f6849025f21bddaeeffe8dd1cc79cbce0182b871bfc2`;该摘要绑定本次提取文本,不是原始PDF字节SHA。
|
||||
- 与本批有关的短选区:p.2提出项目课程应强调“iteration and fast feedback”;p.5把CI描述为用自动化和自动化测试初步验证当前head/trunk能构建并通过基本测试;同页列出配置管理/版本控制、版本控制中的配置项及可复现构建/配置。p.7–8列出关注点分离、信息隐藏、耦合/内聚、组件边界/依赖及API一致性、可组合性、可扩展性。p.14要求接口实现重构对既有用户的影响尽量小或为零;p.15列出可靠性度量中的telemetry、monitoring、alerting及dashboard。
|
||||
- 官方CS2023 Final Report旧引用`https://csed.acm.org/wp-content/uploads/2024/04/CS2023-Final-Report.pdf`本轮返回HTTP 404;Gamma PDF是官方软件工程子页列出的另一个可读版本,作为补充来源,不伪装成Solve原`ref:cs2023`的固定原文或相同修订。
|
||||
- 这些是课程知识点/学习目标,不证明Solve条目所有步骤、普适适用性、许可、独立审查或效果。例如:Gamma支持CI的构建/基本测试验证主题,不单独支持每个agent patch都必须很小或每个失败都应立即修复;支持重构对用户影响最小的目标,不证明本pack整套程序已验证。
|
||||
|
||||
### ISO/IEC/IEEE 29119与SWEBOK
|
||||
|
||||
- 官方[ISO/IEC/IEEE 29119系列介绍](https://committee.iso.org/sites/jtc1sc7/home/projects/flagship-standards/isoiecieee-29119-series.html)说明该系列定义软件测试标准;介绍页将Part 2描述为测试过程、Part 3为测试文档、Part 4为测试设计技术,Part 1为共同概念/术语,并指出静态测试(reviews)另由ISO 20246定义。所查介绍页没有给出风险排序与按风险选择测试深度的具体程序;这不等于证明完整标准不含相关内容,本轮未读取标准全文。
|
||||
- [SWEBOK v4.0a主题目录](https://www.computer.org/education/bodies-of-knowledge/software-engineering/topics)列出软件维护中的影响分析/持续集成,以及软件工程运营中的监控与telemetry等主题;主题目录只支持知识领域存在,不证明完整操作流程。
|
||||
- `ref:user-cross-domain-map`映射到`conversation://cross-domain-method-map`,没有随pack提供可独立读取的固定原文。
|
||||
- 外部来源的完整许可、固定PDF字节版本、独立语义批准及实际效果均未核验;本轮不作法律许可结论。
|
||||
|
||||
## 补充回看entries[5..9]
|
||||
|
||||
新找到的CS2023 Gamma使前批source evidence边界需要更新:
|
||||
|
||||
| Solve条目 | 补充来源支持 | 仍未支持/处理 |
|
||||
|---|---|---|
|
||||
| `incremental-development` | Gamma p.2支持项目开发中的迭代与快速反馈。 | 不直接证明pack的纵向切片、可回滚证据和具体集成步骤;保留历史“优先候选”意见,不重复登记/初评。 |
|
||||
| `code-review` | Gamma p.4把code review列作合作编程方式;Google概览补充作者外reviewer及审阅关注点。 | 不逐步支持pack的finding分类、修改和复验闭环;非作者不等于独立oracle。 |
|
||||
| `configuration-management` | Gamma p.5支持软件配置管理、版本控制、配置项与可复现构建/配置。 | 不支持把所有prompt、model、tool、config和artifact无条件版本化;须保留凭据和不可固定远端状态边界,不登记。 |
|
||||
| `impact-analysis` | Gamma p.7的学习结果要求根据新需求识别需修改的系统区域;SWEBOK列出Impact Analysis主题。 | 不直接支持遍历依赖图、预测完整blast radius或自动决定验证范围;维持旧意见,不为计数双增。 |
|
||||
| `refactoring` | Gamma p.14明确提到对接口实现重构应尽可能不影响既有用户,支持行为保持目标。 | 不证明Solve五步程序、对所有“行为”精确等价或效果;修正前批结论为“已有补充来源支持目标,精确契约/步骤仍待核实”,不新登记。 |
|
||||
|
||||
## entries[10..15]有限语义对照
|
||||
|
||||
| Solve条目 | 已检查的相邻对象 | 处理 |
|
||||
|---|---|---|
|
||||
| `observability` | 同pack `design-for-observability`(entry[15]);已登记`gongfa-controllable-failure`、`gongfa-performance-by-measurement`。 | entry[10]偏运行时定义事件、记录并关联后诊断;entry[15]偏设计阶段从诊断问题倒推事件/采样/脱敏并演练,两者阶段和边界有差别但共享可观测性核心,不能仅按两个ID认作两个独立功法。Gamma只支持日志、telemetry/监控/告警主题,不支持全部trace/决策记录契约。`Agent必须留下decision/tool/state trace`应收窄到任务需要,并受数据最小化、凭据/个人数据保护、保留期及成本约束。 |
|
||||
| `continuous-integration` | 已登记总体交付循环、旧`incremental-development`候选;CS2023 Gamma p.5。 | Gamma支持由自动化和自动化测试验证共享head/trunk构建及基本测试,说明CI不等于“多人/多代理”专属。entry[11]提出的小patch、频繁集成、失败即修复更细,当前源引用未逐项支持这些条件;保留来源绑定待审候选,不登记。 |
|
||||
| `risk-based-testing` | 历史候选意见:与`gongfa-failure-mode-analysis`相邻,可能是其操作版;ISO 29119介绍页及Gamma测试/风险主题。 | 旧结论为“暂缓另增;对照旧方法或作为操作版候选”。Gamma分别列出风险识别、测试计划及测试工具,ISO介绍页介绍测试过程/文档/技术,但当前可见材料未直接支持“影响/可能性/可检测性排序→分配测试深度→依据结果重排”的完整程序。本轮维持旧结论;不重评品级。 |
|
||||
| `interface-segregation` | 已登记低耦合、稳定接口契约、显式依赖;CS2023 Gamma p.7–8。 | Gamma支持组件边界/依赖、关注点分离和API设计原则,但未明确“接口隔离”原则或本条consumer-usage matrix程序。语义上是可辨的操作候选,来源不足以确认其完整程序;不另立登记或评级。原`ref:cs2023` URL已404,Gamma仅作官方补充,不覆盖源引用身份。 |
|
||||
| `incident-postmortem` | 历史候选意见:与事前`gongfa-failure-mode-analysis`不同;前者处理已有事故及时间线/根因证据,后者先列潜在失败并安排测试。 | 旧结论“优先候选”仅是语义初审意见,不是登记授权。SWEBOK/Gamma的事故预防、可靠性、故障/遥测主题及NIST TEVV均未在本轮证明pack的完整事故时间线、因果区分、行动项关闭程序;来源和效果仍待核,不写入登记。 |
|
||||
| `design-for-observability` | 同pack `observability`(entry[10]);已登记故障可控、性能测量。 | entry[15]提供更具体的设计阶段操作:从诊断问题推导事件、定义关联/采样/脱敏/保留/成本边界并用演练验证。与entry[10]可视为同一主题下不同阶段的候选方法,需先定义共同身份/组成关系再决定是否拆分;不能只凭字段更全而增加登记。来源只提供主题级支持,演练效果未运行验证。 |
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
> entries[12]与[14]已在历史候选快照中冻结。本节仅冻结entries[10]、[11]、[13]、[15]。字段选择与前批一致;未列字段不作为本次比较依据。
|
||||
|
||||
### entries[10]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.software-engineering.observability",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "可观测性",
|
||||
"summary": "可观测性:Agent 必须留下 decision、tool 和 state trace。",
|
||||
"core_question": "系统线上为什么会这样运行?",
|
||||
"operation": "定义事件 → 记录 logs/metrics/traces → 关联请求和状态 → 诊断",
|
||||
"applicability": {
|
||||
"when": ["系统跨步骤、跨服务或长期运行,失败需要定位。"],
|
||||
"not_when": ["采集会泄露敏感内容且无法做最小披露。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:swebok"],
|
||||
"semantics": {
|
||||
"preconditions": ["系统跨步骤、跨服务或长期运行,失败需要定位。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "定义事件"},
|
||||
{"order": 2, "instruction": "记录 logs/metrics/traces"},
|
||||
{"order": 3, "instruction": "关联请求和状态"},
|
||||
{"order": 4, "instruction": "诊断"}
|
||||
],
|
||||
"evidence_required": ["需求与测试追踪、决策记录、变更集、评审结果、版本和运行观测。"],
|
||||
"failure_modes": [
|
||||
"采集会泄露敏感内容且无法做最小披露。",
|
||||
"步骤之间的数据、控制或验证依赖未满足。"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### entries[11]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.software-engineering.continuous-integration",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "持续集成",
|
||||
"summary": "持续集成:把 Agent 任务拆成持续验证的小 patch。",
|
||||
"core_question": "怎样缩短修改到获得集成反馈的距离?",
|
||||
"operation": "做小变更 → 频繁集成 → 自动检查 → 失败即修复",
|
||||
"applicability": {
|
||||
"when": ["多人或多代理持续修改共享主线。"],
|
||||
"not_when": ["检查不稳定、反馈太慢或中间态无法安全集成。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:swebok"],
|
||||
"semantics": {
|
||||
"preconditions": ["多人或多代理持续修改共享主线。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "做小变更"},
|
||||
{"order": 2, "instruction": "频繁集成"},
|
||||
{"order": 3, "instruction": "自动检查"},
|
||||
{"order": 4, "instruction": "失败即修复"}
|
||||
],
|
||||
"evidence_required": ["需求与测试追踪、决策记录、变更集、评审结果、版本和运行观测。"],
|
||||
"failure_modes": [
|
||||
"检查不稳定、反馈太慢或中间态无法安全集成。",
|
||||
"步骤之间的数据、控制或验证依赖未满足。"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### entries[13]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.software-engineering.interface-segregation",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "接口隔离",
|
||||
"summary": "按真实消费方拆分过宽接口,降低不必要依赖和变更扩散。",
|
||||
"core_question": "消费者是否被迫依赖不需要的能力?",
|
||||
"operation": "盘点调用方 → 标注实际能力 → 拆分最小契约 → 迁移并验证行为",
|
||||
"applicability": {
|
||||
"when": ["接口包含多个消费者并且调用方只使用部分能力。"],
|
||||
"not_when": ["拆分会破坏外部稳定契约且没有迁移窗口。"]
|
||||
},
|
||||
"source_refs": ["ref:swebok", "ref:cs2023"],
|
||||
"semantics": {
|
||||
"preconditions": ["接口、消费者和稳定契约约束已可观察。"],
|
||||
"procedure": [
|
||||
"建立方法-消费者使用矩阵",
|
||||
"识别不必要依赖",
|
||||
"设计最小接口并迁移调用方",
|
||||
"运行契约和行为回归"
|
||||
],
|
||||
"evidence_required": ["使用矩阵、接口差异、迁移清单和回归结果。"],
|
||||
"failure_modes": ["拆分只改变命名未减少耦合。", "遗漏隐式实现者。"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### entries[15]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.software-engineering.design-for-observability",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "可观测性设计",
|
||||
"summary": "在设计阶段定义能支持诊断、审计和性能判断的事件、指标与关联信息。",
|
||||
"core_question": "出问题时我们凭什么知道系统做了什么?",
|
||||
"operation": "列诊断问题 → 设计 logs/metrics/traces → 定义关联和敏感信息边界 → 注入并演练",
|
||||
"applicability": {
|
||||
"when": ["系统有异步、外部调用、模型调用或状态迁移需要诊断。"],
|
||||
"not_when": ["一次性纯本地计算且失败不会影响决策。"]
|
||||
},
|
||||
"source_refs": ["ref:swebok", "ref:nist-tevv"],
|
||||
"semantics": {
|
||||
"preconditions": ["关键状态、事件和隐私/凭据边界已识别。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "从故障和审计问题倒推观测需求"},
|
||||
{"order": 2, "instruction": "定义结构化事件、指标、trace 关联和采样"},
|
||||
{"order": 3, "instruction": "检查脱敏、保留期限和成本边界"},
|
||||
{"order": 4, "instruction": "用故障演练验证观测是否足以定位"}
|
||||
],
|
||||
"evidence_required": ["诊断问题、事件 schema、采样/脱敏策略和演练结果。"],
|
||||
"failure_modes": [
|
||||
"只记录文本日志无法关联状态。",
|
||||
"观测本身泄露 prompt、凭据或个人数据。"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 横向限制与结论
|
||||
|
||||
- entries[10..15]不是6个自动独立身份:可观测性与可观测性设计位于运行期/设计期不同阶段;风险驱动测试与失败模式分析相邻;接口隔离与稳定契约/低耦合相邻;事故复盘与事前失败分析不同,但仍需原始方法来源支撑。
|
||||
- entries[10]、[11]沿用的`evidence_required`是泛化清单,不足以替代事件schema、构建/测试结果、接口迁移合同等逐条证据。
|
||||
- entries[12]和[14]仅引用既有历史候选意见;CS2023及ISO页面是新增补充检查,不改变旧意见内容,不触发初评或登记。
|
||||
- 本批及跨批补充不修改`registry.json`、`catalog.md`、`catalog.xlsx`或`catalog-sources.json`,不分配新ID、不新增初评/正式评级,不对实际效能作结论;不代表79条登记、410条历史候选全量核对或556→410语义去重。
|
||||
+142
@@ -0,0 +1,142 @@
|
||||
# 2026-10-14 software-engineering pack entries[5..9]有限语义复核选区
|
||||
|
||||
> 本快照冻结可核验的Solve字段投影、历史交叉引用与有限审阅结论。候选、来源、相似主题均不自动形成新登记、类型确认、评级或效果证据。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- captured_at: `2026-10-14T18:59:16Z`。
|
||||
- trigger: 继续对照软件工程Solve pack entries[5..9]与当前登记、历史候选及其可读取的官方来源主题,区分操作化、主题相似和方法身份。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 完整、可审计的候选语义交叉表承接本批结论后,本文件转只读历史依据并保留,不删除。
|
||||
- 项目审阅基线:`d2fdb668106f8a877c9d33add000e3a8defb1989`;registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`。
|
||||
- Solve repo工作树:`/home/lenovo/.pi/agent`;pack位于`skills/workflow/modules/solve/references/packs/software-engineering.json`,SHA-256 `801ea4ccd24ddcfff6f1d0115c3c41184390690046f929df21657cd20ef216b1`;本次读取时该pack无工作树差异。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;捕获时该文件为modified,只绑定观察到的引用声明,不冒称已提交或干净版本。
|
||||
- 历史候选:`.github/metadata/gongfa/source-classified-candidates-20261007.json` SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`。
|
||||
- Solve字段选择:`id/version/kind/status/name_zh/summary/core_question/operation/applicability.{when[],not_when[]}/source_refs/semantics.{preconditions[],steps[].instruction|procedure[],evidence_required[],failure_modes[]}`;列表顺序原样保留。其余字段不作为本次比较依据。
|
||||
- 本批覆盖`.entries[5..9]`。`.entries[5]`和`.entries[8]`分别已绑定同一pack SHA、`/entries/5`与`/entries/8`,完整记录及旧意见分别见历史候选快照`documents.solve_raw.items[8].original_entry`、`documents.solve_raw.items[9].original_entry`;其审阅见`documents.solve24_analysis.items[15]`和`items[12]`,此处不重复冻结同一原文。以下冻结新增投影entries[6]、[7]、[9]。
|
||||
- 前一批entries[0..4]有限审阅见`.github/metadata/gongfa/source-selected-software-engineering-entries-0-to-4-20261014.txt`。
|
||||
|
||||
## 来源核对边界
|
||||
|
||||
- `ref:user-cross-domain-map`映射为`conversation://cross-domain-method-map`;Solve登记称其为用户在项目需求中提供的清单,本次没有可独立读取、固定版本的原始材料。
|
||||
- `ref:swebok`指向[IEEE Computer Society SWEBOK](https://www.computer.org/education/bodies-of-knowledge/software-engineering)。站点说明2025-09-25更新版标识为SWEBOK v4.0a。已读取主题目录:Chapter 7 Software Maintenance列出Impact Analysis、Configuration Management、Software Reengineering等主题;Chapter 8 Software Configuration Management列出配置项识别、baseline、变更控制、状态报告、审计与发布管理等主题。这些目录标题仅支持知识领域存在,不证明本pack条目的精确步骤、全量版本策略、行为保持定义、效果或许可;本轮未固定或逐段核验完整SWEBOK正文。
|
||||
- `ref:google-code-review`指向[Google Engineering Practices: Code Review](https://google.github.io/eng-practices/review/)。当前可读概览将代码评审定义为由作者之外的人检查代码,并列出设计、功能、复杂度、测试、命名、注释、风格和文档等关注点。页面没有固定修订号;本轮只确认当前页面概览,不把它冒称为不可变原文快照。它支持“评审者不是作者”和关注点,不证明本pack的全部finding分类/修订/复验序列,也不表示评审者是独立oracle。
|
||||
- 来源原始材料版本、完整内容许可、独立领域审查与实际效果均未核验;网页主题/概览不替代完整原文审查。
|
||||
|
||||
## 有限语义对照
|
||||
|
||||
| Solve条目 | 已检查的相邻对象 | 处理 |
|
||||
|---|---|---|
|
||||
| `incremental-development` | 历史Solve候选同源记录;已登记`gongfa-divide-and-conquer`、`gongfa-methodology-delivery-loop`;历史A085“一步一步走”、B009“健壮设计流程”。 | 旧意见已将其列为优先候选:纵向切片与分治不是同一约束,总体交付循环也不等于逐切片集成;但与A085“小变更—立即验证—回滚”高度相邻。若保留,辨别点应是可独立验证、保持可运行的纵向切片及集成边界,而非“小步”本身。源步骤“实现→测试”不是本仓测试授权,也不能覆盖测试先行要求;本轮保留旧候选意见,不重复登记/初评/评级。 |
|
||||
| `code-review` | 历史A084“无我编程”是评审中的行为准则;VC048“独立产品测试”是按规格做产品测试;当前项目另有审查流程,但流程存在不自动构成新身份。 | Google概览直接支持作者之外的人审查代码及其主要关注点,因此主题有来源支持且不同于A084/VC048。pack另外加入分类finding、修订与复验;当前所查概览不足以逐步支持该完整过程。“独立”仅应指作者与reviewer角色分开,不能推导统计独立、oracle正确或效果保证。保留为来源绑定的待审候选,不写入机器登记。 |
|
||||
| `configuration-management` | 与entry[1] `traceability`相邻但对象不同:配置管理控制工件版本/基线及变更,追踪性关联需求—设计—代码—测试—证据;另涉及项目现有来源冻结、版本及审计记录。 | SWEBOK目录支持软件配置管理作为知识领域,并列出配置项、基线、变更控制、状态与发布等主题;它不支持“把prompt、model、tool、config和artifact全部版本化”的无条件全覆盖。实际范围须限于影响复现/审计的受控配置与工件,并排除明文凭据、不可固定的远端服务状态及无持久配置的一次性观察。当前条目范围仍过宽且缺边界,不登记、不评级。 |
|
||||
| `impact-analysis` | 历史候选同源Solve条目;已登记`gongfa-explicit-dependencies`;SWEBOK目录列出Impact Analysis。 | 历史意见认为该条需证明相对依赖图的独立增量,或作为相关来源,不为计数双增。依赖可见性与识别具体变更受影响面有关联但不等同;维持旧结论,不重复冻结或登记。 |
|
||||
| `refactoring` | 历史A079“代码坏味”(以坏味为调查入口、逐步重构并用测试保护)、B015“特性服务型重构”(功能交付中持续重构)、A085“小步验证”;已登记`gongfa-methodology-delivery-loop`包含收敛重构。 | 当前Solve条目把范围收窄为可冻结外部行为时的内部结构变更,程序是冻结行为、小步调整、测试、比较与提交;与坏味诊断、特性开发时持续重构及总交付流程相邻而不完全相同。现有ref只支持维护/重构主题,未核到本条行为保持定义与具体程序的原始依据。保留待来源核实,不新登记或评级。 |
|
||||
|
||||
## 横向限制
|
||||
|
||||
- entries[5..9]的`semantics.evidence_required`逐字共用“需求与测试追踪、决策记录、变更集、评审结果、版本和运行观测”清单;配置管理、评审、影响分析与重构并不天然需要同一证据合同。此泛化清单不能当作逐条效果证据。
|
||||
- 这批只覆盖上表列明的登记条目与候选,未遍历79条登记或410条历史候选,不构成556→410全量语义去重。
|
||||
- 本批不修改`registry.json`、`catalog.md`、`catalog.xlsx`或`catalog-sources.json`,不分配新ID、不改变候选状态、不新增初评/正式评级,不对运行效果作结论。
|
||||
|
||||
## 冻结字段投影
|
||||
|
||||
> 下列字段来自pack SHA所绑定版本。entries[5]与[8]已在历史候选快照中按同一原始pack冻结,故此处不重复存放;只列entries[6]、[7]、[9]。三条`evidence_required`相同,逐条保留以展示该泛化字段。
|
||||
|
||||
### entries[6]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.software-engineering.code-review",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "独立评审",
|
||||
"summary": "独立评审:分离 generator 与 reviewer,并检查设计、功能、复杂度和测试。",
|
||||
"core_question": "作者没看见的问题能否由独立视角发现?",
|
||||
"operation": "作者提交变更 → 独立 reviewer 检查 → 分类 finding → 修订 → 复验",
|
||||
"applicability": {
|
||||
"when": ["变更影响共享代码、行为、安全或长期维护。"],
|
||||
"not_when": ["无法获得独立身份时不能声称独立审查,只能标记自审。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:google-code-review"],
|
||||
"semantics": {
|
||||
"preconditions": ["变更影响共享代码、行为、安全或长期维护。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "作者提交变更"},
|
||||
{"order": 2, "instruction": "独立 reviewer 检查"},
|
||||
{"order": 3, "instruction": "分类 finding"},
|
||||
{"order": 4, "instruction": "修订"},
|
||||
{"order": 5, "instruction": "复验"}
|
||||
],
|
||||
"evidence_required": ["需求与测试追踪、决策记录、变更集、评审结果、版本和运行观测。"],
|
||||
"failure_modes": [
|
||||
"无法获得独立身份时不能声称独立审查,只能标记自审。",
|
||||
"步骤之间的数据、控制或验证依赖未满足。"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### entries[7]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.software-engineering.configuration-management",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "配置管理",
|
||||
"summary": "配置管理:把 prompt、model、tool、config 和 artifact 全部版本化。",
|
||||
"core_question": "哪个版本和配置产生了结果?",
|
||||
"operation": "建立版本 → 冻结 baseline → 受控变更 → 记录配置与产物",
|
||||
"applicability": {
|
||||
"when": ["结果依赖多个可变版本或需要复现。"],
|
||||
"not_when": ["没有任何持久配置或版本差异的一次性观察。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:swebok"],
|
||||
"semantics": {
|
||||
"preconditions": ["结果依赖多个可变版本或需要复现。"],
|
||||
"steps": [
|
||||
{"order": 1, "instruction": "建立版本"},
|
||||
{"order": 2, "instruction": "冻结 baseline"},
|
||||
{"order": 3, "instruction": "受控变更"},
|
||||
{"order": 4, "instruction": "记录配置与产物"}
|
||||
],
|
||||
"evidence_required": ["需求与测试追踪、决策记录、变更集、评审结果、版本和运行观测。"],
|
||||
"failure_modes": [
|
||||
"没有任何持久配置或版本差异的一次性观察。",
|
||||
"步骤之间的数据、控制或验证依赖未满足。"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### entries[9]
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.software-engineering.refactoring",
|
||||
"version": "1.0.0",
|
||||
"kind": "OperatorSpec",
|
||||
"status": "experimental",
|
||||
"name_zh": "持续重构",
|
||||
"summary": "持续重构:定期做 behavior-preserving simplification。",
|
||||
"core_question": "行为不变时能否改善内部结构?",
|
||||
"operation": "冻结行为 → 小步重组 → 重跑测试 → 比较行为 → 提交",
|
||||
"applicability": {
|
||||
"when": ["内部复杂度妨碍维护且外部行为可以冻结。"],
|
||||
"not_when": ["需求行为本身需要改变,或缺少行为回归证据。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map", "ref:swebok"],
|
||||
"semantics": {
|
||||
"preconditions": ["内部复杂度妨碍维护且外部行为可以冻结。"],
|
||||
"procedure": ["冻结行为", "小步重组", "重跑测试", "比较行为", "提交"],
|
||||
"evidence_required": ["需求与测试追踪、决策记录、变更集、评审结果、版本和运行观测。"],
|
||||
"failure_modes": [
|
||||
"需求行为本身需要改变,或缺少行为回归证据。",
|
||||
"过程产物不足以支持声明的效果。"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,76 @@
|
||||
# 2026-10-14 software-engineering pack entry[16]有限语义复核选区
|
||||
|
||||
> 本快照绑定Solve的派生条目、当前登记对照与有限语义判断;不把派生流程、来源映射或名称转成新的功法登记。
|
||||
|
||||
## 快照清单
|
||||
|
||||
- recorded_at: `2026-10-14T19:36:42Z`。
|
||||
- trigger: 续审软件工程Solve pack最后一条受控演化循环,并与现有总体交付功法及本pack组成步骤对照。
|
||||
- owner: 功法元数据子域维护者。
|
||||
- retirement: 后续完整候选语义交叉表承接本结论后,本文件转为只读历史依据并保留。
|
||||
- 审阅基线:`9352b4a1becb0d8e92b4d84459f65c2fa78f100c`。
|
||||
- Solve pack:`/home/lenovo/.pi/agent/skills/workflow/modules/solve/references/packs/software-engineering.json`,SHA-256 `801ea4ccd24ddcfff6f1d0115c3c41184390690046f929df21657cd20ef216b1`;`/entries/16`为整条JSON记录,字段顺序与数组顺序保持原样。
|
||||
- Solve `source-inventory.json` SHA-256 `5315782f2ee45cf9b401322d393fb8b065aab1c98b38d6d2fa0ef4098e95a06a`;捕获时工作树为modified,未冒称已提交或干净发布版本。
|
||||
- registry SHA-256 `0d5b772c7e72a7122cf4b3764fdeb9c530574f6702c55026ff6297148f32e82d`;已有对照条目`gongfa-methodology-delivery-loop`、版本`r1`,`content.text_sha256=6f224bc1df90eee7f2d857e492b3465a1d04801e579b7f8f20e592758c1ca5c6`。
|
||||
- 历史候选JSON SHA-256 `6f3246373eb2b1d3c6d5916d42133cbf1d6d2988a2c54514bc8ea09816de70b5`。
|
||||
- 来源字段仅有`ref:user-cross-domain-map`,在pack引用`conversation://cross-domain-method-map`;本轮没有该对话的独立固定正文、修订或可复核来源片段。
|
||||
|
||||
## 固定Solve条目
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "psoa.software-engineering.controlled-evolution-loop",
|
||||
"version": "1.0.0",
|
||||
"kind": "MethodSpec",
|
||||
"origin": "derived",
|
||||
"name": "Controlled Evolution Loop",
|
||||
"name_zh": "受控演化循环",
|
||||
"domain": "software-engineering",
|
||||
"status": "experimental",
|
||||
"summary": "让长期系统的每次变化都能说明来源、风险、验证、版本和运行后果。",
|
||||
"core_question": "怎样把软件工程中的关键方法组合成可重复的问题求解闭环?",
|
||||
"operation": "Specify → Trace → Change → Review → Integrate → Observe",
|
||||
"agent_use": "让长期系统的每次变化都能说明来源、风险、验证、版本和运行后果。",
|
||||
"applicability": {
|
||||
"when": ["问题主要需要软件工程的方法形成多步闭环。"],
|
||||
"not_when": ["单一原子操作已经足够,继续组合只会增加成本。"]
|
||||
},
|
||||
"source_refs": ["ref:user-cross-domain-map"],
|
||||
"governance": {
|
||||
"risk_level": "medium",
|
||||
"permission_decision": "harness_policy",
|
||||
"outcome_decision": "verifier",
|
||||
"sensitive_values": "reference_only"
|
||||
},
|
||||
"semantics": {
|
||||
"preconditions": ["所引用条目均已装载且其前置条件可在运行时检查。"],
|
||||
"steps": [
|
||||
{"order": 1, "use": "psoa.software-engineering.requirements-engineering"},
|
||||
{"order": 2, "use": "psoa.software-engineering.traceability"},
|
||||
{"order": 3, "use": "psoa.software-engineering.incremental-development"},
|
||||
{"order": 4, "use": "psoa.software-engineering.code-review"},
|
||||
{"order": 5, "use": "psoa.software-engineering.configuration-management"},
|
||||
{"order": 6, "use": "psoa.software-engineering.observability"}
|
||||
],
|
||||
"stop_conditions": [
|
||||
"目标得到足够证据支持。",
|
||||
"预算耗尽、关键前提失效或 Harness policy 阻止继续。"
|
||||
],
|
||||
"success_conditions": ["让长期系统的每次变化都能说明来源、风险、验证、版本和运行后果。"],
|
||||
"evidence_required": ["需求与测试追踪、决策记录、变更集、评审结果、版本和运行观测。"],
|
||||
"failure_modes": ["任一引用缺失、输入输出不能衔接或验证依赖不满足。"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 对照及语义判断
|
||||
|
||||
- **与已登记总体交付流程:** `gongfa-methodology-delivery-loop`是六步总体作业流:现象卡片→规格化→检查器→最小实现→反例驱动→收敛重构。entry[16]是软件演化方向的组合序列:需求→追踪→增量开发→评审→配置管理→观测。两者不逐步同义;前者强调形成可证伪、可维护产物,后者声称长期变化应带来源、风险、验证、版本和运行后果。
|
||||
- **是否有独立增量:** 目前未看到明确的阶段准入/分支规则、每步输入输出交接、风险检查机制、验证预算/停止判据或失败恢复策略,足以把它与总体交付作业流区分为一条自足方法。entry[16]主要把entries[0]、[1]、[5]、[6]、[7]、[10]排成顺序;这些条目自身为实验性/候选来源,其中多项尚有范围或来源缺口。
|
||||
- **内部主张缺口:** summary/success称每次变化说明来源、风险、验证、版本和运行后果;operation/steps没有单独风险评估或验证步骤,`evidence_required`也只是通用复用清单,没有逐项风险记录、测试结果/范围或观测合同。不能从标题和目标补出未定义的操作。
|
||||
- **来源与类型:** `origin=derived`表明该条目为组合派生;唯一source ref为不可单独读取的conversation映射。本轮未能独立确认组合规则、来源许可、领域审查或效果。不得把导出JSON的完整字段当成来源共同定义。
|
||||
- **处理:** 暂不新增登记/初评/正式评级。未来若要作为独立方法进入机器登记,须补充可复核派生来源,明确触发条件、阶段契约、风险/验证证据、失败恢复,并与既有总体流程证明非冗余;否则作为候选组合或总体流程的领域化应用,不新增平行身份。
|
||||
|
||||
## 边界
|
||||
|
||||
本条完成entry[16]有限审阅;结合entries[0..4]、[5..9]、[10..15]历史及本次定向批次,覆盖了软件工程pack的条目索引,但不代表全量来源候选审查,也不代表556→410条目全量语义去重。未改变`registry.json`、`catalog.md`、`catalog.xlsx`或`catalog-sources.json`,未分配功法ID、初评、正式评级;不证明效果、许可或独立审查。
|
||||
@@ -84,6 +84,7 @@ make test-faqi-catalog
|
||||
文件/生成视图输入上限2 MiB,最多128来源、512实现、每分类4096资源行;固定Git命令预算20秒。
|
||||
格式化前保守核代码表列宽×行数预算,不让一条长名称扩大整表、耗尽内存后才拒绝;不截断原文。
|
||||
原文选区按一基半开区间和原UTF-8字节SHA核,不清洗或执行HTML/代码/提示词。
|
||||
文件级许可线索可将`*.awk`、man `*.1`、`README.ja`和`*.eps`登记为`support`来源;这些类型不能作为实现来源,记录原文不代表许可批准。
|
||||
首批父仓库修订绑定已发布主线的历史提交,不依赖本地未推送提交;历史Git对象须可读,浅克隆不保证来源可回放。
|
||||
重复内容身份、入口错配、缺失资源ID、越界/凭据/日志/数据库来源、未知字段与NaN均非零失败。
|
||||
路径/来源/指针变更先重新核证;并行修改采用前后摘要及指针复核,不声称多文件事务或跨写者强CAS。
|
||||
|
||||
@@ -7,6 +7,7 @@ import hashlib
|
||||
import html
|
||||
import json
|
||||
import os
|
||||
import posixpath
|
||||
from pathlib import Path, PurePosixPath
|
||||
import re
|
||||
import subprocess
|
||||
@@ -180,8 +181,20 @@ def validate(root, input_path):
|
||||
for source in sources.values():
|
||||
path = safe_path(root, source["path"])
|
||||
require(source["path"].startswith((".github/tools/", ".github/skills/")), "实现/说明来源不属于批准工具范围")
|
||||
require(path.suffix in {".py", ".sh", ".c", ".lua", ".html", ".md", ".toml", ".conf"} or path.name == "README",
|
||||
"来源不是公开代码、配置或说明")
|
||||
license_document = re.fullmatch(r"(?:LICENSE(?:\.[A-Za-z0-9._-]+)?|COPYING(?:\.[A-Za-z0-9._-]+)?)", path.name, re.IGNORECASE)
|
||||
source_type_allowed = (
|
||||
path.suffix in {".py", ".sh", ".c", ".lua", ".html", ".md", ".toml", ".conf"}
|
||||
or path.name == "README"
|
||||
or (
|
||||
source["purpose"] == "support"
|
||||
and (
|
||||
license_document is not None
|
||||
or path.suffix in {".awk", ".1", ".eps"}
|
||||
or path.name == "README.ja"
|
||||
)
|
||||
)
|
||||
)
|
||||
require(source_type_allowed, "来源不是公开代码、配置或说明")
|
||||
repository = root if source["repository"] == "." else safe_path(root, source["repository"])
|
||||
require(path.is_relative_to(repository), "来源文件不属于声明仓库")
|
||||
relative = path.relative_to(repository).as_posix()
|
||||
@@ -332,9 +345,21 @@ def validate(root, input_path):
|
||||
"空占位文件被伪称来源链接")
|
||||
bindings[path] = digest(b"")
|
||||
else:
|
||||
require(path.is_symlink() and os.readlink(path) == reference["target"] and original.decode("utf-8") == reference["target"], "软链接状态或目标漂移")
|
||||
require(reference["related_object_id"] is None or reference["related_object_id"] in objects, "引用入口关联未知对象")
|
||||
# 符号链接绑定的是路径,不是目录内容或另一件软件身份。
|
||||
target = reference["target"]
|
||||
require(isinstance(target, str) and target, "引用软链接缺少目标")
|
||||
target_path = PurePosixPath(target)
|
||||
target_repository = posixpath.normpath(posixpath.join(PurePosixPath(reference["path"]).parent.as_posix(), target))
|
||||
require(not target_path.is_absolute() and chr(92) not in target and target_path.as_posix() == target and
|
||||
target_repository in module_urls,
|
||||
"引用软链接必须使用规范相对路径并指向已登记submodule")
|
||||
require(path.is_symlink() and os.readlink(path) == target and original in {target.encode("utf-8"), b""},
|
||||
"软链接状态、当前目标或固定历史基线漂移")
|
||||
related_object_id = reference["related_object_id"]
|
||||
require(related_object_id is None or related_object_id in objects, "引用入口关联未知对象")
|
||||
if related_object_id is not None:
|
||||
implementation = sources[objects[related_object_id]["implementation"]]
|
||||
require(implementation["repository"] == target_repository, "引用软链接目标与关联法器来源错配")
|
||||
# source_revision保留旧Git状态;当前软链接由登记目标、规范仓内路径和submodule来源共同约束。
|
||||
return data, sources, objects, resources, decisions, bindings
|
||||
|
||||
|
||||
|
||||
@@ -138,9 +138,75 @@ class FaqiCatalogTest(unittest.TestCase):
|
||||
self.assertEqual("restricted_service_pending", decisions["network-payment-services-bybit-81d32c91"])
|
||||
self.assertEqual("related_local_source", decisions["repo-rules-scaffolds-tmux-9f36981a"])
|
||||
aliases = {a["path"]: a for a in data["references"]}
|
||||
for path in (".github/skills/auto-tmux/assets/tmux-src", ".github/skills/auto-tmux/assets/oh-my-tmux"):
|
||||
self.assertEqual("empty-placeholder", aliases[path]["state"])
|
||||
self.assertIsNone(aliases[path]["related_object_id"])
|
||||
self.assertEqual(("symlink", "../../../tools/external/tmux", "faqi-tmux"), (
|
||||
aliases[".github/skills/auto-tmux/assets/tmux-src"]["state"],
|
||||
aliases[".github/skills/auto-tmux/assets/tmux-src"]["target"],
|
||||
aliases[".github/skills/auto-tmux/assets/tmux-src"]["related_object_id"],
|
||||
))
|
||||
self.assertEqual(("symlink", "../../../tools/external/.tmux", "faqi-oh-my-tmux"), (
|
||||
aliases[".github/skills/auto-tmux/assets/oh-my-tmux"]["state"],
|
||||
aliases[".github/skills/auto-tmux/assets/oh-my-tmux"]["target"],
|
||||
aliases[".github/skills/auto-tmux/assets/oh-my-tmux"]["related_object_id"],
|
||||
))
|
||||
|
||||
def test_license_evidence_sources_are_support_only(self):
|
||||
data = json.loads((ROOT / ".github/metadata/faqi.json").read_text(encoding="utf-8"))
|
||||
implementation = next(source for source in data["sources"] if source["id"] == "S18")
|
||||
relative_path = Path(".github/tools/external/.tmux/LICENSE.MIT")
|
||||
body = (ROOT / relative_path).read_bytes()
|
||||
line_count = len(body.decode("utf-8").splitlines(keepends=True))
|
||||
license_source_id = "S_TEST_LICENSE"
|
||||
self.assertNotIn(license_source_id, {source["id"] for source in data["sources"]})
|
||||
license_source = {
|
||||
"id": license_source_id, "purpose": "support", "path": relative_path.as_posix(),
|
||||
"repository": implementation["repository"], "revision": implementation["revision"],
|
||||
"sha256": hashlib.sha256(body).hexdigest(), "lines": [1, line_count + 1],
|
||||
"selection_sha256": hashlib.sha256(body).hexdigest(),
|
||||
}
|
||||
data["sources"].append(license_source)
|
||||
skill_object = next(
|
||||
item for item in data["objects"] if item["id"] == "faqi-oh-my-tmux"
|
||||
)
|
||||
skill_object["support"].append(license_source_id)
|
||||
local_entry = next(
|
||||
item
|
||||
for item in data["local_entries"]
|
||||
if item["path"] == ".github/tools/external/.tmux"
|
||||
)
|
||||
local_entry["sources"].append(license_source_id)
|
||||
result = self.invoke("license-document-as-support", "--input", self.input_copy("license-support", data), "--check")
|
||||
self.assertEqual(0, result.returncode, result.stderr.decode())
|
||||
self.assertFalse(data["limits"]["license_approved"], "记录许可证原文不等于项目批准")
|
||||
|
||||
license_source["purpose"] = "implementation"
|
||||
result = self.invoke("license-document-as-implementation", "--input", self.input_copy("license-implementation", data), "--check")
|
||||
self.assertNotEqual(0, result.returncode)
|
||||
self.assertIn("来源不是公开代码、配置或说明", result.stderr.decode())
|
||||
|
||||
support_only_sources = ("S57", "S58", "S61", "S62", "S63", "S64")
|
||||
for source_id in ("S57", "S58", "S59", "S60", "S61", "S62", "S63", "S64"):
|
||||
data = json.loads((ROOT / ".github/metadata/faqi.json").read_text(encoding="utf-8"))
|
||||
source = next(item for item in data["sources"] if item["id"] == source_id)
|
||||
self.assertEqual("support", source["purpose"])
|
||||
if source_id not in support_only_sources:
|
||||
continue
|
||||
source["purpose"] = "implementation"
|
||||
result = self.invoke(
|
||||
f"{source_id.lower()}-notice-as-implementation",
|
||||
"--input", self.input_copy(f"{source_id.lower()}-implementation", data), "--check",
|
||||
)
|
||||
self.assertNotEqual(0, result.returncode)
|
||||
self.assertIn("来源不是公开代码、配置或说明", result.stderr.decode())
|
||||
|
||||
data = json.loads((ROOT / ".github/metadata/faqi.json").read_text(encoding="utf-8"))
|
||||
unsupported_image = next(item for item in data["sources"] if item["id"] == "S64")
|
||||
unsupported_image["path"] = ".github/tools/external/tmux/logo/icons/128x128/tmux.png"
|
||||
result = self.invoke(
|
||||
"unsupported-image-as-notice-source",
|
||||
"--input", self.input_copy("unsupported-image", data), "--check",
|
||||
)
|
||||
self.assertNotEqual(0, result.returncode)
|
||||
self.assertIn("来源不是公开代码、配置或说明", result.stderr.decode())
|
||||
|
||||
def test_rejects_unsupported_identity_and_source_claims_without_writing(self):
|
||||
original = json.loads((ROOT / ".github/metadata/faqi.json").read_text(encoding="utf-8"))
|
||||
@@ -200,8 +266,10 @@ class FaqiCatalogTest(unittest.TestCase):
|
||||
cases.append(("selection-drift", changed))
|
||||
changed = copy.deepcopy(original); changed["objects"][0]["name"] = "程序\n```\n<script>"
|
||||
cases.append(("control-character-injection", changed))
|
||||
changed = copy.deepcopy(original); changed["references"][2]["state"] = "symlink"
|
||||
cases.append(("placeholder-as-link", changed))
|
||||
changed = copy.deepcopy(original); changed["references"][2]["state"] = "empty-placeholder"
|
||||
changed["references"][2]["target"] = None
|
||||
changed["references"][2]["related_object_id"] = None
|
||||
cases.append(("symlink-as-placeholder", changed))
|
||||
for label, data in cases:
|
||||
with self.subTest(label=label):
|
||||
view = ARTIFACTS / (label + ".md")
|
||||
@@ -270,16 +338,30 @@ class FaqiCatalogTest(unittest.TestCase):
|
||||
body = b'RAW_BASE="https://raw.githubusercontent.com/tukuaiai/vibe-coding-cn/develop/.github/tools/config/.codex"\nprintf "fixture only\\n"\n'
|
||||
program = root / ".github/tools/config/.codex/install.sh"
|
||||
program.write_bytes(body)
|
||||
(root / ".gitmodules").write_bytes(b"")
|
||||
reference_path = root / ".github/skills/auto-tmux/assets/oh-my-tmux"
|
||||
reference_path.parent.mkdir(parents=True)
|
||||
reference_path.write_bytes(b"")
|
||||
gitmodules = b'[submodule "tmux"]\n\tpath = .github/tools/external/.tmux\n\turl = https://github.com/example/tmux.git\n'
|
||||
(root / ".gitmodules").write_bytes(gitmodules)
|
||||
for index, command in enumerate((
|
||||
["git", "init", "--quiet", str(root)],
|
||||
["git", "-C", str(root), "add", ".gitmodules", ".github/tools/config/.codex/install.sh"],
|
||||
["git", "-C", str(root), "add", ".gitmodules", ".github/tools/config/.codex/install.sh", ".github/skills/auto-tmux/assets/oh-my-tmux"],
|
||||
["git", "-C", str(root), "-c", "user.name=tradecatlabs", "-c", "user.email=288998340+tradecatlabs@users.noreply.github.com", "commit", "--quiet", "--no-gpg-sign", "-m", "test: isolated source fixture"],
|
||||
)):
|
||||
result = subprocess.run(command, capture_output=True, timeout=20, env={**os.environ, "GIT_AUTHOR_DATE": "2026-10-09T00:00:00+00:00", "GIT_COMMITTER_DATE": "2026-10-09T00:00:00+00:00"})
|
||||
(ARTIFACTS / f"fixture-git-{index}.json").write_text(json.dumps({"command": command, "exit_code": result.returncode, "stdout": result.stdout.decode(), "stderr": result.stderr.decode()}, ensure_ascii=False), encoding="utf-8")
|
||||
self.assertEqual(0, result.returncode, result.stderr.decode())
|
||||
revision = subprocess.check_output(["git", "-C", str(root), "rev-parse", "HEAD"], timeout=20).decode().strip()
|
||||
historical_placeholder = ARTIFACTS / "historical-empty-reference-placeholder"
|
||||
reference_path.rename(historical_placeholder)
|
||||
self.assertEqual(b"", historical_placeholder.read_bytes())
|
||||
reference_path.symlink_to("../../../tools/external/.tmux")
|
||||
for command in (
|
||||
["git", "-C", str(root), "add", ".github/skills/auto-tmux/assets/oh-my-tmux"],
|
||||
["git", "-C", str(root), "-c", "user.name=tradecatlabs", "-c", "user.email=288998340+tradecatlabs@users.noreply.github.com", "commit", "--quiet", "--no-gpg-sign", "-m", "test: restore registered submodule link"],
|
||||
):
|
||||
result = subprocess.run(command, capture_output=True, timeout=20, env={**os.environ, "GIT_AUTHOR_DATE": "2026-10-09T00:00:00+00:00", "GIT_COMMITTER_DATE": "2026-10-09T00:00:00+00:00"})
|
||||
self.assertEqual(0, result.returncode, result.stderr.decode())
|
||||
data = json.loads((ROOT / ".github/metadata/faqi.json").read_text(encoding="utf-8"))
|
||||
data["source_revision"] = revision
|
||||
source = {"id": "S01", "purpose": "implementation", "path": ".github/tools/config/.codex/install.sh", "repository": ".", "revision": revision, "sha256": hashlib.sha256(body).hexdigest(), "lines": [1, 3], "selection_sha256": hashlib.sha256(body).hexdigest()}
|
||||
@@ -305,10 +387,33 @@ class FaqiCatalogTest(unittest.TestCase):
|
||||
(root / source["path"]).write_bytes(raw); source["sha256"] = hashlib.sha256(raw).hexdigest()
|
||||
data["local_exclusions"] = []
|
||||
data["external_reviews"] = [{"decision": "software_candidate", "rationale": "隔离资源宽表夹具,不作语义初审", "resource_ids": ids}]
|
||||
data["resource_notes"] = {}; data["local_resource_links"] = {}; data["references"] = []; data["relations"] = []
|
||||
data["resource_notes"] = {}; data["local_resource_links"] = {}
|
||||
data["references"] = [{
|
||||
"path": ".github/skills/auto-tmux/assets/oh-my-tmux",
|
||||
"state": "symlink",
|
||||
"target": "../../../tools/external/.tmux",
|
||||
"related_object_id": None,
|
||||
"boundary": "仅验证历史零字节占位入口可被明确替换为当前相对软链接;隔离夹具不证明目标仓库内容。"
|
||||
}]
|
||||
data["relations"] = []
|
||||
view = ARTIFACTS / "budget-view.md"
|
||||
result = self.invoke("wide-resource-compact-view", "--root", root, "--input", self.input_copy("wide-table", data), "--view", view, "--write", memory_limit=192 * 1024 * 1024)
|
||||
self.assertEqual(0, result.returncode, result.stderr.decode())
|
||||
registered_link = ARTIFACTS / "registered-reference-link"
|
||||
reference_path.rename(registered_link)
|
||||
reference_path.symlink_to("../../../tools/external/unregistered")
|
||||
bad_reference = copy.deepcopy(data)
|
||||
bad_reference["references"][0]["target"] = "../../../tools/external/unregistered"
|
||||
forbidden_reference_view = ARTIFACTS / "unregistered-reference-view.md"
|
||||
result = self.invoke("reject-unregistered-reference-target", "--root", root,
|
||||
"--input", self.input_copy("unregistered-reference", bad_reference),
|
||||
"--view", forbidden_reference_view, "--write")
|
||||
self.assertNotEqual(0, result.returncode)
|
||||
self.assertIn("已登记submodule", result.stderr.decode())
|
||||
self.assertFalse(forbidden_reference_view.exists())
|
||||
unregistered_link = ARTIFACTS / "unregistered-reference-link"
|
||||
reference_path.rename(unregistered_link)
|
||||
registered_link.rename(reference_path)
|
||||
rendered = view.read_bytes()
|
||||
self.assertLess(len(rendered), 64 * 1024)
|
||||
self.assertNotIn(b"x" * 4096, rendered)
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
- 上游内容更新必须通过 `.github/tools/external/` 下的 Git submodule 指针完成。
|
||||
- 修改软链接后,运行 `find .github/skills/auto-tmux/assets -maxdepth 1 -type l -printf '%p -> %l\n'` 核对目标。
|
||||
|
||||
## 当前已知偏差
|
||||
## 当前状态与历史边界
|
||||
|
||||
法器登记固定的父仓库来源修订 `0a7fdf4ca54d2bb327dcdfc13e816da57ee9c4c2` 中,`oh-my-tmux` 和 `tmux-src` 实际是 0 字节普通文件,不是软链接;“只允许软链接”仍是目标契约,不代表当前路径已满足。不得仅凭预期目标就原地替换;修复须通过法器登记追加可追溯来源修订并保留旧字节摘要。`git submodule update` 只更新目标仓库,不会转换这两个占位文件;`auto-tmux doctor`只检查路径存在,可能对占位文件通过,不能证明链接可用。该说明在新修订通过来源校验且两条入口确为软链接后再退役。
|
||||
当前`oh-my-tmux`和`tmux-src`均为相对软链接,分别指向已登记的`.github/tools/external/.tmux`与`.github/tools/external/tmux` submodule;`metadata/faqi.json`将链接分别关联到`faqi-oh-my-tmux`与`faqi-tmux`。固定来源修订`0a7fdf4ca54d2bb327dcdfc13e816da57ee9c4c2`保留两条旧路径的0字节普通文件历史基线,校验器只允许登记目标与当前软链接精确匹配且目标属于`.gitmodules`已登记submodule。此链接修复不代表源码执行、许可或效能验证。`git submodule update`只更新目标仓库,不会创建或修复链接;`auto-tmux doctor`只检查路径存在,不能证明链接可用。
|
||||
|
||||
历史核对显示,偏差早于 `.github` 目录迁移:迁移提交 `99adc940a5660763a780c3abc6b4b77465600264` 的父提交中旧路径已是 0 字节普通文件,迁移前README虽要求软链接,实际Git blob仍为空。目录迁移不是这两个入口失效的根因;该历史也不证明更早曾存在有效链接。
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# auto-tmux assets
|
||||
|
||||
本目录预期只保存指向仓库内外部 submodule 的软链接入口,不保存上游源码副本。当前仓库中的两个入口实际都是 0 字节普通文件(Git mode `100644`),不是软链接;表中为预期目标,不能通过这些占位路径访问上游。修复须追加可追溯来源修订并保留原状态,详见[法器登记](../../../metadata/faqi.json)中 `.github/skills/auto-tmux` 的待办边界。
|
||||
本目录只保存指向仓库内外部 submodule 的软链接入口,不保存上游源码副本。2026-10-14已将两个入口恢复为相对软链接,分别指向已登记的`.github/tools/external/.tmux`与`.github/tools/external/tmux`;法器登记记录当前目标,并由固定来源修订保留原0字节占位历史。链接修复只确认仓内路径关系,不等于执行、许可或效能验证,详见[法器登记](../../../metadata/faqi.json)。
|
||||
|
||||
Git历史核对确认,该偏差早于 `.github` 目录迁移:迁移提交 `99adc940a5660763a780c3abc6b4b77465600264` 的父提交中,旧路径 `skills/auto-tmux/assets/oh-my-tmux` 与 `tmux-src` 已是 0 字节普通文件;迁移前 README 虽要求软链接,实际文件却与迁移后同为Git空文件blob `e69de29bb2d1d6434b8b29ae775ad8c2e48c5391`。因此不能把问题归因于目录迁移,也没有可从该父提交恢复的有效软链接;此历史不证明更早曾存在可用链接。
|
||||
|
||||
| 入口 | 预期目标 | 当前状态 | 用途 |
|
||||
|:---|:---|:---|:---|
|
||||
| `oh-my-tmux` | `../../../tools/external/.tmux` | 0 字节普通文件,不是软链接 | gpakosz/oh-my-tmux 配置参考 |
|
||||
| `tmux-src` | `../../../tools/external/tmux` | 0 字节普通文件,不是软链接 | tmux 上游源码参考 |
|
||||
| `oh-my-tmux` | `../../../tools/external/.tmux` | 相对软链接,关联`faqi-oh-my-tmux` | gpakosz/oh-my-tmux 配置参考 |
|
||||
| `tmux-src` | `../../../tools/external/tmux` | 相对软链接,关联`faqi-tmux` | tmux 上游源码参考 |
|
||||
|
||||
初始化或更新 submodule(只准备目标仓库,不会把占位文件转换成软链接):
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
../../../tools/external/.tmux
|
||||
@@ -0,0 +1 @@
|
||||
../../../tools/external/tmux
|
||||
@@ -8,6 +8,7 @@
|
||||
| [getting_started.md](./getting_started.md) | 术语、最短路径和工作姿势 |
|
||||
| [api.md](./api.md) | tmux / oh-my-tmux 常用命令与配置速查 |
|
||||
| [automation.md](./automation.md) | `auto-tmux.sh` / `swarm-brief.sh` 脚本子命令、安全模型和 AI 蜂群协作流程 |
|
||||
| [codex-pilot-mode.md](./codex-pilot-mode.md) | 主 Codex 控制持久 worker Codex 的激活提示词与操作协议 |
|
||||
| [safety-policy.md](./safety-policy.md) | 发送、广播、清理、归档和敏感信息处理的安全策略 |
|
||||
| [session-safety.md](./session-safety.md) | 本地 session、远程 SSH 和多 Agent 协作的分层安全边界 |
|
||||
| [jsonl-schema.md](./jsonl-schema.md) | JSONL/manifest 机器可读输出字段约定 |
|
||||
|
||||
@@ -12,7 +12,8 @@ Usage:
|
||||
Checks:
|
||||
- every scripts/*.sh entry is documented in SKILL.md, scripts/README.md, scripts/AGENTS.md and validate-auto-tmux.sh
|
||||
- completion.bash is documented in the same package indexes
|
||||
- every references/*.md entry is documented in SKILL.md, references/README.md and references/index.md
|
||||
- every references/*.md page is documented in SKILL.md and references/README.md
|
||||
- references/index.md remains a curated quick-link list; its local links are checked by the repository link checker
|
||||
EOF
|
||||
}
|
||||
|
||||
@@ -87,7 +88,6 @@ for ref_path in "$ref_dir"/*.md; do
|
||||
esac
|
||||
require_contains "$skill_dir/SKILL.md" "references/$ref_name" "SKILL.md"
|
||||
require_contains "$ref_dir/README.md" "$ref_name" "references/README.md"
|
||||
require_contains "$ref_dir/index.md" "$ref_name" "references/index.md"
|
||||
done
|
||||
|
||||
if (( failures > 0 )); then
|
||||
|
||||
@@ -206,7 +206,7 @@ git push origin HEAD
|
||||
- `.github/scripts/check-metadata.py` - metadata 路径与锚点检查脚本,供 `make check-metadata` 与 CI 使用
|
||||
- `.github/metadata/faqi.json` / `faqi.schema.json` - 法器总分类登记及字段契约;复用本体类型、固定来源审查、依赖图对象和用户确认纳入的依赖类别,原资源事实仍归资源YAML;当前暂定品级按Vibe Coding重要性分组,正式效能评级仍须独立效果证据。
|
||||
- `.github/tools/faqi-catalog.md` - 法器品级、名称与详细解释的三列只读浏览表;解释合并重要性范围和分级依据,完整登记仍归`.github/metadata/faqi.json`,资源原事实归资源YAML。
|
||||
- `.github/scripts/sync-faqi-catalog.py` / `test-faqi-catalog.py` - 离线总表生成、检查及行为契约;核来源、图SHA、对象映射和品级边界,保留真实命令/结果;不执行被审程序或联网补证。
|
||||
- `.github/scripts/sync-faqi-catalog.py` / `test-faqi-catalog.py` - 离线总表生成、检查及行为契约;核来源、图SHA、对象映射和品级边界,保留真实命令/结果;不执行被审程序或联网补证;文件级许可线索仅作支持证据,不代表批准。
|
||||
- `.github/metadata/gongfa/registry.json` - 活跃功法登记、等级、规则、来源、内容版本、人工初评及正式评级历史的唯一可编辑数据源;类型语义仍归本体主文;新范围追加批次
|
||||
- `.github/metadata/gongfa/catalog.md` / `catalog.xlsx` - 功法总表的生成视图;Markdown列品级、名称与详细解释;品级使用“天阶高级”等完整名称,不缩写。登记摘要/问题/机制及条件/限制/预期结果,候选原文/用途/理由,Solve机制/适用范围/前提/边界;完整原始数据仍归JSON;Excel保留完整字段;不手改、不自动注册/去重/评级
|
||||
- `.github/metadata/gongfa/catalog-sources.json` - 仅索引仓内不可变候选快照的路径/SHA/范围;历史材料不是第二可编辑登记,不依赖个人目录或临时工件
|
||||
@@ -266,7 +266,9 @@ git push origin HEAD
|
||||
### 分支职责
|
||||
|
||||
- `main` 是默认主线,开发更新和贡献 PR 统一以 `main` 为目标;远端长期保留 `main`、`minimal`。
|
||||
- `minimal` 保留现有内容,不作为贡献集成分支;`main` 保留签名、CODEOWNER、最后推送审批和必需 CI 保护。
|
||||
- `minimal` 保留现有内容,不作为贡献集成分支;`main` 保留签名和必需 CI 保护。
|
||||
- 按用户明确要求,Ruleset 与经典分支保护均不要求审批:数量为 0,Code Owner、最近推送及额外审批均关闭。
|
||||
`CODEOWNERS` 仅提供自愿审查入口,不作为合并前置条件;不得擅自恢复必需审批。
|
||||
- 按用户授权收敛远端分支前,先迁移开放 PR 的目标、保存全部精确 SHA 与已验证恢复 bundle,并用 ref lease 防止误删并行更新。
|
||||
- 远端清理不删除本地分支或 worktree;尚未整合的历史只备份,不自动合入主线。临时任务分支在交付后按同一规则清理。
|
||||
- 不将 squash 后的非祖先 HEAD 自动判为未整合;须核对已合并 PR 的精确 HEAD 与主线中的 merge commit。
|
||||
@@ -275,7 +277,9 @@ git push origin HEAD
|
||||
|
||||
- 用户已明确要求:本仓修改完成并完成必要验证后,自动提交、推送并合并,不再停在“本地未推送”,不重复询问发布许可;用户后续暂停、仅本地或先看方案等明确要求优先。
|
||||
- 只选择性提交本任务范围,不夹带并行或无关改动;不自动切分支、改写历史、强推或删除交付引用。
|
||||
- 受保护主线走精确PR/HEAD流程;如审批或检查未通过,保留实际失败并按用户自动交付指令逐次留痕处理流程例外,完整恢复原保护,不伪造批准、成功checks或独立审核;凭据、权限和数据边界不因自动交付扩大。
|
||||
- 受保护主线走精确 PR/HEAD 流程;核对必需 CI 和其他保留的保护,不额外要求审批或伪造批准、成功 checks、独立审核。
|
||||
流程例外须按用户授权留痕;临时调整的保护按约定恢复,但不得恢复用户已明确移除的必需审批。
|
||||
凭据、权限和数据边界不因自动交付扩大。
|
||||
|
||||
### Commit 规范
|
||||
遵循简化 Conventional Commits:
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
|
||||
## 法器体系
|
||||
|
||||
法器总表整理 Vibe Coding 流程中使用或依赖的工具、可调用入口和依赖类别;固定来源实现、当前运行实例、候选对象与抽象类别分别记录。
|
||||
法器总表整理 Vibe Coding 流程中使用或依赖的工具、可调用入口和依赖类别;固定来源实现、当前运行实例、候选对象与抽象类别分别记录。文件级许可线索仅作支持证据,不等于许可批准或再分发授权。
|
||||
|
||||
- [法器体系说明](.github/docs/gongfa/faqi-system.md):分类边界、重要性分级和选用方式。
|
||||
- [法器重要性总表](.github/tools/faqi-catalog.md):30 项的品级、名称、说明与记录状态。
|
||||
@@ -289,8 +289,9 @@ pip install -r .github/tools/prompts-library/scripts/requirements.txt
|
||||
### 配置与 CI
|
||||
|
||||
- 默认分支:`main`,开发更新和贡献 PR 统一以 `main` 为目标。
|
||||
- 远端长期保留 `main`、`minimal`;`minimal` 保留现有内容,不作为贡献集成分支。主线保留签名、审批与必需 CI 保护。
|
||||
- 路径级 owner 评审基线:`.github/CODEOWNERS`(当前维护者:`@tukuaiai`、`@tradecatlabs`)
|
||||
- 远端长期保留 `main`、`minimal`;`minimal` 保留现有内容,不作为贡献集成分支。主线保留签名与必需 CI 保护。
|
||||
- 不要求审批:Ruleset 与经典分支保护的审批数量均为 0,Code Owner、最近推送及额外审批均关闭。
|
||||
- 自愿审查入口:`.github/CODEOWNERS`(当前维护者:`@tukuaiai`、`@tradecatlabs`),不作为合并前置条件。
|
||||
- Markdown lint 配置:`.github/lint_config.json`
|
||||
- Markdown lint 版本:`Makefile` 中固定为 `markdownlint-cli@0.48.0`
|
||||
- 外部链接检查配置:`.lychee.toml`,统一管理外链检查的超时、重试、并发上限和排除项
|
||||
|
||||
Reference in New Issue
Block a user