Skip to content

Package Capability Diagnostic V1

Source schema: doc/schemas/package-capability-diagnostic.v1.schema.json

Host-derived, bounded local operator metadata. Never caller authority; no prompts, inputs or outputs.

Governing Basis

Project Lineage

Fields

Field Required Shape Description
schema yes const: package-capability-diagnostic.v1
schema/v yes const: 1
cause yes enum: package-revoked, safe-mode, signer-untrusted, member-pin-mismatch, declaration-invalid, peer-scope-unsupported, flow-not-loaded, flow-digest-mismatch, provider-mismatch, provider-collision, schema-invalid, activation-required, activation-expired, operator-binding-lost, use-missing, loop-cancelled, loop-stopped, use-withdrawn, use-expired, use-stale, use-scope-mismatch, provider-unavailable, capacity-exhausted, request-invalid, deadline-elapsed, request-stale, invocation-conflict
subject/refs yes array
next/action yes enum: activate-package, exit-safe-mode, trust-signer, reimport-package, await-peer-support, load-provider, disable-conflicting-package, rebind-operator, open-loop, none, renew-loop, reapprove-after-reactivation, review-request, retry-later

Conditional Rules

Rule 1

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "use-withdrawn"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "none"
    }
  }
}

Rule 2

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "package-revoked"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "activate-package"
    }
  }
}

Rule 3

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "safe-mode"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "exit-safe-mode"
    }
  }
}

Rule 4

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "signer-untrusted"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "trust-signer"
    }
  }
}

Rule 5

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "member-pin-mismatch"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "reimport-package"
    }
  }
}

Rule 6

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "declaration-invalid"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "reimport-package"
    }
  }
}

Rule 7

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "peer-scope-unsupported"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "await-peer-support"
    }
  }
}

Rule 8

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "flow-not-loaded"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "load-provider"
    }
  }
}

Rule 9

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "flow-digest-mismatch"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "load-provider"
    }
  }
}

Rule 10

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "provider-mismatch"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "load-provider"
    }
  }
}

Rule 11

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "provider-collision"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "disable-conflicting-package"
    }
  }
}

Rule 12

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "schema-invalid"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "reimport-package"
    }
  }
}

Rule 13

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "activation-required"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "activate-package"
    }
  }
}

Rule 14

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "activation-expired"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "activate-package"
    }
  }
}

Rule 15

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "operator-binding-lost"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "rebind-operator"
    }
  }
}

Rule 16

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "use-missing"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "open-loop"
    }
  }
}

Rule 17

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "loop-cancelled"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "open-loop"
    }
  }
}

Rule 18

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "loop-stopped"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "none"
    }
  }
}

Rule 19

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "use-expired"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "renew-loop"
    }
  }
}

Rule 20

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "use-stale"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "reapprove-after-reactivation"
    }
  }
}

Rule 21

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "use-scope-mismatch"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "review-request"
    }
  }
}

Rule 22

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "provider-unavailable"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "load-provider"
    }
  }
}

Rule 23

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "capacity-exhausted"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "retry-later"
    }
  }
}

Rule 24

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "request-invalid"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "review-request"
    }
  }
}

Rule 25

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "deadline-elapsed"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "review-request"
    }
  }
}

Rule 26

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "request-stale"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "review-request"
    }
  }
}

Rule 27

When:

{
  "required": [
    "cause"
  ],
  "properties": {
    "cause": {
      "const": "invocation-conflict"
    }
  }
}

Then:

{
  "properties": {
    "next/action": {
      "const": "review-request"
    }
  }
}

Field Semantics

schema

  • Required: yes
  • Shape: const: package-capability-diagnostic.v1

schema/v

  • Required: yes
  • Shape: const: 1

cause

  • Required: yes
  • Shape: enum: package-revoked, safe-mode, signer-untrusted, member-pin-mismatch, declaration-invalid, peer-scope-unsupported, flow-not-loaded, flow-digest-mismatch, provider-mismatch, provider-collision, schema-invalid, activation-required, activation-expired, operator-binding-lost, use-missing, loop-cancelled, loop-stopped, use-withdrawn, use-expired, use-stale, use-scope-mismatch, provider-unavailable, capacity-exhausted, request-invalid, deadline-elapsed, request-stale, invocation-conflict

subject/refs

  • Required: yes
  • Shape: array

next/action

  • Required: yes
  • Shape: enum: activate-package, exit-safe-mode, trust-signer, reimport-package, await-peer-support, load-provider, disable-conflicting-package, rebind-operator, open-loop, none, renew-loop, reapprove-after-reactivation, review-request, retry-later