Skip to content

feat(jt-flow): streamline authorization checkpoints - #171

Merged
terry90918 merged 8 commits into
mainfrom
codex/streamline-jt-flow-one-authorization
Jul 27, 2026
Merged

feat(jt-flow): streamline authorization checkpoints#171
terry90918 merged 8 commits into
mainfrom
codex/streamline-jt-flow-one-authorization

Conversation

@terry90918

Copy link
Copy Markdown
Collaborator

Summary

  • make proposal GO the sole normal-path checkpoint in jt-flow-one
  • continue automatically through implementation, PR, merge, verification, and archive under bounded exceptions
  • reuse recorded proposal GO in jt-flow-all and fold intent-routed CodeRabbit consent into the same checkpoint
  • add focused policy and pressure-scenario regression evidence

Validation

  • npm run validate (48 tests)
  • claude plugin validate .
  • openspec validate streamline-jt-flow-one-authorization --strict
  • local Superpowers review, including a clean follow-up review
  • full commit-range and final-diff secret scan

Closes #170

Copilot AI review requested due to automatic review settings July 27, 2026 06:49

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e02e68f9-70b8-49ab-949c-a23fc173bcb9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/streamline-jt-flow-one-authorization

Comment @coderabbitai help to get the list of available commands.

@terry90918 terry90918 added the feat New feature label Jul 27, 2026
@terry90918 terry90918 self-assigned this Jul 27, 2026
@terry90918

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5e9cfbb533

ℹ️ 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".

Comment thread plugins/jt-flow/skills/jt-flow-one/SKILL.md Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 251e08bed8

ℹ️ 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".

Comment thread plugins/jt-flow/skills/jt-flow-all/SKILL.md Outdated
Comment thread plugins/jt-flow/skills/jt-flow-one/SKILL.md Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bba3c70471

ℹ️ 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".

Comment thread plugins/jt-flow/skills/jt-flow-all/SKILL.md Outdated
Comment thread plugins/jt-flow/skills/jt-flow-one/SKILL.md Outdated
@terry90918
terry90918 merged commit cda24c4 into main Jul 27, 2026
2 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 79e6ad333c

ℹ️ 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".

Comment on lines +237 to +238
- 收到 GO 後、建立 worktree 前,立即建立或更新
`openspec/changes/<change>/verification-logs/proposal-go.md`,至少記錄

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Carry the GO record into the feature worktree

When an active proposal on main receives GO, this instruction writes proposal-go.md in the root worktree, but step 3 immediately creates the delivery worktree from <remote>/main without committing or copying that new file. The feature branch therefore omits the purported durable evidence while the root retains an uncommitted file; if the task is resumed or re-enters jt-flow-all before merge, the queue cannot find the record and will request GO again. Persist the record somewhere the new worktree and subsequent contexts can actually observe.

Useful? React with 👍 / 👎.

@terry90918
terry90918 deleted the codex/streamline-jt-flow-one-authorization branch August 6, 2026 02:16
terry90918 added a commit that referenced this pull request Aug 6, 2026
…viewer (#188)

* docs(superpowers): 為統一 jt-flow-one 審查預算上限寫設計文件

本地 Superpowers review 目前無總輪數上限(新一批就能再 review),
CodeRabbit/Copilot 已是最多一次但 Codex 尚未整合進來,規則不一致。

Closes #187

* docs(superpowers): 修正 Codex 審查段落——無預算上限、不套 CodeRabbit 授權

實測本 repo PR #171 發現 chatgpt-codex-connector 在同一個 PR 內
每次 push 後約 3 分鐘就重新自動觸發,共留言 5 次,證實它不是
「PR 建立時跑一次」的 Copilot 模式,也不適合套「最多一次」預算。

org 層級已用 chatgpt-codex-connector GitHub App 全域安裝授權,
jt-flow-one 未主動觸發它,因此不需要比照 CodeRabbit 的預先授權/
揭露段落(該段落存在的前提是流程主動要求審查)。改為:不設預算、
不主動要求,出現的 finding 一律照既有 receiving-code-review 規則核實。

Closes #187

* docs(superpowers): Codex 改回最多一次,加上帳號設定前置確認

登入 chatgpt.com/codex/cloud/settings/code-review 查證:審查觸發條件
目前設定為「開啟 PR」(帳號預設 + jurislm-tools repo 皆繼承此值),
理論上跟 Copilot 一樣只在 PR 建立時審查一次;但這與 PR #171 的歷史
證據(同一 PR 5 次觸發、每次貼著 push)矛盾,且無法回溯查證原因。

因此改為:最多一次,但依賴這個帳號層級設定(非 repo 內可提交的檔案,
需人工一次性確認),且保留既有的 receiving-code-review 核實規則作為
「萬一設定沒生效、多跑一次」的安全網。

Closes #187

* docs(openspec): 提出 cap-jt-flow-review-budgets 提案

依 docs/superpowers/specs/2026-08-06-jt-flow-review-budget-caps-design.md
的定案內容產出 proposal/design/specs delta/tasks 四份 artifacts:
本地 Superpowers review 加上 3 次總輪數上限,新增 Codex 為第三個外部
審查管道(1 次預算,依賴帳號層級「審查觸發條件」設定,不套用
CodeRabbit 的預先授權規則)。CodeRabbit/Copilot 既有規則不變。

Closes #187

* docs(openspec): 記錄 cap-jt-flow-review-budgets 的 proposal GO 證據

Closes #187

* feat(jt-flow): 本地 review 上限 3 次,新增 Codex 為第三個外部審查管道

- 本地 superpowers:requesting-code-review:拿掉無上限批次模型,改整個
  PR/change 全程最多 3 次(第一次 + 最多 2 次 finding 修正觸發的重跑),
  第 3 次後即使仍有新 finding 也不再重跑,改靠測試/CI/PR review 覆核。
- 新增 Codex(chatgpt-codex-connector)為第三個外部審查管道,最多一次,
  依賴帳號層級「審查觸發條件=開啟 PR」的人工前置確認(非 repo 內可提交
  的檔案);不主動觸發、不套用 CodeRabbit 的預先授權規則;貼出來的
  finding 一律照既有 receiving-code-review 規則核實。
- CodeRabbit、Copilot 既有規則不變。
- 同步更新 living spec、SKILL.md、README.md、CLAUDE.md 與
  scripts/jt-flow-review-policy.test.mjs 的對應斷言。

Closes #187

* fix(jt-flow): 依 code review 意見修正 living spec 誤動與鬆散測試斷言

- 還原 openspec/specs/jt-flow-review-orchestration/spec.md 回部署狀態:
  該檔案依本 repo CLAUDE.md 慣例(且其 git history 只在前一個提案歸檔
  當下被改過,從未在實作階段被改),active change 只能改
  openspec/changes/<name>/specs/ 下的 delta,living spec 留到歸檔時才套用。
  同步修正 design.md/tasks.md 相關描述避免下次重蹈覆轍。
- scripts/jt-flow-review-policy.test.mjs:本地 3 次上限的斷言原本直接對
  整份 SKILL.md 用 dotAll regex,改成先 paragraphContaining 限定範圍,
  跟檔案裡其他斷言的寫法一致,避免斷言鬆散到失去驗證意義。

Closes #187

* docs(openspec): 修正 design/proposal 殘留的「living spec」用詞矛盾

第二輪 review 抓到:修正 living spec 誤動之後,design.md 的 Risks 段落
與 proposal.md 的 Impact 段落還留著「已寫進 living spec」的舊用詞,
跟同一版 design.md 的 Migration Plan(正確說明留到歸檔才套用)互相矛盾。
統一改成「delta spec,歸檔時才併入 living spec」。

Closes #187

* docs(openspec): 記錄 PR #188 上取得的 CodeRabbit consent

Closes #187

* fix(jt-flow): 依 Copilot review 意見補齊「不等待 Codex」語意與覆蓋

- README.md/CLAUDE.md 的 Codex 段落原本只寫「不主動要求」,沒有明確講
  「不等待 Codex」,跟 SKILL.md/delta spec 的 SHALL NOT wait 語意不完全
  對齊,容易被實作者誤讀成需要等 Codex 回覆才能繼續。
- scripts/jt-flow-review-policy.test.mjs 補上對應斷言,避免未來三份文件
  在這句上 drift 而測試沒抓到。
- proposal.md 補一句明確指出「不套用 CodeRabbit 授權規則」這個決定跟
  #187 原始 issue wording(原要求套用 CodeRabbit 那套規則)不同,並指到
  design.md 的完整理由,避免之後回頭比對 issue 產生治理歧義。

Closes #187

* fix(jt-flow): 依 CodeRabbit CLI review 意見補齊監控清單與文件用詞

CodeRabbit CLI review(8 findings)逐項核實後,採納 3 項:
- SKILL.md step 5 的 bot 留言監控清單漏了 Codex,補上(原本只列
  CodeRabbit/Copilot)。
- openspec/changes/.../design.md 的 Migration Plan 用詞從
  「documentation-only」改成「non-runtime policy, documentation, and
  test change」,更精確反映有改動 .test.mjs。
- docs/superpowers/specs/2026-08-06-...-design.md 的 File Impact 段落
  還留著「直接改 living spec」的舊寫法,跟稍早本地 review 已修正的
  living-spec 治理規則矛盾,同步更正為「改 delta spec,歸檔時才套用」。

其餘 5 項不採納,理由:
- 「本地 review 需要持久化 ledger 追蹤次數」——超出本次範圍(純文字政策
  變更,不新增執行期程式碼/狀態儲存,CodeRabbit/Copilot 既有預算也是
  同樣靠文字約束執行,非技術性 ledger)。
- 「移除『從未主動觸發 Codex』的絕對敘述、比照 CodeRabbit 加 disclosure
  gate」——與 design.md 已記錄、有實證(org 已裝 App)支持的決策相反,
  不採納。
- 「前置確認要涵蓋 repo override 與帳號預設值」——設計文件已寫
  「the target repository (or its inherited account default)」,已涵蓋。
- 「Codex 預算應描述為 expected 而非 enforceable」——設計文件已用
  「cannot be automated」「expected...or an unexpected extra one」表達,
  已是這個語氣。
- 「living spec 應同步或記錄核准例外」——design.md 的 Migration Plan
  已明確記錄此例外與其依據(git history + CLAUDE.md 規則引用)。

Closes #187
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Streamline jt-flow-one authorization checkpoints

2 participants