Files
EvoScientist-WebUI/docs/schemas/provider-reconciliation-capabilities.md
T
m4 fe982f7f95
CI / macos-latest / Node 20 (push) Has been cancelled
CI / ubuntu-latest / Node 20 (push) Has been cancelled
CI / windows-latest / Node 20 (push) Has been cancelled
feat: add workspace isolation and administration UI
2026-07-19 12:17:18 +08:00

28 lines
1.3 KiB
Markdown

# Provider reconciliation capability decision
Decision date: 2026-07-16.
The external UsageEvent v1 endpoint remains limited to `callback_final`. Current
OpenAI and Anthropic organization usage APIs return time-bucketed aggregates;
neither response includes the provider request ID needed to match an individual
EvoScientist model call.
- OpenAI: `GET /v1/organization/usage/completions` groups by project, user, API
key, model, batch, or service tier and returns bucket totals.
- Anthropic: `GET /v1/organizations/usage_report/messages` groups by API key,
workspace, model, service tier, or context-window dimensions and returns
bucket totals.
Official references:
- https://platform.openai.com/docs/api-reference/usage/completions
- https://docs.anthropic.com/en/api/admin-api/usage-cost/get-messages-usage-report
Because these sources cannot identify a single request, the WebUI stores them as
internal `aggregate-report-v1` observations and produces an exact decimal
difference report for the same deployment/provider/model/window. Aggregate
reports never update `model_usage`, never synthesize `provider_only` calls, and
never enter `/api/usage/events`. A future connector may enable per-request
reconciliation only after its official response includes a stable request ID;
that change requires a new event schema and projection policy.