M1: Freeze normalized capacity contract v1 #2

Merged
creatidy merged 1 commit from m1-capacity-contract-v1 into main 2026-09-02 11:36:56 +00:00
creatidy commented 2026-09-02 09:16:10 +00:00 (Migrated from github.com)

Closes #1

Summary

  • Freeze the internal v1 normalized capacity snapshot contract for independent OpenAI/Codex and Z.ai adapters.
  • Define six provider statuses, canonical UTC timestamps, unordered quota windows, validated percentage pairs, safe metadata/diagnostics and honest Ollama local runtime facts.
  • Resolve U-002 and keep freshness/refresh policy for U-003 and scarcity/selection for M2.

Important choices

  • used_percent is normalized only after provider orientation validation; remaining_percent is derived as its exact complement, or both fields are omitted.
  • Unknown resource/period semantics remain as explicit windows; provider raw identifiers are limited to an opaque allowlisted window ID.
  • Account identifiers, raw responses, provider epoch units, Codex primary/secondary, Z.ai orientation fields and fake local quota are excluded.
  • The contract is internal M1 serialization, not REST/MCP/CLI versioning.

Verification

  • git diff --check
  • README documentation targets verified
  • Internal links in the changed contract verified
  • Required OpenAI, Z.ai, schema drift, authentication, Ollama and missing-versus-zero scenarios reviewed in docs/capacity-model.md
  • No executable test suite or production code exists in this documentation-only change
Closes #1 ## Summary - Freeze the internal v1 normalized capacity snapshot contract for independent OpenAI/Codex and Z.ai adapters. - Define six provider statuses, canonical UTC timestamps, unordered quota windows, validated percentage pairs, safe metadata/diagnostics and honest Ollama local runtime facts. - Resolve U-002 and keep freshness/refresh policy for U-003 and scarcity/selection for M2. ## Important choices - `used_percent` is normalized only after provider orientation validation; `remaining_percent` is derived as its exact complement, or both fields are omitted. - Unknown resource/period semantics remain as explicit windows; provider raw identifiers are limited to an opaque allowlisted window ID. - Account identifiers, raw responses, provider epoch units, Codex `primary`/`secondary`, Z.ai orientation fields and fake local quota are excluded. - The contract is internal M1 serialization, not REST/MCP/CLI versioning. ## Verification - `git diff --check` - README documentation targets verified - Internal links in the changed contract verified - Required OpenAI, Z.ai, schema drift, authentication, Ollama and missing-versus-zero scenarios reviewed in `docs/capacity-model.md` - No executable test suite or production code exists in this documentation-only change
Sign in to join this conversation.
No description provided.