Implement canonical pricing core and close WP-0003

This commit is contained in:
codex
2026-07-02 20:48:16 +02:00
parent ab700caa4b
commit 6c6f3d40ae
10 changed files with 705 additions and 41 deletions

View File

@@ -7,10 +7,45 @@
"model_type": "flat_subscription",
"lifecycle_phase": "growth",
"currency": "EUR",
"description": "Current flat membership offer for Coulomb Social.",
"access_fee_amount": "8.99",
"access_fee_cadence": "monthly",
"included_usage": "unlimited_repository_access",
"status": "active"
"status": "active",
"charge_components": [
{
"id": "membership-access",
"kind": "access",
"amount": "8.99",
"cadence": "monthly",
"label": "Standard membership access fee",
"billing_treatment": "recurring",
"metadata": {
"included_usage": "unlimited_repository_access"
}
}
],
"commitments": [
{
"id": "baseline-term",
"kind": "contract_duration",
"value": "1",
"unit": "month",
"description": "Baseline self-serve monthly term."
}
],
"tunable_parameters": [],
"eligibility": [
"coulomb-social-members"
],
"provider_hints": {
"stripe": {
"collection_method": "charge_automatically"
}
},
"metadata": {
"catalog_version": "canonical-v1"
}
},
{
"id": "membership-plus-credits",
@@ -18,10 +53,71 @@
"model_type": "hybrid_subscription_usage",
"lifecycle_phase": "exploration",
"currency": "EUR",
"description": "Candidate model bundling recurring access with a monthly AI allowance.",
"access_fee_amount": "8.99",
"access_fee_cadence": "monthly",
"included_usage": "monthly_ai_credit_allowance",
"status": "candidate"
"status": "candidate",
"charge_components": [
{
"id": "membership-access",
"kind": "access",
"amount": "8.99",
"cadence": "monthly",
"label": "Membership base fee",
"billing_treatment": "recurring"
},
{
"id": "ai-credit-allowance",
"kind": "usage",
"meter": "openrouter_tokens",
"unit": "tokens",
"included_units": "100000",
"label": "Included monthly AI token allowance",
"billing_treatment": "included",
"metadata": {
"included_usage": "monthly_ai_credit_allowance"
}
}
],
"commitments": [
{
"id": "credit-prepay-window",
"kind": "prepayment",
"value": "1",
"unit": "month",
"description": "Allowance resets monthly in the observatory prototype."
}
],
"tunable_parameters": [
{
"key": "included_tokens",
"parameter_class": "seller_controlled",
"data_type": "integer",
"description": "Included OpenRouter token allowance for the monthly bundle.",
"default_value": "100000",
"min_value": "50000",
"max_value": "500000"
},
{
"key": "monthly_allowance_eur",
"parameter_class": "calculated",
"data_type": "decimal",
"description": "Observatory-only euro allowance derived from provider usage cost.",
"default_value": "2.00"
}
],
"eligibility": [
"coulomb-social-members"
],
"provider_hints": {
"stripe": {
"metered_usage_strategy": "future_adapter"
}
},
"metadata": {
"catalog_version": "canonical-v1"
}
},
{
"id": "membership-plus-overage",
@@ -29,11 +125,82 @@
"model_type": "hybrid_subscription_usage",
"lifecycle_phase": "exploration",
"currency": "EUR",
"description": "Candidate model pairing recurring access with included tokens and metered overage.",
"access_fee_amount": "8.99",
"access_fee_cadence": "monthly",
"included_usage": "monthly_ai_credit_allowance",
"overage_meter": "openrouter_tokens",
"status": "candidate"
"status": "candidate",
"charge_components": [
{
"id": "membership-access",
"kind": "access",
"amount": "8.99",
"cadence": "monthly",
"label": "Membership base fee",
"billing_treatment": "recurring"
},
{
"id": "ai-overage-usage",
"kind": "usage",
"meter": "openrouter_tokens",
"unit": "tokens",
"included_units": "100000",
"unit_price": "0.002",
"label": "OpenRouter token overage",
"billing_treatment": "metered",
"metadata": {
"included_usage": "monthly_ai_credit_allowance"
}
}
],
"commitments": [
{
"id": "baseline-term",
"kind": "contract_duration",
"value": "1",
"unit": "month",
"description": "Baseline monthly term; solver can later trade this against usage economics."
}
],
"tunable_parameters": [
{
"key": "included_tokens",
"parameter_class": "customer_tunable",
"data_type": "integer",
"description": "Customer-selectable included token allowance within seller-approved bounds.",
"default_value": "100000",
"min_value": "50000",
"max_value": "300000"
},
{
"key": "contract_duration_months",
"parameter_class": "customer_tunable",
"data_type": "integer",
"description": "Longer term can support improved usage pricing in later solver milestones.",
"default_value": "1",
"min_value": "1",
"max_value": "12"
},
{
"key": "overage_unit_price",
"parameter_class": "calculated",
"data_type": "decimal",
"description": "Current observatory overage rate derived from scenario assumptions.",
"default_value": "0.002"
}
],
"eligibility": [
"coulomb-social-members"
],
"provider_hints": {
"stripe": {
"meter_name": "openrouter_tokens"
}
},
"metadata": {
"catalog_version": "canonical-v1"
}
}
]
}
}