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.
| Layer | Agents | Type | What They Check |
|---|
| Per-Change Deep Dive | up to 10 | ultrabrain | Each logical change group individually — correctness, edge cases, pattern adherence |
| Holistic Review | 5 | review-work | Goal compliance, QA execution, code quality, security, context mining across full changeset |
| Release Synthesis | 1 | oracle | Overall 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
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:
skill(name="get-unpublished-changes")
该命令会自动执行以下操作:
- 检测已发布的npm版本与本地版本的差异
- 列出上次发布以来的所有提交记录
- 读取实际差异(而非仅提交信息)以描述真实变更
- 按变更类型(feat/fix/refactor/docs)及范围分组
- 识别破坏性变更
- 建议版本升级类型(patch/minor/major)
保存完整输出——它将直接用于阶段1的分组操作及所有Agent的提示信息。
然后捕获Agent提示所需的原始数据:
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
output as the starting point — it already groups by scope and type.
Grouping strategy:
- Start from the analysis which already categorizes by feat/fix/refactor/docs with scope
- Further split by module/area — changes touching the same module or feature area belong together
- 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.
- 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}
)
分组策略:
- 基于的分析结果,该结果已按feat/fix/refactor/docs类型及范围完成分类
- 进一步按模块/领域拆分——涉及同一模块或功能领域的变更归为一组
- 目标分组数量最多10组。若提交记录少于10条,每条提交单独成组。若逻辑领域超过10个,合并最小的组
- 为每个组提取以下信息:
- 组名称:简短描述性标签(例如:"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
. No sequential launches.
一次性启动所有Agent。所有Agent均设置
。请勿按顺序启动。
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
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.
""")
启动一个加载
技能的子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:
| # | Agent | Type | Status | Verdict |
|---|
| 1-10 | Ultrabrain: {group_name} | ultrabrain | pending | — |
| 11 | Review-Work Coordinator | unspecified-high | pending | — |
| 12 | Release Synthesis Oracle | oracle | pending | — |
Do NOT deliver the final report until ALL agents have completed.
当Agent完成任务(系统通知)时,通过
background_output(task_id="...")
收集结果。
在表格中跟踪完成状态:
| # | Agent | Type | Status | Verdict |
|---|
| 1-10 | Ultrabrain: {group_name} | ultrabrain | pending | — |
| 11 | Review-Work Coordinator | unspecified-high | pending | — |
| 12 | Release Synthesis Oracle | oracle | pending | — |
务必等待所有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:
<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>
编译最终报告:
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 Group | Verdict | Risk | Breaking? | Blocking Issues |
|---|
| 1 | {name} | PASS/FAIL | SAFE/CAUTION/RISKY | YES/NO | {count or "none"} |
| ... | ... | ... | ... | ... | ... |
| # | Change Group | Verdict | Risk | Breaking? | Blocking Issues |
|---|
| 1 | {name} | PASS/FAIL | SAFE/CAUTION/RISKY | YES/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 Area | Verdict | Confidence |
|---|
| 1 | Goal & Constraint Verification | PASS/FAIL | HIGH/MED/LOW |
| 2 | QA Execution | PASS/FAIL | HIGH/MED/LOW |
| 3 | Code Quality | PASS/FAIL | HIGH/MED/LOW |
| 4 | Security | PASS/FAIL | Severity |
| 5 | Context Mining | PASS/FAIL | HIGH/MED/LOW |
| # | Review Area | Verdict | Confidence |
|---|
| 1 | Goal & Constraint Verification | PASS/FAIL | HIGH/MED/LOW |
| 2 | QA Execution | PASS/FAIL | HIGH/MED/LOW |
| 3 | Code Quality | PASS/FAIL | HIGH/MED/LOW |
| 4 | Security | PASS/FAIL | Severity |
| 5 | Context Mining | PASS/FAIL | HIGH/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}
| Violation | Severity |
|---|
| Publishing without waiting for all agents | CRITICAL |
| Spawning ultrabrains sequentially instead of in parallel | CRITICAL |
| Using for any agent | CRITICAL |
| Skipping the Oracle synthesis | HIGH |
| Not reading file contents for Oracle (it cannot read files) | HIGH |
| Grouping all changes into 1-2 ultrabrains instead of distributing | HIGH |
| Delivering verdict before all agents complete | HIGH |
| Not including diff in ultrabrain prompts | MAJOR |
| 违规行为 | 严重程度 |
|---|
| 未等待所有Agent完成即发布 | CRITICAL |
| 按顺序启动ultrabrain Agent而非并行启动 | CRITICAL |
| 任何Agent使用 | CRITICAL |
| 跳过Oracle综合评估 | HIGH |
| 未为Oracle Agent读取文件内容(它无法自行读取文件) | HIGH |
| 将所有变更合并为1-2个ultrabrain Agent而非分散处理 | HIGH |
| 未等待所有Agent完成即交付结论 | HIGH |
| 未在ultrabrain Agent的提示信息中包含差异内容 | MAJOR |