| ci: run the Python unit tests on the GitCode test job The three Python test modules ran only on the GitHub mirror (wired in !603); the GitCode test job had zero Python steps (its seven python references all live in the package job's wheel pipeline), so record- mode, wrapper, and remote-facts regressions had no signal on the primary platform. Add the same explicit three-module unittest step the GitHub ubuntu job runs. This is deliberately added without setup-python: the PR's own GitCode CI run doubles as the codearts runner python3 availability probe (issue 630) - a green run proves availability and lands the wiring in one step; a command-not-found failure means setup-python needs adding instead. Step content is the contract suite's declared uncovered dimension, so the 21 mutation negatives pass unchanged; the 5.4 job table syncs the test row wording. Refs #630 Co-Authored-By: Claude Code <noreply@anthropic.com> | 9 天前 |
| ci: run CI on main pushes and gate releases with go test PR events were the only automated evidence point: a broken test could merge with red PR CI (d1714f0 landed via !592 with run 419 FAILED) and nothing would re-examine the tip of main until the next PRs started failing (all PR CI blocked until the fix landed). - both ci.yml gain on.push.branches: [main] alongside the pull_request trigger, so every merge or direct push to main leaves its own CI record and go-test evidence no longer exists only at PR time - release.yml preflight gains a go test ./... step after the version sync checks, so a release cut while main CI is missing or red still hits a unit-test gate - sync the trigger documentation in spec/delivery/ci-workflows.md (must-list, hierarchy diagram, trigger section, release section), spec/workflows/ai-local-development-workflow.md, spec/foundations/code-quality-gates.md, spec/delivery/release-process.md, and AGENTS.md Acceptance evidence for the push trigger lands post-merge as the first main-branch CI run, per the issue's acceptance criteria. Refs #618 Co-Authored-By: Claude Code <noreply@anthropic.com> | 15 天前 |
| docs(sig): close structural gaps from deep framework review 三视角深度评审(系统动力学/权力结构/集成激励)的结构性发现,本轮修复 文本级缺陷并补全披露;两项设计方向决策(状态是否附加权利、孵化退出 是否要求 sig/* 口径非零)显式留给 §9 试点退出决策: 状态机(一、转换无副作用): - §3 重构为显式转换表(源状态 × 目标状态 × 触发 × 确认),guard 绑定 源状态,堵死 incubating 经 degraded 旁路绕过孵化退出条件的路径 - degraded 恢复判据量化(lead 在位 + ≥2 新归属产出 + 月度评估确认; 恢复目标为进入前状态;恢复计划须含里程碑,2 次未达视同无计划) - 补 SIG 合并语义(存活方扩 scope / 被合并方归档,同一 PR)与 active 主动解散边;同日多触发按 归档 > degraded > 退出 active 优先序, 未决归属争议冻结孵化计时 - 活跃度同一 issue 双 label 去重;报告分列 sig/* 与 scope/* 两口径 - 月度评估 checklist 明确(分列活跃度、决策记录汇总、lead 响应性、 豁免状态、未映射 scope/* 盘点);±1 周期浮动声明为预期 制衡与 n=1 披露(二、单实例退化): - 新增 §4.5 单人运行模式已知限制:显式列出五种退化(operator 自审、 评估者自评、缺位处理自指、单人 maintainer 会议、多 SIG 表态自演) 与低置信度决策复核规则 - §7 lazy consensus 限定人类发起;Agent 发起议题须 operator 公示期内 追认——关闭"Agent 发起 + 人类沉默即通过"通道 - §7 定义 maintainer 会议(异步 issue 表决,72h 出结论,n=1 披露); 重大方向公示期内 maintainer 反对时升级会议裁决 - §7 新增 sig-governance.md 自身修订行(公示 ≥ 7 天,豁免期按低置信度 处理)——修复修订权重倒挂 - §4.2 豁免独立时钟(每 6 个月记录招募动作/计划,2 次无记录入风险清单) 使豁免状态在整改时钟启动前也可核查;补无法整改出口与名单变化同步规则 - §4.4 停摆兜底(介入请求 2 周无响应 → 任何人标记 blocked → 视为 degraded 触发成立);删除未定义的"代理 lead"(改为 maintainer 临时兼任) 执行接触面(三、规则未接线): - status-label-checklist.md 补 sig/* 可选第五维(triage 规则 + 替换语义 警告 + 快速参考命令示例)——gc pr edit --labels 静默移除 sig/* 的 警告落到实际执行的文档 - §4.3 边界补"不得超出 agents[].scopes 授权范围承接任务"(开始任务前 核对授权);审计节接 SECURITY.md 与既有事故处置流程 - rfc-workflow.md 补 merge 前置(≥5 自然日公示 + lead 明确 approve)、 lead 表态 4 周时限与催办、lead 兼作者的回避(sig/governance 代行) §9 试点:补元指标(状态转换行为差异、决策记录消费、豁免义务执行)、 未达标 SIG 显式处置路径(延长观察窗 ×2 → 收缩或撤销)、退出决策必答 两项设计问题;§6.1 例外判定权归 sig/governance。 验证:validate-sig-yamls.sh 3 文件通过;全部 § 交叉引用解析无缺失。 Commit-by: aflyingto | 1 个月前 |
| fix(review): close placeholder bypass, anchor templates in workflow spec - section_content now treats whole-line full-width parentheticals as placeholders, so a template submitted as-is fails record mode exactly like the ten list-style kinds do; the convention is documented in the template itself (code review, empirically demonstrated bypass) - pre-draft checklist item 3 now also checks merged PRs / origin/main / recent releases, so fixed-but-unreleased bugs do not get duplicate issues (code review) - issue-workflow.md section 1 gains the template pointer line: web UI uses .github/ISSUE_TEMPLATE (dual-platform, experiment-verified), AI drafting starts from issue-create.md with the validate command - otherwise the four-section structure is enforced by tooling but recorded nowhere in the rule source (docs review) - AI-TEMPLATES.md last-updated stamp refreshed Remote probe cleanup on infra-test/gctest1 verified against origin/main and backfilled in the issue; the record-mode coverage gap is registered as a follow-up. Refs #614 Co-Authored-By: Claude Code <noreply@anthropic.com> | 10 天前 |
| docs(sig): address re-review findings 复核遗留项清零(三角色复核 A' 1 major + 5 minor、B' 脚本 N1-N5、C' 2 major): - A'1(major): §3 评估工具修正——gc pr list 实测无 --label flag,PR 侧数据 改为平台 Web 过滤或 gc api 查询,gc sig prs 为 Phase 3 候选 - A'2: §6.2 事实修正——gc discussion 能力实为 org 级 list/view/delete + repo 级只读 project list/view(实测),无 create 与分类管理 - A'3: §3 degraded 准入补"豁免整改逾期"触发条件,闭合 §4.2 逾期后果空挂钩 - A'4: 脚本跨文件 scope_labels 重复映射 ERROR→WARN(§6.1 允许 charter 说明的例外,避免 Phase 2 接 CI 后阻断合法配置) - A'5: §9 单主体口径澄清为评估参考项而非额外门槛 - A'7: §6.3 Issue 主干补 status/ready-for-review(对齐 issue-workflow.md) - A'8: lazy consensus 限定为日常议题,避免与 §7 重大方向决策方式重叠 - A'9: 三个 YAML 头部 discussion 分类注释加"规划值"限定词 - A'10: §2 表注补 scope_labels 字段 - A'11: 脚本已知缺口注明单人重叠必要条件反转(≥2 maintainer 时属 §4.1 违规) - B'N1/N2/N5: get_field/get_list_entries 统一剥离行内注释与尾随空白 - B'N3: labels 校验收敛到 labels 段内精确匹配(charter 块不再误匹配) - B'N4: scope_labels 正则改字母开头(与 KEBAB_CASE_RE 对齐) - B'N5: 必需标量字段空值检查(如 status: 后无值) - C'N1: §6.1 label 描述条款对齐平台现实——GitCode label API 创建/更新均仅 支持 name/color(api-doc 实查),关联发现改为命名约定 + docs/SIGS.md 导航; §21/§38/矩阵同步去除 label 描述引用;归档不改 label 名(保留历史可查性) - C'N3: spec/README.md 目录树补 rfc-workflow.md 与 status-label-checklist.md 验证:validate-sig-yamls.sh 正向 3 文件通过;负面回归矩阵 13 组全过 (R1 条目注释豁免判定、R2 scope_labels 注释、R3 charter 误匹配、R4 空值、 R5 数字开头 scope、R6 重复映射 WARN、R7 原矩阵回归 6 项)。 Commit-by: aflyingto | 1 个月前 |