chore: add pre-publish blocker tracking document
Add FIX-BLOCKS.md to track critical and high-priority issues
identified in pre-publish reviews.
🤖 GENERATED WITH ASSISTANCE OF OhMyOpenCode
This commit is contained in:
122
FIX-BLOCKS.md
Normal file
122
FIX-BLOCKS.md
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
# 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
|
||||||
Reference in New Issue
Block a user