Port upstream 0.64.0: Helmcode reset fallback, tenant dashboard URL, optional endpoint tolerance - #723
Port upstream 0.64.0: Helmcode reset fallback, tenant dashboard URL, optional endpoint tolerance#723Finesssee wants to merge 2 commits into
Conversation
…optional endpoint tolerance
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
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 |
|
Fixes landed at 7fe1de4 Validator finding confirmed: Commands: cargo +1.98.0 fmt --all --check; cargo +1.98.0 clippy --workspace --all-targets -- -D warnings; cargo test -p codexbar (2172 passed, 0 failed); cargo test -p codexbar-desktop-tauri (461 passed, 1 failed: the existing base failure |
|
Adversarial validation (Claude Opus 5.5) passed at 7fe1de4 Scope: GAP-19, Helmcode reset fallback, tenant dashboard URL and optional-endpoint 401/403 (upstream aa32d41). The diff against What I checked against upstream v0.64.0 / v0.70.0
Checks run at this SHA (toolchain 1.98.0, isolated target dir):
|
…dashboard URL, optional endpoint tolerance
|
Adversarial validation passed at 38fb38c Scope: Helmcode reset fallback, tenant dashboard URL, optional endpoint tolerance (#723, upstream 0.64.0), validated as merged into release/v0.70.0 (merge 38fb38c = merge of 7fe1de4 into 60255ea). Attacks (highest-risk semantics, from the merged tree):
No defects found. READY for the un-draft rule. |
Summary
Brings the Helmcode provider to behavioral parity with upstream CodexBar v0.70.0 (
helmcode.ts,HelmcodeProviderDescriptor.swift). Closes audit GAP-19.periodEnd, the reset falls back to 00:00 UTC on the first day of the month afterperiodStart(December rolls into January).periodStartis parsed with upstream's^YYYY-MM-DD(T|$)rule, month 1..12, day 1..31, so date-only values such as2026-09-01now work. Before this change the fallback was the first of the same month and needed a full RFC 3339 string./api/billingand/api/billing/creditsuse a 2 s timeout and any failure (401/403/3xx/429/5xx, network error, timeout, bad or non-object JSON, oversized body) is treated as absent. They can no longer turn into AuthRequired or discard quota data. The quota endpoint is unchanged: 401/403/3xx still means AuthRequired. Redirects are not followed, matching upstream's 3xx handling.balanceMicrosclamps to a zero balance instead of being rejected.dashboard_url_for_organizationreturnshttps://cloud.nan.builders/dashboardfor the "NaN Builders" organization andhttps://cloud.helmcode.com/dashboardotherwise. It is wired intoopen_provider_dashboard(new injectedStateparameter; the frontend invoke is unchanged) andget_provider_detail, using the cached snapshot organization. No frontend change.Tests
New mockito HTTP tests cover optional endpoints returning 401/403/302/429/503, quota 401/403/302 still needing auth, the NaN tenant skipping credits, premium rolling windows, schema drift, and the monthly fallback cases (including
2026-12-15,2026-13-01,garbage).cargo +1.98.0 fmt --all --check: cleancargo +1.98.0 clippy --workspace --all-targets -- -D warnings: cleancargo test -p codexbar: 2172 passedcargo test -p codexbar-desktop-tauri: 461 passed, 1 failed.commands::tests::bootstrap_payload_exposes_every_provider_variant(catalog size 79 vs 78) fails identically on the unmodified baseport/upstream-0.64.0, so it is not caused by this change.UI proof
No visible UI change: only the URL opened by the existing "open dashboard" action for the NaN Builders tenant changes. No CUA run was needed.
Written by the codex-2 lane (Codex gpt-6-luna xhigh, reviewed by Claude).