Add execution pacing profiles to offers and marketplace API

This commit is contained in:
Joshua 2026-02-18 20:26:18 -08:00
parent d1c60fe44e
commit 6bd8a004c9
9 changed files with 174 additions and 21 deletions

View File

@ -46,6 +46,11 @@ func (a *app) marketplaceOffers() []marketplaceOffer {
MultiTenant: false, MultiTenant: false,
EntitlementClass: "solo_core", EntitlementClass: "solo_core",
}, },
ExecutionProfile: marketplaceExecutionProfile{
ConnectorSurface: "hybrid",
PacingTier: "governed_human_pace",
HumanPaceFloorMS: 1200,
},
SortOrder: 10, SortOrder: 10,
}, },
{ {
@ -68,6 +73,11 @@ func (a *app) marketplaceOffers() []marketplaceOffer {
MultiTenant: false, MultiTenant: false,
EntitlementClass: "workspace_core", EntitlementClass: "workspace_core",
}, },
ExecutionProfile: marketplaceExecutionProfile{
ConnectorSurface: "hybrid",
PacingTier: "governed_human_pace",
HumanPaceFloorMS: 1200,
},
SortOrder: 20, SortOrder: 20,
}, },
{ {
@ -91,6 +101,11 @@ func (a *app) marketplaceOffers() []marketplaceOffer {
EntitlementClass: "workspace_ai", EntitlementClass: "workspace_ai",
RequiresOffers: []string{offerIDWorkspaceCore}, RequiresOffers: []string{offerIDWorkspaceCore},
}, },
ExecutionProfile: marketplaceExecutionProfile{
ConnectorSurface: "hybrid",
PacingTier: "governed_human_pace",
HumanPaceFloorMS: 1200,
},
SortOrder: 30, SortOrder: 30,
}, },
{ {
@ -114,6 +129,10 @@ func (a *app) marketplaceOffers() []marketplaceOffer {
EntitlementClass: "workspace_lane24", EntitlementClass: "workspace_lane24",
RequiresOffers: []string{offerIDWorkspaceCore}, RequiresOffers: []string{offerIDWorkspaceCore},
}, },
ExecutionProfile: marketplaceExecutionProfile{
ConnectorSurface: "edut_native",
PacingTier: "local_hardware_speed",
},
SortOrder: 40, SortOrder: 40,
}, },
{ {
@ -137,6 +156,10 @@ func (a *app) marketplaceOffers() []marketplaceOffer {
EntitlementClass: "workspace_sovereign", EntitlementClass: "workspace_sovereign",
RequiresOffers: []string{offerIDWorkspaceCore}, RequiresOffers: []string{offerIDWorkspaceCore},
}, },
ExecutionProfile: marketplaceExecutionProfile{
ConnectorSurface: "edut_native",
PacingTier: "local_hardware_speed",
},
SortOrder: 50, SortOrder: 50,
}, },
} }

View File

@ -10,6 +10,7 @@ type marketplaceOffer struct {
Status string `json:"status"` Status string `json:"status"`
Pricing marketplaceOfferPrice `json:"pricing"` Pricing marketplaceOfferPrice `json:"pricing"`
Policies marketplaceOfferPolicy `json:"policies"` Policies marketplaceOfferPolicy `json:"policies"`
ExecutionProfile marketplaceExecutionProfile `json:"execution_profile,omitempty"`
SortOrder int `json:"-"` SortOrder int `json:"-"`
} }
@ -30,6 +31,12 @@ type marketplaceOfferPolicy struct {
RequiresOffers []string `json:"requires_offers,omitempty"` RequiresOffers []string `json:"requires_offers,omitempty"`
} }
type marketplaceExecutionProfile struct {
ConnectorSurface string `json:"connector_surface"`
PacingTier string `json:"pacing_tier"`
HumanPaceFloorMS int `json:"human_pace_floor_ms,omitempty"`
}
type marketplaceOffersResponse struct { type marketplaceOffersResponse struct {
Offers []marketplaceOffer `json:"offers"` Offers []marketplaceOffer `json:"offers"`
} }

View File

@ -19,6 +19,11 @@ Success (`200`):
"decimals": 6, "decimals": 6,
"chain_id": 8453 "chain_id": 8453
}, },
"execution_profile": {
"connector_surface": "hybrid",
"pacing_tier": "governed_human_pace",
"human_pace_floor_ms": 1200
},
"policies": { "policies": {
"member_only": true, "member_only": true,
"workspace_bound": true, "workspace_bound": true,
@ -101,6 +106,7 @@ Success (`200`):
1. `amount`/`amount_atomic` represent the license component. 1. `amount`/`amount_atomic` represent the license component.
2. `total_amount`/`total_amount_atomic` represent the actual payable quote total. 2. `total_amount`/`total_amount_atomic` represent the actual payable quote total.
3. First checkout can include membership activation as a separate line item. 3. First checkout can include membership activation as a separate line item.
4. `execution_profile.pacing_tier` distinguishes external human-governed cadence from native local-speed execution.
Error (`403`): Error (`403`):

View File

@ -137,6 +137,19 @@ components:
type: integer type: integer
chain_id: chain_id:
type: integer type: integer
execution_profile:
type: object
required: [connector_surface, pacing_tier]
properties:
connector_surface:
type: string
enum: [edut_native, external_connector, hybrid]
pacing_tier:
type: string
enum: [governed_human_pace, local_hardware_speed]
human_pace_floor_ms:
type: integer
minimum: 0
policies: policies:
type: object type: object
required: [member_only, workspace_bound, transferable, internal_use_only, multi_tenant] required: [member_only, workspace_bound, transferable, internal_use_only, multi_tenant]

View File

@ -12,7 +12,12 @@
"workspace_bound": false, "workspace_bound": false,
"transferable": false, "transferable": false,
"internal_use_only": true, "internal_use_only": true,
"multi_tenant": false "multi_tenant": false,
"execution_profile": {
"connector_surface": "hybrid",
"pacing_tier": "governed_human_pace",
"human_pace_floor_ms": 1200
}
}, },
{ {
"offer_id": "edut.workspace.core", "offer_id": "edut.workspace.core",
@ -24,7 +29,12 @@
"workspace_bound": true, "workspace_bound": true,
"transferable": false, "transferable": false,
"internal_use_only": true, "internal_use_only": true,
"multi_tenant": false "multi_tenant": false,
"execution_profile": {
"connector_surface": "hybrid",
"pacing_tier": "governed_human_pace",
"human_pace_floor_ms": 1200
}
}, },
{ {
"offer_id": "edut.workspace.ai", "offer_id": "edut.workspace.ai",
@ -36,7 +46,12 @@
"workspace_bound": true, "workspace_bound": true,
"transferable": false, "transferable": false,
"internal_use_only": true, "internal_use_only": true,
"multi_tenant": false "multi_tenant": false,
"execution_profile": {
"connector_surface": "hybrid",
"pacing_tier": "governed_human_pace",
"human_pace_floor_ms": 1200
}
}, },
{ {
"offer_id": "edut.workspace.lane24", "offer_id": "edut.workspace.lane24",
@ -48,7 +63,11 @@
"workspace_bound": true, "workspace_bound": true,
"transferable": false, "transferable": false,
"internal_use_only": true, "internal_use_only": true,
"multi_tenant": false "multi_tenant": false,
"execution_profile": {
"connector_surface": "edut_native",
"pacing_tier": "local_hardware_speed"
}
}, },
{ {
"offer_id": "edut.workspace.sovereign", "offer_id": "edut.workspace.sovereign",
@ -60,7 +79,11 @@
"workspace_bound": true, "workspace_bound": true,
"transferable": false, "transferable": false,
"internal_use_only": true, "internal_use_only": true,
"multi_tenant": false "multi_tenant": false,
"execution_profile": {
"connector_surface": "edut_native",
"pacing_tier": "local_hardware_speed"
}
} }
], ],
"published_at": "2026-02-17T00:00:00Z" "published_at": "2026-02-17T00:00:00Z"

View File

@ -21,10 +21,16 @@
"requires_admin_approval": false "requires_admin_approval": false
}, },
"entitlement": { "entitlement": {
"type": "runtime_license", "type": "module_license",
"scope": "org_root", "scope": "workspace",
"runtime_policy_ref": "policy.workspace.core.v1" "runtime_policy_ref": "policy.workspace.core.v1"
}, },
"execution_profile": {
"connector_surface": "hybrid",
"pacing_tier": "governed_human_pace",
"human_pace_floor_ms": 1200,
"notes": "External egress paths are paced at governed human cadence."
},
"created_at": "2026-02-17T00:00:00Z", "created_at": "2026-02-17T00:00:00Z",
"updated_at": "2026-02-17T00:00:00Z", "updated_at": "2026-02-17T00:00:00Z",
"metadata": { "metadata": {

View File

@ -35,7 +35,26 @@
"workspace_bound": { "type": "boolean" }, "workspace_bound": { "type": "boolean" },
"transferable": { "type": "boolean" }, "transferable": { "type": "boolean" },
"internal_use_only": { "type": "boolean" }, "internal_use_only": { "type": "boolean" },
"multi_tenant": { "type": "boolean" } "multi_tenant": { "type": "boolean" },
"execution_profile": {
"type": "object",
"additionalProperties": false,
"required": ["connector_surface", "pacing_tier"],
"properties": {
"connector_surface": {
"type": "string",
"enum": ["edut_native", "external_connector", "hybrid"]
},
"pacing_tier": {
"type": "string",
"enum": ["governed_human_pace", "local_hardware_speed"]
},
"human_pace_floor_ms": {
"type": "integer",
"minimum": 0
}
}
}
} }
} }
}, },

View File

@ -143,6 +143,39 @@
} }
} }
}, },
"execution_profile": {
"type": "object",
"additionalProperties": false,
"required": [
"connector_surface",
"pacing_tier"
],
"properties": {
"connector_surface": {
"type": "string",
"enum": [
"edut_native",
"external_connector",
"hybrid"
]
},
"pacing_tier": {
"type": "string",
"enum": [
"governed_human_pace",
"local_hardware_speed"
]
},
"human_pace_floor_ms": {
"type": "integer",
"minimum": 0
},
"notes": {
"type": "string",
"maxLength": 300
}
}
},
"created_at": { "created_at": {
"type": "string", "type": "string",
"format": "date-time" "format": "date-time"

View File

@ -11,7 +11,12 @@
"workspace_bound": true, "workspace_bound": true,
"transferable": false, "transferable": false,
"internal_use_only": true, "internal_use_only": true,
"multi_tenant": false "multi_tenant": false,
"execution_profile": {
"connector_surface": "hybrid",
"pacing_tier": "governed_human_pace",
"human_pace_floor_ms": 1200
}
}, },
{ {
"offer_id": "edut.workspace.core", "offer_id": "edut.workspace.core",
@ -23,7 +28,12 @@
"workspace_bound": true, "workspace_bound": true,
"transferable": false, "transferable": false,
"internal_use_only": true, "internal_use_only": true,
"multi_tenant": false "multi_tenant": false,
"execution_profile": {
"connector_surface": "hybrid",
"pacing_tier": "governed_human_pace",
"human_pace_floor_ms": 1200
}
}, },
{ {
"offer_id": "edut.workspace.ai", "offer_id": "edut.workspace.ai",
@ -35,7 +45,12 @@
"workspace_bound": true, "workspace_bound": true,
"transferable": false, "transferable": false,
"internal_use_only": true, "internal_use_only": true,
"multi_tenant": false "multi_tenant": false,
"execution_profile": {
"connector_surface": "hybrid",
"pacing_tier": "governed_human_pace",
"human_pace_floor_ms": 1200
}
}, },
{ {
"offer_id": "edut.workspace.lane24", "offer_id": "edut.workspace.lane24",
@ -47,7 +62,11 @@
"workspace_bound": true, "workspace_bound": true,
"transferable": false, "transferable": false,
"internal_use_only": true, "internal_use_only": true,
"multi_tenant": false "multi_tenant": false,
"execution_profile": {
"connector_surface": "edut_native",
"pacing_tier": "local_hardware_speed"
}
}, },
{ {
"offer_id": "edut.workspace.sovereign", "offer_id": "edut.workspace.sovereign",
@ -59,7 +78,11 @@
"workspace_bound": true, "workspace_bound": true,
"transferable": false, "transferable": false,
"internal_use_only": true, "internal_use_only": true,
"multi_tenant": false "multi_tenant": false,
"execution_profile": {
"connector_surface": "edut_native",
"pacing_tier": "local_hardware_speed"
}
} }
] ]
} }