---
typeId: req
recordId: benac-inv-007
fields:
  title: Generic invocation input envelope
  statement: >-
    Benac shall define a generic invocation input envelope.

    The invocation input envelope shall identify package CID, package interface
    identifier, descriptor snapshot CID or descriptor scope where relevant, request body,
    data class, authentication context where relevant, caller principal where relevant,
    and Local Policy context where relevant.

    The invocation input envelope shall not classify packages.

    The invocation input envelope shall not classify how package work is performed.

    Generic runtime APIs shall submit invocations through this envelope rather than
    through package-internal ad hoc request formats.

    The Station shall validate the request body against the package interface request
    schema before attempting invocation.

    The Station shall validate descriptor config against the package interface descriptor
    config schema where relevant before attempting invocation.
  rationale: >-
    A single invocation envelope lets independent implementations validate requests,
    check grants, bind descriptor scope, and record traces consistently.
  verification: >-
    Invocation envelope tests cover package CID, interface identifier, descriptor scope,
    request body, data class, authentication context, and policy context. Invalid or
    missing required envelope fields fail closed with stable diagnostics.
  testable: true
  status: draft
  area: BENAC-INV
  sourceDocument: user-requested schema-first requirements cleanup
  sourceVersion: 2026-05-06
  sourceSections:
    - Package authoring
  order: 87.17
---
