Using Haiku is much cheaper than Opus, being constrained by budget quota each week, I tend to use Haiku most of the time, but for complex and/or important tasks, Opus is the go-to as it can solve problems that Haiku can NOT.
Here is a real case I would like to share. Asking the same question to Haiku and Opus4.7 respectively and Opus came back with much more detailed reply, asking Opus to evaluate Haiku’s answer, and there are quite a few significant issues: “Read carefully — that other review gets the high-level architecture story right but is wrong on several specifics, and misses everything that would actually break a consumer’s pip install.” These mistakes are quite unforgivable and alarming, I really need to be extraordinary cautious when use Haiku!!!
It points out where Haiku’s review is wrong:
- “Today’s code is pre-Phase-1, meaning core/ doesn’t exist.” — Wrong. shared/core/{config.py, snowflake.py, factset_auth.py} all exist and are wired in. shared/reporting/ has been promoted out of utils/. shared/nss/ exists. The smoke test runs and passes. The reorg is substantially done, not pending.
- “Snowflake connection created 17+ times independently / configparser duplicated” — Stale. I grepped: zero configparser usage remains in api/* or db/*. Every api tool now does from shared.core.config import load_config and from shared.core.factset_auth import get_factset_basic_auth. The centralization the other review demands has already happened.
- “Setup.py hygiene” — Listed as a strength. It’s actually a P0 bug: setup.py declares python-dotenv, sqlalchemy, snowflake-sqlalchemy (none used) and is missing requests, openpyxl, pyyaml, numpy, anthropic (all used at import time). Anyone doing pip install factset-shared-tools in a clean venv hits ImportError on first import. The other review didn’t open setup.py.
- “Pin snowflake-sqlalchemy>=1.5.0,<2.0” — Pinning a dependency the code doesn’t use isn’t useful. Remove it instead.
Deeper review adds that the Haiku review completely misses, Everything that’s actually a runtime bug, in priority order:
