update readme.md
Showing
40 changed files
with
158 additions
and
148 deletions
| 1 | # oh-my-codex agent: analyst | 1 | # oh-my-codex agent: analyst |
| 2 | name = "analyst" | 2 | name = "analyst" |
| 3 | description = "Requirements clarity, acceptance criteria, hidden constraints" | 3 | description = "Requirements clarity, acceptance criteria, hidden constraints" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "medium" | 5 | model_reasoning_effort = "medium" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -168,5 +167,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -168,5 +167,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 168 | - posture: frontier-orchestrator | 167 | - posture: frontier-orchestrator |
| 169 | - model_class: frontier | 168 | - model_class: frontier |
| 170 | - routing_role: leader | 169 | - routing_role: leader |
| 171 | - resolved_model: gpt-5.4 | 170 | - resolved_model: gpt-5.5 |
| 172 | """ | 171 | """ | ... | ... |
| ... | @@ -2,7 +2,6 @@ | ... | @@ -2,7 +2,6 @@ |
| 2 | name = "architect" | 2 | name = "architect" |
| 3 | description = "System design, boundaries, interfaces, long-horizon tradeoffs" | 3 | description = "System design, boundaries, interfaces, long-horizon tradeoffs" |
| 4 | model = "gpt-5.4-mini" | 4 | model = "gpt-5.4-mini" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> | ... | ... |
| 1 | # oh-my-codex agent: code-reviewer | 1 | # oh-my-codex agent: code-reviewer |
| 2 | name = "code-reviewer" | 2 | name = "code-reviewer" |
| 3 | description = "Comprehensive review across all concerns" | 3 | description = "Comprehensive review across all concerns" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -172,5 +171,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -172,5 +171,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 172 | - posture: frontier-orchestrator | 171 | - posture: frontier-orchestrator |
| 173 | - model_class: frontier | 172 | - model_class: frontier |
| 174 | - routing_role: leader | 173 | - routing_role: leader |
| 175 | - resolved_model: gpt-5.4 | 174 | - resolved_model: gpt-5.5 |
| 176 | """ | 175 | """ | ... | ... |
| 1 | # oh-my-codex agent: code-simplifier | 1 | # oh-my-codex agent: code-simplifier |
| 2 | name = "code-simplifier" | 2 | name = "code-simplifier" |
| 3 | description = "Simplifies recently modified code for clarity and consistency without changing behavior" | 3 | description = "Simplifies recently modified code for clarity and consistency without changing behavior" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -164,5 +163,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -164,5 +163,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 164 | - posture: deep-worker | 163 | - posture: deep-worker |
| 165 | - model_class: frontier | 164 | - model_class: frontier |
| 166 | - routing_role: executor | 165 | - routing_role: executor |
| 167 | - resolved_model: gpt-5.4 | 166 | - resolved_model: gpt-5.5 |
| 168 | """ | 167 | """ | ... | ... |
| 1 | # oh-my-codex agent: critic | 1 | # oh-my-codex agent: critic |
| 2 | name = "critic" | 2 | name = "critic" |
| 3 | description = "Plan/design critical challenge and review" | 3 | description = "Plan/design critical challenge and review" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -113,5 +112,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -113,5 +112,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 113 | - posture: frontier-orchestrator | 112 | - posture: frontier-orchestrator |
| 114 | - model_class: frontier | 113 | - model_class: frontier |
| 115 | - routing_role: leader | 114 | - routing_role: leader |
| 116 | - resolved_model: gpt-5.4 | 115 | - resolved_model: gpt-5.5 |
| 117 | """ | 116 | """ | ... | ... |
| 1 | # oh-my-codex agent: debugger | 1 | # oh-my-codex agent: debugger |
| 2 | name = "debugger" | 2 | name = "debugger" |
| 3 | description = "Root-cause analysis, regression isolation, failure diagnosis" | 3 | description = "Root-cause analysis, regression isolation, failure diagnosis" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -149,5 +148,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -149,5 +148,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 149 | - posture: deep-worker | 148 | - posture: deep-worker |
| 150 | - model_class: standard | 149 | - model_class: standard |
| 151 | - routing_role: executor | 150 | - routing_role: executor |
| 152 | - resolved_model: gpt-5.4 | 151 | - resolved_model: gpt-5.5 |
| 153 | """ | 152 | """ | ... | ... |
| 1 | # oh-my-codex agent: dependency-expert | 1 | # oh-my-codex agent: dependency-expert |
| 2 | name = "dependency-expert" | 2 | name = "dependency-expert" |
| 3 | description = "External SDK/API/package evaluation" | 3 | description = "External SDK/API/package evaluation" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -162,5 +161,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -162,5 +161,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 162 | - posture: frontier-orchestrator | 161 | - posture: frontier-orchestrator |
| 163 | - model_class: standard | 162 | - model_class: standard |
| 164 | - routing_role: specialist | 163 | - routing_role: specialist |
| 165 | - resolved_model: gpt-5.4 | 164 | - resolved_model: gpt-5.5 |
| 166 | """ | 165 | """ | ... | ... |
| 1 | # oh-my-codex agent: designer | 1 | # oh-my-codex agent: designer |
| 2 | name = "designer" | 2 | name = "designer" |
| 3 | description = "UX/UI architecture, interaction design" | 3 | description = "UX/UI architecture, interaction design" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -158,5 +157,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -158,5 +157,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 158 | - posture: deep-worker | 157 | - posture: deep-worker |
| 159 | - model_class: standard | 158 | - model_class: standard |
| 160 | - routing_role: executor | 159 | - routing_role: executor |
| 161 | - resolved_model: gpt-5.4 | 160 | - resolved_model: gpt-5.5 |
| 162 | """ | 161 | """ | ... | ... |
| 1 | # oh-my-codex agent: executor | 1 | # oh-my-codex agent: executor |
| 2 | name = "executor" | 2 | name = "executor" |
| 3 | description = "Code implementation, refactoring, feature work" | 3 | description = "Code implementation, refactoring, feature work" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "medium" | 5 | model_reasoning_effort = "medium" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -140,5 +139,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -140,5 +139,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 140 | - posture: deep-worker | 139 | - posture: deep-worker |
| 141 | - model_class: standard | 140 | - model_class: standard |
| 142 | - routing_role: executor | 141 | - routing_role: executor |
| 143 | - resolved_model: gpt-5.4 | 142 | - resolved_model: gpt-5.5 |
| 144 | """ | 143 | """ | ... | ... |
| ... | @@ -2,7 +2,6 @@ | ... | @@ -2,7 +2,6 @@ |
| 2 | name = "explore" | 2 | name = "explore" |
| 3 | description = "Fast codebase search and file/symbol mapping" | 3 | description = "Fast codebase search and file/symbol mapping" |
| 4 | model = "gpt-5.3-codex-spark" | 4 | model = "gpt-5.3-codex-spark" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "low" | 5 | model_reasoning_effort = "low" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> | ... | ... |
| 1 | # oh-my-codex agent: git-master | 1 | # oh-my-codex agent: git-master |
| 2 | name = "git-master" | 2 | name = "git-master" |
| 3 | description = "Commit strategy, history hygiene, rebasing" | 3 | description = "Commit strategy, history hygiene, rebasing" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -146,5 +145,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -146,5 +145,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 146 | - posture: deep-worker | 145 | - posture: deep-worker |
| 147 | - model_class: standard | 146 | - model_class: standard |
| 148 | - routing_role: executor | 147 | - routing_role: executor |
| 149 | - resolved_model: gpt-5.4 | 148 | - resolved_model: gpt-5.5 |
| 150 | """ | 149 | """ | ... | ... |
| ... | @@ -2,7 +2,6 @@ | ... | @@ -2,7 +2,6 @@ |
| 2 | name = "planner" | 2 | name = "planner" |
| 3 | description = "Task sequencing, execution plans, risk flags" | 3 | description = "Task sequencing, execution plans, risk flags" |
| 4 | model = "gpt-5.4-mini" | 4 | model = "gpt-5.4-mini" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> | ... | ... |
| 1 | # oh-my-codex agent: prometheus-strict-metis | 1 | # oh-my-codex agent: prometheus-strict-metis |
| 2 | name = "prometheus-strict-metis" | 2 | name = "prometheus-strict-metis" |
| 3 | description = "Prometheus Strict requirements interviewer and ambiguity mapper" | 3 | description = "Prometheus Strict requirements interviewer and ambiguity mapper" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -301,5 +300,5 @@ This role is tuned for frontier-class models. | ... | @@ -301,5 +300,5 @@ This role is tuned for frontier-class models. |
| 301 | - model_class: frontier | 300 | - model_class: frontier |
| 302 | - routing_role: leader | 301 | - routing_role: leader |
| 303 | - native_subagent_delegation: allowed | 302 | - native_subagent_delegation: allowed |
| 304 | - resolved_model: gpt-5.4 | 303 | - resolved_model: gpt-5.5 |
| 305 | """ | 304 | """ | ... | ... |
| 1 | # oh-my-codex agent: prometheus-strict-momus | 1 | # oh-my-codex agent: prometheus-strict-momus |
| 2 | name = "prometheus-strict-momus" | 2 | name = "prometheus-strict-momus" |
| 3 | description = "Prometheus Strict adversarial plan critic and risk challenger" | 3 | description = "Prometheus Strict adversarial plan critic and risk challenger" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -115,5 +114,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -115,5 +114,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 115 | - posture: frontier-orchestrator | 114 | - posture: frontier-orchestrator |
| 116 | - model_class: frontier | 115 | - model_class: frontier |
| 117 | - routing_role: leader | 116 | - routing_role: leader |
| 118 | - resolved_model: gpt-5.4 | 117 | - resolved_model: gpt-5.5 |
| 119 | """ | 118 | """ | ... | ... |
| 1 | # oh-my-codex agent: prometheus-strict-oracle | 1 | # oh-my-codex agent: prometheus-strict-oracle |
| 2 | name = "prometheus-strict-oracle" | 2 | name = "prometheus-strict-oracle" |
| 3 | description = "Prometheus Strict implementation readiness verifier and handoff judge" | 3 | description = "Prometheus Strict implementation readiness verifier and handoff judge" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -140,5 +139,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -140,5 +139,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 140 | - posture: frontier-orchestrator | 139 | - posture: frontier-orchestrator |
| 141 | - model_class: standard | 140 | - model_class: standard |
| 142 | - routing_role: leader | 141 | - routing_role: leader |
| 143 | - resolved_model: gpt-5.4 | 142 | - resolved_model: gpt-5.5 |
| 144 | """ | 143 | """ | ... | ... |
| ... | @@ -2,7 +2,6 @@ | ... | @@ -2,7 +2,6 @@ |
| 2 | name = "researcher" | 2 | name = "researcher" |
| 3 | description = "External documentation and reference research" | 3 | description = "External documentation and reference research" |
| 4 | model = "gpt-5.4-mini" | 4 | model = "gpt-5.4-mini" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> | ... | ... |
| 1 | # oh-my-codex agent: scholastic | 1 | # oh-my-codex agent: scholastic |
| 2 | name = "scholastic" | 2 | name = "scholastic" |
| 3 | description = "Ontology-first reasoning reviewer: category mistakes, hidden assumptions, modality separation, scholastic critique, and minimal-repair proposals" | 3 | description = "Ontology-first reasoning reviewer: category mistakes, hidden assumptions, modality separation, scholastic critique, and minimal-repair proposals" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | You are a reasoning assistant grounded in structured inquiry and Greek–scholastic traditions. When responding: | 7 | You are a reasoning assistant grounded in structured inquiry and Greek–scholastic traditions. When responding: |
| ... | @@ -44,5 +43,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -44,5 +43,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 44 | - posture: frontier-orchestrator | 43 | - posture: frontier-orchestrator |
| 45 | - model_class: frontier | 44 | - model_class: frontier |
| 46 | - routing_role: leader | 45 | - routing_role: leader |
| 47 | - resolved_model: gpt-5.4 | 46 | - resolved_model: gpt-5.5 |
| 48 | """ | 47 | """ | ... | ... |
| 1 | # oh-my-codex agent: team-executor | 1 | # oh-my-codex agent: team-executor |
| 2 | name = "team-executor" | 2 | name = "team-executor" |
| 3 | description = "Supervised team execution for conservative delivery lanes" | 3 | description = "Supervised team execution for conservative delivery lanes" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "medium" | 5 | model_reasoning_effort = "medium" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -89,5 +88,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -89,5 +88,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 89 | - posture: deep-worker | 88 | - posture: deep-worker |
| 90 | - model_class: frontier | 89 | - model_class: frontier |
| 91 | - routing_role: executor | 90 | - routing_role: executor |
| 92 | - resolved_model: gpt-5.4 | 91 | - resolved_model: gpt-5.5 |
| 93 | """ | 92 | """ | ... | ... |
| 1 | # oh-my-codex agent: test-engineer | 1 | # oh-my-codex agent: test-engineer |
| 2 | name = "test-engineer" | 2 | name = "test-engineer" |
| 3 | description = "Test strategy, coverage, flaky-test hardening" | 3 | description = "Test strategy, coverage, flaky-test hardening" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "medium" | 5 | model_reasoning_effort = "medium" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -162,5 +161,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -162,5 +161,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 162 | - posture: deep-worker | 161 | - posture: deep-worker |
| 163 | - model_class: frontier | 162 | - model_class: frontier |
| 164 | - routing_role: executor | 163 | - routing_role: executor |
| 165 | - resolved_model: gpt-5.4 | 164 | - resolved_model: gpt-5.5 |
| 166 | """ | 165 | """ | ... | ... |
| 1 | # oh-my-codex agent: verifier | 1 | # oh-my-codex agent: verifier |
| 2 | name = "verifier" | 2 | name = "verifier" |
| 3 | description = "Completion evidence, claim validation, test adequacy" | 3 | description = "Completion evidence, claim validation, test adequacy" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -118,5 +117,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -118,5 +117,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 118 | - posture: frontier-orchestrator | 117 | - posture: frontier-orchestrator |
| 119 | - model_class: standard | 118 | - model_class: standard |
| 120 | - routing_role: leader | 119 | - routing_role: leader |
| 121 | - resolved_model: gpt-5.4 | 120 | - resolved_model: gpt-5.5 |
| 122 | """ | 121 | """ | ... | ... |
| 1 | # oh-my-codex agent: vision | 1 | # oh-my-codex agent: vision |
| 2 | name = "vision" | 2 | name = "vision" |
| 3 | description = "Image/screenshot/diagram analysis" | 3 | description = "Image/screenshot/diagram analysis" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "low" | 5 | model_reasoning_effort = "low" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -130,5 +129,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -130,5 +129,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 130 | - posture: fast-lane | 129 | - posture: fast-lane |
| 131 | - model_class: frontier | 130 | - model_class: frontier |
| 132 | - routing_role: specialist | 131 | - routing_role: specialist |
| 133 | - resolved_model: gpt-5.4 | 132 | - resolved_model: gpt-5.5 |
| 134 | """ | 133 | """ | ... | ... |
| 1 | # oh-my-codex agent: writer | 1 | # oh-my-codex agent: writer |
| 2 | name = "writer" | 2 | name = "writer" |
| 3 | description = "Documentation, migration notes, user guidance" | 3 | description = "Documentation, migration notes, user guidance" |
| 4 | model = "gpt-5.4" | 4 | model = "gpt-5.5" |
| 5 | model_provider = "my-local-llm" | ||
| 6 | model_reasoning_effort = "high" | 5 | model_reasoning_effort = "high" |
| 7 | developer_instructions = """ | 6 | developer_instructions = """ |
| 8 | <identity> | 7 | <identity> |
| ... | @@ -141,5 +140,5 @@ Use local tools; report missing specialist coverage to the leader. | ... | @@ -141,5 +140,5 @@ Use local tools; report missing specialist coverage to the leader. |
| 141 | - posture: fast-lane | 140 | - posture: fast-lane |
| 142 | - model_class: standard | 141 | - model_class: standard |
| 143 | - routing_role: specialist | 142 | - routing_role: specialist |
| 144 | - resolved_model: gpt-5.4 | 143 | - resolved_model: gpt-5.5 |
| 145 | """ | 144 | """ | ... | ... |
| ... | @@ -71,10 +71,11 @@ Delegates to the `code-reviewer` and `architect` agents in parallel for a two-la | ... | @@ -71,10 +71,11 @@ Delegates to the `code-reviewer` and `architect` agents in parallel for a two-la |
| 71 | 71 | ||
| 72 | Do not self-review as a fallback. If the `code-reviewer` or `architect` agent path is missing, unavailable, skipped, or fails, emit a clear unavailable-review result and block approval until the independent lane evidence exists. | 72 | Do not self-review as a fallback. If the `code-reviewer` or `architect` agent path is missing, unavailable, skipped, or fails, emit a clear unavailable-review result and block approval until the independent lane evidence exists. |
| 73 | 73 | ||
| 74 | Respect the user's current model and reasoning/effort selection when launching review lanes. Do not pass `model` or `reasoning_effort` overrides in the review-lane task calls unless the user explicitly asks for review-specific overrides; omitting them lets native subagents inherit the active session settings. | ||
| 75 | |||
| 74 | ``` | 76 | ``` |
| 75 | task( | 77 | task( |
| 76 | agent_type="code-reviewer", | 78 | agent_type="code-reviewer", |
| 77 | reasoning_effort="xhigh", | ||
| 78 | prompt="CODE REVIEW TASK | 79 | prompt="CODE REVIEW TASK |
| 79 | 80 | ||
| 80 | Review code changes for quality, security, and maintainability. | 81 | Review code changes for quality, security, and maintainability. |
| ... | @@ -100,7 +101,6 @@ Output: Code review report with: | ... | @@ -100,7 +101,6 @@ Output: Code review report with: |
| 100 | 101 | ||
| 101 | task( | 102 | task( |
| 102 | agent_type="architect", | 103 | agent_type="architect", |
| 103 | reasoning_effort="xhigh", | ||
| 104 | prompt="ARCHITECTURE / DEVIL'S-ADVOCATE REVIEW TASK | 104 | prompt="ARCHITECTURE / DEVIL'S-ADVOCATE REVIEW TASK |
| 105 | 105 | ||
| 106 | Review the same code changes from the architecture/tradeoff perspective. | 106 | Review the same code changes from the architecture/tradeoff perspective. | ... | ... |
| ... | @@ -51,6 +51,11 @@ If no flag is provided, use **Standard**. | ... | @@ -51,6 +51,11 @@ If no flag is provided, use **Standard**. |
| 51 | - Gather codebase facts via `explore` before asking user about internals | 51 | - Gather codebase facts via `explore` before asking user about internals |
| 52 | - `omx explore` is deprecated. Use normal repository inspection tools/subagents for simple read-only brownfield fact gathering; use `omx sparkshell` only for explicit shell-native read-only evidence, and keep ambiguous or non-shell-only investigation on the richer normal path. | 52 | - `omx explore` is deprecated. Use normal repository inspection tools/subagents for simple read-only brownfield fact gathering; use `omx sparkshell` only for explicit shell-native read-only evidence, and keep ambiguous or non-shell-only investigation on the richer normal path. |
| 53 | - Always run a preflight context intake before the first interview question | 53 | - Always run a preflight context intake before the first interview question |
| 54 | - For brownfield work, preflight must include doc/context grounding before user-facing questions: inspect applicable `AGENTS.md` files, README/getting-started docs, relevant `docs/` contracts/plans/ADRs, existing `.omx/context/` snapshots, and any project-local glossary/context files such as `CONTEXT.md` or `CONTEXT-MAP.md` when present. | ||
| 55 | - Treat existing repo language as evidence, not authority: if the user uses a fuzzy, overloaded, or conflicting term, surface the specific doc/code wording and ask which meaning should govern before implementation. | ||
| 56 | - Cross-check user claims about current behavior against code or documented contracts when discoverable. If docs and code disagree, ask a confirmation question that names both sources instead of silently choosing one. | ||
| 57 | - Use scenario-based edge-case grilling when relationships, boundaries, or handoff behavior are unclear: invent one concrete scenario that stresses the ambiguous boundary, then ask one focused question about the expected outcome. | ||
| 58 | - Durable docs, glossary, ADR, or memory updates are opt-in and public-safe only. Deep-interview may recommend such updates in the handoff summary, but must not automatically create or dump public docs from interview transcripts unless the user explicitly chooses that as in-scope. | ||
| 54 | - If initial context is oversized or would exceed the prompt budget, do not paste or forward the raw payload into interview prompts; request and record a prompt-safe initial-context summary first | 59 | - If initial context is oversized or would exceed the prompt budget, do not paste or forward the raw payload into interview prompts; request and record a prompt-safe initial-context summary first |
| 55 | - The oversized initial-context summary gate is blocking: wait for the concise summary before ambiguity scoring, crystallizing artifacts, or any downstream execution handoff | 60 | - The oversized initial-context summary gate is blocking: wait for the concise summary before ambiguity scoring, crystallizing artifacts, or any downstream execution handoff |
| 56 | - The summary must preserve goals, constraints, success criteria, non-goals, decision boundaries, and references to any full source documents so downstream consumers receive a prompt-safe but faithful context | 61 | - The summary must preserve goals, constraints, success criteria, non-goals, decision boundaries, and references to any full source documents so downstream consumers receive a prompt-safe but faithful context |
| ... | @@ -97,8 +102,15 @@ If no flag is provided, use **Standard**. | ... | @@ -97,8 +102,15 @@ If no flag is provided, use **Standard**. |
| 97 | - Unknowns/open questions | 102 | - Unknowns/open questions |
| 98 | - Decision-boundary unknowns | 103 | - Decision-boundary unknowns |
| 99 | - Likely codebase touchpoints | 104 | - Likely codebase touchpoints |
| 105 | - Relevant repo docs/rules/context inspected | ||
| 106 | - Terminology or doc/code conflicts found | ||
| 100 | - Prompt-safe initial-context summary status (`not_needed`, `needed`, or `recorded`) | 107 | - Prompt-safe initial-context summary status (`not_needed`, `needed`, or `recorded`) |
| 101 | 5. Save snapshot to `.omx/context/{slug}-{timestamp}.md` (UTC `YYYYMMDDTHHMMSSZ`) and reference it in mode state. | 108 | 5. For brownfield tasks, inspect the applicable documentation/rule surface before the first user-facing round. Prefer exact, nearby sources over broad scans: |
| 109 | - governing `AGENTS.md` files and template/runtime instruction surfaces that apply to the touched paths | ||
| 110 | - README/getting-started docs and relevant docs under `docs/`, especially contracts, plans, ADR-like records, and workflow docs | ||
| 111 | - existing `.omx/context/` snapshots, `.omx/specs/`, and planning artifacts relevant to the slug | ||
| 112 | - project-local glossary/context files such as `CONTEXT.md`, `CONTEXT-MAP.md`, or context-specific docs when they exist | ||
| 113 | 6. Save snapshot to `.omx/context/{slug}-{timestamp}.md` (UTC `YYYYMMDDTHHMMSSZ`) and reference it in mode state. | ||
| 102 | 114 | ||
| 103 | ## Phase 1: Initialize | 115 | ## Phase 1: Initialize |
| 104 | 116 | ||
| ... | @@ -137,13 +149,14 @@ If no flag is provided, use **Standard**. | ... | @@ -137,13 +149,14 @@ If no flag is provided, use **Standard**. |
| 137 | Repeat until ambiguity `<= threshold`, the pressure pass is complete, the readiness gates are explicit, the user exits with warning, or max rounds are reached. This is a stop condition: below threshold, do not open a new ordinary interview branch. | 149 | Repeat until ambiguity `<= threshold`, the pressure pass is complete, the readiness gates are explicit, the user exits with warning, or max rounds are reached. This is a stop condition: below threshold, do not open a new ordinary interview branch. |
| 138 | 150 | ||
| 139 | ### 2a) Generate next question | 151 | ### 2a) Generate next question |
| 140 | If the initial context is oversized and no prompt-safe summary has been recorded yet, the next question must be only a summary request. Do not score ambiguity, do not run readiness gates, and do not hand off to `$ralplan`, `$autopilot`, `$ralph`, or `$team` until that summary answer is captured. | 152 | If the initial context is oversized and no prompt-safe summary has been recorded yet, the next question must be only a summary request. Do not score ambiguity, do not run readiness gates, and do not hand off to `$ultragoal`, `$ralplan`, `$autopilot`, `$ralph`, or `$team` until that summary answer is captured. |
| 141 | 153 | ||
| 142 | Use: | 154 | Use: |
| 143 | - Original idea | 155 | - Original idea |
| 144 | - Prior Q&A rounds | 156 | - Prior Q&A rounds |
| 145 | - Current dimension scores | 157 | - Current dimension scores |
| 146 | - Brownfield context (if any) | 158 | - Brownfield context (if any) |
| 159 | - Doc/context grounding notes, including existing terminology, governing rules, and any doc/code mismatch | ||
| 147 | - Activated challenge mode injection (Phase 3) | 160 | - Activated challenge mode injection (Phase 3) |
| 148 | 161 | ||
| 149 | Target the lowest-scoring dimension, but respect stage priority: | 162 | Target the lowest-scoring dimension, but respect stage priority: |
| ... | @@ -155,12 +168,21 @@ Follow-up pressure ladder after each answer: | ... | @@ -155,12 +168,21 @@ Follow-up pressure ladder after each answer: |
| 155 | 1. Ask for a concrete example, counterexample, or evidence signal behind the latest claim | 168 | 1. Ask for a concrete example, counterexample, or evidence signal behind the latest claim |
| 156 | 2. Probe the hidden assumption, dependency, or belief that makes the claim true | 169 | 2. Probe the hidden assumption, dependency, or belief that makes the claim true |
| 157 | 3. Force a boundary or tradeoff: what would you explicitly not do, defer, or reject? | 170 | 3. Force a boundary or tradeoff: what would you explicitly not do, defer, or reject? |
| 158 | 4. If the answer still describes symptoms, reframe toward essence / root cause before moving on | 171 | 4. Challenge fuzzy or conflicting terms against the repo's documented language and current code behavior |
| 172 | 5. Stress-test the boundary with one concrete scenario or edge case when a relationship or handoff remains ambiguous | ||
| 173 | 6. If the answer still describes symptoms, reframe toward essence / root cause before moving on | ||
| 159 | 174 | ||
| 160 | Prefer staying on the same thread for multiple rounds when it has the highest leverage. Breadth without pressure is not progress. | 175 | Prefer staying on the same thread for multiple rounds when it has the highest leverage. Breadth without pressure is not progress. |
| 161 | 176 | ||
| 162 | Maintain a **Breadth Ledger** across independent ambiguity tracks: scope, constraints, outputs, verification, brownfield integration, and any user-mentioned deliverable tracks. The ledger is a guard, not a mandatory rotation rule: stay deep on the current thread until it has been pressure-tested, then zoom out only when another material track remains unresolved and would change execution. | 177 | Maintain a **Breadth Ledger** across independent ambiguity tracks: scope, constraints, outputs, verification, brownfield integration, and any user-mentioned deliverable tracks. The ledger is a guard, not a mandatory rotation rule: stay deep on the current thread until it has been pressure-tested, then zoom out only when another material track remains unresolved and would change execution. |
| 163 | 178 | ||
| 179 | Maintain a **Docs/Terminology Ledger** for brownfield interviews: | ||
| 180 | - repo docs/rules/context sources inspected, with path references | ||
| 181 | - canonical terms already used by the repo and terms to avoid or disambiguate | ||
| 182 | - user terms that conflict with docs or current code behavior | ||
| 183 | - doc/code mismatches that require a human decision before implementation | ||
| 184 | - optional durable-doc follow-ups that are safe to propose but not auto-apply | ||
| 185 | |||
| 164 | Detailed dimensions: | 186 | Detailed dimensions: |
| 165 | - Intent Clarity — why the user wants this | 187 | - Intent Clarity — why the user wants this |
| 166 | - Outcome Clarity — what end state they want | 188 | - Outcome Clarity — what end state they want |
| ... | @@ -306,6 +328,7 @@ Append round result and updated scores via `omx state write --input '<json>' --j | ... | @@ -306,6 +328,7 @@ Append round result and updated scores via `omx state write --input '<json>' --j |
| 306 | Use each mode once when applicable. These are normal escalation tools, not rare rescue moves: | 328 | Use each mode once when applicable. These are normal escalation tools, not rare rescue moves: |
| 307 | 329 | ||
| 308 | - **Contrarian** (round 2+ or immediately when an answer rests on an untested assumption): challenge core assumptions | 330 | - **Contrarian** (round 2+ or immediately when an answer rests on an untested assumption): challenge core assumptions |
| 331 | - **Terminologist** (brownfield, whenever a key term is fuzzy, overloaded, or conflicts with repo docs/code): force a canonical meaning against existing project language before implementation | ||
| 309 | - **Simplifier** (round 4+ or when scope expands faster than outcome clarity): probe minimal viable scope | 332 | - **Simplifier** (round 4+ or when scope expands faster than outcome clarity): probe minimal viable scope |
| 310 | - **Ontologist** (round 5+ and ambiguity > 0.25, or when the user keeps describing symptoms): ask for essence-level reframing | 333 | - **Ontologist** (round 5+ and ambiguity > 0.25, or when the user keeps describing symptoms): ask for essence-level reframing |
| 311 | 334 | ||
| ... | @@ -336,6 +359,9 @@ Spec should include: | ... | @@ -336,6 +359,9 @@ Spec should include: |
| 336 | - Assumptions exposed + resolutions | 359 | - Assumptions exposed + resolutions |
| 337 | - Pressure-pass findings (which answer was revisited, and what changed) | 360 | - Pressure-pass findings (which answer was revisited, and what changed) |
| 338 | - Brownfield evidence vs inference notes for any repository-grounded confirmation questions | 361 | - Brownfield evidence vs inference notes for any repository-grounded confirmation questions |
| 362 | - Docs/Terminology Ledger with inspected repo docs/rules/context, term conflicts, and any doc/code mismatch decisions | ||
| 363 | - Scenario/edge-case pressure findings that materially shaped scope or acceptance criteria | ||
| 364 | - Optional durable documentation recommendations, explicitly marked opt-in and public-safe; do not include raw private transcript dumps | ||
| 339 | - Technical context findings | 365 | - Technical context findings |
| 340 | - Full or condensed transcript | 366 | - Full or condensed transcript |
| 341 | 367 | ||
| ... | @@ -365,11 +391,11 @@ When the clarified task is specifically about `$autoresearch`, or the skill is i | ... | @@ -365,11 +391,11 @@ When the clarified task is specifically about `$autoresearch`, or the skill is i |
| 365 | 391 | ||
| 366 | ## Phase 5: Execution Bridge | 392 | ## Phase 5: Execution Bridge |
| 367 | 393 | ||
| 368 | Present execution options after artifact generation using explicit handoff contracts. Treat the deep-interview spec as the current requirements source of truth and preserve intent, non-goals, decision boundaries, acceptance criteria, and any residual-risk warnings across the handoff. | 394 | Present execution options after artifact generation using explicit handoff contracts. Treat the deep-interview spec as the current requirements source of truth and preserve intent, non-goals, decision boundaries, acceptance criteria, docs/terminology grounding, and any residual-risk warnings across the handoff. |
| 369 | 395 | ||
| 370 | ### Goal-mode follow-ups | 396 | ### Goal-mode follow-ups |
| 371 | 397 | ||
| 372 | Include these product-facing suggestions when they fit the clarified spec, without removing the existing `$ralplan`, `$autopilot`, `$ralph`, and `$team` handoff options: | 398 | Include these product-facing suggestions when they fit the clarified spec, without removing the existing `$ultragoal`, `$ralplan`, `$autopilot`, `$ralph`, and `$team` handoff options: |
| 373 | 399 | ||
| 374 | - **`$ultragoal`** — default goal-mode follow-up for implementation or general goal-oriented follow-up specs that should be converted into durable Codex/OMX goals with sequential completion tracking. | 400 | - **`$ultragoal`** — default goal-mode follow-up for implementation or general goal-oriented follow-up specs that should be converted into durable Codex/OMX goals with sequential completion tracking. |
| 375 | - **`$autoresearch-goal`** — use when the clarified context is a research project: a research question, reference/literature gathering, evaluator-backed analysis, or professor/critic-style deliverable. | 401 | - **`$autoresearch-goal`** — use when the clarified context is a research project: a research question, reference/literature gathering, evaluator-backed analysis, or professor/critic-style deliverable. |
| ... | @@ -377,7 +403,16 @@ Include these product-facing suggestions when they fit the clarified spec, witho | ... | @@ -377,7 +403,16 @@ Include these product-facing suggestions when they fit the clarified spec, witho |
| 377 | 403 | ||
| 378 | Recommend `$ultragoal` as the default durable goal-mode follow-up because it supersedes Ralph for goal tracking. Preserve `$team` for coordinated parallel implementation and keep `$ralph` only as an explicit fallback for persistent single-owner execution/verification when the user specifically selects it. | 404 | Recommend `$ultragoal` as the default durable goal-mode follow-up because it supersedes Ralph for goal tracking. Preserve `$team` for coordinated parallel implementation and keep `$ralph` only as an explicit fallback for persistent single-owner execution/verification when the user specifically selects it. |
| 379 | 405 | ||
| 380 | ### 1. **`$ralplan` (Recommended)** | 406 | ### 1. **`$ultragoal` (Default durable execution follow-up)** |
| 407 | - **Input Artifact:** `.omx/specs/deep-interview-{slug}.md` (optionally accompanied by the transcript/context snapshot for traceability) | ||
| 408 | - **Invocation:** `$ultragoal create-goals --brief-file <spec-path>` followed by `$ultragoal complete-goals` in the active execution lane | ||
| 409 | - **Consumer Behavior:** Convert the clarified spec into durable goal-mode work. Preserve intent, non-goals, decision boundaries, acceptance criteria, docs/terminology grounding, scenario-pressure findings, and residual-risk warnings as binding story constraints. | ||
| 410 | - **Skipped / Already-Satisfied Stages:** Requirement interview, ambiguity clarification, doc/context preflight, and early intent-boundary elicitation | ||
| 411 | - **Expected Output:** `.omx/ultragoal/brief.md`, `.omx/ultragoal/goals.json`, `.omx/ultragoal/ledger.jsonl`, implementation evidence, verification evidence, and final cleanup/review-gate evidence | ||
| 412 | - **Best When:** The clarified spec is execution-ready or the user explicitly wants durable goal tracking as the next step | ||
| 413 | - **Next Recommended Step:** Run the Ultragoal completion loop; launch `$team` only inside an active Ultragoal story when parallel lanes are warranted, and use `$ralph` only as an explicit fallback when the user asks for that legacy persistence mode | ||
| 414 | |||
| 415 | ### 2. **`$ralplan` (Recommended when architecture/test-shape review is still needed)** | ||
| 381 | - **Input Artifact:** `.omx/specs/deep-interview-{slug}.md` (optionally accompanied by the transcript/context snapshot for traceability) | 416 | - **Input Artifact:** `.omx/specs/deep-interview-{slug}.md` (optionally accompanied by the transcript/context snapshot for traceability) |
| 382 | - **Invocation:** `$plan --consensus --direct <spec-path>` | 417 | - **Invocation:** `$plan --consensus --direct <spec-path>` |
| 383 | - **Consumer Behavior:** Treat the deep-interview spec as the requirements source of truth. Do not repeat the interview by default; refine architecture/feasibility around the clarified intent and boundaries instead. | 418 | - **Consumer Behavior:** Treat the deep-interview spec as the requirements source of truth. Do not repeat the interview by default; refine architecture/feasibility around the clarified intent and boundaries instead. |
| ... | @@ -386,7 +421,7 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup | ... | @@ -386,7 +421,7 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup |
| 386 | - **Best When:** Requirements are clear enough to stop interviewing, but architectural validation / consensus planning is still desirable | 421 | - **Best When:** Requirements are clear enough to stop interviewing, but architectural validation / consensus planning is still desirable |
| 387 | - **Next Recommended Step:** Use the approved planning artifacts with `$ultragoal` as the default durable goal-mode follow-up (optionally with `$team` for parallel lanes); choose `$autoresearch-goal` for research validation or `$performance-goal` for measurable optimization, and use `$ralph` only as an explicit fallback when a narrow single-owner persistence loop is requested | 422 | - **Next Recommended Step:** Use the approved planning artifacts with `$ultragoal` as the default durable goal-mode follow-up (optionally with `$team` for parallel lanes); choose `$autoresearch-goal` for research validation or `$performance-goal` for measurable optimization, and use `$ralph` only as an explicit fallback when a narrow single-owner persistence loop is requested |
| 388 | 423 | ||
| 389 | ### 2. **`$autopilot`** | 424 | ### 3. **`$autopilot`** |
| 390 | - **Input Artifact:** `.omx/specs/deep-interview-{slug}.md` | 425 | - **Input Artifact:** `.omx/specs/deep-interview-{slug}.md` |
| 391 | - **Invocation:** `$autopilot <spec-path>` | 426 | - **Invocation:** `$autopilot <spec-path>` |
| 392 | - **Consumer Behavior:** Use the deep-interview spec as the clarified execution brief. Preserve intent, non-goals, decision boundaries, and acceptance criteria as binding context for planning/execution. | 427 | - **Consumer Behavior:** Use the deep-interview spec as the clarified execution brief. Preserve intent, non-goals, decision boundaries, and acceptance criteria as binding context for planning/execution. |
| ... | @@ -395,7 +430,7 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup | ... | @@ -395,7 +430,7 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup |
| 395 | - **Best When:** The clarified spec is already strong enough for direct planning + execution without an additional consensus gate | 430 | - **Best When:** The clarified spec is already strong enough for direct planning + execution without an additional consensus gate |
| 396 | - **Next Recommended Step:** Continue through autopilot's execution/QA/validation flow; if coordination-heavy execution emerges, prefer `$team` under a leader-owned `$ultragoal` ledger, using `$ralph` only as an explicit fallback when a narrow single-owner persistence loop is requested | 431 | - **Next Recommended Step:** Continue through autopilot's execution/QA/validation flow; if coordination-heavy execution emerges, prefer `$team` under a leader-owned `$ultragoal` ledger, using `$ralph` only as an explicit fallback when a narrow single-owner persistence loop is requested |
| 397 | 432 | ||
| 398 | ### 3. **`$ralph` (Explicit fallback only)** | 433 | ### 4. **`$ralph` (Explicit fallback only)** |
| 399 | - **Input Artifact:** `.omx/specs/deep-interview-{slug}.md` | 434 | - **Input Artifact:** `.omx/specs/deep-interview-{slug}.md` |
| 400 | - **Invocation:** `$ralph <spec-path>` | 435 | - **Invocation:** `$ralph <spec-path>` |
| 401 | - **Consumer Behavior:** Use the spec's acceptance criteria and boundary constraints as the persistence target. Do not reopen requirements discovery unless the user explicitly asks to refine further. | 436 | - **Consumer Behavior:** Use the spec's acceptance criteria and boundary constraints as the persistence target. Do not reopen requirements discovery unless the user explicitly asks to refine further. |
| ... | @@ -404,7 +439,7 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup | ... | @@ -404,7 +439,7 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup |
| 404 | - **Best When:** The user explicitly asks for Ralph's persistent sequential completion pressure; otherwise use `$ultragoal` for durable goal tracking and completion checkpoints | 439 | - **Best When:** The user explicitly asks for Ralph's persistent sequential completion pressure; otherwise use `$ultragoal` for durable goal tracking and completion checkpoints |
| 405 | - **Next Recommended Step:** If this explicit fallback is selected, continue Ralph's persistence loop; if work expands into coordination-heavy lanes, hand off to `$team` under `$ultragoal` checkpointing rather than promoting Ralph as the next default | 440 | - **Next Recommended Step:** If this explicit fallback is selected, continue Ralph's persistence loop; if work expands into coordination-heavy lanes, hand off to `$team` under `$ultragoal` checkpointing rather than promoting Ralph as the next default |
| 406 | 441 | ||
| 407 | ### 4. **`$team`** | 442 | ### 5. **`$team`** |
| 408 | - **Input Artifact:** `.omx/specs/deep-interview-{slug}.md` | 443 | - **Input Artifact:** `.omx/specs/deep-interview-{slug}.md` |
| 409 | - **Invocation:** `$team <spec-path>` | 444 | - **Invocation:** `$team <spec-path>` |
| 410 | - **Consumer Behavior:** Treat the spec as shared execution context for coordinated parallel work. Preserve the clarified intent, non-goals, decision boundaries, and acceptance criteria as common lane constraints. | 445 | - **Consumer Behavior:** Treat the spec as shared execution context for coordinated parallel work. Preserve the clarified intent, non-goals, decision boundaries, and acceptance criteria as common lane constraints. |
| ... | @@ -413,7 +448,7 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup | ... | @@ -413,7 +448,7 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup |
| 413 | - **Best When:** The task is large, multi-lane, or blocker-sensitive enough to justify coordinated parallel execution instead of a single persistent loop | 448 | - **Best When:** The task is large, multi-lane, or blocker-sensitive enough to justify coordinated parallel execution instead of a single persistent loop |
| 414 | - **Next Recommended Step:** Follow the team verification path when the coordinated execution phase finishes; checkpoint completion through `$ultragoal` by default, escalating to a separate Ralph loop only when the user explicitly asks for that persistent verification/fix owner | 449 | - **Next Recommended Step:** Follow the team verification path when the coordinated execution phase finishes; checkpoint completion through `$ultragoal` by default, escalating to a separate Ralph loop only when the user explicitly asks for that persistent verification/fix owner |
| 415 | 450 | ||
| 416 | ### 5. **Refine further** | 451 | ### 6. **Refine further** |
| 417 | - **Input Artifact:** Existing transcript, context snapshot, and current spec draft | 452 | - **Input Artifact:** Existing transcript, context snapshot, and current spec draft |
| 418 | - **Invocation:** Continue the interview loop | 453 | - **Invocation:** Continue the interview loop |
| 419 | - **Consumer Behavior:** Re-enter questioning to resolve the highest-leverage remaining uncertainty | 454 | - **Consumer Behavior:** Re-enter questioning to resolve the highest-leverage remaining uncertainty |
| ... | @@ -437,6 +472,7 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup | ... | @@ -437,6 +472,7 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup |
| 437 | - Use `omx state write/read --input '<json>' --json` for resumable mode state; `state_write` / `state_read` are explicit MCP compatibility fallbacks only | 472 | - Use `omx state write/read --input '<json>' --json` for resumable mode state; `state_write` / `state_read` are explicit MCP compatibility fallbacks only |
| 438 | - If the interview cannot ask a required `omx question` round, persist the blocker as terminal state with `active: false` and `current_phase: "blocked"`; do not write a terminal blocked phase with `active: true` | 473 | - If the interview cannot ask a required `omx question` round, persist the blocker as terminal state with `active: false` and `current_phase: "blocked"`; do not write a terminal blocked phase with `active: true` |
| 439 | - Read/write context snapshots under `.omx/context/` | 474 | - Read/write context snapshots under `.omx/context/` |
| 475 | - Read applicable repo docs/rules/context during preflight; write durable docs, glossary, ADR, or memory updates only when the user explicitly opts in and the content is public-safe | ||
| 440 | - Record whether the oversized-context summary gate is not needed, pending, or satisfied before any scoring or handoff step | 476 | - Record whether the oversized-context summary gate is not needed, pending, or satisfied before any scoring or handoff step |
| 441 | - Save transcript/spec artifacts under `.omx/interviews/` and `.omx/specs/` | 477 | - Save transcript/spec artifacts under `.omx/interviews/` and `.omx/specs/` |
| 442 | </Tool_Usage> | 478 | </Tool_Usage> |
| ... | @@ -460,7 +496,11 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup | ... | @@ -460,7 +496,11 @@ Recommend `$ultragoal` as the default durable goal-mode follow-up because it sup |
| 460 | - [ ] Transcript written to `.omx/interviews/{slug}-{timestamp}.md` | 496 | - [ ] Transcript written to `.omx/interviews/{slug}-{timestamp}.md` |
| 461 | - [ ] Spec written to `.omx/specs/deep-interview-{slug}.md` | 497 | - [ ] Spec written to `.omx/specs/deep-interview-{slug}.md` |
| 462 | - [ ] Brownfield questions use evidence-backed confirmation when applicable | 498 | - [ ] Brownfield questions use evidence-backed confirmation when applicable |
| 463 | - [ ] Handoff options provided (`$ralplan`, `$autopilot`, `$ralph`, `$team`) plus context-sensitive goal-mode suggestions (`$ultragoal`, `$autoresearch-goal`, `$performance-goal`) when applicable | 499 | - [ ] Brownfield preflight inspected applicable repo docs/rules/context before user-facing questions |
| 500 | - [ ] Fuzzy or conflicting terminology was challenged against repo language/current code behavior when applicable | ||
| 501 | - [ ] Scenario-based edge-case grilling was used when boundary ambiguity would materially affect implementation | ||
| 502 | - [ ] Durable docs/ADR/memory updates, if any, were explicitly opted into and public-safe | ||
| 503 | - [ ] Handoff options provided (`$ultragoal`, `$ralplan`, `$autopilot`, `$ralph`, `$team`) plus context-sensitive goal-mode suggestions (`$autoresearch-goal`, `$performance-goal`) when applicable | ||
| 464 | - [ ] No direct implementation performed in this mode | 504 | - [ ] No direct implementation performed in this mode |
| 465 | </Final_Checklist> | 505 | </Final_Checklist> |
| 466 | 506 | ... | ... |
| ... | @@ -254,31 +254,31 @@ Auto-generated by `omx setup` from the current `config.toml` plus OMX model over | ... | @@ -254,31 +254,31 @@ Auto-generated by `omx setup` from the current `config.toml` plus OMX model over |
| 254 | 254 | ||
| 255 | | Role | Model | Reasoning Effort | Use Case | | 255 | | Role | Model | Reasoning Effort | Use Case | |
| 256 | | --- | --- | --- | --- | | 256 | | --- | --- | --- | --- | |
| 257 | | Frontier (leader) | `gpt-5.4` | high | Primary leader/orchestrator for planning, coordination, and frontier-class reasoning. | | 257 | | Frontier (leader) | `gpt-5.5` | high | Primary leader/orchestrator for planning, coordination, and frontier-class reasoning. | |
| 258 | | Spark (explorer/fast) | `gpt-5.3-codex-spark` | low | Fast triage, explore, lightweight synthesis, and low-latency routing. | | 258 | | Spark (explorer/fast) | `gpt-5.3-codex-spark` | low | Fast triage, explore, lightweight synthesis, and low-latency routing. | |
| 259 | | Standard (subagent default) | `gpt-5.4` | high | Default standard-capability model for installable specialists and secondary worker lanes unless a role is explicitly frontier or spark. | | 259 | | Standard (subagent default) | `gpt-5.5` | high | Default standard-capability model for installable specialists and secondary worker lanes unless a role is explicitly frontier or spark. | |
| 260 | | `explore` | `gpt-5.3-codex-spark` | low | Fast codebase search and file/symbol mapping (fast-lane, fast) | | 260 | | `explore` | `gpt-5.3-codex-spark` | low | Fast codebase search and file/symbol mapping (fast-lane, fast) | |
| 261 | | `analyst` | `gpt-5.4` | medium | Requirements clarity, acceptance criteria, hidden constraints (frontier-orchestrator, frontier) | | 261 | | `analyst` | `gpt-5.5` | medium | Requirements clarity, acceptance criteria, hidden constraints (frontier-orchestrator, frontier) | |
| 262 | | `planner` | `gpt-5.4-mini` | high | Task sequencing, execution plans, risk flags (frontier-orchestrator, frontier) | | 262 | | `planner` | `gpt-5.4-mini` | high | Task sequencing, execution plans, risk flags (frontier-orchestrator, frontier) | |
| 263 | | `architect` | `gpt-5.4-mini` | high | System design, boundaries, interfaces, long-horizon tradeoffs (frontier-orchestrator, frontier) | | 263 | | `architect` | `gpt-5.4-mini` | high | System design, boundaries, interfaces, long-horizon tradeoffs (frontier-orchestrator, frontier) | |
| 264 | | `debugger` | `gpt-5.4` | high | Root-cause analysis, regression isolation, failure diagnosis (deep-worker, standard) | | 264 | | `debugger` | `gpt-5.5` | high | Root-cause analysis, regression isolation, failure diagnosis (deep-worker, standard) | |
| 265 | | `executor` | `gpt-5.4` | medium | Code implementation, refactoring, feature work (deep-worker, standard) | | 265 | | `executor` | `gpt-5.5` | medium | Code implementation, refactoring, feature work (deep-worker, standard) | |
| 266 | | `team-executor` | `gpt-5.4` | medium | Supervised team execution for conservative delivery lanes (deep-worker, frontier) | | 266 | | `team-executor` | `gpt-5.5` | medium | Supervised team execution for conservative delivery lanes (deep-worker, frontier) | |
| 267 | | `verifier` | `gpt-5.4` | high | Completion evidence, claim validation, test adequacy (frontier-orchestrator, standard) | | 267 | | `verifier` | `gpt-5.5` | high | Completion evidence, claim validation, test adequacy (frontier-orchestrator, standard) | |
| 268 | | `code-reviewer` | `gpt-5.4` | high | Comprehensive review across all concerns (frontier-orchestrator, frontier) | | 268 | | `code-reviewer` | `gpt-5.5` | high | Comprehensive review across all concerns (frontier-orchestrator, frontier) | |
| 269 | | `dependency-expert` | `gpt-5.4` | high | External SDK/API/package evaluation (frontier-orchestrator, standard) | | 269 | | `dependency-expert` | `gpt-5.5` | high | External SDK/API/package evaluation (frontier-orchestrator, standard) | |
| 270 | | `test-engineer` | `gpt-5.4` | medium | Test strategy, coverage, flaky-test hardening (deep-worker, frontier) | | 270 | | `test-engineer` | `gpt-5.5` | medium | Test strategy, coverage, flaky-test hardening (deep-worker, frontier) | |
| 271 | | `designer` | `gpt-5.4` | high | UX/UI architecture, interaction design (deep-worker, standard) | | 271 | | `designer` | `gpt-5.5` | high | UX/UI architecture, interaction design (deep-worker, standard) | |
| 272 | | `writer` | `gpt-5.4` | high | Documentation, migration notes, user guidance (fast-lane, standard) | | 272 | | `writer` | `gpt-5.5` | high | Documentation, migration notes, user guidance (fast-lane, standard) | |
| 273 | | `git-master` | `gpt-5.4` | high | Commit strategy, history hygiene, rebasing (deep-worker, standard) | | 273 | | `git-master` | `gpt-5.5` | high | Commit strategy, history hygiene, rebasing (deep-worker, standard) | |
| 274 | | `code-simplifier` | `gpt-5.4` | high | Simplifies recently modified code for clarity and consistency without changing behavior (deep-worker, frontier) | | 274 | | `code-simplifier` | `gpt-5.5` | high | Simplifies recently modified code for clarity and consistency without changing behavior (deep-worker, frontier) | |
| 275 | | `researcher` | `gpt-5.4-mini` | high | External documentation and reference research (fast-lane, standard) | | 275 | | `researcher` | `gpt-5.4-mini` | high | External documentation and reference research (fast-lane, standard) | |
| 276 | | `prometheus-strict-metis` | `gpt-5.4` | high | Prometheus Strict requirements interviewer and ambiguity mapper (frontier-orchestrator, frontier) | | 276 | | `prometheus-strict-metis` | `gpt-5.5` | high | Prometheus Strict requirements interviewer and ambiguity mapper (frontier-orchestrator, frontier) | |
| 277 | | `prometheus-strict-momus` | `gpt-5.4` | high | Prometheus Strict adversarial plan critic and risk challenger (frontier-orchestrator, frontier) | | 277 | | `prometheus-strict-momus` | `gpt-5.5` | high | Prometheus Strict adversarial plan critic and risk challenger (frontier-orchestrator, frontier) | |
| 278 | | `prometheus-strict-oracle` | `gpt-5.4` | high | Prometheus Strict implementation readiness verifier and handoff judge (frontier-orchestrator, standard) | | 278 | | `prometheus-strict-oracle` | `gpt-5.5` | high | Prometheus Strict implementation readiness verifier and handoff judge (frontier-orchestrator, standard) | |
| 279 | | `critic` | `gpt-5.4` | high | Plan/design critical challenge and review (frontier-orchestrator, frontier) | | 279 | | `critic` | `gpt-5.5` | high | Plan/design critical challenge and review (frontier-orchestrator, frontier) | |
| 280 | | `scholastic` | `gpt-5.4` | high | Ontology-first reasoning reviewer: category mistakes, hidden assumptions, modality separation, scholastic critique, and minimal-repair proposals (frontier-orchestrator, frontier) | | 280 | | `scholastic` | `gpt-5.5` | high | Ontology-first reasoning reviewer: category mistakes, hidden assumptions, modality separation, scholastic critique, and minimal-repair proposals (frontier-orchestrator, frontier) | |
| 281 | | `vision` | `gpt-5.4` | low | Image/screenshot/diagram analysis (fast-lane, frontier) | | 281 | | `vision` | `gpt-5.5` | low | Image/screenshot/diagram analysis (fast-lane, frontier) | |
| 282 | <!-- OMX:MODELS:END --> | 282 | <!-- OMX:MODELS:END --> |
| 283 | 283 | ||
| 284 | --- | 284 | --- | ... | ... |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | "job_status": "running", | 49 | "job_status": "running", |
| 50 | "input_count": 20, | 50 | "input_count": 20, |
| 51 | "output_count": null, | 51 | "output_count": null, |
| 52 | "started_at": "2026-06-04T14:00:28.270203+08:00", | 52 | "started_at": "2026-06-04T14:23:30.631658+08:00", |
| 53 | "finished_at": null, | 53 | "finished_at": null, |
| 54 | "log_uri": null, | 54 | "log_uri": null, |
| 55 | "metadata_json": { | 55 | "metadata_json": { |
| ... | @@ -111,8 +111,8 @@ | ... | @@ -111,8 +111,8 @@ |
| 111 | "job_status": "failed", | 111 | "job_status": "failed", |
| 112 | "input_count": 20, | 112 | "input_count": 20, |
| 113 | "output_count": 0, | 113 | "output_count": 0, |
| 114 | "started_at": "2026-06-04T14:00:28.270203+08:00", | 114 | "started_at": "2026-06-04T14:23:30.631658+08:00", |
| 115 | "finished_at": "2026-06-04T14:00:28.271729+08:00", | 115 | "finished_at": "2026-06-04T14:23:30.633175+08:00", |
| 116 | "log_uri": null, | 116 | "log_uri": null, |
| 117 | "metadata_json": { | 117 | "metadata_json": { |
| 118 | "lane": "semantic", | 118 | "lane": "semantic", | ... | ... |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | "job_status": "running", | 49 | "job_status": "running", |
| 50 | "input_count": 20, | 50 | "input_count": 20, |
| 51 | "output_count": null, | 51 | "output_count": null, |
| 52 | "started_at": "2026-06-04T14:00:28.943358+08:00", | 52 | "started_at": "2026-06-04T14:23:31.618052+08:00", |
| 53 | "finished_at": null, | 53 | "finished_at": null, |
| 54 | "log_uri": null, | 54 | "log_uri": null, |
| 55 | "metadata_json": { | 55 | "metadata_json": { |
| ... | @@ -111,8 +111,8 @@ | ... | @@ -111,8 +111,8 @@ |
| 111 | "job_status": "failed", | 111 | "job_status": "failed", |
| 112 | "input_count": 20, | 112 | "input_count": 20, |
| 113 | "output_count": 0, | 113 | "output_count": 0, |
| 114 | "started_at": "2026-06-04T14:00:28.943358+08:00", | 114 | "started_at": "2026-06-04T14:23:31.618052+08:00", |
| 115 | "finished_at": "2026-06-04T14:00:28.944578+08:00", | 115 | "finished_at": "2026-06-04T14:23:31.619353+08:00", |
| 116 | "log_uri": null, | 116 | "log_uri": null, |
| 117 | "metadata_json": { | 117 | "metadata_json": { |
| 118 | "lane": "semantic", | 118 | "lane": "semantic", | ... | ... |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | "job_status": "running", | 49 | "job_status": "running", |
| 50 | "input_count": 20, | 50 | "input_count": 20, |
| 51 | "output_count": null, | 51 | "output_count": null, |
| 52 | "started_at": "2026-06-04T14:00:28.602175+08:00", | 52 | "started_at": "2026-06-04T14:23:30.925797+08:00", |
| 53 | "finished_at": null, | 53 | "finished_at": null, |
| 54 | "log_uri": null, | 54 | "log_uri": null, |
| 55 | "metadata_json": { | 55 | "metadata_json": { |
| ... | @@ -111,8 +111,8 @@ | ... | @@ -111,8 +111,8 @@ |
| 111 | "job_status": "failed", | 111 | "job_status": "failed", |
| 112 | "input_count": 20, | 112 | "input_count": 20, |
| 113 | "output_count": 0, | 113 | "output_count": 0, |
| 114 | "started_at": "2026-06-04T14:00:28.602175+08:00", | 114 | "started_at": "2026-06-04T14:23:30.925797+08:00", |
| 115 | "finished_at": "2026-06-04T14:00:28.603652+08:00", | 115 | "finished_at": "2026-06-04T14:23:30.927236+08:00", |
| 116 | "log_uri": null, | 116 | "log_uri": null, |
| 117 | "metadata_json": { | 117 | "metadata_json": { |
| 118 | "lane": "semantic", | 118 | "lane": "semantic", | ... | ... |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | "job_status": "running", | 49 | "job_status": "running", |
| 50 | "input_count": 20, | 50 | "input_count": 20, |
| 51 | "output_count": null, | 51 | "output_count": null, |
| 52 | "started_at": "2026-06-04T13:52:49.952665+08:00", | 52 | "started_at": "2026-06-04T14:23:29.621089+08:00", |
| 53 | "finished_at": null, | 53 | "finished_at": null, |
| 54 | "log_uri": null, | 54 | "log_uri": null, |
| 55 | "metadata_json": { | 55 | "metadata_json": { |
| ... | @@ -111,8 +111,8 @@ | ... | @@ -111,8 +111,8 @@ |
| 111 | "job_status": "failed", | 111 | "job_status": "failed", |
| 112 | "input_count": 20, | 112 | "input_count": 20, |
| 113 | "output_count": 0, | 113 | "output_count": 0, |
| 114 | "started_at": "2026-06-04T13:52:49.952665+08:00", | 114 | "started_at": "2026-06-04T14:23:29.621089+08:00", |
| 115 | "finished_at": "2026-06-04T13:52:49.954302+08:00", | 115 | "finished_at": "2026-06-04T14:23:29.622399+08:00", |
| 116 | "log_uri": null, | 116 | "log_uri": null, |
| 117 | "metadata_json": { | 117 | "metadata_json": { |
| 118 | "lane": "semantic", | 118 | "lane": "semantic", | ... | ... |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | "job_status": "running", | 49 | "job_status": "running", |
| 50 | "input_count": 20, | 50 | "input_count": 20, |
| 51 | "output_count": null, | 51 | "output_count": null, |
| 52 | "started_at": "2026-06-04T13:52:50.210469+08:00", | 52 | "started_at": "2026-06-04T14:23:29.790262+08:00", |
| 53 | "finished_at": null, | 53 | "finished_at": null, |
| 54 | "log_uri": null, | 54 | "log_uri": null, |
| 55 | "metadata_json": { | 55 | "metadata_json": { |
| ... | @@ -111,8 +111,8 @@ | ... | @@ -111,8 +111,8 @@ |
| 111 | "job_status": "failed", | 111 | "job_status": "failed", |
| 112 | "input_count": 20, | 112 | "input_count": 20, |
| 113 | "output_count": 0, | 113 | "output_count": 0, |
| 114 | "started_at": "2026-06-04T13:52:50.210469+08:00", | 114 | "started_at": "2026-06-04T14:23:29.790262+08:00", |
| 115 | "finished_at": "2026-06-04T13:52:50.211993+08:00", | 115 | "finished_at": "2026-06-04T14:23:29.791468+08:00", |
| 116 | "log_uri": null, | 116 | "log_uri": null, |
| 117 | "metadata_json": { | 117 | "metadata_json": { |
| 118 | "lane": "semantic", | 118 | "lane": "semantic", | ... | ... |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | "job_status": "running", | 49 | "job_status": "running", |
| 50 | "input_count": 20, | 50 | "input_count": 20, |
| 51 | "output_count": null, | 51 | "output_count": null, |
| 52 | "started_at": "2026-06-04T13:52:50.434101+08:00", | 52 | "started_at": "2026-06-04T14:23:29.982036+08:00", |
| 53 | "finished_at": null, | 53 | "finished_at": null, |
| 54 | "log_uri": null, | 54 | "log_uri": null, |
| 55 | "metadata_json": { | 55 | "metadata_json": { |
| ... | @@ -111,8 +111,8 @@ | ... | @@ -111,8 +111,8 @@ |
| 111 | "job_status": "failed", | 111 | "job_status": "failed", |
| 112 | "input_count": 20, | 112 | "input_count": 20, |
| 113 | "output_count": 0, | 113 | "output_count": 0, |
| 114 | "started_at": "2026-06-04T13:52:50.434101+08:00", | 114 | "started_at": "2026-06-04T14:23:29.982036+08:00", |
| 115 | "finished_at": "2026-06-04T13:52:50.435667+08:00", | 115 | "finished_at": "2026-06-04T14:23:29.983246+08:00", |
| 116 | "log_uri": null, | 116 | "log_uri": null, |
| 117 | "metadata_json": { | 117 | "metadata_json": { |
| 118 | "lane": "semantic", | 118 | "lane": "semantic", | ... | ... |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | "job_status": "running", | 49 | "job_status": "running", |
| 50 | "input_count": 20, | 50 | "input_count": 20, |
| 51 | "output_count": null, | 51 | "output_count": null, |
| 52 | "started_at": "2026-06-04T13:52:50.702135+08:00", | 52 | "started_at": "2026-06-04T14:23:30.194094+08:00", |
| 53 | "finished_at": null, | 53 | "finished_at": null, |
| 54 | "log_uri": null, | 54 | "log_uri": null, |
| 55 | "metadata_json": { | 55 | "metadata_json": { |
| ... | @@ -111,8 +111,8 @@ | ... | @@ -111,8 +111,8 @@ |
| 111 | "job_status": "failed", | 111 | "job_status": "failed", |
| 112 | "input_count": 20, | 112 | "input_count": 20, |
| 113 | "output_count": 0, | 113 | "output_count": 0, |
| 114 | "started_at": "2026-06-04T13:52:50.702135+08:00", | 114 | "started_at": "2026-06-04T14:23:30.194094+08:00", |
| 115 | "finished_at": "2026-06-04T13:52:50.703634+08:00", | 115 | "finished_at": "2026-06-04T14:23:30.195481+08:00", |
| 116 | "log_uri": null, | 116 | "log_uri": null, |
| 117 | "metadata_json": { | 117 | "metadata_json": { |
| 118 | "lane": "semantic", | 118 | "lane": "semantic", | ... | ... |
| ... | @@ -153,7 +153,7 @@ | ... | @@ -153,7 +153,7 @@ |
| 153 | "job_status": "running", | 153 | "job_status": "running", |
| 154 | "input_count": 20, | 154 | "input_count": 20, |
| 155 | "output_count": null, | 155 | "output_count": null, |
| 156 | "started_at": "2026-06-04T13:57:50.652147+08:00", | 156 | "started_at": "2026-06-04T14:23:29.115597+08:00", |
| 157 | "finished_at": null, | 157 | "finished_at": null, |
| 158 | "log_uri": null, | 158 | "log_uri": null, |
| 159 | "metadata_json": { | 159 | "metadata_json": { |
| ... | @@ -181,8 +181,8 @@ | ... | @@ -181,8 +181,8 @@ |
| 181 | "job_status": "failed", | 181 | "job_status": "failed", |
| 182 | "input_count": 20, | 182 | "input_count": 20, |
| 183 | "output_count": 0, | 183 | "output_count": 0, |
| 184 | "started_at": "2026-06-04T13:57:50.652147+08:00", | 184 | "started_at": "2026-06-04T14:23:29.115597+08:00", |
| 185 | "finished_at": "2026-06-04T13:57:50.653101+08:00", | 185 | "finished_at": "2026-06-04T14:23:29.116450+08:00", |
| 186 | "log_uri": null, | 186 | "log_uri": null, |
| 187 | "metadata_json": { | 187 | "metadata_json": { |
| 188 | "lane": "exact", | 188 | "lane": "exact", | ... | ... |
| ... | @@ -6,12 +6,8 @@ | ... | @@ -6,12 +6,8 @@ |
| 6 | "features_added": 10, | 6 | "features_added": 10, |
| 7 | "matcher_fingerprint_count": 5, | 7 | "matcher_fingerprint_count": 5, |
| 8 | "fallback_fingerprint_count": 0, | 8 | "fallback_fingerprint_count": 0, |
| 9 | "semantic_runtime_available": false, | 9 | "semantic_runtime_available": true, |
| 10 | "semantic_runtime_missing": [ | 10 | "semantic_runtime_missing": [], |
| 11 | "torch", | 11 | "semantic_runtime_ready_count": 5, |
| 12 | "torchaudio", | 12 | "semantic_fallback_count": 0 |
| 13 | "transformers" | ||
| 14 | ], | ||
| 15 | "semantic_runtime_ready_count": 0, | ||
| 16 | "semantic_fallback_count": 5 | ||
| 17 | } | 13 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -12,11 +12,11 @@ | ... | @@ -12,11 +12,11 @@ |
| 12 | ], | 12 | ], |
| 13 | "feature_ids": [ | 13 | "feature_ids": [ |
| 14 | 20, | 14 | 20, |
| 15 | 11, | 15 | 30, |
| 16 | 21, | 16 | 21, |
| 17 | 13, | 17 | 31, |
| 18 | 22, | 18 | 22, |
| 19 | 15 | 19 | 32 |
| 20 | ], | 20 | ], |
| 21 | "membership_ids": [ | 21 | "membership_ids": [ |
| 22 | 8 | 22 | 8 |
| ... | @@ -31,9 +31,9 @@ | ... | @@ -31,9 +31,9 @@ |
| 31 | ], | 31 | ], |
| 32 | "feature_ids": [ | 32 | "feature_ids": [ |
| 33 | 23, | 33 | 23, |
| 34 | 17, | 34 | 33, |
| 35 | 24, | 35 | 24, |
| 36 | 19 | 36 | 34 |
| 37 | ], | 37 | ], |
| 38 | "membership_ids": [ | 38 | "membership_ids": [ |
| 39 | 9 | 39 | 9 |
| ... | @@ -43,7 +43,7 @@ | ... | @@ -43,7 +43,7 @@ |
| 43 | "counts": { | 43 | "counts": { |
| 44 | "media_entity": 9, | 44 | "media_entity": 9, |
| 45 | "audio_object": 22, | 45 | "audio_object": 22, |
| 46 | "feature_fact": 24, | 46 | "feature_fact": 34, |
| 47 | "set_membership": 9 | 47 | "set_membership": 9 |
| 48 | }, | 48 | }, |
| 49 | "window_lineage_sample": { | 49 | "window_lineage_sample": { |
| ... | @@ -55,10 +55,10 @@ | ... | @@ -55,10 +55,10 @@ |
| 55 | "end_ms": 6000 | 55 | "end_ms": 6000 |
| 56 | }, | 56 | }, |
| 57 | "feature_lineage_sample": { | 57 | "feature_lineage_sample": { |
| 58 | "feature_type": "fingerprint", | 58 | "feature_type": "embedding", |
| 59 | "model_name": "chromaprint_matcher", | 59 | "model_name": "mert-v1-95m", |
| 60 | "model_version": "phase1_local", | 60 | "model_version": "hf-main", |
| 61 | "feature_set_name": "chromaprint_matcher_5s", | 61 | "feature_set_name": "mert_5s_hop2.5_v1", |
| 62 | "window_id": 22, | 62 | "window_id": 22, |
| 63 | "song_id": 9, | 63 | "song_id": 9, |
| 64 | "title": "song beta" | 64 | "title": "song beta" | ... | ... |
| 1 | {"song": {"biz_key": "song_alpha", "title": "song alpha", "artist_name": "artist a"}, "asset": {"source_type": "official", "storage_uri": "/workspace/acr-engine/data/songcentric_builder_smoke/song_alpha/artist_a/clip1.wav", "storage_scheme": "file", "checksum": "path:/workspace/acr-engine/data/songcentric_builder_smoke/song_alpha/artist_a/clip1.wav", "codec": "wav", "sample_rate": 16000, "channels": 1, "duration_ms": 8000}, "windows": [{"start_ms": 0, "end_ms": 5000, "features": [{"feature_type": "fingerprint", "model_name": "chromaprint_matcher", "model_version": "phase1_local", "feature_set_name": "chromaprint_matcher_5s", "fingerprint_value": "dc0c731425f360787f462da693ff4a50", "checksum": "chromaprint:dc0c731425f36078", "metadata_json": {"hash_count": 2643, "hash_sample": [[1842187, 11], [1842188, 11], [1842189, 11], [1842201, 11], [1842212, 11], [1842213, 11], [1842214, 11], [1842438, 11]]}}, {"feature_type": "embedding", "model_name": "local_wavehash_embed", "model_version": "v1", "feature_set_name": "wavehash_embed_5s", "feature_schema_ver": "v1", "embedding_dim": 8, "embedding_uri": "inline://593c7a661cc87444:0:5000", "vector_table_name": "audio_embedding_vector_8_placeholder", "checksum": "emb:593c7a661cc87444", "metadata_json": {"energy": 30555200, "rate": 16000, "channels": 1, "semantic_backend": "local_fallback", "runtime_missing": ["torch", "torchaudio", "transformers"]}}]}, {"start_ms": 2500, "end_ms": 7500, "features": [{"feature_type": "fingerprint", "model_name": "chromaprint_matcher", "model_version": "phase1_local", "feature_set_name": "chromaprint_matcher_5s", "fingerprint_value": "dc0c731425f360787f462da693ff4a50", "checksum": "chromaprint:dc0c731425f36078", "metadata_json": {"hash_count": 2643, "hash_sample": [[1842187, 11], [1842188, 11], [1842189, 11], [1842201, 11], [1842212, 11], [1842213, 11], [1842214, 11], [1842438, 11]]}}, {"feature_type": "embedding", "model_name": "local_wavehash_embed", "model_version": "v1", "feature_set_name": "wavehash_embed_5s", "feature_schema_ver": "v1", "embedding_dim": 8, "embedding_uri": "inline://593c7a661cc87444:2500:7500", "vector_table_name": "audio_embedding_vector_8_placeholder", "checksum": "emb:593c7a661cc87444", "metadata_json": {"energy": 30555200, "rate": 16000, "channels": 1, "semantic_backend": "local_fallback", "runtime_missing": ["torch", "torchaudio", "transformers"]}}]}, {"start_ms": 3000, "end_ms": 8000, "features": [{"feature_type": "fingerprint", "model_name": "chromaprint_matcher", "model_version": "phase1_local", "feature_set_name": "chromaprint_matcher_5s", "fingerprint_value": "dc0c731425f360787f462da693ff4a50", "checksum": "chromaprint:dc0c731425f36078", "metadata_json": {"hash_count": 2643, "hash_sample": [[1842187, 11], [1842188, 11], [1842189, 11], [1842201, 11], [1842212, 11], [1842213, 11], [1842214, 11], [1842438, 11]]}}, {"feature_type": "embedding", "model_name": "local_wavehash_embed", "model_version": "v1", "feature_set_name": "wavehash_embed_5s", "feature_schema_ver": "v1", "embedding_dim": 8, "embedding_uri": "inline://593c7a661cc87444:3000:8000", "vector_table_name": "audio_embedding_vector_8_placeholder", "checksum": "emb:593c7a661cc87444", "metadata_json": {"energy": 30555200, "rate": 16000, "channels": 1, "semantic_backend": "local_fallback", "runtime_missing": ["torch", "torchaudio", "transformers"]}}]}], "memberships": [{"set_type": "reference_set", "set_name": "phase1_hot_reference_v1", "member_type": "asset", "priority": 100}]} | 1 | {"song": {"biz_key": "song_alpha", "title": "song alpha", "artist_name": "artist a"}, "asset": {"source_type": "official", "storage_uri": "/workspace/acr-engine/data/songcentric_builder_smoke/song_alpha/artist_a/clip1.wav", "storage_scheme": "file", "checksum": "path:/workspace/acr-engine/data/songcentric_builder_smoke/song_alpha/artist_a/clip1.wav", "codec": "wav", "sample_rate": 16000, "channels": 1, "duration_ms": 8000}, "windows": [{"start_ms": 0, "end_ms": 5000, "features": [{"feature_type": "fingerprint", "model_name": "chromaprint_matcher", "model_version": "phase1_local", "feature_set_name": "chromaprint_matcher_5s", "fingerprint_value": "dc0c731425f360787f462da693ff4a50", "checksum": "chromaprint:dc0c731425f36078", "metadata_json": {"hash_count": 2643, "hash_sample": [[1842187, 11], [1842188, 11], [1842189, 11], [1842201, 11], [1842212, 11], [1842213, 11], [1842214, 11], [1842438, 11]]}}, {"feature_type": "embedding", "model_name": "mert-v1-95m", "model_version": "hf-main", "feature_set_name": "mert_5s_hop2.5_v1", "feature_schema_ver": "v1", "embedding_dim": 768, "embedding_uri": "inline-mert://19c0162d3bdde235:0:5000", "vector_table_name": "audio_embedding_vector_768_placeholder", "checksum": "emb:19c0162d3bdde235", "metadata_json": {"semantic_backend": "mert_runtime", "embedding_preview": [-0.3520504832267761, 0.14331907033920288, 0.5382340550422668, -0.2453354150056839, -0.2550539970397949, 0.18803788721561432, -0.7973936200141907, 0.0016444226494058967], "model_id": "m-a-p/MERT-v1-95M", "sample_rate": 24000}}]}, {"start_ms": 2500, "end_ms": 7500, "features": [{"feature_type": "fingerprint", "model_name": "chromaprint_matcher", "model_version": "phase1_local", "feature_set_name": "chromaprint_matcher_5s", "fingerprint_value": "dc0c731425f360787f462da693ff4a50", "checksum": "chromaprint:dc0c731425f36078", "metadata_json": {"hash_count": 2643, "hash_sample": [[1842187, 11], [1842188, 11], [1842189, 11], [1842201, 11], [1842212, 11], [1842213, 11], [1842214, 11], [1842438, 11]]}}, {"feature_type": "embedding", "model_name": "mert-v1-95m", "model_version": "hf-main", "feature_set_name": "mert_5s_hop2.5_v1", "feature_schema_ver": "v1", "embedding_dim": 768, "embedding_uri": "inline-mert://19c0162d3bdde235:2500:7500", "vector_table_name": "audio_embedding_vector_768_placeholder", "checksum": "emb:19c0162d3bdde235", "metadata_json": {"semantic_backend": "mert_runtime", "embedding_preview": [-0.3520504832267761, 0.14331907033920288, 0.5382340550422668, -0.2453354150056839, -0.2550539970397949, 0.18803788721561432, -0.7973936200141907, 0.0016444226494058967], "model_id": "m-a-p/MERT-v1-95M", "sample_rate": 24000}}]}, {"start_ms": 3000, "end_ms": 8000, "features": [{"feature_type": "fingerprint", "model_name": "chromaprint_matcher", "model_version": "phase1_local", "feature_set_name": "chromaprint_matcher_5s", "fingerprint_value": "dc0c731425f360787f462da693ff4a50", "checksum": "chromaprint:dc0c731425f36078", "metadata_json": {"hash_count": 2643, "hash_sample": [[1842187, 11], [1842188, 11], [1842189, 11], [1842201, 11], [1842212, 11], [1842213, 11], [1842214, 11], [1842438, 11]]}}, {"feature_type": "embedding", "model_name": "mert-v1-95m", "model_version": "hf-main", "feature_set_name": "mert_5s_hop2.5_v1", "feature_schema_ver": "v1", "embedding_dim": 768, "embedding_uri": "inline-mert://41572279f5119142:3000:8000", "vector_table_name": "audio_embedding_vector_768_placeholder", "checksum": "emb:41572279f5119142", "metadata_json": {"semantic_backend": "mert_runtime", "embedding_preview": [-0.35207104682922363, 0.143335223197937, 0.5382229685783386, -0.24530577659606934, -0.25506195425987244, 0.18804362416267395, -0.7973993420600891, 0.0016323021845892072], "model_id": "m-a-p/MERT-v1-95M", "sample_rate": 24000}}]}], "memberships": [{"set_type": "reference_set", "set_name": "phase1_hot_reference_v1", "member_type": "asset", "priority": 100}]} |
| 2 | {"song": {"biz_key": "song_beta", "title": "song beta", "artist_name": "artist b"}, "asset": {"source_type": "official", "storage_uri": "/workspace/acr-engine/data/songcentric_builder_smoke/song_beta/artist_b/clip2.wav", "storage_scheme": "file", "checksum": "path:/workspace/acr-engine/data/songcentric_builder_smoke/song_beta/artist_b/clip2.wav", "codec": "wav", "sample_rate": 16000, "channels": 1, "duration_ms": 6000}, "windows": [{"start_ms": 0, "end_ms": 5000, "features": [{"feature_type": "fingerprint", "model_name": "chromaprint_matcher", "model_version": "phase1_local", "feature_set_name": "chromaprint_matcher_5s", "fingerprint_value": "d8fc2442b4ec3ce5ae180c5845cffccb", "checksum": "chromaprint:d8fc2442b4ec3ce5", "metadata_json": {"hash_count": 2202, "hash_sample": [[2763289, 23], [2763524, 23], [2763541, 23], [2763549, 23], [2763566, 23], [2763801, 23], [2764050, 23], [2764075, 23]]}}, {"feature_type": "embedding", "model_name": "local_wavehash_embed", "model_version": "v1", "feature_set_name": "wavehash_embed_5s", "feature_schema_ver": "v1", "embedding_dim": 8, "embedding_uri": "inline://4ed2ccfa55b10b88:0:5000", "vector_table_name": "audio_embedding_vector_8_placeholder", "checksum": "emb:4ed2ccfa55b10b88", "metadata_json": {"energy": 30555680, "rate": 16000, "channels": 1, "semantic_backend": "local_fallback", "runtime_missing": ["torch", "torchaudio", "transformers"]}}]}, {"start_ms": 1000, "end_ms": 6000, "features": [{"feature_type": "fingerprint", "model_name": "chromaprint_matcher", "model_version": "phase1_local", "feature_set_name": "chromaprint_matcher_5s", "fingerprint_value": "d8fc2442b4ec3ce5ae180c5845cffccb", "checksum": "chromaprint:d8fc2442b4ec3ce5", "metadata_json": {"hash_count": 2202, "hash_sample": [[2763289, 23], [2763524, 23], [2763541, 23], [2763549, 23], [2763566, 23], [2763801, 23], [2764050, 23], [2764075, 23]]}}, {"feature_type": "embedding", "model_name": "local_wavehash_embed", "model_version": "v1", "feature_set_name": "wavehash_embed_5s", "feature_schema_ver": "v1", "embedding_dim": 8, "embedding_uri": "inline://4ed2ccfa55b10b88:1000:6000", "vector_table_name": "audio_embedding_vector_8_placeholder", "checksum": "emb:4ed2ccfa55b10b88", "metadata_json": {"energy": 30555680, "rate": 16000, "channels": 1, "semantic_backend": "local_fallback", "runtime_missing": ["torch", "torchaudio", "transformers"]}}]}], "memberships": [{"set_type": "reference_set", "set_name": "phase1_hot_reference_v1", "member_type": "asset", "priority": 100}]} | 2 | {"song": {"biz_key": "song_beta", "title": "song beta", "artist_name": "artist b"}, "asset": {"source_type": "official", "storage_uri": "/workspace/acr-engine/data/songcentric_builder_smoke/song_beta/artist_b/clip2.wav", "storage_scheme": "file", "checksum": "path:/workspace/acr-engine/data/songcentric_builder_smoke/song_beta/artist_b/clip2.wav", "codec": "wav", "sample_rate": 16000, "channels": 1, "duration_ms": 6000}, "windows": [{"start_ms": 0, "end_ms": 5000, "features": [{"feature_type": "fingerprint", "model_name": "chromaprint_matcher", "model_version": "phase1_local", "feature_set_name": "chromaprint_matcher_5s", "fingerprint_value": "d8fc2442b4ec3ce5ae180c5845cffccb", "checksum": "chromaprint:d8fc2442b4ec3ce5", "metadata_json": {"hash_count": 2202, "hash_sample": [[2763289, 23], [2763524, 23], [2763541, 23], [2763549, 23], [2763566, 23], [2763801, 23], [2764050, 23], [2764075, 23]]}}, {"feature_type": "embedding", "model_name": "mert-v1-95m", "model_version": "hf-main", "feature_set_name": "mert_5s_hop2.5_v1", "feature_schema_ver": "v1", "embedding_dim": 768, "embedding_uri": "inline-mert://8fba0c500a3b0ea1:0:5000", "vector_table_name": "audio_embedding_vector_768_placeholder", "checksum": "emb:8fba0c500a3b0ea1", "metadata_json": {"semantic_backend": "mert_runtime", "embedding_preview": [-0.19793148338794708, -0.03429954871535301, 0.19485341012477875, 0.20893174409866333, 0.09195005148649216, 0.3521425426006317, -0.35800355672836304, -0.014406130649149418], "model_id": "m-a-p/MERT-v1-95M", "sample_rate": 24000}}]}, {"start_ms": 1000, "end_ms": 6000, "features": [{"feature_type": "fingerprint", "model_name": "chromaprint_matcher", "model_version": "phase1_local", "feature_set_name": "chromaprint_matcher_5s", "fingerprint_value": "d8fc2442b4ec3ce5ae180c5845cffccb", "checksum": "chromaprint:d8fc2442b4ec3ce5", "metadata_json": {"hash_count": 2202, "hash_sample": [[2763289, 23], [2763524, 23], [2763541, 23], [2763549, 23], [2763566, 23], [2763801, 23], [2764050, 23], [2764075, 23]]}}, {"feature_type": "embedding", "model_name": "mert-v1-95m", "model_version": "hf-main", "feature_set_name": "mert_5s_hop2.5_v1", "feature_schema_ver": "v1", "embedding_dim": 768, "embedding_uri": "inline-mert://c9df74780785105b:1000:6000", "vector_table_name": "audio_embedding_vector_768_placeholder", "checksum": "emb:c9df74780785105b", "metadata_json": {"semantic_backend": "mert_runtime", "embedding_preview": [-0.1979486346244812, -0.03429602086544037, 0.19487044215202332, 0.2089356631040573, 0.09194732457399368, 0.3521481156349182, -0.35801443457603455, -0.01440188754349947], "model_id": "m-a-p/MERT-v1-95M", "sample_rate": 24000}}]}], "memberships": [{"set_type": "reference_set", "set_name": "phase1_hot_reference_v1", "member_type": "asset", "priority": 100}]} | ... | ... |
| ... | @@ -33,26 +33,22 @@ | ... | @@ -33,26 +33,22 @@ |
| 33 | "features_added": 10, | 33 | "features_added": 10, |
| 34 | "matcher_fingerprint_count": 5, | 34 | "matcher_fingerprint_count": 5, |
| 35 | "fallback_fingerprint_count": 0, | 35 | "fallback_fingerprint_count": 0, |
| 36 | "semantic_runtime_available": false, | 36 | "semantic_runtime_available": true, |
| 37 | "semantic_runtime_missing": [ | 37 | "semantic_runtime_missing": [], |
| 38 | "torch", | 38 | "semantic_runtime_ready_count": 5, |
| 39 | "torchaudio", | 39 | "semantic_fallback_count": 0 |
| 40 | "transformers" | ||
| 41 | ], | ||
| 42 | "semantic_runtime_ready_count": 0, | ||
| 43 | "semantic_fallback_count": 5 | ||
| 44 | }, | 40 | }, |
| 45 | "import_counts": { | 41 | "import_counts": { |
| 46 | "media_entity": 9, | 42 | "media_entity": 9, |
| 47 | "audio_object": 22, | 43 | "audio_object": 22, |
| 48 | "feature_fact": 24, | 44 | "feature_fact": 34, |
| 49 | "set_membership": 9 | 45 | "set_membership": 9 |
| 50 | }, | 46 | }, |
| 51 | "feature_lineage_sample": { | 47 | "feature_lineage_sample": { |
| 52 | "feature_type": "fingerprint", | 48 | "feature_type": "embedding", |
| 53 | "model_name": "chromaprint_matcher", | 49 | "model_name": "mert-v1-95m", |
| 54 | "model_version": "phase1_local", | 50 | "model_version": "hf-main", |
| 55 | "feature_set_name": "chromaprint_matcher_5s", | 51 | "feature_set_name": "mert_5s_hop2.5_v1", |
| 56 | "window_id": 22, | 52 | "window_id": 22, |
| 57 | "song_id": 9, | 53 | "song_id": 9, |
| 58 | "title": "song beta" | 54 | "title": "song beta" | ... | ... |
No preview for this file type
No preview for this file type
No preview for this file type
-
Please register or sign in to post a comment