Repository navigation
v0.10.0
Tenth GitHub/source release focused on bounded operational usability and dogfood diagnostics. npm publication remains intentionally separate and deferred.
Added
- Added
mcp-usage-control/operationalwith process-local bounded lifecycle counters, static runtime identity/capability metadata, and explicit scoped quota projection. The surface is diagnostic only and never becomes enforcement or billing authority. - Added
mcp-usage-control/settlement-outcomeswith the canonical settlement vocabulary, bounded compatibility aliases, application-owned finite alias maps, andInvalidSettlementOutcomeError/invalid_settlement_outcomediagnostics that do not retain the rejected raw value. - Added
mcp-usage-control/thresholdswith pure remaining-units / remaining-ratio evaluation and crossing helpers over an explicitly selected quota scope. Accounting-window identity/reset state and notification delivery remain application-owned. - Added English/Japanese operational-usability guidance covering runtime identity, scoped remaining, settlement normalization, threshold crossing, privacy/cardinality boundaries, and the explicit non-claim around inferred active-reservation counts.
Operational safety / diagnostics
- Closed #76, #99, and #82 without changing Store accounting transitions or provider storage schemas.
UsageOperationalMonitorexposes only evidence that can be represented without inventing a second accounting truth. Replayable/aggregate lifecycle events are not used to synthesize an authoritative active-reservation count.- Invalid settlement vocabulary is distinguishable from Store/backend unavailability before settlement dispatch, while diagnostic delivery remains best-effort and cannot replace the canonical normalization error or alter enforcement.
- Observer/helper/notification failure cannot change admission, liability, renewal, settlement, replay, expiry, or quota outcomes.
- Authoritative
remainingis projected only after the application selects the exact budget/window; unlike vector dimensions are never collapsed into one synthetic utilization total.
Packaging / release evidence
- All five public package manifests and the bounded core runtime identity are aligned at
0.10.0. - CI verifies the new
operational,settlement-outcomes, andthresholdsfiles in the packed core tarball and imports all three subpaths from a clean consumer project. - The release gate remains Node 20/22/24 with real Redis, Cloudflare local workerd integration, Firestore Emulator integration, package-content inspection, and clean-consumer verification.
- Source/local-tarball documentation no longer hard-codes an obsolete package version.
- npm publication is not part of this GitHub/source release. First registry publication remains a separately authorized operation tracked by #6.