Repository navigation
Define extensible dynamic-IFC profiles and participant-control mechanism composition #1070
Description
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
- Blocked by Design modular participant control with extensible dynamic IFC and governed control effects #1068.
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
Brad-Edwards commentedon Sep 20, 2026
🛠️ Picked up by /implement - driver codex, branch
1070-participant-control-semantics, 2026-09-20T03:12:56.154Z.Brad-Edwards commentedon Sep 20, 2026
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.1 remaining item
Brad-Edwards commentedon Sep 20, 2026
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.Brad-Edwards commentedon Sep 20, 2026
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.
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.
Brad-Edwards commentedon Sep 20, 2026
gc_codex_review — sanitized deferred publication for issue #1070, cycle 1 of 1
Reviewed revision:
809b29673bb156ce74e47b2090764ec4c56630c76d98dcf00c1b6059a7ea10afArchitectural 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-fixesNotes
Findings
security-F1 — Require ordering for distinct effects on the same subject
one-offfiximplementations/python/tests/sem235_modular_control_model.py:_pair_conflictBrad-Edwards commentedon Sep 20, 2026
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.Brad-Edwards commentedon Sep 20, 2026
Review decision record — codex cycle 1 (issue #1070)
Reviewer: codex
Cycle: 1
Verdict:
ship-with-fixesArchitectural read:
Blocking findings: 1
Finding 1 —
one-offsecurity-F1implementations/python/tests/sem235_modular_control_model.py:_pair_conflictNotes (non-blocking, no decisions):
Brad-Edwards commentedon Sep 20, 2026
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.
Brad-Edwards commentedon Sep 20, 2026
Pre-PR base synchronization
refs/remotes/origin/devata4972cabf0b02fad7e8a18ecc6d56c403c926f8calready_currenta90c66aa40241a75a6cb23f6b604efb355b013094d53ab0ee41dffea3a5ad83f88650915addab9d0Brad-Edwards commentedon Sep 20, 2026
Pre-PR base synchronization
refs/remotes/origin/devata4972cabf0b02fad7e8a18ecc6d56c403c926f8calready_currentf0cf67856643997c5bb422a671f824cb61e5936a2c698bb30ad7ab58f35711f7a29ec2915609740cBrad-Edwards commentedon Sep 20, 2026
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.mddocs/research/modular-participant-control/semantic-verification.mdimplementations/python/tests/sem235_modular_control_model.pyimplementations/python/tests/test_sem_235_governance.pyimplementations/python/tests/test_sem_235_modular_control.pyspecs/concept-authority/participant-control.mdspecs/formal/participant-semantics/modular-participant-control.mdModified:
.gc/plan-rules.mdcontracts/provenance/sdl-lineage-ledger-v2.jsondocs/explain/reference/shared-semantic-integrity.mddocs/explain/sdl/lineage.mddocs/requirements/SEM-230/requirement.mddocs/requirements/SEM-233/requirement.mddocs/requirements/SEM-235/requirement.mdspecs/formal/assurance-fulfillment.yamlspecs/formal/participant-semantics/README.mdtools/policy/requirement_order.yamlReviews
Traceability reconciliation
Status
Brad-Edwards commentedon Sep 20, 2026
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.mddocs/research/modular-participant-control/semantic-verification.mdimplementations/python/tests/sem235_modular_control_model.pyimplementations/python/tests/test_sem_235_governance.pyimplementations/python/tests/test_sem_235_modular_control.pyspecs/concept-authority/participant-control.mdspecs/formal/participant-semantics/modular-participant-control.mdModified:
.gc/plan-rules.mdcontracts/provenance/sdl-lineage-ledger-v2.jsondocs/explain/reference/shared-semantic-integrity.mddocs/explain/sdl/lineage.mddocs/requirements/SEM-230/requirement.mddocs/requirements/SEM-233/requirement.mddocs/requirements/SEM-235/requirement.mdspecs/formal/assurance-fulfillment.yamlspecs/formal/participant-semantics/README.mdtools/policy/requirement_order.yamlReviews
Traceability reconciliation
Existing shared-artifact links remain valid; no renamed or deleted artifacts.
Status