altimate-code 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/package.json +14 -14
package/CHANGELOG.md CHANGED
@@ -5,6 +5,36 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.6.1] - 2026-04-24
9
+
10
+ ### Fixed
11
+
12
+ - **BigQuery finops tools were broken — now work, in any region.** `finops_query_history` was failing 100% on BigQuery with `Unrecognized name: error_message at [11:5]`. Three separate bugs in the `INFORMATION_SCHEMA.JOBS` template: (a) `error_message` and `error_code` were read as top-level columns but they only exist inside the `error_result` struct — now reads `error_result.message` and `error_result.reason`; (b) `total_rows` is a `PARTITIONS` column, not `JOBS` — replaced with `CAST(NULL AS INT64) AS rows_produced`; (c) BigQuery's `state` returns `'DONE'`, not `'SUCCESS'`, so the summary loop was reporting every completed job as FAILED — now derives `execution_status` from `error_result IS NULL`. Every successful BQ job now reports as SUCCESS. (#739, closes #738)
13
+ - **BigQuery finops unusable outside US region.** All five finops modules (`finops_query_history`, `finops_analyze_credits`, `finops_expensive_queries`, `finops_warehouse_advice`, `finops_unused_resources`, `finops_role_grants`) hardcoded `` `region-US.INFORMATION_SCHEMA.*` ``. Now reads the BigQuery connection's configured `location` (e.g. `us`, `eu`, `us-central1`, `asia-northeast1`), sanitised via an `[a-z0-9-]` allowlist with a 64-char cap and hyphen trim. If `location` is unset the tool defaults to `us` — **set `location` explicitly on the BigQuery connection for non-US projects** or you will query the wrong region. Snowflake and Databricks paths are unchanged. (#739)
14
+
15
+ ### Changed
16
+
17
+ - **`@altimateai/altimate-core` 0.3.0 → 0.3.1** — upstream patch release of the native SQL type-checker used by `altimate_core_validate` and the cross-dialect data-parity engine.
18
+
19
+ ### Docs
20
+
21
+ - **New showcase page** (`docs/examples/`) with 12 end-to-end workflow demos — dbt peer review, column-level lineage diff, MS SQL → Fabric migration, Fabric platform admin, upstream schema change, NYC Taxi, Olist, Spotify, and more. (#742)
22
+ - **`location` field documented** on the BigQuery connection and called out on the finops tools page.
23
+
24
+ ### Data handling
25
+
26
+ - `finops_query_history`, `finops_analyze_credits`, and `finops_warehouse_advice` read `user_email` (BigQuery), `user_name` (Snowflake / Databricks / ClickHouse), and raw `query_text` from warehouse system views. Results are returned to the agent and enter the LLM context window. No telemetry or backend upload. Review your tenant's data-handling policy before enabling finops tools in regulated (PII / PHI / PCI) environments.
27
+ - `finops_unused_resources` on BigQuery reads `INFORMATION_SCHEMA.TABLE_STORAGE`, which is an org-level view. Project-scoped service accounts typically require `bigquery.resourceAdmin` at the org to avoid a permission error.
28
+
29
+ ### Internal
30
+
31
+ - `anti-slop` CI workflow is now advisory — labels + comments still fire on blocked-term hits, but the workflow no longer auto-closes PRs. Root cause: the repo's pull-request template embeds an HTML comment instructing AI to insert "PINEAPPLE", which `anti-slop.yml` also blocklists — every AI-assisted team-member PR was auto-closing within two minutes. (#741, closes #740)
32
+ - Marker-guard hotfix: the `isValidDatabricksHost` env-fallback path added in v0.6.0 straddled the post-push Marker Guard's `-U5` diff window; wrapped in an inline `altimate_change` marker pair to keep strict mode green.
33
+
34
+ ### Testing
35
+
36
+ - New adversarial tests for v0.6.1 in `packages/opencode/test/skill/release-v0.6.1-adversarial.test.ts`: `sanitizeBqRegion` injection vectors (CRLF, null bytes, backticks, path traversal, Unicode homoglyphs, prototype-pollution-adjacent inputs), `interpolateBqRegion` idempotency and multi-placeholder safety, `bqRegionFor` registry edge cases, BIGQUERY_HISTORY_SQL column-name regression guards (all four #739 bugs), cross-module "every BQ template uses `{region}`" guard, and full-pipeline `buildHistoryQuery` behaviour including Snowflake / Databricks no-regression guards.
37
+
8
38
  ## [0.6.0] - 2026-04-21
9
39
 
10
40
  ### Added
package/package.json CHANGED
@@ -14,24 +14,24 @@
14
14
  "scripts": {
15
15
  "postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
16
16
  },
17
- "version": "0.6.0",
17
+ "version": "0.6.1",
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@altimateai/altimate-core": "0.3.0"
20
+ "@altimateai/altimate-core": "0.3.1"
21
21
  },
22
22
  "optionalDependencies": {
23
- "@altimateai/altimate-code-linux-x64-musl": "0.6.0",
24
- "@altimateai/altimate-code-linux-x64-baseline": "0.6.0",
25
- "@altimateai/altimate-code-windows-arm64": "0.6.0",
26
- "@altimateai/altimate-code-darwin-arm64": "0.6.0",
27
- "@altimateai/altimate-code-windows-x64-baseline": "0.6.0",
28
- "@altimateai/altimate-code-linux-arm64": "0.6.0",
29
- "@altimateai/altimate-code-linux-x64-baseline-musl": "0.6.0",
30
- "@altimateai/altimate-code-darwin-x64-baseline": "0.6.0",
31
- "@altimateai/altimate-code-windows-x64": "0.6.0",
32
- "@altimateai/altimate-code-darwin-x64": "0.6.0",
33
- "@altimateai/altimate-code-linux-x64": "0.6.0",
34
- "@altimateai/altimate-code-linux-arm64-musl": "0.6.0"
23
+ "@altimateai/altimate-code-linux-x64-musl": "0.6.1",
24
+ "@altimateai/altimate-code-linux-x64-baseline": "0.6.1",
25
+ "@altimateai/altimate-code-windows-arm64": "0.6.1",
26
+ "@altimateai/altimate-code-darwin-arm64": "0.6.1",
27
+ "@altimateai/altimate-code-windows-x64-baseline": "0.6.1",
28
+ "@altimateai/altimate-code-linux-arm64": "0.6.1",
29
+ "@altimateai/altimate-code-linux-x64-baseline-musl": "0.6.1",
30
+ "@altimateai/altimate-code-darwin-x64-baseline": "0.6.1",
31
+ "@altimateai/altimate-code-windows-x64": "0.6.1",
32
+ "@altimateai/altimate-code-darwin-x64": "0.6.1",
33
+ "@altimateai/altimate-code-linux-x64": "0.6.1",
34
+ "@altimateai/altimate-code-linux-arm64-musl": "0.6.1"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "pg": ">=8",