{
  "format": "vercy-enterprise-profile-fixtures/v1",
  "profileName": "Enterprise AI Agent and Execution",
  "cases": [
    {"id":"two-model-configurations","kind":"positive","input":"Agent A uses immutable C1 with WM-SFT-004 model version M1 and successor C2 with model version M2.","expect":"Agent A keeps its identity while C1 and C2 remain distinct immutable revisions and each run records the resolved model version."},
    {"id":"tool-intersection","kind":"positive","input":"T1 is read-only, T2 destructive with human approval and T3 open-world with a narrow audience.","expect":"Each call is allowed only by the intersection of grants, scopes, audience and required approvals."},
    {"id":"effective-config","kind":"positive","input":"A run applies an approved overlay to base configuration C2.","expect":"The run pins the canonical base digest and a distinct effective digest covering the resolved authorization intersection, overlay and serving identity."},
    {"id":"delegated-subrun","kind":"positive","input":"Agent A delegates a narrower task to a sub-run within maximum depth.","expect":"The chain, exclusions and narrowed scope remain observable."},
    {"id":"role-authority","kind":"negative","input":"A principal with role=agent invokes a destructive tool without a delegation grant.","expect":"The invocation is rejected because the role label grants no authority."},
    {"id":"endpoint-identity","kind":"negative","input":"A responding endpoint change silently creates a new Agent identity.","expect":"The identity change is rejected; endpoint identity remains external."},
    {"id":"mutable-config","kind":"negative","input":"A run rewrites configuration C1 after execution and keeps the same digest.","expect":"The rewrite is rejected because configuration revisions are immutable and content-addressed."},
    {"id":"identity-preserving-change","kind":"positive","input":"C2 replaces M1 with M2, adds T3 and changes the declared endpoint while authority, purpose and trust domain remain stable.","expect":"Agent A retains its identity and all changes are pinned by C2 and its runs."},
    {"id":"identity-breaking-change","kind":"negative","input":"The accountable authority and trust domain change but the deployment reuses Agent A without a governed transfer.","expect":"Reuse is rejected and a new Agent identity is required."},
    {"id":"grant-revocation-clock","kind":"positive","input":"A grant is revoked after an allowed call in a live run and before its next call under the declared UTC ordering rule.","expect":"The first observation remains immutable, the next matching call records grant/approval revisions and is denied at or after revocation-effective time; Agent identity is unchanged."},
    {"id":"same-url-serving-drift","kind":"negative","input":"The endpoint URL is unchanged but the resolved model, parser or safety-filter contract differs from the configuration pin.","expect":"The drift is recorded and rejected or separately approved; URL equality cannot satisfy serving identity."},
    {"id":"t3-under-c1","kind":"negative","input":"Run R1 under C1 attempts to invoke T3, which exists only in C2.","expect":"The call is denied because T3 is outside C1's declared and vetted binding set."},
    {"id":"run-authority-divergence","kind":"negative","input":"A run records authority H2 while Agent A is governed by H1 and cites no effective transfer record.","expect":"The run is rejected because run authority must equal Agent authority absent a governed transfer."}
  ]
}
