---
typeId: req
recordId: benac-pkg-006
fields:
  title: Package requirements
  statement: >-
    A package shall declare the capabilities, artifacts, resources, schemas, fixtures,
    evidence behavior, and effect behavior required for each package interface.

    A package shall declare which requirements apply to package import, package
    validation, package inspection, package approval, fixture execution, package
    invocation, package-requested effects, retrieval operations, storage operations, and
    compute operations.

    A package declaration shall not grant authority.

    Package import shall not grant authority.

    Package trust shall not grant authority by itself.

    Local Policy shall decide what package-requested capabilities and operations are
    allowed.

    A Host Implementation shall inspect package requirements before approval and
    invocation.

    A Host Implementation shall not approve an operation unless Local Policy grants the
    capabilities required for that operation.

    A Host Implementation shall not attempt a package operation unless Local Policy
    grants the capabilities required for that operation.

    A Host Implementation shall not invoke a package interface unless package content is
    valid, the selected package interface is identified, the request validates against
    the interface request schema, descriptor config validates where relevant, required
    artifacts are available, resource requirements are satisfied, and Local Policy
    grants the capabilities required for invocation.

    A package shall not be rejected as package content merely because the current
    Station cannot currently mediate an operation requested by a package interface,
    unless that operation is required for package import or package validation.

    Unsupported, unknown, unavailable, denied, missing, expired, revoked, conflicted, or
    not-yet-determined requirements shall be recorded according to the operation phase
    for which the requirement is declared.
  rationale: >-
    Benac packages declare what they need. The Local Station decides what can be
    attempted or used. Importing a package, trusting a package, recognizing a package
    label, or recognizing a schema-bound interface does not give the package authority.
  verification: >-
    Tests import and inspect packages with different declared capabilities, artifacts,
    resources, schemas, and interfaces. Tests verify that package import does not grant
    authority, package trust does not grant authority by itself, and invocation is
    blocked when a required capability is denied, missing, expired, revoked, conflicted,
    unavailable, or not yet determined. Tests verify that inability to mediate an
    invocation operation does not by itself make package content invalid when package
    import and package validation requirements are otherwise satisfied.
  testable: true
  status: draft
  area: BENAC-PKG
  sourceDocument: user-requested schema-first requirements cleanup
  sourceVersion: 2026-05-06
  sourceSections:
    - Package model, descriptors, and package claims
  order: 80
---
