Skip to content

chore(governance): 申报 QW_Arena1 仓入图 + bootstrap 直推豁免 + Python 语言规范豁免登记(ADR-0084,.github#345) - #346

Merged
randypanding merged 1 commit into
mainfrom
adr-0084-qw-arena1-registry
Aug 24, 2026
Merged

chore(governance): 申报 QW_Arena1 仓入图 + bootstrap 直推豁免 + Python 语言规范豁免登记(ADR-0084,.github#345)#346
randypanding merged 1 commit into
mainfrom
adr-0084-qw-arena1-registry

Conversation

@randypanding

@randypanding randypanding commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

改了什么(C1,ADR-0084 背书;agent-registry PR #97 已合、archive PR #16 已合)

  • REPOS.yaml:增 QW_Arena1(L2 / public / active)——千问 AI Arena「一键出海」参赛 Agent;Python 语言(languages.yaml 整体豁免,ADR-0084)
  • expected-state.json:direct_push_exemptions 增 QW_Arena1 两个完整 SHA(初始提交 d5ea6938… + 基线导入 bdb8493a…,(b) 建仓 bootstrap 类空仓变体);comment 补空仓变体定性

为什么

drift-check §7b 未申报漂移 + §8 两直推。建仓时模板派生未生效(空仓无 base 分支、PR 流程不可行,org-required-workflows 无 bypass 构成死锁),按 ADR-0021 (b) 已裁定模式登记空仓变体(ADR-0084):基线 72 文件经临时 bootstrap 分支落盘后切换默认分支导入,全程未触碰组织 rulesets,main 根树与 template-service 逐文件 sha 一致。平台配套已就绪:squash-only/合并删分支/auto-merge、production environment(B 档)、cloudbrid-agent 挂载(AG-4)。

怎么验证

gate 全绿(含 adr-required 存在性——ADR-0084 正本已落 archive、INDEX 已登记);合并后 drift-check 对 QW_Arena1 全 OK、组织漂移清零。

风险 / 回滚

无新增豁免通道(沿用 ADR-0021 (b) 类既有模式);语言豁免仅登记于 ADR-0084,本 PR 不触碰 languages.yaml。回滚=新 ADR。

Card: #345

Summary by CodeRabbit

  • 治理
    • 新增 QW_Arena1 仓库登记,明确其公开、活跃状态及所属层级。
    • 补充产品角色、技术语言豁免、生命周期和相关治理关联信息。
    • 更新预期状态,记录空仓初始化场景下的临时导入豁免及相关提交信息。

Copilot AI lite review requested due to automatic review settings August 24, 2026 08:01

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 Aug 24, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 2af1a83e-005a-42ec-8f2f-1905e8a78cd6

📥 Commits

Reviewing files that changed from the base of the PR and between 7a54b16 and 91eb091.

📒 Files selected for processing (2)
  • governance/REPOS.yaml
  • governance/expected-state.json

📝 Walkthrough

Walkthrough

本次变更将 QW_Arena1 登记到仓库治理配置,并同步新增其空仓 bootstrap 直推豁免说明及两个豁免 commit SHA。

Changes

QW_Arena1 治理配置

Layer / File(s) Summary
仓库登记
governance/REPOS.yaml
新增 QW_Arena1 的 L2、公开、active 属性、用途、Python 语言豁免、生命周期和标准路径。
Bootstrap 直推豁免
governance/expected-state.json
新增空仓 bootstrap 流程说明、默认分支切换要求、与 template-service 的 SHA 一致性记录,以及两个豁免 commit SHA。

Suggested labels: security, tech-debt

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch adr-0084-qw-arena1-registry

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

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Register QW_Arena1 repo and bootstrap direct-push exemptions (ADR-0084)

⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Register QW_Arena1 (L2/public/active) in governance repo inventory with scope and lifecycle notes.
• Record QW_Arena1 bootstrap direct-push exemption SHAs and document the “empty-repo variant”
 rationale.
• Keep Python language-standard exemption as ADR-only (no languages.yaml changes).
Diagram

graph TD
  A["governance/REPOS.yaml"] --> C["Repo registry"] --> E["drift-check"]
  B["governance/expected-state.json"] --> D["Exemptions allowlist"] --> E["drift-check"]
  C --> F["QW_Arena1 repo"]
  D --> F

  subgraph Legend
    direction LR
    _cfg["Governance config"] ~~~ _job["Governance check"] ~~~ _repo["Managed repo"]
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Extract bootstrap exemption rationale into ADR-only, keep expected-state comment minimal
  • ➕ Reduces churn/noise in expected-state.json diffs
  • ➕ Keeps policy narrative in a single canonical location (ADR)
  • ➖ Reviewers lose inline context when auditing exemptions
  • ➖ Tooling/operators may need the rationale co-located with the allowlist for operational clarity
2. Split exemptions into per-repo sections/files (e.g., expected-state.d/direct-push.json)
  • ➕ Avoids one large shared file with frequent merge conflicts
  • ➕ Makes repo-scoped audits and ownership clearer
  • ➖ Requires tooling changes to load/merge multiple files
  • ➖ More moving parts for a small number of exemptions today

Recommendation: Current approach (register repo in REPOS.yaml and record full SHA exemptions in expected-state.json with inline rationale) fits the existing governance model and keeps drift-check inputs self-contained. If exemptions/comments continue to grow, consider moving narrative to ADR-only or modularizing expected-state to reduce conflicts.

Files changed (2) +15 / -1

Other (2) +15 / -1
REPOS.yamlAdd QW_Arena1 to the governed repository inventory +10/-0

Add QW_Arena1 to the governed repository inventory

• Registers QW_Arena1 as an L2, public, active repo with declared key paths. Documents purpose (AI Arena agent), Python language-standard exemption being ADR-scoped, and post-competition retirement intent per ADR-0084.

governance/REPOS.yaml

expected-state.jsonRecord QW_Arena1 bootstrap direct-push exemption SHAs +5/-1

Record QW_Arena1 bootstrap direct-push exemption SHAs

• Extends the direct_push_exemptions comment to describe the QW_Arena1 “empty-repo bootstrap variant” and why PR-based flow was impossible. Adds two full commit SHAs for QW_Arena1 to the allowlist so drift-check treats the bootstrap pushes as compliant.

governance/expected-state.json

@randypanding
randypanding merged commit 9bed4ec into main Aug 24, 2026
14 of 15 checks passed
@randypanding
randypanding deleted the adr-0084-qw-arena1-registry branch August 24, 2026 08:02
@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Informational

1. Misleading language exemption note 🐞 Bug ⚙ Maintainability
Description
governance/REPOS.yaml 的 QW_Arena1 role 写为“languages.yaml 对本仓整体豁免”,但 languages
规则文件本身没有任何按仓库登记/豁免机制或该仓条目,容易让读者误以为豁免已在 policy 文件落盘。后续若有人按“去 languages.yaml 找豁免登记”排障,会得到错误结论。
Code

governance/REPOS.yaml[R132-133]

+      素材全自动生成,IR .github#345);Python 语言(languages.yaml 对本仓整体豁免,ADR-0084:
+      外部契约优先/比赛沙箱部署/有限生命周期三条件,豁免仅语言规范面、治理基线不豁免);建仓
Relevance

●●● Strong

Misleading pointer to nonexistent registry mechanism; team accepts fixes aligning docs with actual
policy semantics.

PR-#115

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR 新增的 role 文本把豁免归因到 languages.yaml,但 policy 文件内容没有 repo 级豁免/登记结构或 QW_Arena1 条目,因此该“指针”会让维护者产生错误预期。

governance/REPOS.yaml[127-135]
governance/policy/languages.yaml[1-70]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`governance/REPOS.yaml` 新增的 QW_Arena1 仓库说明中写到“languages.yaml 对本仓整体豁免”,但当前 `governance/policy/languages.yaml` 并不存在按 repo 维度的豁免登记或任何 QW_Arena1 相关条目。

这会误导后续维护者:他们可能以为豁免已在 policy 文件中可机器读取/可审计,但实际上豁免来源是 ADR 文档(或其他渠道),不是 languages.yaml。

### Issue Context
- 本 PR 的变更是“登记/说明类”,但这些文本会成为组织地图的长期真源信息;不准确的“真源指针”会让后续治理排障成本升高。

### Fix Focus Areas
- governance/REPOS.yaml[131-134]

### Suggested fix
将该段表述改为更精确的指向,例如:
- “Python 语言规范豁免登记于 ADR-0084(policy/languages.yaml 本身不做仓库维度豁免登记)”
或
- “语言规范面按 ADR-0084 豁免(不修改 languages.yaml)”

确保读者不会被引导去 languages.yaml 寻找不存在的 repo 级豁免条目。

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 18 rules
Review mode: ⚖️ Balanced: This changes governance registry and drift-exemption state, including repository enrollment and two exact direct-push SHA exceptions; correctness and policy implications warrant a complete single-pass review.

Grey Divider

Tip of the day
💡 Did you know, you can switch off images and animations for a plain-text comment

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants