# Pre-Publish BLOCK Issues: Fix ALL Before Release Two independent pre-publish reviews (Opus 4.6 + GPT-5.4) both concluded **BLOCK -- do not publish**. You must fix ALL blocking issues below using UltraBrain parallel agents. Work TDD-style: write/update tests first, then fix, verify tests pass. ## Strategy Use ultrawork (ulw) to spawn UltraBrain agents in parallel. Each UB agent gets a non-overlapping scope. After all agents complete, run bun test to verify everything passes. Commit atomically per fix group. --- ## CRITICAL BLOCKERS (must fix -- 6 items) ### C1: Hashline Backward Compatibility **Problem:** Strict whitespace hashing in hashline changes LINE#ID values for indented lines. Breaks existing anchors in cached/persisted edit operations. **Fix:** Add a compatibility shim -- when lookup by new hash fails, fall back to legacy hash (without strict whitespace). Or version the hash format. **Files:** Look for hashline-related files in src/tools/ or src/shared/ ### C2: OpenAI-Only Model Catalog Broken with OpenCode-Go **Problem:** isOpenAiOnlyAvailability() does not exclude availability.opencodeGo. When OpenCode-Go is present, OpenAI-only detection is wrong -- models get misrouted. **Fix:** Add !availability.opencodeGo check to isOpenAiOnlyAvailability(). **Files:** Model/provider system files -- search for isOpenAiOnlyAvailability ### C3: CLI/Runtime Model Table Divergence **Problem:** Model tables disagree between CLI install-time and runtime: - ultrabrain: gpt-5.3-codex in CLI vs gpt-5.4 in runtime - atlas: claude-sonnet-4-5 in CLI vs claude-sonnet-4-6 in runtime - unspecified-high also diverges **Fix:** Reconcile all model tables. Pick the correct model for each and make CLI + runtime match. **Files:** Search for model table definitions, agent configs, CLI model references ### C4: atlas/metis/sisyphus-junior Missing OpenAI Fallbacks **Problem:** These agents can resolve to opencode/glm-4.7-free or undefined in OpenAI-only environments. No valid OpenAI fallback paths exist. **Fix:** Add valid OpenAI model fallback paths for all agents that need them. **Files:** Agent config/model resolution code ### C5: model_fallback Default Mismatch **Problem:** Schema and docs say model_fallback defaults to false, but runtime treats unset as true. Silent behavior change for all users. **Fix:** Align -- either update schema/docs to say true, or fix runtime to default to false. Check what the intended behavior is from git history. **Files:** Schema definition, runtime config loading ### C6: background_output Default Changed **Problem:** background_output now defaults to full_session=true. Old callers get different output format without code changes. **Fix:** Either document this change clearly, or restore old default and make full_session opt-in. **Files:** Background output handling code --- ## HIGH PRIORITY (strongly recommended -- 4 items) ### H1: Runtime Fallback session-status-handler Race **Problem:** When fallback model is already pending, the handler cannot advance the chain on subsequent cooldown events. **Fix:** Allow override like message-update-handler does. **Files:** Search for session-status-handler, message-update-handler ### H2: Atlas Final-Wave Approval Gate Logic **Problem:** Approval gate logic does not match real Prometheus plan structure (nested checkboxes, parallel execution). Trigger logic is wrong. **Fix:** Update to handle real plan structures. **Files:** Atlas agent code, approval gate logic ### H3: delegate-task-english-directive Dead Code **Problem:** Not dispatched from tool-execute-before.ts + wrong hook signature. Either wire properly or remove entirely. **Fix:** Remove if not needed (cleaner). If needed, fix dispatch + signature. **Files:** src/hooks/, tool-execute-before.ts ### H4: Auto-Slash-Command Session-Lifetime Dedup **Problem:** Dedup uses session lifetime, suppressing legitimate repeated identical commands. **Fix:** Change to short TTL (e.g., 30 seconds) instead of session lifetime. **Files:** Slash command handling code --- ## ADDITIONAL BLOCKERS FROM GPT-5.4 REVIEW ### G1: Package Identity Split-Brain **Problem:** Installer writes oh-my-openagent but doctor, auto-update, version lookup, publish workflow still reference oh-my-opencode. Half-migrated state. **Fix:** Audit ALL references to package name. Either complete the migration consistently or revert to single name for this release. **Files:** Installer, doctor, auto-update, version lookup, publish workflow -- grep for both package names ### G2: OpenCode-Go --opencode-go Value Validation **Problem:** No validation for --opencode-go CLI value. No detection of existing OpenCode-Go installations. **Fix:** Add value validation + existing install detection. **Files:** CLI option handling code ### G3: Skill/Hook Reference Errors **Problem:** - work-with-pr references non-existent git tool category - github-triage references TaskCreate/TaskUpdate which are not real tool names **Fix:** Fix tool references to use actual tool names. **Files:** Skill definition files in .opencode/skills/ ### G4: Stale Context-Limit Cache **Problem:** Shared context-limit resolver caches provider config. When config changes, stale removed limits persist and corrupt compaction/truncation decisions. **Fix:** Add cache invalidation when provider config changes, or make the resolver stateless. **Files:** Context-limit resolver, compaction code ### G5: disabled_hooks Schema vs Runtime Contract Mismatch **Problem:** Schema is strict (rejects unknown hook names) but runtime is permissive (ignores unknown). Contract disagreement. **Fix:** Align -- either make both strict or both permissive. **Files:** Hook schema definition, runtime hook loading --- ## EXECUTION INSTRUCTIONS 1. Spawn UltraBrain agents to fix these in parallel -- group by file proximity: - UB-1: C1 (hashline) + H4 (slash-command dedup) - UB-2: C2 + C3 + C4 (model/provider system) + G2 - UB-3: C5 + C6 (config defaults) + G5 - UB-4: H1 + H2 (runtime handlers + Atlas gate) - UB-5: H3 + G3 (dead code + skill references) - UB-6: G1 (package identity -- full audit) - UB-7: G4 (context-limit cache) 2. Each UB agent MUST: - Write or update tests FIRST (TDD) - Implement the fix - Run bun test on affected test files - Commit with descriptive message 3. After all UB agents complete, run full bun test to verify no regressions. ulw