Skip to content

Commit 9e3161c

Browse files
authored
Merge pull request #5 from trouze/chore/changelog-reconcile-v0.1.0
docs(changelog): reconcile [0.1.0] with what actually shipped
2 parents e35072a + 7cc13ae commit 9e3161c

1 file changed

Lines changed: 6 additions & 14 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,6 @@ All notable changes to this project will be documented in this file. The format
44

55
## [Unreleased]
66

7-
### Added
8-
9-
- `dbt-dag-opt replay` subcommand: reconstructs the observed schedule from `run_results.json`'s `thread_id` + per-phase `timing` data, joined against `manifest.json`'s `parent_map`. Reports per-thread utilization, observed critical path (walked backwards from the last-completing node), and top idle gaps with parent-node attribution.
10-
- Output formats for `replay`: `text` (rich terminal summary, default) and `json` (full replay report, including raw events).
11-
- Integration fixture at `tests/fixtures/dbt_dugout/` — a real Snowflake dbt run (57 nodes, 4 threads) used to smoke-test `replay` end-to-end.
12-
- `analyze --show-path`: render the full chain of node ids for each longest path in the table output.
13-
- `analyze` table now includes a **Bottleneck** column naming the slowest model on each path. A bottleneck that appears across multiple rows is a shared-node optimization target.
14-
157
## [0.1.0] - 2026-04-24
168

179
Initial PyPI release. Complete rewrite of the pre-release prototype.
@@ -21,10 +13,14 @@ Initial PyPI release. Complete rewrite of the pre-release prototype.
2113
- `dbt-dag-opt analyze` CLI (Typer) with two input modes:
2214
- File mode: `--manifest` and `--run-results` point at local dbt artifacts.
2315
- Cloud mode: `--account-id`, `--job-id`, optional `--run-id`, and `DBT_CLOUD_TOKEN` env var (or `--token`) pull artifacts from the dbt Cloud Admin API.
24-
- Output formats: `table` (rich terminal), `json` (valid, `jq`-friendly), `jsonl`.
25-
- `--top N` to limit results; `--output` to write to a file.
16+
- `analyze --show-path` to render the full chain of node ids for each longest path in the table output.
17+
- `analyze` table includes a **Bottleneck** column naming the slowest model on each path. A bottleneck that appears across multiple rows is a shared-node optimization target.
18+
- `dbt-dag-opt replay` subcommand: reconstructs the observed schedule from `run_results.json`'s `thread_id` + per-phase `timing` data, joined against `manifest.json`'s `parent_map`. Reports per-thread utilization, observed critical path (walked backwards from the last-completing node), and top idle gaps with parent-node attribution.
19+
- Output formats: `analyze``table` (rich terminal, default), `json` (valid, `jq`-friendly), `jsonl`. `replay``text` (rich terminal summary, default), `json` (full replay report including raw events).
20+
- `--top N` to limit `analyze` results; `--top-idle-gaps N` for `replay`; `--output` to write any command to a file.
2621
- Typed exceptions (`ArtifactLoadError`, `DbtCloudAPIError`, `InvalidArtifactError`, `GraphError`).
2722
- Package ships with `py.typed` (PEP 561).
23+
- Integration fixture at `tests/fixtures/dbt_dugout/` — a real Snowflake dbt run (57 nodes, 4 threads) used to smoke-test `replay` end-to-end.
2824
- CI matrix across Python 3.10 / 3.11 / 3.12.
2925
- PyPI publishing via Trusted Publishers (OIDC) on tag push.
3026

@@ -34,7 +30,3 @@ Initial PyPI release. Complete rewrite of the pre-release prototype.
3430
- Node weights are now attached to the *target* node of each path hop (fixes a bug where parent weights were assigned to outgoing edges).
3531
- Adjacency list replaces full-edge-list rescan on every DFS step.
3632
- Output is valid JSON by default (prototype's `longest_paths.json` was a stream of comma-separated fragments opened in append mode — not parseable).
37-
38-
### Notes for PyPI Trusted Publishing
39-
40-
Before the first `v*` tag is pushed, configure PyPI: Project settings → Publishing → Add GitHub publisher with `trouze/dbt-dag-opt` / workflow `publish.yml` / environment `pypi`.

0 commit comments

Comments
 (0)