Skip to content

model.use feature flag is not independently negotiable: omitted from V1_1_FEATURES and bundled with provisioned_credentials (§9.7, §6.2) #69

@nficano

Description

@nficano

Category: spec-conformance Severity: major
Location: src/arcp/_version.py:8-23
Spec: ARCP v1.1 §9.7, §6.2

What

Spec §9.7 designates model.use as its own feature flag, and §6.2's capability example lists model.use independently of provisioned_credentials. Here model.use is excluded from the default V1_1_FEATURES set (used by both the default client and a provisioner-less runtime) and only appears alongside provisioned_credentials. As a result a default client never advertises model.use, the negotiated intersection never contains it, and the §9.7 model capability cannot be negotiated independently of provisioned credentials.

Evidence

V1_1_FEATURES: tuple[str, ...] = (
    "heartbeat",
    "ack",
    "list_jobs",
    "subscribe",
    "lease_expires_at",
    "cost.budget",
    "progress",
    "result_chunk",
    "agent_versions",
)

PROVISIONED_CREDENTIAL_FEATURES: tuple[str, ...] = (
    "model.use",
    "provisioned_credentials",
)

Proposed fix

Add model.use to V1_1_FEATURES (the independent §9.7 feature) and keep only provisioned_credentials gated on a configured provisioner, so the two features negotiate independently per §6.2/§9.7.

Acceptance criteria

  • A default client and a provisioner-less runtime negotiate model.use; model.use no longer requires a credential provisioner to be advertised.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions