Skip to content

Design modular participant control with extensible dynamic IFC and governed control effects #1068

Closed

Description

@Brad-Edwards

Objective

Design the portable RAES architecture for composing participant-control
mechanisms, including extensible dynamic information-flow control (IFC), and
for applying their governed effects at participant/world crossings.

This is a general experimental and organizational control concern. Security,
adversarial evaluation, and safety are important applications, but they are not
the sole definition of the boundary.

Boundary to establish

RAES owns the declared world and the portable relations among participants,
world observations and actions, controllers, interventions, crossings,
profiles, decisions, effects, evidence, and claims.

Protection from actors and mechanisms outside that declared world is owned by
the backend or participant provider. Out-of-world tampering is an invalid or
failed realization, not a participant/world occurrence that RAES must model as
an attack. A live external environment may still be part of the declared world
when it is explicitly admitted as such.

Required exploration

Mechanisms and composition

  • Treat dynamic IFC as one established mechanism with reusable literature,
    implementations, label propagation, policy resolution, and enforcement
    precedents; do not rename it into a new RAES-only abstraction.
  • Determine which machinery from SEM-230 and SEM-233 can support revisioned
    label domains and policies beyond confidentiality/integrity while preserving
    SEM-233's existing security meaning and historical records.
  • Assess composition with other mechanisms, including capability restriction,
    action admission, runtime shielding, monitors, approval and trusted editing,
    resource controls, controller handoff, interruption, and shutdown.
  • Define how multiple profiles and mechanisms are selected for one apparatus,
    how mandatory and advisory results compose, and how conflicts, absence,
    unsupported behavior, weakening, and failure are represented.

Governed control effects

Define how resolved mechanism state may request existing typed RAES effects,
including permit, deny, withhold, transform, mask, inject, delay, route, audit,
handoff, request review, interrupt, and shutdown. The final vocabulary may reuse
or extend existing crossing, intervention, inject, transformation, and control
contracts; it must not become an arbitrary callback or open effects map.

Triggered effects must preserve exact state-cut resolution, fresh identity,
authority, provenance, participant visibility, evidence, idempotency, bounded
recursion/loop behavior, and ordinary downstream admission. A dynamic-IFC label
or monitor result establishes a fact or advice; it does not execute hidden code
or silently widen authority.

Portable/runtime/backend split

Decide and document:

  • portable profile and mechanism-composition semantics owned by RAES;
  • closed contracts and conformance owned by RAES;
  • mechanism-neutral orchestration and final effect commit owned by the RAES
    runtime;
  • concrete mechanism selection, implementation, agent/world instrumentation,
    and realization owned independently by each backend;
  • apparatus selection and evidence that pin exact mechanism, profile,
    configuration, implementation, and limitation identities; and
  • discovery/documentation responsibilities outside the runtime repositories.

The architecture must allow two conformant backends to choose different
mechanisms or implementations without implying semantic divergence or profile
parity.

Existing authority to reconcile

ADR-101's non-goal for a general-purpose taint engine or policy language must be
explicitly preserved, amended, or superseded. This work must not silently
reinterpret an accepted decision.

Deliverables

  • Current-state and literature-grounded architecture assessment.
  • Accepted ADR or explicit amendments defining the responsibility split and
    composition model.
  • Requirement disposition identifying reused, amended, and new Ground Control
    authorities.
  • Mechanism/profile/effect vocabulary and composition rules precise enough for
    contracts and conformance.
  • Worked non-security, adversarial, permissive-observation, strict-control,
    triggered-inject, and live-world cases.
  • Complete dependency-ordered RAES, LilRAE, Shifter, evaluation, assurance, and
    documentation issue graph.

Acceptance criteria

  • Dynamic IFC remains recognizable as IFC and is explicitly one of multiple
    participant-control mechanisms.
  • An in-world adversarial input may be intentionally delivered and tracked
    rather than being classified as backend contamination or automatically
    blocked.
  • Out-of-world integrity and containment remain backend-owned and outside RAES
    event semantics.
  • Profiles can select more than one mechanism with deterministic, reviewable
    composition and no arbitrary execution ordering.
  • IFC-resolved state can trigger governed injects and other typed effects, not
    only permit/deny or masking.
  • Portable semantics, runtime orchestration, executable providers, backend
    declarations, backend realization, bounded conformance, and evaluation claims
    remain distinct statuses.
  • Backend child issues do not require LilRAE and Shifter to choose the same
    mechanisms.
  • Requirement authority exists before implementation children leave their
    blocked design state.

Non-goals

  • Implementing a mechanism, plugin host, backend, or evaluation in this issue.
  • Designing host, model-provider, credential, tenant, process, container, or
    network protection outside the declared RAES world.
  • Creating an unrestricted plugin manager, callback language, generic metadata
    map, message bus, or universal gateway DTO.
  • Making dynamic IFC the only permitted participant-control mechanism.
  • Claiming universal noninterference, controllability, robustness, or backend
    equivalence.

Delivery graph

Requirements

These are OpenRAE/rae portable authorities. New SEM-235, API-424, RUN-320 and ASR-538 records and the ASR-536 amendment took authority through #1068 at merged revision ebb70a34b8e7d1cc8964c443841ae57e12ed1014; DRAFT does not mean implemented.

Design delivery

The design and requirement authority was accepted at merged revision ebb70a34b8e7d1cc8964c443841ae57e12ed1014. This issue ships no mechanism, backend, runtime feature, conformance result or adversarial evaluation. The implementation children retain their prerequisite gates.

Delivery PR: OpenRAE/rae#1234, merged into dev as ebb70a34b8e7d1cc8964c443841ae57e12ed1014.

Activity

  1. added
    enhancementNew feature or request
    area:runtimeRuntime and control-plane code
    epicUmbrella / tracking issue spanning a roll-up requirement
    on Aug 3, 2026
  2. Brad-Edwards commented on Sep 6, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Phase E — merged delivery acceptance

    Completed by #1234, merged into dev as ebb70a34b8e7d1cc8964c443841ae57e12ed1014 on 2026-09-06.

    Acceptance record:

    • ADR-108 is accepted and the responsibility split, composition revision 1 (PC-01–PC-15), worked cases, requirement disposition, dependency graph, and bounded design verification are merged.
    • SEM-235, API-424, RUN-320, ASR-538, and the ASR-536 amendment are pinned to the accepted revision. Their DRAFT/implementation states remain intentionally assigned to the delivery children.
    • All required pull-request checks passed; the deployment job was intentionally skipped for this documentation/architecture delivery.
    • All 44 mandatory native blocker relationships across the 15-node delivery graph were verified with no cycles.
    • Alternative-backend and adversarial-claim gates remain explicit conditional gates because GitHub native blockers are conjunctive.
    • All 15 RAES, LilRAE, Shifter, and Hub issue bodies now pin the accepted merge revision.

    This closes the architecture issue only. It does not claim a mechanism, provider, runtime implementation, backend realization, conformance result, evaluation, or adversarial assurance result.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:runtimeRuntime and control-plane codeenhancementNew feature or requestepicUmbrella / tracking issue spanning a roll-up requirement

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions