Skip to content

Define extensible dynamic-IFC profiles and participant-control mechanism composition #1070

Closed

Description

@Brad-Edwards

Parent: #1068

Bounded outcome

Publish the adopted portable semantics for extensible dynamic-IFC profiles,
composition with other participant-control mechanisms, and governed effects at
participant/world crossings.

This issue implements the semantic decision accepted by #1068 at merged
revision ebb70a34b8e7d1cc8964c443841ae57e12ed1014. Its architecture and Ground Control authority prerequisite is satisfied; semantic implementation remains owned here.

Required semantics

  • Preserve dynamic IFC terminology and identify the profile-neutral machinery,
    if any, that can be reused without changing historical SEM-233 meaning.
  • Preserve SEM-233 confidentiality/integrity as its governed security profile
    unless Design modular participant control with extensible dynamic IFC and governed control effects #1068 adopts an explicit migration.
  • Define profile identity/revision, label domain, source introduction,
    propagation/join, transformation, memory/reset, unknown behavior, policy
    resolution, and evidence requirements.
  • Define composition with non-IFC mechanisms without forcing their state or
    decisions into IFC labels.
  • Define how mechanism results may request existing typed effects such as
    inject, transform, mask, route, delay, handoff, review, interrupt, or deny.
  • Define exact-cut, authority, visibility, fresh-identity, idempotency, and
    bounded trigger recursion semantics.
  • Keep in-world influence distinct from out-of-world backend contamination.

Acceptance criteria

  • At least one non-security IFC profile and the SEM-233 security profile are
    worked end to end.
  • A case intentionally delivers an in-world adversarial input, retains its
    influence, and triggers a governed inject rather than an automatic block.
  • Multiple mechanisms compose under explicit mandatory/advisory and conflict
    rules.
  • A transformed action is a fresh proposal; an injected item is a fresh
    governed occurrence; no mechanism result silently grants authority.
  • Missing, unknown, stale, unsupported, and weakened states have explicit
    semantics.
  • Normative clauses, concept authority, lineage, examples, counterexamples, and
    nonclaims are revisioned and traceable.

Non-goals

  • Executable provider, backend, runtime-orchestrator, or plugin-host work.
  • A general callback language, arbitrary label map, universal policy language,
    or claim that all mechanisms are IFC.
  • Modeling attacks or containment outside the declared RAES world.

Dependencies

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.

  • SEM-235 — Modular Participant Control and Extensible Dynamic IFC Semantics
  • SEM-230 — Participant Information-Flow And Control Semantics
  • SEM-233 — Adversarial Participant Boundary Information-Flow Control

Architecture binding from #1068

Implement or consume ADR-108 and participant-control-composition/rev1 (PC-01–PC-15). Worked cases, requirement disposition, and the delivery graph supply the acceptance and dependency detail.

The linked design is accepted at merged revision ebb70a34b8e7d1cc8964c443841ae57e12ed1014. Dependent implementation must pin this accepted authority and the required released artifacts; listing a UID does not remove an implementation dependency.

Required predecessors within this program: OpenRAE/rae#1068.

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

Activity

  1. added
    enhancementNew feature or request
    area:runtimeRuntime and control-plane code
    blockedBlocked on an upstream gate or dependency
    on Aug 3, 2026
  2. added
    in-progressAn agent is actively working this issue via /implement
    and removed
    blockedBlocked on an upstream gate or dependency
    on Sep 17, 2026
  3. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    🛠️ Picked up by /implement - driver codex, branch 1070-participant-control-semantics, 2026-09-20T03:12:56.154Z.

  4. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    gc workflow phase recorded: preflight (issue #1070). Posted by the MCP server to enforce ordering between workflow steps (issue #794 MVP-2). Do not edit or delete — used by downstream tools to gate phase prerequisites.

  5. 1 remaining item

  6. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    gc workflow phase recorded: preflight (issue #1070). Posted by the MCP server to enforce ordering between workflow steps (issue #794 MVP-2). Do not edit or delete — used by downstream tools to gate phase prerequisites.

  7. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    gc workflow phase recorded: plan (issue #1070). Posted by the MCP server to enforce ordering between workflow steps (issue #794 MVP-2). Do not edit or delete — used by downstream tools to gate phase prerequisites.

    Publish sem-235/rev1 under ADR-108, pinned to accepted #1068 revision ebb70a3. Existing SEM-230 projection/cut semantics and SEM-233 security algebra remain incumbent authorities.

    1. Publish specs/formal/participant-semantics/modular-participant-control.md: revisioned exact selection, typed result slots, domains, source/default and memory/release relations, deterministic DAG/conjunction/conflict semantics, typed effect-owner mapping, independent authority/visibility, exact-cut commit, fresh identity, retry uncertainty and finite trigger closure. Map all PC-01–PC-15 and issue acceptance clauses.
    2. Work teaching-influence/rev1 and incumbent sem-233/rev1 end to end, including intentional adversarial observation, retained influence and a separately admitted inject; include mandatory/advisory composition, conflicting routes/transforms, stale results, absent/unsupported/weakened states, transformed proposal re-entry, reset/retry counterexamples and explicit nonclaims.
    3. Add a finite test-local semantic model and behavioral tests under implementations/python/tests/sem235_* and test_sem_235_*. Reuse sem233_boundary_flow_model for security algebra and sem230_information_flow_model for participant projection. New executable model clauses use Path A red/green; static semantic clauses ride with that behavioral evidence. No documentation-only carve-out. Extend coverage beyond Design modular participant control with extensible dynamic IFC and governed control effects #1068's coarse reducer to typed slot mismatch and effect compatibility; record bounded assumptions, not production conformance.
    4. Place concept mapping in specs/concept-authority, reuse existing families, add precise lineage in docs/explain/sdl/lineage.md and contracts/provenance/sdl-lineage-ledger-v2.json, and register evidence in specs/formal/assurance-fulfillment.yaml and participant-semantics README. Publish a verification/acceptance map; preserve historical research design evidence.
    5. Add only exact semantic-publication paths to modular-control-semantics ownership in tools/policy/requirement_order.yaml if needed, tested through the real governance evaluator for permitted publication and rejected runtime implementation. Transition SEM-235 to ACTIVE and reconcile IMPLEMENTS/TESTS in all three requirement files in this delivery diff. SEM-230 and SEM-233 retain statements and ACTIVE status.

    Security: exact authority and sink predicates, participant projection and safe evidence govern each derived occurrence; missing facts cannot become bottom or permission. Revision/digest validation and repository concept, lineage, assurance and requirement-policy consumers must accept the artifacts.
    Maintainability: reuse incumbent SEM-230/233 models, concept families, lineage reader and governance evaluator; no provider, runtime, schema or parallel store implementation.
    Extensibility: new domains require distinct revisioned closed carriers and published relations; non-IFC state stays typed independently. No runtime labels map or callback language.
    Whole repository: formal specifications, approved concept surface, lineage catalog, assurance registry, requirement files, existing policy/verification scripts, pytest, pre-commit, CI and Sonar.

    Verification: observe meaningful new model/governance tests fail before implementation, then run targeted SEM-235 and incumbent SEM-230/233 tests plus lineage and assurance checks. Baseline check_repo_policy.py and check_requirement_governance.py passed. Run required repository checks after implementation, including implementations/python/.venv/bin/python tools/check_repo_policy.py, tools/check_requirement_governance.py and tools/verify_all.py, with RAES_REQUIREMENT_UID=SEM-235. Preserve required pre-publish hooks, review, CI and Sonar gates. Use a Conventional Commit PR title; no changelog or manual version edits.
    Preflight integration: add SEM-235's partial cross-phase coverage row to docs/explain/reference/shared-semantic-integrity.md (semantic authority is published; runtime realization is not). Reuse existing lineage claims under concept-family:behavioral-relations with new exact semantic boundary references. Keep the preflight note and its DOCUMENTS link. The ownership test must fail when an arbitrary runtime path is accepted, then pass after the exact path mapping is added.

  8. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    gc_codex_review — sanitized deferred publication for issue #1070, cycle 1 of 1
    Reviewed revision: 809b29673bb156ce74e47b2090764ec4c56630c76d98dcf00c1b6059a7ea10af

    Architectural read

    The publication preserves SEM-230/233 and uses the existing concept, lineage and assurance authorities. One finite-model ordering shortcut contradicts the published effect-compatibility rule.

    Verdict: ship-with-fixes

    Notes

    • Update the preflight's ownership description to reflect the exact semantic-publication mapping added by this change.

    Findings

    security-F1 — Require ordering for distinct effects on the same subject

    • Classification: one-off
    • Decision: fix
    • Location: implementations/python/tests/sem235_modular_control_model.py:_pair_conflict
    • Rationale: Distinct rule identities are separate effects even when their content matches. Require compatible ordering and add regression witnesses for both input permutations.
  9. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    gc_codex_review pre-push cycle 1 of 1 complete for issue #1070 on branch '1070-participant-control-semantics'. Posted by the MCP server to enforce the pre-push hard-cap-1 contract (issues #796, #804, #906). Do not edit or delete — used by the next gc_codex_review (uncommitted) invocation to count cycles.

  10. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Review decision record — codex cycle 1 (issue #1070)

    Reviewer: codex
    Cycle: 1
    Verdict: ship-with-fixes

    Architectural read:

    The publication preserves SEM-230/233 and uses the existing concept, lineage and assurance authorities. One finite-model ordering shortcut contradicts the published effect-compatibility rule.

    Blocking findings: 1

    Finding 1 — one-off

    • ID: security-F1
    • Title: Require ordering for distinct effects on the same subject
    • Location: implementations/python/tests/sem235_modular_control_model.py:_pair_conflict
    • Decision: fix
    • Rationale: Distinct rule identities are separate effects even when their content matches. Require compatible ordering and add regression witnesses for both input permutations.

    Notes (non-blocking, no decisions):

    • Update the preflight's ownership description to reflect the exact semantic-publication mapping added by this change.
  11. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    gc workflow phase recorded: plan (issue #1070). Posted by the MCP server to enforce ordering between workflow steps (issue #794 MVP-2). Do not edit or delete — used by downstream tools to gate phase prerequisites.

    Plan correction per user instruction: local verification uses targeted tests and checks only. Remove the three blanket local-suite mandates from .gc/plan-rules.md and align it with /implement. CI owns repository-wide verification, completion and policy suites; preserve the mandatory publish hook, review, CI, SonarCloud and readiness gates. The running local verify_all.py invocation was interrupted. This supersedes the original plan's instruction to run full verification locally.

    Review repair: fix security-F1 by requiring explicit ordering for distinct-key matching transforms, masks, routes and handoffs on one subject. Add both-permutation regression witnesses, verify they fail before the fix and pass after it, and update the preflight ownership description to the delivered mapping. All other semantic scope and requirement boundaries remain as planned.

  12. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Pre-PR base synchronization

    • Source: refs/remotes/origin/dev at a4972cabf0b02fad7e8a18ecc6d56c403c926f8c
    • Outcome: already_current
    • Published feature head: a90c66aa40241a75a6cb23f6b604efb355b01309
    • Synchronized tree: 4d53ab0ee41dffea3a5ad83f88650915addab9d0
  13. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Pre-PR base synchronization

    • Source: refs/remotes/origin/dev at a4972cabf0b02fad7e8a18ecc6d56c403c926f8c
    • Outcome: already_current
    • Published feature head: f0cf67856643997c5bb422a671f824cb61e5936a
    • Synchronized tree: 2c698bb30ad7ab58f35711f7a29ec2915609740c
  14. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Ready for review — issue #1070

    PR: #1328
    Plan: #1070 (comment)

    Outcome

    Maintainers can use a published semantic contract for non-security IFC profiles, mechanism composition and independently governed participant effects while preserving the existing security profile. Repository guidance now requires targeted local checks and reserves full suites for CI.

    In-scope requirements

    Proposed state in this PR — authoritative only after merge.

    • SEM-235 (Modular Participant Control and Extensible Dynamic IFC Semantics) — ACTIVE (proposed) — Proposed semantic fulfillment; runtime and conformance remain separate.
    • SEM-230 (Participant Information-Flow And Control Semantics) — ACTIVE (proposed) — Incumbent authority preserved.
    • SEM-233 (Adversarial Participant Boundary Information-Flow Control) — ACTIVE (proposed) — Security profile and statement preserved.

    Files changed

    Added:

    • docs/decisions/issue-1070-sem-235-architecture-preflight.md
    • docs/research/modular-participant-control/semantic-verification.md
    • implementations/python/tests/sem235_modular_control_model.py
    • implementations/python/tests/test_sem_235_governance.py
    • implementations/python/tests/test_sem_235_modular_control.py
    • specs/concept-authority/participant-control.md
    • specs/formal/participant-semantics/modular-participant-control.md

    Modified:

    • .gc/plan-rules.md
    • contracts/provenance/sdl-lineage-ledger-v2.json
    • docs/explain/reference/shared-semantic-integrity.md
    • docs/explain/sdl/lineage.md
    • docs/requirements/SEM-230/requirement.md
    • docs/requirements/SEM-233/requirement.md
    • docs/requirements/SEM-235/requirement.md
    • specs/formal/assurance-fulfillment.yaml
    • specs/formal/participant-semantics/README.md
    • tools/policy/requirement_order.yaml

    Reviews

    • codex: One ordering finding fixed; four regression cases failed before repair and passed after it. All 30 targeted SEM-235 tests pass.

    Traceability reconciliation

    • Pending — requirement status transition and IMPLEMENTS/TESTS reconciliation run in Phase E once the PR merges.

    Status

    • CI: ✅ green
    • SonarCloud: ✅ passed
    • PR ready for user review and merge. Ground Control reconciliation (requirement status + traceability) runs on merge (Phase E).
  15. Brad-Edwards commented on Sep 20, 2026

    @Brad-Edwards
    CollaboratorAuthor

    Final report — issue #1070 complete

    PR: #1328
    Plan: #1070 (comment)

    Outcome

    Maintainers can use a published semantic contract for non-security IFC profiles, mechanism composition and independently governed participant effects while preserving the existing security profile. Repository guidance now requires targeted local checks and reserves full suites for CI.

    In-scope requirements

    Verified at merge revision 65ca8e416557.

    • SEM-235 (Modular Participant Control and Extensible Dynamic IFC Semantics) — ACTIVE — Proposed semantic fulfillment; runtime and conformance remain separate.
    • SEM-230 (Participant Information-Flow And Control Semantics) — ACTIVE — Incumbent authority preserved.
    • SEM-233 (Adversarial Participant Boundary Information-Flow Control) — ACTIVE — Security profile and statement preserved.

    Files changed

    Added:

    • docs/decisions/issue-1070-sem-235-architecture-preflight.md
    • docs/research/modular-participant-control/semantic-verification.md
    • implementations/python/tests/sem235_modular_control_model.py
    • implementations/python/tests/test_sem_235_governance.py
    • implementations/python/tests/test_sem_235_modular_control.py
    • specs/concept-authority/participant-control.md
    • specs/formal/participant-semantics/modular-participant-control.md

    Modified:

    • .gc/plan-rules.md
    • contracts/provenance/sdl-lineage-ledger-v2.json
    • docs/explain/reference/shared-semantic-integrity.md
    • docs/explain/sdl/lineage.md
    • docs/requirements/SEM-230/requirement.md
    • docs/requirements/SEM-233/requirement.md
    • docs/requirements/SEM-235/requirement.md
    • specs/formal/assurance-fulfillment.yaml
    • specs/formal/participant-semantics/README.md
    • tools/policy/requirement_order.yaml

    Reviews

    • codex: One ordering finding fixed; four regression cases failed before repair and passed after it. All 30 targeted SEM-235 tests pass.

    Traceability reconciliation

    • IMPLEMENTS / TESTS / DOCUMENTS added: 2
    • Links updated: 1
    • Stale links removed: 0

    Existing shared-artifact links remain valid; no renamed or deleted artifacts.

    Status

    • CI: ✅ green
    • SonarCloud: ✅ passed
    • PR ready for user review and merge.
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 requestin-progressAn agent is actively working this issue via /implement

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions