chore(claude-team): bump to 3.0.0 to dispatch the rebuild 2.0.0 and 2.2.0 deferred - #2666
Merged
Conversation
….2.0 deferred No schema change of its own. A MAJOR descriptor version is the only thing that makes reconcile-connectors dispatch a one-shot `dbt --full-refresh` scoped to `tag:claude-team+`, and three earlier changes each needed rows to re-materialise and each deliberately shipped as MINOR instead. Four things only that rebuild can do. Rows written before 2.2.0 carry an empty seat_status and reach gold as `unknown`, because staging re-reads a three-day window and never revisits them. The seats the pre-2.2.0 `status = 'active'` filter dropped at staging time are still in Bronze — the vendor restates that status as of the read rather than as of the metric date, so deactivating a seat removed that person's whole history — and only a full re-read brings them through. The roster rows admitted before 2.2.0's activity gate violate what assert_ai_dev_usage_rows_active states. And the rows the old table-wide silver watermark stranded return only when staging re-emits them: #2607 moved the boundary to per-(tenant, source), which stops the loss without undoing it. Safe now and not before. `full_refresh=false` on claude_team__ai_overage landed in 2.2.0, and that model is the only place a past month's closing spend exists — the endpoint keeps no history. It had to be on main before anything could read a MAJOR version, or the rebuild would delete the months it protects. The rebuild now skips it while class_ai_overage re-materialises from it. The version is set by hand rather than by CI: claude-team is declarative and carries no `images:` block, so the build's automatic minor bump never sees it. Signed-off-by: Gregory Gogin <grigoriy.gogin@constructor.tech>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
hello1101n
approved these changes
Aug 19, 2026
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #2665.
Why. Three Claude Team changes each needed rows to re-materialise and each shipped as MINOR to avoid a rebuild that was not yet safe. A MAJOR descriptor version is the only thing that dispatches the one-shot
dbt --full-refreshscoped totag:claude-team+.What changed.
descriptor.yaml2.2.0 → 3.0.0, and the comment records the four effects:seat_statuson rows written before 2.2.0, the seats the pre-2.2.0status = 'active'filter dropped at staging time while Bronze kept them, the roster rows admitted before 2.2.0's activity gate, and the rows the old table-wide silver watermark stranded — #2607 stopped that loss without undoing it.Safe now and not before.
full_refresh=falseonclaude_team__ai_overagelanded in 2.2.0, so the one relation holding a past month's closing spend is skipped whileclass_ai_overagere-materialises from it.Set by hand, deliberately.
claude-teamis declarative and carries noimages:block, so the build's automatic minor bump never touches this descriptor.Out of scope. The classes this rebuild does not reach; the recovery procedure for those is tracked under #1607.
Verified.
classify_bump.py 3.0.0 2.2.0returnsmajorwhere2.3.0returnsminor, so the dispatch fires.scripts/ci/connector_wiring.pypasses, with only the pre-existing slack warning. Descriptor parses;dbt_selectunchanged.