Commit 3ff5efd2 3ff5efd2a67177bd01f1499e74c33d6aee129fc8 by cnb.bofCdSsphPA

update readme.md

1 parent 5e373f5b
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"
......