chore(release): v0.12.2
Issue for this PR
Release PR — no issue. Promotes v0.12.2-beta.1 (#1341 #1342 #1343 #1344 #1345 #1346) to latest, with the fixes from this release's review.
Type of change
- Other: release
What does this PR do?
One commit on main: the ## [0.12.2] CHANGELOG entry plus the fixes the five-persona release review and the adversarial test file turned up. Once merged, the merge commit is tagged v0.12.2, which publishes to the npm latest dist-tag (every user auto-upgrades).
Review consensus: 5/5 SHIP WITH NOTES (CTO, PM, End User, Tech Lead, Chaos Gremlin = support engineer on the first week of tickets). One P0-candidate, reproduced and fixed:
- validate: the beta folded a quoted all-uppercase SQL reference whenever the schema held the name in lowercase — right for Snowflake (uppercase metadata, folded), wrong for Postgres/DuckDB where
shipped_dateheld as written means"SHIPPED_DATE"is a different identifier: the beta reportedvalid: true, Postgres throws. The SQL is now folded only for names the schema itself folded. Regression test added; the Snowflake case still validates. - run: the "answered" step counter skips compaction steps (as the turn budget does), so context management after the final answer cannot trigger a spurious follow-up; the silent-turn directive bounds the tool name it interpolates (adversarial file).
- tui: New in the skills browser is
ctrl+o—ctrl+ewas line-end in the filter box, the same class as the ctrl+a bug #1342 fixed. Docs updated. - finops: the BigQuery note names
datamate_bigquery_list_database_connectionsfor the location. - CHANGELOG:
[0.12.2]leads with the heads-ups everylatestuser needs — the documentedALTIMATE_CLI_*name now wins when both spellings are set (check forALTIMATE_CLI_DBand a staleALTIMATE_CLI_DISABLE_AUTOUPDATE=false), and headlessrunexits 1 where it exited 0 — and pins the validator's known limitations. The beta's FinOps bullet is labelled pilot-only.
Deferred to follow-ups (need design): a dialect input for the validator tools; the TuiDialogSelectAction union in the plugin package; a sweep of dialog chords against line-editing keys; the three skills-browser screenshots.
How did you verify your code works?
bun script/release-preflight.ts --version 0.12.2 --stage pre: PASSbun turbo typecheck --force: 13/13test/altimate,test/flag,test/session,test/skill,run-accounting: 7,556 pass (one knownskill-synctiming flake, passes alone)test/skill/release-v0.12.2-adversarial.test.ts: 23 tests (env rule against odd values, lexer traps, 100k-token fold, unfold round-trip, hostile tool/workspace names, 5k-table schema)OPENCODE_VERSION=0.12.2 bun run pre-release: PASS, binary reports0.12.2- Package size: 173 MB compressed
- Marker guard: clean
- Verdaccio install sanity (Docker, linux-arm64 build): running — result posted here before merge
Not done: a beta soak or round-trip upgrade proof — the beta was published the same day; promoted on the user's decision.
Checklist
- I have tested my changes locally
- I have not included unrelated changes in this PR
🤖 Generated with Claude Code
https://claude.ai/code/session_012Q51zFUmPg1WwtS5CrGJE6
Summary by cubic
Release PR promoting v0.12.2-beta.1 to latest, with fixes from the release review, a new adversarial test file, and consensus-review fixes.
altimate_core_validatefolds quoted identifiers only when the schema itself folded them, and never on the strength of an unrelated table's column; the beta wrongly validated a quoted"SHIPPED_DATE"against lowercase Postgres/DuckDB metadata, and the quoted-lowercase collision on Snowflake is pinned as a known limitation.unfoldnow steps over string literals, dollar strings, and comments instead of rewriting quoted values inside them.- Headless
run: compaction steps no longer count toward the answered-step counter, so context management after the final answer won't trigger a spurious follow-up; the silent-turn directive no longer carries a tool's name or error into the prompt (kept only in the UI and stdout lines). - Skills browser New is now
ctrl+osincectrl+eis line-end in the filter box; docs updated. - FinOps BigQuery failure note now names
datamate_bigquery_list_database_connectionsfor finding a connection's location. - CHANGELOG entry with two upgrade heads-ups: the documented
ALTIMATE_CLI_*env var name now wins when both spellings are set (checkALTIMATE_CLI_DBand a staleALTIMATE_CLI_DISABLE_AUTOUPDATE=false), and headlessrunexits 1 in silent-turn cases that used to exit 0 — after a failed tool or after one that succeeded.
Summary by CodeRabbit
-
New Features
- Updated the Skills browser and Create Skill dialog shortcut for “New” to
Ctrl+O. - Improved guidance for resolving unknown BigQuery locations in FinOps workspace errors.
- Updated the Skills browser and Create Skill dialog shortcut for “New” to
-
Bug Fixes
- Improved SQL identifier handling for lowercase metadata, quoted references, and schema collisions.
- Prevented unnecessary follow-up replies after compaction.
- Follow-up messages for failed tool calls no longer repeat tool names.
-
Documentation
- Expanded documentation of known SQL identifier-handling limitations.