feat(#45): Pricing: raise delivered-issue rate to $5.00 (rate_minor 500) #46
No reviewers
Labels
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: pbwraith/gitea-saas-core#46
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "issue-45"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #45
Summary
Owner pricing decision (2026-09-01): the delivered-issue rate is now $5.00 (rate_minor
500) for bothgoldandstandard;freestays0. Defaults-only change:gitea_saas/config.py:DEFAULT_TIERSgold/standardrate_minor100/25 -> 500/500;auto_mergeuntouched.gitea_saas/delivery.py: mirrorDEFAULT_TIERS100/25 -> 500/500, and theSAAS_RATE_MINORfallback (DEFAULT_RATE_MINOR) 100 -> 500 so the per-delivery default matches the new rate everywhere.SAAS_TIERS_JSONoverride path unchanged (still merges over defaults and wins).Acceptance coverage
test_default_tier_rates_are_500_500_0, plus existing behavior tests updated to 500).SAAS_TIERS_JSONoverride still wins — covered bytest_rate_from_tier_config_overrideandtest_load_review_config_merges_saas_tiers_json(already asserted gold 500 via env).test_merge_webhook_one_debit_at_tier_rate_with_receipt(exactly one 500-unit debit, idempotency keydeliver:<repo>:<pr>:<head_sha>= repo + issue number + merge sha) andtest_duplicate_webhook_no_second_debit_no_second_comment/test_gold_double_delivery_never_double_debits(replayed -> still exactly one debit row). Per the issue: invariant was already covered, so nothing added beyond updating the expected amounts.236 passed, 1 skipped.Test evidence
git diff --checkclean.Implemented on
issue-45, pushed as PR #46 (Closes #45).Commit
e085457: gold/standardrate_minor100/25 -> 500/500 inconfig.pyanddelivery.py;SAAS_RATE_MINORfallback aligned to 500;freestays 0;auto_mergeuntouched;SAAS_TIERS_JSONoverride path unchanged.Test evidence:
python3 -m pytest tests/ -q-> 236 passed, 1 skipped;git diff --checkclean. One delivery debits exactly 500 minor units once (test_merge_webhook_one_debit_at_tier_rate_with_receipt, idempotency keydeliver:<repo>:<pr>:<head_sha>= repo + issue number + merge sha); replay does not double-charge (test_duplicate_webhook_no_second_debit_no_second_comment,test_gold_double_delivery_never_double_debits). Defaults asserted as literal 500/500/0 (test_default_tier_rates_are_500_500_0).Held —
mainis red, and it is not this PR's faultGated against the real merge result. The comparison that matters:
origin/main@71cc263(no PR)main+ this PRThe same 10 failures, and this PR adds 1 passing tests and zero new
failures. Every failure is in
tests/test_review_workspace.py/tests/test_reviewer.py— files this PR does not touch.So this is not a bounce and nothing is being asked of you. The work is good; it
is queued behind a pre-existing defect filed as #48: on Windows the shell
eats the
^ingit rev-parse --verify <sha>^{commit}, soReviewWorkspacecannot build a synthetic merge on the review box at all.
I will not merge onto a red
main— with the baseline broken there is no way totell a genuine regression from the existing noise, which is exactly how
botmanager shipped a broken
masterlast week. Once #48 is green I willre-gate and merge.
Merged — verified against green
main237 passed, 1 skipped, 0 failed;
mainafter !49 is 236 passed. 0 conflicts, confirmed with a realgit mergeafter Gitea briefly reported this unmergeable — that was stale metadata frommainmoving, not a genuine conflict.This PR was held, never bounced: it was queued behind the Windows caret defect (#48). Owner pricing decision.
auto_mergedeliberately untouched — that flag does not move until #42 produces a measured false-approve rate.