Skip to content

docs: add AI SRE credit package agreement - #206

Open
ysyneu wants to merge 29 commits into
feat/ai-srefrom
codex/ai-sre-credit-package-agreement
Open

docs: add AI SRE credit package agreement#206
ysyneu wants to merge 29 commits into
feat/ai-srefrom
codex/ai-sre-credit-package-agreement

Conversation

@ysyneu

@ysyneu ysyneu commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Doc Review — 2026-07-25

Mode: audit (AI SRE billing agreement)
Findings: 1 total — 1 high

Changes

Finding Type Module Doc Action
ai-sre-credit-package-agreement missing coverage AI SRE zh/en/compliance/ai-sre-credit-package-purchase-agreement.mdx Added bilingual purchase agreement and compliance navigation

Review checklist

  • Verify pricing, quantity, validity, and billing-period wording
  • Verify refund and AI-output risk disclosures
  • Confirm Chinese and English terminology

Mapping warnings

None

Skipped

None

UlricQin and others added 29 commits July 22, 2026 19:59
…t-agent-sync

docs: sync monit-agent target guides
…20260723-031705

docs(api): sync monit tool contracts
…0723-031823

docs: sync source-backed review findings
…20260724-031712

docs(api): sync public API contracts
…0724-031820

docs: sync source-backed review findings
…ntation

Audited every checkable claim in this agreement against the credits code on
feat/ai-sre-credits rather than against the handoff notes. Four claims were
wrong and three material terms were missing.

Wrong:

- The PAYG overshoot warning said letting an in-flight run finish "可能使最终
  消耗超过...已设置的按量上限". It cannot: allocateCredits draws PAYG at
  min(cap, remaining) and diverts the rest to alloc_platform_nano, so the
  customer's billed amount is hard-capped and the overflow is absorbed by
  Flashduty. The agreement was warning of an overcharge the code prevents —
  the one direction a money document must never get wrong. Now states the
  actual behaviour, which is better for the customer.
- "沙箱异常、无效或无法归属到已准入运行的异常区间,不计沙箱费用" described a
  carve-out that does not exist. `sandbox_error` appears only in three DDL/doc
  comments as an illustrative example; discoverSandboxFacts has no error branch
  at all, and sandbox billing is deliberately not tied to any admitted run.
  Replaced with what actually happens: billed per online minute, paused time
  free, independent of whether a task is running.
- "内部结算金额和 credits 精确到小数点后 5 位" conflated the pgy wire boundary
  with the ledger. Every internal column is *_nano at 1e9 (9 decimals); 5
  decimals is only ToAmountE5 at the settlement boundary.
- "使用人持有可用 AI SRE License" named a SKU that does not exist. The
  per-person gate is real but draws on the shared Flashduty license pool.

Missing:

- What actually consumes credits. The section listed only exclusions and only
  ever mentioned model tokens. Three billable kinds exist — model tokens,
  sandbox online time, and web search per call — and the last two were
  invisible to the reader. Added the dimensions, units and current unit prices,
  plus the "price binds to the model tier, not the supplier" guarantee.
- The third PAYG state. monthly_limit_nano is NULL/0/positive and the console
  exposes all three, including "禁止按量付费"; the agreement described only
  set-vs-unset, hiding the one setting a cost-averse customer most wants.
- Arrears. An exhausted wallet disables postpaid resources including AI SRE
  itself, and packages (prepaid) survive it. Implemented in fc-pgy's
  logic/charge/arrears.go, and the agreement said nothing about it.

Also warns to enable AI SRE before buying: an unprovisioned account is never
metered, so a package bought first sits idle while its 365 days run out.

Search billing is now real (per-call metering of the built-in web_search tool),
so the "检索请求失败时不计费" line describes shipped behaviour rather than an
intention — and it now also says the case it left ambiguous: a search that
succeeds with zero results is still a charged call.
…e period

Metering starts at enablement. That was already the intent behind the
warning above it — an account without AI SRE enabled consumes no credits
at all — but the agreement never said what becomes of that usage AFTER
enabling, and the accounting engine, until a companion fix in fc-safari,
priced an account's entire pre-enable history on its first run. Saying it
makes the guarantee a term of the agreement rather than an implementation
detail a customer has to take on trust.
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.

3 participants