docs(openspec): governance-throughput-budget 提案——WIP 上限+治理稅預算+canon 批次化+收斂清單(供審;不掛 auto-merge) - #364
Conversation
…次化+收斂清單(供審;不掛 auto-merge) - 新 capability governance-throughput-budget(ADDED 4 條,各含 trigger/action/validation 與 git 統計指令): R1 active change 同時 ≤2、R2 rolling 14 天 docs+chore ≤30%(基線實測 60d 43.1%/14d 47.1%)、 R3 canon 修訂雙週一批不逐條開 PR、R4 九個 active change 實核勾選快照+逐一處置提案 - minio-folderview-and-baseline-disclosure(0/7)與 align-frontend-design-system-reference(0/23) proposal.md 頂部加 Status: deferred-proposed 2026-07-21 註記(只加不改原內容) - 與 #352 分支收斂設計 spec 互補不重複:該 spec 管分支存量,本提案管 change 流量與治理稅 - 驗證: openspec validate governance-throughput-budget --strict 綠; --all --strict 63 passed/0 failed Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VBTR2vcGmQXq2TGJ4HzWDs
📝 WalkthroughWalkthroughIntroduces a governance-throughput-budget proposal and specification covering active-change limits, governance-tax budgeting, canon batching, and convergence actions. Adds a task ledger and deferred-proposed annotations to two existing proposals. ChangesGovernance throughput budget
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md`:
- Around line 58-63: Update the batching requirement around the git log command
to measure pull requests rather than commits, using authoritative PR metadata
and an explicitly defined two-week window. Alternatively, consistently redefine
the requirement and wording as a commit-count threshold; keep the exemption and
failure-signal behavior unchanged.
- Around line 58-63: Update the validation command in the governance throughput
budget specification to include the complete recursive AGENTS.md and CLAUDE.md
reference chain, not only root-level files. Ensure changes to nested files such
as openspec/AGENTS.md are included while preserving the existing governed
plan-file paths and two-week PR counting behavior.
- Around line 12-15: Update the deferred-status filter in the change-count
expression to inspect only the proposal header’s top-level blockquote, anchoring
the match rather than scanning the entire proposal.md. Match only the statuses
“deferred” and “deferred-proposed,” while preserving inclusion of active changes
whose body merely mentions those strings.
- Around line 34-40: Update the throughput ratio calculation in the PowerShell
validation command so it checks whether $all is zero before dividing. For an
empty 14-day commit window, emit an explicit zero/no-data ratio; otherwise
preserve the existing $tax / $all percentage output.
- Around line 87-95: Replace the post-archive validation command with `npx
openspec validate --specs --strict` in
openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md
lines 87-95 and openspec/changes/governance-throughput-budget/tasks.md lines
21-24. Add the same validation after archiving this change in tasks.md line 30.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 316e9681-a0f3-4dac-b09a-0076bec680aa
📒 Files selected for processing (5)
openspec/changes/align-frontend-design-system-reference/proposal.mdopenspec/changes/governance-throughput-budget/proposal.mdopenspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.mdopenspec/changes/governance-throughput-budget/tasks.mdopenspec/changes/minio-folderview-and-baseline-disclosure/proposal.md
| (Get-ChildItem openspec/changes -Directory | | ||
| Where-Object { $_.Name -ne 'archive' } | | ||
| Where-Object { -not (Select-String -Path (Join-Path $_.FullName 'proposal.md') -Pattern 'Status: deferred' -Quiet) } | ||
| ).Count |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Match deferred status only at the proposal header.
This search scans the entire proposal.md and uses a substring match, so an active change can be excluded merely by mentioning Status: deferred in its body. Anchor the expression to the top-level blockquote and match only deferred or deferred-proposed.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md`
around lines 12 - 15, Update the deferred-status filter in the change-count
expression to inspect only the proposal header’s top-level blockquote, anchoring
the match rather than scanning the entire proposal.md. Match only the statuses
“deferred” and “deferred-proposed,” while preserving inclusion of active changes
whose body merely mentions those strings.
| ```powershell | ||
| git fetch origin | ||
| $all = (git log --since="14 days ago" --oneline origin/main | Measure-Object -Line).Lines | ||
| $tax = (git log --since="14 days ago" --oneline origin/main | | ||
| Select-String -Pattern '^[0-9a-f]+ (docs|chore)' | Measure-Object -Line).Lines | ||
| "tax={0} total={1} ratio={2:P1}" -f $tax, $all, ($tax / $all) | ||
| ``` |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Handle an empty 14-day window before dividing.
When origin/main has no commits in the window, $tax / $all divides by zero and the validation command fails. Return an explicit zero/no-data ratio instead.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md`
around lines 34 - 40, Update the throughput ratio calculation in the PowerShell
validation command so it checks whether $all is zero before dividing. For an
empty 14-day commit window, emit an explicit zero/no-data ratio; otherwise
preserve the existing $tax / $all percentage output.
| ```powershell | ||
| git log --since="14 days ago" --oneline origin/main -- ` | ||
| "docs/plans/*.dc.html" docs/plans/docs-plans-README.md AGENTS.md CLAUDE.md | ||
| ``` | ||
|
|
||
| 雙週窗口內 touch 上述檔案之 PR 數 SHALL ≤ 1(豁免項除外;超出即為批次化失效訊號)。 |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
Measure PRs, not commits, for the batching requirement.
The requirement is stated in terms of PR count, but this command counts commits touching the paths. Multi-commit PRs and squash-merged PRs can therefore produce false failures or false passes. Either redefine the requirement as commit count or use authoritative PR metadata with a defined time window.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md`
around lines 58 - 63, Update the batching requirement around the git log command
to measure pull requests rather than commits, using authoritative PR metadata
and an explicitly defined two-week window. Alternatively, consistently redefine
the requirement and wording as a commit-count threshold; keep the exemption and
failure-signal behavior unchanged.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Include the full AGENTS/CLAUDE reference chain.
The validation command only checks root-level AGENTS.md and CLAUDE.md, while the requirement covers the reference chain. Changes such as openspec/AGENTS.md are currently invisible to this measurement; discover these files recursively or enumerate the governed paths explicitly.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md`
around lines 58 - 63, Update the validation command in the governance throughput
budget specification to include the complete recursive AGENTS.md and CLAUDE.md
reference chain, not only root-level files. Ensure changes to nested files such
as openspec/AGENTS.md are included while preserving the existing governed
plan-file paths and two-week PR counting behavior.
| - **Trigger**:本 change 被使用者採納且 OQ-1 裁決完成。 | ||
| - **Action**:依本 change tasks §3 逐項執行,每項附最小驗證;deferred 註記由 `deferred-proposed` 改為 `deferred`。 | ||
| - **Validation**:全部執行後,R1 之計數指令輸出 SHALL ≤ 2(另加本 change 自身於 archive 前的暫時 +1),且 `npx openspec validate --all --strict` 綠。 | ||
|
|
||
| #### Scenario: 採納後執行收斂使 active 降至上限內 | ||
|
|
||
| - **WHEN** 使用者採納本 change 並完成 OQ-1 裁決 | ||
| - **THEN** 執行收斂動作後 `openspec/changes/` 之 active(非 deferred)change 數 SHALL ≤ 2(不計本 change 自身 archive 前的暫時佔位) | ||
| - **AND** 每個被 archive 的 change SHALL 滿足:對應 PR 已 merge、剩餘 follow-up 有 issue 對照或明文 known gap 紀錄 |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== spec.md slice ==\n'
sed -n '80,105p' openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md
printf '\n== tasks.md slice ==\n'
sed -n '1,80p' openspec/changes/governance-throughput-budget/tasks.md
printf '\n== search validate command references ==\n'
rg -n "openspec validate|--specs --strict|--all --strict" -S .Repository: monkey1sai/AI-BIM-governance
Length of output: 12227
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n "openspec validate --(all|specs) --strict|validate --specs --strict|validate --all --strict" openspec .github README.md docs -SRepository: monkey1sai/AI-BIM-governance
Length of output: 8429
🌐 Web query:
"openspec validate --specs --strict --all --strict"
💡 Result:
The command openspec validate --specs --strict --all --strict is a valid way to invoke the OpenSpec validation tool, although it contains redundant flags [1][2]. In OpenSpec, the validate command checks the structure and syntax of changes and specifications [3][4]. When you run this command, the tool interprets the provided options as follows: - --specs: Tells the tool to validate all specifications in the openspec/specs/ directory [1][5]. - --all: Tells the tool to validate all changes and specs [1][3]. - --strict: Enables strict validation mode, which causes the tool to treat warnings (such as descriptions that are too short) as errors, failing the validation process if any exist [3][5]. Including --strict twice does not change the behavior, as it is a boolean flag that is enabled once specified [1][4]. Running this command will trigger a bulk validation of all changes and specs in your repository, applying strict error-checking rules across the entire dataset [1][5]. If any validation fails, the process will typically exit with a non-zero exit code (commonly 1) [5]. For CI/CD environments, it is often recommended to combine these flags with --json to receive a structured report [1][2].
Citations:
- 1: https://github.com/Fission-AI/OpenSpec/blob/HEAD/docs/cli.md
- 2: https://github.com/Fission-AI/OpenSpec/blob/main/docs/cli.md
- 3: https://thedocs.io/openspec/cli/validate/
- 4: https://github.com/Fission-AI/OpenSpec/blob/v1.3.0/docs/cli.md
- 5: https://github.com/Fission-AI/OpenSpec/blob/546224e0/openspec/specs/cli-validate/spec.md
🌐 Web query:
"OpenSpec validate specs strict all strict"
💡 Result:
In OpenSpec, the command to validate specifications and changes is openspec validate [1][2]. To run validation in "strict" mode across all available files, you should use the following command: openspec validate --all --strict When the --strict flag is used, the validator treats warnings as errors and will cause the process to fail if any warnings or errors are present (such as descriptions that are too short) [1][3]. The --all flag ensures that the command validates all changes and specifications within the project, excluding archived items [1][3]. Additional details on this command: - --specs: Use this instead of --all if you wish to validate only the specifications [1][2]. - --json: You can append this flag to output the validation results in a structured JSON format, which is particularly useful for CI/CD pipelines [2][4]. - --concurrency: You can control the parallel validation limit (default is 6) by using this option (e.g., --concurrency 12) [1][2]. When executed, the system performs various checks, including verifying required sections, proper formatting of requirements and scenarios, and ensuring that delta blocks are valid [1].
Citations:
- 1: https://thedocs.io/openspec/cli/validate/
- 2: https://github.com/Fission-AI/OpenSpec/blob/HEAD/docs/cli.md
- 3: https://github.com/Fission-AI/OpenSpec/blob/546224e0/openspec/specs/cli-validate/spec.md
- 4: https://github.com/Fission-AI/OpenSpec/blob/main/docs/cli.md
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== docs/PR_REVIEW_AGENT.md slice ==\n'
sed -n '55,80p' docs/PR_REVIEW_AGENT.md
printf '\n== openspec/AGENTS.md slice ==\n'
sed -n '38,56p' openspec/AGENTS.md
printf '\n== openspec/specs/pull-request-review-agent/spec.md slice ==\n'
sed -n '70,90p' openspec/specs/pull-request-review-agent/spec.mdRepository: monkey1sai/AI-BIM-governance
Length of output: 3564
Use npx openspec validate --specs --strict for archive closeout.
openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md#L87-L95: replace the post-archive--all --strictcheck with--specs --strict.openspec/changes/governance-throughput-budget/tasks.md#L21-L24: do the same after each archive.openspec/changes/governance-throughput-budget/tasks.md#L30-L30: add the same validation after archiving this change.
📍 Affects 2 files
openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md#L87-L95(this comment)openspec/changes/governance-throughput-budget/tasks.md#L21-L24openspec/changes/governance-throughput-budget/tasks.md#L30-L30
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md`
around lines 87 - 95, Replace the post-archive validation command with `npx
openspec validate --specs --strict` in
openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md
lines 87-95 and openspec/changes/governance-throughput-budget/tasks.md lines
21-24. Add the same validation after archiving this change in tasks.md line 30.
There was a problem hiding this comment.
Pull request overview
This PR adds a docs-only OpenSpec governance proposal (governance-throughput-budget) intended for human review rather than automatic adoption. It responds to a measured "governance tax" problem (docs+chore commits ~43–47% of recent history) and excessive WIP (9 active OpenSpec changes in flight, several unstarted). The change introduces four ADDED requirements — a WIP cap (≤2 active changes), a rolling-14-day docs+chore budget (≤30%), biweekly canon-revision batching, and a one-time convergence action list for the 9 existing active changes — each with trigger/action/validation and PowerShell measurement commands. It also annotates two unstarted changes with Status: deferred-proposed 2026-07-21 notices. The proposal is self-aware of being the 10th active change and includes an archive exit path plus open questions for the maintainer.
Changes:
- New
governance-throughput-budgetchange (proposal + tasks + spec with 4 ADDED requirements: WIP cap, governance-tax budget, canon batching, convergence list). - Adds
Status: deferred-proposedblockquote notices tominio-folderview-and-baseline-disclosureandalign-frontend-design-system-referenceproposals (annotation only, original text untouched). - Defers execution (tasks §3/§4) behind an explicit user-adjudication gate; nothing is enforced automatically.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| openspec/changes/governance-throughput-budget/proposal.md | New proposal: why (governance-tax/WIP data), what changes (R1–R4), impact, and open questions (OQ-1/2/3). |
| openspec/changes/governance-throughput-budget/specs/governance-throughput-budget/spec.md | New capability spec: 4 ADDED requirements each with trigger/action/validation and a scenario; R4 convergence snapshot table. |
| openspec/changes/governance-throughput-budget/tasks.md | Task list split into completed proposal body (§1), user-adjudication gate (§2), post-adoption convergence (§3), and self-archive (§4). |
| openspec/changes/minio-folderview-and-baseline-disclosure/proposal.md | Adds deferred-proposed notice with restart conditions; original content unchanged. |
| openspec/changes/align-frontend-design-system-reference/proposal.md | Adds deferred-proposed notice noting #363 PF-3 reconciliation; original content unchanged. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9a089535ed
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ```powershell | ||
| (Get-ChildItem openspec/changes -Directory | | ||
| Where-Object { $_.Name -ne 'archive' } | | ||
| Where-Object { -not (Select-String -Path (Join-Path $_.FullName 'proposal.md') -Pattern 'Status: deferred' -Quiet) } |
There was a problem hiding this comment.
Do not count proposed deferrals as inactive
When a change only has the new Status: deferred-proposed note and the user has not accepted deferral yet, this matcher still excludes it because Status: deferred-proposed contains Status: deferred. That underreports active WIP and can allow new changes before the proposed deferral is approved; match only the accepted Status: deferred <date> marker or handle proposed deferrals separately.
Useful? React with 👍 / 👎.
| ## 2. 使用者裁決閘(採納前不得執行後續) | ||
|
|
||
| - [ ] 2.1 使用者逐條裁決 R1–R4(可部分採納;未採納條文於 archive 前刪除或降級為非規範建議) | ||
| - [ ] 2.2 裁決 OQ-1:收斂後仍餘 3 個大型 active(a4/rvt-ifc/migrate-console),指定保留哪 ≤ 2 個 |
There was a problem hiding this comment.
Add the missing OQ-1 convergence action
When R4 is adopted and OQ-1 selects which two of a4/rvt-ifc/migrate-console to keep, the tasks only ask for that decision and never add the corresponding action to defer/archive/close out the unkept change. Following §3 as written archives four changes and defers two, but still leaves governance-throughput-budget plus all three large changes active; after self-archive, three non-deferred changes remain, so the R1 limit of ≤2 is not achievable.
Useful? React with 👍 / 👎.
|
|
||
| ## 3. 收斂動作(採納後執行;每項執行前重驗當下狀態,快照非免驗依據) | ||
|
|
||
| - [ ] 3.1 archive `c-m4-runtime-command-bridge`:確認 #309 已 merge、follow-up #307/#308 已有 issue 對照 → `npx openspec archive c-m4-runtime-command-bridge` → `npx openspec validate --all --strict` 綠 |
There was a problem hiding this comment.
Move root evidence before archiving
When this archive step runs for changes that already have evidence under docs/evidence/ (for example docs/evidence/c-m4-runtime-command-bridge), it leaves that evidence outside the archived change even though openspec/specs/documentation-source-of-truth/spec.md requires archived change evidence to live under openspec/changes/archive/<change-id>/evidence/. Add the evidence move/copy to the close-out step before validation, otherwise the archive PR will violate the existing evidence-location rule.
Useful? React with 👍 / 👎.
|
|
||
| - **Trigger**:本 change 被使用者採納且 OQ-1 裁決完成。 | ||
| - **Action**:依本 change tasks §3 逐項執行,每項附最小驗證;deferred 註記由 `deferred-proposed` 改為 `deferred`。 | ||
| - **Validation**:全部執行後,R1 之計數指令輸出 SHALL ≤ 2(另加本 change 自身於 archive 前的暫時 +1),且 `npx openspec validate --all --strict` 綠。 |
There was a problem hiding this comment.
Keep deferred changes out of --all validation
When any accepted deferred change later drifts, openspec validate --all --strict still validates every change directory; the custom Status: deferred marker introduced here does not exclude it from OpenSpec's all-change validation. Because R1 allows deferred changes to remain under openspec/changes/ indefinitely, this gate can fail on a deferred item that no longer counts toward WIP; either move/archive deferred changes or use a validation command that intentionally skips accepted deferred ones.
Useful? React with 👍 / 👎.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2b12379e07
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ```powershell | ||
| (Get-ChildItem openspec/changes -Directory | | ||
| Where-Object { $_.Name -ne 'archive' } | | ||
| Where-Object { -not (Select-String -Path (Join-Path $_.FullName 'proposal.md') -Pattern 'Status: deferred' -Quiet) } |
There was a problem hiding this comment.
Anchor the deferred-status count to the proposal header
When a proposal only mentions a deferred marker without being deferred, this full-file Select-String excludes it from the active count. The new governance-throughput-budget/proposal.md itself contains Status: deferred-proposed in its What Changes section, so the validation command already drops this active change from the count and can let R1 pass while the WIP limit is still exceeded; constrain the match to the top blockquote/status line instead of scanning the whole proposal body.
Useful? React with 👍 / 👎.
|
|
||
| ### Requirement: canon 修訂 SHALL 累積雙週一批處理,不逐條開 PR(canon 修訂批次化) | ||
|
|
||
| (採納後生效)手寫正本(`docs/plans/*.dc.html` 兩份、`docs/plans/docs-plans-README.md`)與 AGENTS.md/CLAUDE.md 參照鏈之修訂提案 SHALL 累積至雙週窗口,以單一 batch 提案 PR 提交(內含逐條變更清單與各自理由),SHALL NOT 逐條開獨立 PR 分散審批。豁免項:安全修補與誠實鐵律違規修正得即時單獨提案。本條不改變 `design-canon-change-control` 的寫入授權邊界(AI 僅提案、正本採納由使用者裁決),只約束提案的批次節奏。 |
There was a problem hiding this comment.
Include the CSS canon in the batching rule
The existing design-canon-change-control spec defines docs/plans/ai-bim-governance.css as part of the hand-written canon, but this R3 scope only batches the two .dc.html files plus docs-plans-README.md. In that context, a non-emergency change to the CSS canon can still be opened as a separate PR and bypass the two-week batch limit; include the CSS path here and in the validation pathspec below.
Useful? React with 👍 / 👎.
| git log --since="14 days ago" --oneline origin/main -- ` | ||
| "docs/plans/*.dc.html" docs/plans/docs-plans-README.md AGENTS.md CLAUDE.md |
There was a problem hiding this comment.
Count canon batches by PR, not by commits
For a batch PR that touches these canon paths with more than one commit, this validation reports multiple git log --oneline entries even though the rule below is about PR count. I checked git log -h, whose usage is git log [<revision-range>] [[--] <path>...], so this command counts commits matching the pathspec rather than grouping by pull request; use PR metadata or explicitly require squash/single-commit batches, otherwise a compliant batch PR will be flagged as a batching failure.
Useful? React with 👍 / 👎.
| - [ ] 3.1 archive `c-m4-runtime-command-bridge`:確認 #309 已 merge、follow-up #307/#308 已有 issue 對照 → `npx openspec archive c-m4-runtime-command-bridge` → `npx openspec validate --all --strict` 綠 | ||
| - [ ] 3.2 close-out `viewer-embed-a1-highlight`:task 6 follow-up 移 issue 追蹤 → archive → validate 綠 | ||
| - [ ] 3.3 close-out `minio-trigger-lifecycle-backend`:task 5 follow-up(PR #257 系列)留 issue 對照 → archive → validate 綠 | ||
| - [ ] 3.4 close-out `minio-watch-key-structure`:完成 P7 部署區 browser E2E(evidence 落 `docs/evidence/minio-watch-auto-intake/`),或使用者明文裁決記為 known gap(不是 pass)→ archive → validate 綠 |
There was a problem hiding this comment.
Move evidence before archiving the listed changes
When these close-out steps archive changes that already have or will create docs/evidence/* artifacts, the existing documentation-source-of-truth requirement says archived change evidence must live under openspec/changes/archive/<change-id>/evidence/. These tasks only say to archive and validate, so an agent following the checklist would leave evidence beside the archive in root docs/evidence/; add the evidence move or an explicit exception to each affected archive step.
Useful? React with 👍 / 👎.
governance-throughput-budget 提案——WIP 上限+治理稅預算+canon 批次化+收斂清單(供審;不掛 auto-merge)
本 PR 為治理提案(仿 #360 供審模式,非自動採納),回應「開發進度緩慢、WIP 過寬」的實測診斷:
a4-semantic-search-model-qatasks 0/64、rvt-ifc-usdc-lineage1/48(contract-only)、minio-folderview-and-baseline-disclosure0/7、align-frontend-design-system-reference0/23 全未動工。migrate-console-to-hifi-designtasks 0/35 未勾但 feat(console): UnifiedConsole 遷移至 Hi-Fi design token(1/2 product code) #357 已落 1/2 product code;codex/openspec/a4-semantic-search-model-qa分支有 6,478 行新增(覆蓋 tasks §2–§5)但 tasks.md 零勾選。內容
openspec/changes/governance-throughput-budget/(proposal + tasks + spec,新 capability ADDED 4 條 requirement,每條含 trigger/action/validation 與 PowerShell 量測指令):minio-folderview-and-baseline-disclosure與align-frontend-design-system-reference兩案 proposal.md 頂部加Status: deferred-proposed 2026-07-21註記(僅加註記,原文未動)。Open Questions(需使用者裁決)
與既有「分支收斂設計 spec」(#352,
docs/superpowers/specs/2026-07-16-branch-convergence-design.md)互補:該 spec 管分支存量,本提案管 change 流量;無重複建制。Change Classification
驗證
npx openspec validate governance-throughput-budget --strict→ validnpx openspec validate --all --strict→ 63 passed / 0 failed(openspec 1.6.0)git status --porcelain僅含 5 個預期檔案。已知偏差揭露:本 change 開在
docs/wip-convergence-throughputbranch 而非codex/openspec/<change-id>慣例命名(依協調任務指示的分支配置為之)。🤖 Generated with Claude Code
https://claude.ai/code/session_01VBTR2vcGmQXq2TGJ4HzWDs
Summary by CodeRabbit
deferred-proposed, including status, restart conditions, and validation guidance.