pre-publish-review

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Pre-Publish Review — 16-Agent Release Gate

发布前审查 — 16-Agent发布准入关卡

Three-layer review before publishing to npm. Every layer covers a different angle — together they catch what no single reviewer could.
LayerAgentsTypeWhat They Check
Per-Change Deep Diveup to 10ultrabrainEach logical change group individually — correctness, edge cases, pattern adherence
Holistic Review5review-workGoal compliance, QA execution, code quality, security, context mining across full changeset
Release Synthesis1oracleOverall release readiness, version bump, breaking changes, deployment risk

npm发布前的三层审查机制。每一层从不同角度覆盖——共同捕捉单一审查者无法发现的问题。
层级Agent数量类型检查内容
逐变更深度分析最多10个ultrabrain逐个逻辑变更组——正确性、边缘情况、模式遵循度
整体审查5个review-work目标合规性、QA执行情况、代码质量、安全性、全变更集上下文挖掘
发布综合评估1个oracle整体发布就绪状态、版本升级建议、破坏性变更、部署风险

Phase 0: Detect Unpublished Changes

阶段0:检测未发布变更

Run
/get-unpublished-changes
FIRST. This is the single source of truth for what changed.
skill(name="get-unpublished-changes")
This command automatically:
  • Detects published npm version vs local version
  • Lists all commits since last release
  • Reads actual diffs (not just commit messages) to describe REAL changes
  • Groups changes by type (feat/fix/refactor/docs) with scope
  • Identifies breaking changes
  • Recommends version bump (patch/minor/major)
Save the full output — it feeds directly into Phase 1 grouping and all agent prompts.
Then capture raw data needed by agent prompts:
bash
undefined
首先运行
/get-unpublished-changes
。这是变更内容的唯一可信来源。
skill(name="get-unpublished-changes")
该命令会自动执行以下操作:
  • 检测已发布的npm版本与本地版本的差异
  • 列出上次发布以来的所有提交记录
  • 读取实际差异(而非仅提交信息)以描述真实变更
  • 按变更类型(feat/fix/refactor/docs)及范围分组
  • 识别破坏性变更
  • 建议版本升级类型(patch/minor/major)
保存完整输出——它将直接用于阶段1的分组操作及所有Agent的提示信息。
然后捕获Agent提示所需的原始数据:
bash
undefined

Extract versions (already in /get-unpublished-changes output)

提取版本信息(已包含在/get-unpublished-changes的输出中)

PUBLISHED=$(npm view oh-my-opencode version 2>/dev/null || echo "not published") LOCAL=$(node -p "require('./package.json').version" 2>/dev/null || echo "unknown")
PUBLISHED=$(npm view oh-my-opencode version 2>/dev/null || echo "not published") LOCAL=$(node -p "require('./package.json').version" 2>/dev/null || echo "unknown")

Raw data for agents (diffs, file lists)

Agent所需的原始数据(差异、文件列表)

COMMITS=$(git log "v${PUBLISHED}"..HEAD --oneline 2>/dev/null || echo "no commits") COMMIT_COUNT=$(echo "$COMMITS" | wc -l | tr -d ' ') DIFF_STAT=$(git diff "v${PUBLISHED}"..HEAD --stat 2>/dev/null || echo "no diff") CHANGED_FILES=$(git diff --name-only "v${PUBLISHED}"..HEAD 2>/dev/null || echo "none") FILE_COUNT=$(echo "$CHANGED_FILES" | wc -l | tr -d ' ')

If `PUBLISHED` is "not published", this is a first release — use the full git history instead.
---
COMMITS=$(git log "v${PUBLISHED}"..HEAD --oneline 2>/dev/null || echo "no commits") COMMIT_COUNT=$(echo "$COMMITS" | wc -l | tr -d ' ') DIFF_STAT=$(git diff "v${PUBLISHED}"..HEAD --stat 2>/dev/null || echo "no diff") CHANGED_FILES=$(git diff --name-only "v${PUBLISHED}"..HEAD 2>/dev/null || echo "none") FILE_COUNT=$(echo "$CHANGED_FILES" | wc -l | tr -d ' ')

如果`PUBLISHED`的值为"not published",说明这是首次发布——请使用完整的git历史记录替代。
---

Phase 1: Parse Changes into Groups

阶段1:将变更分组

Use the
/get-unpublished-changes
output as the starting point — it already groups by scope and type.
Grouping strategy:
  1. Start from the
    /get-unpublished-changes
    analysis which already categorizes by feat/fix/refactor/docs with scope
  2. Further split by module/area — changes touching the same module or feature area belong together
  3. Target up to 10 groups. If fewer than 10 commits, each commit is its own group. If more than 10 logical areas, merge the smallest groups.
  4. For each group, extract:
    • Group name: Short descriptive label (e.g., "agent-model-resolution", "hook-system-refactor")
    • Commits: List of commit hashes and messages
    • Files: Changed files in this group
    • Diff: The relevant portion of the full diff (
      git diff v${PUBLISHED}..HEAD -- {group files}
      )

/get-unpublished-changes
的输出为起点——它已按范围和类型完成分类。
分组策略:
  1. 基于
    /get-unpublished-changes
    的分析结果,该结果已按feat/fix/refactor/docs类型及范围完成分类
  2. 进一步按模块/领域拆分——涉及同一模块或功能领域的变更归为一组
  3. 目标分组数量最多10组。若提交记录少于10条,每条提交单独成组。若逻辑领域超过10个,合并最小的组
  4. 为每个组提取以下信息:
    • 组名称:简短描述性标签(例如:"agent-model-resolution"、"hook-system-refactor")
    • 提交记录:提交哈希及信息列表
    • 文件:该组涉及的变更文件
    • 差异:仅该组文件的差异内容(
      git diff v${PUBLISHED}..HEAD -- {group files}

Phase 2: Spawn All Agents

阶段2:启动所有Agent

Launch ALL agents in a single turn. Every agent uses
run_in_background=true
. No sequential launches.
一次性启动所有Agent。所有Agent均设置
run_in_background=true
。请勿按顺序启动。

Layer 1: Ultrabrain Per-Change Analysis (up to 10)

层级1:Ultrabrain逐变更分析(最多10个)

For each change group, spawn one ultrabrain agent. Each gets only its portion of the diff — not the full changeset.
task(
  category="ultrabrain",
  run_in_background=true,
  load_skills=[],
  description="Deep analysis: {GROUP_NAME}",
  prompt="""
<review_type>PER-CHANGE DEEP ANALYSIS</review_type>
<change_group>{GROUP_NAME}</change_group>

<project>oh-my-opencode (npm package)</project>
<published_version>{PUBLISHED}</published_version>
<target_version>{LOCAL}</target_version>

<commits>
{GROUP_COMMITS — hash and message for each commit in this group}
</commits>

<changed_files>
{GROUP_FILES — files changed in this group}
</changed_files>

<diff>
{GROUP_DIFF — only the diff for this group's files}
</diff>

<file_contents>
{Read and include full content of each changed file in this group}
</file_contents>

You are reviewing a specific subset of changes heading into an npm release. Focus exclusively on THIS change group. Other groups are reviewed by parallel agents.

ANALYSIS CHECKLIST:

1. **Intent Clarity**: What is this change trying to do? Is the intent clear from the code and commit messages? If you have to guess, that's a finding.

2. **Correctness**: Trace through the logic for 3+ scenarios. Does the code actually do what it claims? Off-by-one errors, null handling, async edge cases, resource cleanup.

3. **Breaking Changes**: Does this change alter any public API, config format, CLI behavior, or hook contract? If yes, is it backward compatible? Would existing users be surprised?

4. **Pattern Adherence**: Does the new code follow the established patterns visible in the existing file contents? New patterns where old ones exist = finding.

5. **Edge Cases**: What inputs or conditions would break this? Empty arrays, undefined values, concurrent calls, very large inputs, missing config fields.

6. **Error Handling**: Are errors properly caught and propagated? No empty catch blocks? No swallowed promises?

7. **Type Safety**: Any `as any`, `@ts-ignore`, `@ts-expect-error`? Loose typing where strict is possible?

8. **Test Coverage**: Are the behavioral changes covered by tests? Are the tests meaningful or just coverage padding?

9. **Side Effects**: Could this change break something in a different module? Check imports and exports — who depends on what changed?

10. **Release Risk**: On a scale of SAFE / CAUTION / RISKY — how confident are you this change won't cause issues in production?

OUTPUT FORMAT:
<group_name>{GROUP_NAME}</group_name>
<verdict>PASS or FAIL</verdict>
<risk>SAFE / CAUTION / RISKY</risk>
<summary>2-3 sentence assessment of this change group</summary>
<has_breaking_changes>YES or NO</has_breaking_changes>
<breaking_change_details>If YES, describe what breaks and for whom</breaking_change_details>
<findings>
  For each finding:
  - [CRITICAL/MAJOR/MINOR] Category: Description
  - File: path (line range)
  - Evidence: specific code reference
  - Suggestion: how to fix
</findings>
<blocking_issues>Issues that MUST be fixed before publish. Empty if PASS.</blocking_issues>
""")
为每个变更组启动一个ultrabrain Agent。每个Agent仅获取其负责组的差异内容——而非完整变更集。
task(
  category="ultrabrain",
  run_in_background=true,
  load_skills=[],
  description="Deep analysis: {GROUP_NAME}",
  prompt="""
<review_type>PER-CHANGE DEEP ANALYSIS</review_type>
<change_group>{GROUP_NAME}</change_group>

<project>oh-my-opencode (npm package)</project>
<published_version>{PUBLISHED}</published_version>
<target_version>{LOCAL}</target_version>

<commits>
{GROUP_COMMITS — hash and message for each commit in this group}
</commits>

<changed_files>
{GROUP_FILES — files changed in this group}
</changed_files>

<diff>
{GROUP_DIFF — only the diff for this group's files}
</diff>

<file_contents>
{Read and include full content of each changed file in this group}
</file_contents>

You are reviewing a specific subset of changes heading into an npm release. Focus exclusively on THIS change group. Other groups are reviewed by parallel agents.

ANALYSIS CHECKLIST:

1. **Intent Clarity**: What is this change trying to do? Is the intent clear from the code and commit messages? If you have to guess, that's a finding.

2. **Correctness**: Trace through the logic for 3+ scenarios. Does the code actually do what it claims? Off-by-one errors, null handling, async edge cases, resource cleanup.

3. **Breaking Changes**: Does this change alter any public API, config format, CLI behavior, or hook contract? If yes, is it backward compatible? Would existing users be surprised?

4. **Pattern Adherence**: Does the new code follow the established patterns visible in the existing file contents? New patterns where old ones exist = finding.

5. **Edge Cases**: What inputs or conditions would break this? Empty arrays, undefined values, concurrent calls, very large inputs, missing config fields.

6. **Error Handling**: Are errors properly caught and propagated? No empty catch blocks? No swallowed promises?

7. **Type Safety**: Any `as any`, `@ts-ignore`, `@ts-expect-error`? Loose typing where strict is possible?

8. **Test Coverage**: Are the behavioral changes covered by tests? Are the tests meaningful or just coverage padding?

9. **Side Effects**: Could this change break something in a different module? Check imports and exports — who depends on what changed?

10. **Release Risk**: On a scale of SAFE / CAUTION / RISKY — how confident are you this change won't cause issues in production?

OUTPUT FORMAT:
<group_name>{GROUP_NAME}</group_name>
<verdict>PASS or FAIL</verdict>
<risk>SAFE / CAUTION / RISKY</risk>
<summary>2-3 sentence assessment of this change group</summary>
<has_breaking_changes>YES or NO</has_breaking_changes>
<breaking_change_details>If YES, describe what breaks and for whom</breaking_change_details>
<findings>
  For each finding:
  - [CRITICAL/MAJOR/MINOR] Category: Description
  - File: path (line range)
  - Evidence: specific code reference
  - Suggestion: how to fix
</findings>
<blocking_issues>Issues that MUST be fixed before publish. Empty if PASS.</blocking_issues>
""")

Layer 2: Holistic Review via /review-work (5 agents)

层级2:通过/review-work进行整体审查(5个Agent)

Spawn a sub-agent that loads the
/review-work
skill. The review-work skill internally launches 5 parallel agents: Oracle (goal verification), unspecified-high (QA execution), Oracle (code quality), Oracle (security), unspecified-high (context mining). All 5 must pass for the review to pass.
task(
  category="unspecified-high",
  run_in_background=true,
  load_skills=["review-work"],
  description="Run /review-work on all unpublished changes",
  prompt="""
Run /review-work on the unpublished changes between v{PUBLISHED} and HEAD.

GOAL: Review all changes heading into npm publish of oh-my-opencode. These changes span {COMMIT_COUNT} commits across {FILE_COUNT} files.

CONSTRAINTS:
- This is a plugin published to npm — public API stability matters
- TypeScript strict mode, Bun runtime
- No `as any`, `@ts-ignore`, `@ts-expect-error`
- Factory pattern (createXXX) for tools, hooks, agents
- kebab-case files, barrel exports, no catch-all files

BACKGROUND: Pre-publish review of oh-my-opencode, an OpenCode plugin with 1268 TypeScript files, 160k LOC. Changes since v{PUBLISHED} are about to be published.

The diff base is: git diff v{PUBLISHED}..HEAD

Follow the /review-work skill flow exactly — launch all 5 review agents and collect results. Do NOT skip any of the 5 agents.
""")
启动一个加载
/review-work
技能的子Agent。review-work技能会在内部启动5个并行Agent:Oracle(目标验证)、unspecified-high(QA执行)、Oracle(代码质量)、Oracle(安全性)、unspecified-high(上下文挖掘)。所有5个Agent均通过,审查才算通过。
task(
  category="unspecified-high",
  run_in_background=true,
  load_skills=["review-work"],
  description="Run /review-work on all unpublished changes",
  prompt="""
Run /review-work on the unpublished changes between v{PUBLISHED} and HEAD.

GOAL: Review all changes heading into npm publish of oh-my-opencode. These changes span {COMMIT_COUNT} commits across {FILE_COUNT} files.

CONSTRAINTS:
- This is a plugin published to npm — public API stability matters
- TypeScript strict mode, Bun runtime
- No `as any`, `@ts-ignore`, `@ts-expect-error`
- Factory pattern (createXXX) for tools, hooks, agents
- kebab-case files, barrel exports, no catch-all files

BACKGROUND: Pre-publish review of oh-my-opencode, an OpenCode plugin with 1268 TypeScript files, 160k LOC. Changes since v{PUBLISHED} are about to be published.

The diff base is: git diff v{PUBLISHED}..HEAD

Follow the /review-work skill flow exactly — launch all 5 review agents and collect results. Do NOT skip any of the 5 agents.
""")

Layer 3: Oracle Release Synthesis (1 agent)

层级3:Oracle发布综合评估(1个Agent)

The oracle gets the full picture — all commits, full diff stat, and changed file list. It provides the final release readiness assessment.
task(
  subagent_type="oracle",
  run_in_background=true,
  load_skills=[],
  description="Oracle: overall release synthesis and version bump recommendation",
  prompt="""
<review_type>RELEASE SYNTHESIS — OVERALL ASSESSMENT</review_type>

<project>oh-my-opencode (npm package)</project>
<published_version>{PUBLISHED}</published_version>
<local_version>{LOCAL}</local_version>

<all_commits>
{ALL COMMITS since published version — hash, message, author, date}
</all_commits>

<diff_stat>
{DIFF_STAT — files changed, insertions, deletions}
</diff_stat>

<changed_files>
{CHANGED_FILES — full list of modified file paths}
</changed_files>

<full_diff>
{FULL_DIFF — the complete git diff between published version and HEAD}
</full_diff>

<file_contents>
{Read and include full content of KEY changed files — focus on public API surfaces, config schemas, agent definitions, hook registrations, tool registrations}
</file_contents>

You are the final gate before an npm publish. 10 ultrabrain agents are reviewing individual changes and 5 review-work agents are doing holistic review. Your job is the bird's-eye view that those focused reviews might miss.

SYNTHESIS CHECKLIST:

1. **Release Coherence**: Do these changes tell a coherent story? Or is this a grab-bag of unrelated changes that should be split into multiple releases?

2. **Version Bump**: Based on semver:
   - PATCH: Bug fixes only, no behavior changes
   - MINOR: New features, backward-compatible changes
   - MAJOR: Breaking changes to public API, config format, or behavior
   Recommend the correct bump with specific justification.

3. **Breaking Changes Audit**: Exhaustively list every change that could break existing users. Check:
   - Config schema changes (new required fields, removed fields, renamed fields)
   - Agent behavior changes (different prompts, different model routing)
   - Hook contract changes (new parameters, removed hooks, renamed hooks)
   - Tool interface changes (new required params, different return types)
   - CLI changes (new commands, changed flags, different output)
   - Skill format changes (SKILL.md schema changes)

4. **Migration Requirements**: If there are breaking changes, what migration steps do users need? Is there auto-migration in place?

5. **Dependency Changes**: New dependencies added? Dependencies removed? Version bumps? Any supply chain risk?

6. **Changelog Draft**: Write a draft changelog entry grouped by:
   - feat: New features
   - fix: Bug fixes
   - refactor: Internal changes (no user impact)
   - breaking: Breaking changes with migration instructions
   - docs: Documentation changes

7. **Deployment Risk Assessment**:
   - SAFE: Routine changes, well-tested, low risk
   - CAUTION: Significant changes but manageable risk
   - RISKY: Large surface area changes, insufficient testing, or breaking changes without migration
   - BLOCK: Critical issues found, do NOT publish

8. **Post-Publish Monitoring**: What should be monitored after publish? Error rates, specific features, user feedback channels.

OUTPUT FORMAT:
<verdict>SAFE / CAUTION / RISKY / BLOCK</verdict>
<recommended_version_bump>PATCH / MINOR / MAJOR</recommended_version_bump>
<version_bump_justification>Why this bump level</version_bump_justification>
<release_coherence>Assessment of whether changes belong in one release</release_coherence>
<breaking_changes>
  Exhaustive list, or "None" if none.
  For each:
  - What changed
  - Who is affected
  - Migration steps
</breaking_changes>
<changelog_draft>
  Ready-to-use changelog entry
</changelog_draft>
<deployment_risk>
  Overall risk assessment with specific concerns
</deployment_risk>
<monitoring_recommendations>
  What to watch after publish
</monitoring_recommendations>
<blocking_issues>Issues that MUST be fixed before publish. Empty if SAFE.</blocking_issues>
""")

Oracle Agent将获取完整信息——所有提交记录、完整差异统计及变更文件列表。它将提供最终的发布就绪状态评估。
task(
  subagent_type="oracle",
  run_in_background=true,
  load_skills=[],
  description="Oracle: overall release synthesis and version bump recommendation",
  prompt="""
<review_type>RELEASE SYNTHESIS — OVERALL ASSESSMENT</review_type>

<project>oh-my-opencode (npm package)</project>
<published_version>{PUBLISHED}</published_version>
<local_version>{LOCAL}</local_version>

<all_commits>
{ALL COMMITS since published version — hash, message, author, date}
</all_commits>

<diff_stat>
{DIFF_STAT — files changed, insertions, deletions}
</diff_stat>

<changed_files>
{CHANGED_FILES — full list of modified file paths}
</changed_files>

<full_diff>
{FULL_DIFF — the complete git diff between published version and HEAD}
</full_diff>

<file_contents>
{Read and include full content of KEY changed files — focus on public API surfaces, config schemas, agent definitions, hook registrations, tool registrations}
</file_contents>

You are the final gate before an npm publish. 10 ultrabrain agents are reviewing individual changes and 5 review-work agents are doing holistic review. Your job is the bird's-eye view that those focused reviews might miss.

SYNTHESIS CHECKLIST:

1. **Release Coherence**: Do these changes tell a coherent story? Or is this a grab-bag of unrelated changes that should be split into multiple releases?

2. **Version Bump**: Based on semver:
   - PATCH: Bug fixes only, no behavior changes
   - MINOR: New features, backward-compatible changes
   - MAJOR: Breaking changes to public API, config format, or behavior
   Recommend the correct bump with specific justification.

3. **Breaking Changes Audit**: Exhaustively list every change that could break existing users. Check:
   - Config schema changes (new required fields, removed fields, renamed fields)
   - Agent behavior changes (different prompts, different model routing)
   - Hook contract changes (new parameters, removed hooks, renamed hooks)
   - Tool interface changes (new required params, different return types)
   - CLI changes (new commands, changed flags, different output)
   - Skill format changes (SKILL.md schema changes)

4. **Migration Requirements**: If there are breaking changes, what migration steps do users need? Is there auto-migration in place?

5. **Dependency Changes**: New dependencies added? Dependencies removed? Version bumps? Any supply chain risk?

6. **Changelog Draft**: Write a draft changelog entry grouped by:
   - feat: New features
   - fix: Bug fixes
   - refactor: Internal changes (no user impact)
   - breaking: Breaking changes with migration instructions
   - docs: Documentation changes

7. **Deployment Risk Assessment**:
   - SAFE: Routine changes, well-tested, low risk
   - CAUTION: Significant changes but manageable risk
   - RISKY: Large surface area changes, insufficient testing, or breaking changes without migration
   - BLOCK: Critical issues found, do NOT publish

8. **Post-Publish Monitoring**: What should be monitored after publish? Error rates, specific features, user feedback channels.

OUTPUT FORMAT:
<verdict>SAFE / CAUTION / RISKY / BLOCK</verdict>
<recommended_version_bump>PATCH / MINOR / MAJOR</recommended_version_bump>
<version_bump_justification>Why this bump level</version_bump_justification>
<release_coherence>Assessment of whether changes belong in one release</release_coherence>
<breaking_changes>
  Exhaustive list, or "None" if none.
  For each:
  - What changed
  - Who is affected
  - Migration steps
</breaking_changes>
<changelog_draft>
  Ready-to-use changelog entry
</changelog_draft>
<deployment_risk>
  Overall risk assessment with specific concerns
</deployment_risk>
<monitoring_recommendations>
  What to watch after publish
</monitoring_recommendations>
<blocking_issues>Issues that MUST be fixed before publish. Empty if SAFE.</blocking_issues>
""")

Phase 3: Collect Results

阶段3:收集结果

As agents complete (system notifications), collect via
background_output(task_id="...")
.
Track completion in a table:
#AgentTypeStatusVerdict
1-10Ultrabrain: {group_name}ultrabrainpending
11Review-Work Coordinatorunspecified-highpending
12Release Synthesis Oracleoraclepending
Do NOT deliver the final report until ALL agents have completed.

当Agent完成任务(系统通知)时,通过
background_output(task_id="...")
收集结果。
在表格中跟踪完成状态:
#AgentTypeStatusVerdict
1-10Ultrabrain: {group_name}ultrabrainpending
11Review-Work Coordinatorunspecified-highpending
12Release Synthesis Oracleoraclepending
务必等待所有Agent完成后再交付最终报告。

Phase 4: Final Verdict

阶段4:最终结论

<verdict_logic>
BLOCK if:
  • Oracle verdict is BLOCK
  • Any ultrabrain found CRITICAL blocking issues
  • Review-work failed on any MAIN agent
RISKY if:
  • Oracle verdict is RISKY
  • Multiple ultrabrains returned CAUTION or FAIL
  • Review-work passed but with significant findings
CAUTION if:
  • Oracle verdict is CAUTION
  • A few ultrabrains flagged minor issues
  • Review-work passed cleanly
SAFE if:
  • Oracle verdict is SAFE
  • All ultrabrains passed
  • Review-work passed
</verdict_logic>
Compile the final report:
markdown
undefined
<verdict_logic>
**阻止发布(BLOCK)**的情况:
  • Oracle Agent的结论为BLOCK
  • 任何ultrabrain Agent发现CRITICAL级别的阻塞问题
  • review-work的任何主要Agent未通过
**高风险(RISKY)**的情况:
  • Oracle Agent的结论为RISKY
  • 多个ultrabrain Agent返回CAUTION或FAIL
  • review-work通过但存在重大问题
**需注意(CAUTION)**的情况:
  • Oracle Agent的结论为CAUTION
  • 少数ultrabrain Agent标记了次要问题
  • review-work顺利通过
**安全(SAFE)**的情况:
  • Oracle Agent的结论为SAFE
  • 所有ultrabrain Agent均通过
  • review-work顺利通过
</verdict_logic>
编译最终报告:
markdown
undefined

Pre-Publish Review — oh-my-opencode

Pre-Publish Review — oh-my-opencode

Release: v{PUBLISHED} -> v{LOCAL}

Release: v{PUBLISHED} -> v{LOCAL}

Commits: {COMMIT_COUNT} | Files Changed: {FILE_COUNT} | Agents: {AGENT_COUNT}

Commits: {COMMIT_COUNT} | Files Changed: {FILE_COUNT} | Agents: {AGENT_COUNT}

Overall Verdict: SAFE / CAUTION / RISKY / BLOCK

Overall Verdict: SAFE / CAUTION / RISKY / BLOCK

Recommended Version Bump: PATCH / MINOR / MAJOR

Recommended Version Bump: PATCH / MINOR / MAJOR

{Justification from Oracle}

{Justification from Oracle}

Per-Change Analysis (Ultrabrains)

Per-Change Analysis (Ultrabrains)

#Change GroupVerdictRiskBreaking?Blocking Issues
1{name}PASS/FAILSAFE/CAUTION/RISKYYES/NO{count or "none"}
..................
#Change GroupVerdictRiskBreaking?Blocking Issues
1{name}PASS/FAILSAFE/CAUTION/RISKYYES/NO{count or "none"}
..................

Blocking Issues from Per-Change Analysis

Blocking Issues from Per-Change Analysis

{Aggregated from all ultrabrains — deduplicated}

{Aggregated from all ultrabrains — deduplicated}

Holistic Review (Review-Work)

Holistic Review (Review-Work)

#Review AreaVerdictConfidence
1Goal & Constraint VerificationPASS/FAILHIGH/MED/LOW
2QA ExecutionPASS/FAILHIGH/MED/LOW
3Code QualityPASS/FAILHIGH/MED/LOW
4SecurityPASS/FAILSeverity
5Context MiningPASS/FAILHIGH/MED/LOW
#Review AreaVerdictConfidence
1Goal & Constraint VerificationPASS/FAILHIGH/MED/LOW
2QA ExecutionPASS/FAILHIGH/MED/LOW
3Code QualityPASS/FAILHIGH/MED/LOW
4SecurityPASS/FAILSeverity
5Context MiningPASS/FAILHIGH/MED/LOW

Blocking Issues from Holistic Review

Blocking Issues from Holistic Review

{Aggregated from review-work}

{Aggregated from review-work}

Release Synthesis (Oracle)

Release Synthesis (Oracle)

Breaking Changes

Breaking Changes

{From Oracle — exhaustive list or "None"}
{From Oracle — exhaustive list or "None"}

Changelog Draft

Changelog Draft

{From Oracle — ready to use}
{From Oracle — ready to use}

Deployment Risk

Deployment Risk

{From Oracle — specific concerns}
{From Oracle — specific concerns}

Post-Publish Monitoring

Post-Publish Monitoring

{From Oracle — what to watch}

{From Oracle — what to watch}

All Blocking Issues (Prioritized)

All Blocking Issues (Prioritized)

{Deduplicated, merged from all three layers, ordered by severity}
{Deduplicated, merged from all three layers, ordered by severity}

Recommendations

Recommendations

{If BLOCK/RISKY: exactly what to fix, in priority order} {If CAUTION: suggestions worth considering before publish} {If SAFE: non-blocking improvements for future}

---
{If BLOCK/RISKY: exactly what to fix, in priority order} {If CAUTION: suggestions worth considering before publish} {If SAFE: non-blocking improvements for future}

---

Anti-Patterns

反模式

ViolationSeverity
Publishing without waiting for all agentsCRITICAL
Spawning ultrabrains sequentially instead of in parallelCRITICAL
Using
run_in_background=false
for any agent
CRITICAL
Skipping the Oracle synthesisHIGH
Not reading file contents for Oracle (it cannot read files)HIGH
Grouping all changes into 1-2 ultrabrains instead of distributingHIGH
Delivering verdict before all agents completeHIGH
Not including diff in ultrabrain promptsMAJOR
违规行为严重程度
未等待所有Agent完成即发布CRITICAL
按顺序启动ultrabrain Agent而非并行启动CRITICAL
任何Agent使用
run_in_background=false
CRITICAL
跳过Oracle综合评估HIGH
未为Oracle Agent读取文件内容(它无法自行读取文件)HIGH
将所有变更合并为1-2个ultrabrain Agent而非分散处理HIGH
未等待所有Agent完成即交付结论HIGH
未在ultrabrain Agent的提示信息中包含差异内容MAJOR