Skip to content

fix(review): keep reviews 14 days and base graphs 30 - #93

Merged
Svilen-Stefanov merged 1 commit into
mainfrom
fix/tighter-artifact-retention
Aug 19, 2026
Merged

fix(review): keep reviews 14 days and base graphs 30#93
Svilen-Stefanov merged 1 commit into
mainfrom
fix/tighter-artifact-retention

Conversation

@Svilen-Stefanov

Copy link
Copy Markdown
Contributor

Tightens the three retentions to 14 / 14 / 30 — review artifact, renewal threshold, base graph.

before after
review artifact 30 days 14
renewal threshold 30 days 14
base graph 60 days 30
reuse window (base − threshold) 30 days 16
runs/month, Team, half allowance ~1,850 ~3,670

Modelled at the largest repository we have (0.24 MB review, 0.70 MB state, compressed).

Why the threshold moved too

It is not a free parameter. A review artifact references a base by id for its whole life, so the base must have at least that long remaining when the review is written. A 10-day threshold against a 14-day review would leave a reference dangling for four days — precisely what the renewal exists to prevent.

test_the_renewal_threshold_matches_the_review_retention now fails if the two drift apart, because nothing else would notice: the result is correct-looking artifacts that quietly point at graphs which expire early.

What the shorter review retention costs

A pull request open longer than 14 days loses its rendered analysis until someone asks for it again. That is not a full re-analysis: the base graph is kept 30 days and is fetched rather than recomputed, so /codeboarding costs one incremental over the pull request — the same as that pull request's first run.

Correctness is unaffected either way; this only decides how long a result stays viewable without re-running.

Why the base did not simply follow to 14

Equal lifetimes make the renewal fire on every run, publishing a base per run instead of per merge base — more storage, not less. 30 against 14 leaves a 16-day reuse window. test_a_base_outlives_the_reviews_that_reference_it asserts the inequality rather than either literal.

🤖 Generated with Claude Code

The review artifact is the dominant storage cost, being the one kept for
weeks, so it drops from 30 days to 14. Base graphs drop from 60 to 30,
which still leaves a 16-day window in which a base is reused rather than
republished. Modelled at the largest repository we have, that is roughly
3,700 analyses a month within half a Team allowance, against 1,850 before.

The renewal threshold moves with the review retention, because it has to:
a review references a base by id for its whole life, so a base with less
than that remaining is renewed. Ten days against a fourteen-day review
would leave a reference dangling for four. A test now fails if the two
drift apart, since nothing else would notice.

What a pull request open longer than fourteen days loses is the rendered
analysis, until someone asks for it again. That costs one incremental over
the pull request: the base graph is kept longer and needs no re-analysis.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@codeboarding-review

Copy link
Copy Markdown
Contributor

CodeBoarding review · analyzing…

⏳ CodeBoarding is analyzing this pull request's architecture changes.

run 32304167907 · attempt 1

@Svilen-Stefanov
Svilen-Stefanov merged commit 6a43d14 into main Aug 19, 2026
2 of 3 checks passed
@Svilen-Stefanov
Svilen-Stefanov deleted the fix/tighter-artifact-retention branch August 19, 2026 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant