For Japanese version, see IProviderResourceProfile-jp.md.
IProviderResourceProfile (Unified Resource Profile Specification)
1. Responsibility Boundary
IProviderResourceProfile aggregates credit, cost, usage, and billing dimensions into a single source of truth for final execution decisions.
- Role:
- Non-role:
Provide a complete economic/operational context for router scoring without cross-querying multiple interfaces.
Detailed collection logic of each sub-profile remains delegated to the corresponding lower-level contracts.
2. Properties
| Property | Type | Description |
|---|---|---|
ProviderId |
string |
Provider identifier. |
CreditInfo |
IProviderCreditInfo |
Credit state and budget boundaries. |
CostProfile |
IProviderCostProfile |
Pricing vector for estimation. |
UsageStats |
IProviderUsageStats |
Runtime consumption telemetry. |
BillingInfo |
IProviderBillingInfo |
Billing cycle and payment status. |
HealthScore |
double |
Normalized provider readiness score. |
UpdatedAtUtc |
DateTimeOffset |
Last aggregate update time. |
3. Use Cases
UC-23AI credit managementUC-19Parallel multi-model executionUC-22Complementary reasoning
4. Integration with IModelVectorRouter
IModelVectorRouter consumes this profile as a composite constraint vector:
- Capability score:
- Economic score:
- Runtime pressure score:
- Risk penalty:
from IProviderCapabilities
from CostProfile and CreditInfo
from UsageStats
from BillingInfo and HealthScore
5. Unified UI Data Supply
- Cost composition:
- Credit composition:
- Usage composition:
- Billing risk composition:
- Metadata:
input/output/compute/storage from CostProfile
available/reserved/consumed from CreditInfo
request/input-token/output-token from UsageStats
active/forecast/risk from BillingInfo
ProviderId, HealthScore, UpdatedAtUtc
6. Architecture Flow
flowchart LR\n Credit["IProviderCreditInfo"] --> Profile["IProviderResourceProfile"]\n Cost["IProviderCostProfile"] --> Profile\n Usage["IProviderUsageStats"] --> Profile\n Billing["IProviderBillingInfo"] --> Profile\n Profile --> Router["IModelVectorRouter"]
7. Governance Constraints
- Atomicity of view:
- Deterministic replay:
Sub-profile fields should be aggregated against as-close-as-possible UpdatedAtUtc to reduce contradictory decisions.
Persist full profile snapshots at execution time so routing decisions remain auditable and reproducible.
Changelog
- v0.0.0 / v0.0.0.0: Initial draft
- v0.0.1 (2026-05-06): Version upgrade aligned with documentation guidelines
architecture/interfaces/provider/IProviderResourceProfile.md