mirror of
https://github.com/civitai/civitai.git
synced 2026-09-20 22:08:18 +08:00
cf9be814fb
* docs(app-blocks): buzzBudgetPerGen is a SAFETY CEILING, not a cost estimate The canonical schema described the field as "Optional per-generation Buzz budget ... server-clamped to the per-gen cap" with no sizing guidance, so an app author's coding agent estimated a run at ~50 Buzz and set the budget to 50. That is backwards: the field bounds what ONE generation may cost so a buggy or compromised app cannot drain the viewer's Buzz, and it should be set far above expected spend. Sized to an estimate, the app breaks outright. Both submit paths in blocks.router.ts compare the real price against claims.buzzBudget BEFORE the idempotency claim, the Buzz reservation and the orchestrator submit -- textToImage via a whatif `cost > claims.buzzBudget`, customComfy via a static `ceiling > claims.buzzBudget` against the recipe's budgetFor().maxBuzz -- so an over-budget generation is rejected with `insufficient buzz budget`, no workflow created and no Buzz spent, and it stays broken for every user until a new manifest version ships and is re-approved. Rewrite the description to state the purpose, the rule of thumb (several times your worst case), the failure mode, the 10-Buzz omit-default, the 1000 clamp, and that per-gen headroom does not widen total exposure (cumulative spend is capped per viewer per day and per app). This is the single source the CLI schema, the SDK schema and the generated manifest-reference table all mirror. Description text only -- no enforcement, clamp or default changed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R7ZCxbgcsv3WfsSJrYdSCi * chore: retrigger preview pipeline (no code change) preview / component-tests failed on a JSON-description-only change, and the same check failed on an unrelated PR (#3609) earlier today. Retriggering to get a second observation before merging through a red gate. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R7ZCxbgcsv3WfsSJrYdSCi --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>