Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/decisions/adrs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ adr-110-reusable-mixed-control-policies-and-occurrences
adr-111-control-applicability-and-effect-decisions
adr-112-external-inject-triggering-and-execution
adr-113-reusable-execution-machinery
adr-114-ifc-profile-variability-and-publication
```

| ADR | Title | Status | Date |
Expand Down Expand Up @@ -274,3 +275,4 @@ adr-113-reusable-execution-machinery
| [111](adr-111-control-applicability-and-effect-decisions.md) | Control Applicability and Effect Decisions | accepted | 2026-09-22 |
| [112](adr-112-external-inject-triggering-and-execution.md) | External Inject Triggering and Execution | accepted | 2026-09-22 |
| [113](adr-113-reusable-execution-machinery.md) | Reusable Execution Machinery Under RAE Authority | accepted | 2026-09-23 |
| [114](adr-114-ifc-profile-variability-and-publication.md) | IFC Profile Variability and Publication | accepted | 2026-09-23 |
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,23 @@ with participant-neutral authority.

## Decision

### Amendment: IFC profile variability and publication (#1354)

[ADR-114](adr-114-ifc-profile-variability-and-publication.md) and
[IFC-01–IFC-07](../../../specs/formal/participant-semantics/ifc-profile-variability.md)
separate authored owner/guarantee requirements, published profile meaning and
backend realization. Governed finite publication remains the extension route;
no new owner syntax, policy interpreter or plugin facility is introduced.
Independent obligations, conservative propagation, per-obligation release
authority and immutable provenance remain mandatory. CA-04 governs admission;
losing an admitted guarantee blocks the affected release. The published v1
vocabulary and non-exact-support rejection remain unchanged.

The amendment's [migration contract](../../migration/ifc-profile-variability.md)
preserves historical profile/release interpretation and requires explicit
consumer support before owner-aware or revised bounded-support claims. This
semantic publication does not implement those consumers or certify a backend.

### 1. Add two DRAFT owners

SEM-233, **Adversarial Participant Boundary Information-Flow Control**,
Expand Down Expand Up @@ -287,6 +304,9 @@ evidence records retain their own dates and scope.
| Date | Commit/PR | Summary |
| --- | --- | --- |
| 2026-09-06 | #1068 | Clarify modular composition, governed effects and the declared-world boundary under ADR-108 while preserving the security profile and runtime interpreter non-goal. |
| 2026-09-23 | #1354 | Define IFC profile variability, requirement-relative support, per-obligation release and immutable migration under ADR-114. |
| 2026-09-24 | #1383 | Rebind the #1354 publication reference to ADR-114 after ADR-113 was assigned to #1350; semantics are unchanged. |


## References

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,23 @@ They do not all have information-flow labels.

## Decision

### Amendment: IFC profile variability and publication (#1354)

[ADR-114](adr-114-ifc-profile-variability-and-publication.md) and
[IFC-01–IFC-07](../../../specs/formal/participant-semantics/ifc-profile-variability.md)
separate authored owner/guarantee requirements, published profile meaning and
backend realization. Governed finite publication remains the extension route;
no new owner syntax, policy interpreter or plugin facility is introduced.
Independent obligations, conservative propagation, per-obligation release
authority and immutable provenance remain mandatory. CA-04 governs admission;
losing an admitted guarantee blocks the affected release. The published v1
vocabulary and non-exact-support rejection remain unchanged.

The amendment's [migration contract](../../migration/ifc-profile-variability.md)
preserves historical profile/release interpretation and requires explicit
consumer support before owner-aware or revised bounded-support claims. This
semantic publication does not implement those consumers or certify a backend.

### Amendment: exact-cut applicability and effect decisions (#1352)

[ADR-111](adr-111-control-applicability-and-effect-decisions.md) and
Expand Down Expand Up @@ -254,3 +271,5 @@ backend equivalence, or protection of opaque internals and undeclared channels.
| Date | Reference | Change |
| --- | --- | --- |
| 2026-09-22 | #1352 | Clarify apparatus versus applicability, obligation coverage, typed dependency invocation, optional failure, required strength, atomic state and phase-independent parent decisions through ADR-111. |
| 2026-09-23 | #1354 | Define IFC profile variability, requirement-relative support, per-obligation release and immutable migration under ADR-114. |
| 2026-09-24 | #1383 | Rebind the #1354 publication reference to ADR-114 after ADR-113 was assigned to #1350; semantics are unchanged. |
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# ADR-114: IFC Profile Variability and Publication

## Status

accepted

Acceptance takes effect when the delivery PR for
[#1354](https://github.com/OpenRAE/rae/issues/1354) merges. An unmerged copy is
proposed delivery state. This is a semantic decision, not new portable profile
support or runtime adoption.

## Date

2026-09-23

## Classification

Classification: FM3

Required artifacts: [IFC-01–IFC-07](../../../specs/formal/participant-semantics/ifc-profile-variability.md),
[worked cases and bounded evidence](../../research/ifc-profile-variability/cases.md),
[finite interpretation](../../../implementations/python/tests/ifc_profile_variability_model.py),
[behavioral witnesses](../../../implementations/python/tests/test_issue_1354_ifc_profile_variability.py),
[migration obligations](../../migration/ifc-profile-variability.md), and
SEM-233/SEM-235 amendments.

Waivers: the finite interpretation assumes trusted context and comparable
synthetic guarantee facts. It is not an installed engine, public negotiator,
wire reader, instrumentation proof or backend conformance result. No schema,
profile bytes, provider protocol or runtime implementation changes here.

## Context

The [preflight](../issue-1354-ifc-profile-variability-preflight.md) confirms that
SEM-233's product-powerset algebra already supports finite independent owner
obligations. The published digest-pinned security profile has a much smaller
fixed vocabulary. Shape-valid token additions do not pass publication
validation, and modular consumers recognize a closed profile/fact union.
Finiteness is not the problem; losing independent release distinctions is.

ADR-108 permits governed domains without a general interpreter. CA-04 already
defines requirement-relative support, while current v1 composition rejects
non-exact support. Neither a declaration nor acceptance of weaker capability
proves that the authored requirement is satisfied.

## Decision

Adopt `ifc-profile-variability/rev1` under SEM-233 and SEM-235. Authors specify
required owner/release distinctions, scope and guarantees, directly or through
exact governed references. Profiles publish their meaning; backend configuration
binds realizations without changing that meaning.

Use governed closed finite publication for additional justified distinctions.
Independent owners retain independent confidentiality and integrity obligations,
even with equal current audiences. Conservative joins, trusted authority for
every discharged obligation, fresh derived identities and immutable provenance
remain mandatory. Extensibility uses exact profile bindings and the existing
trusted source/sink/authority resolver seam. No owner-parameter syntax, policy
language or plugin facility is justified by these finite cases.

Require separate evidence for expressibility and realization, then apply CA-04
to the actual authored coverage and constraints. An admitted bounded guarantee
is legitimate where the requirement permits it; losing an admitted promise
during execution blocks the affected mandatory release and requires an explicit
new admission to change the promise. Authority to downgrade does not establish
satisfaction or remove another owner's obligation.

Publish exact current limits and migration obligations. Independent-owner
examples are semantic witnesses, not new registered profiles. Adding tokens
requires coherent release correspondence, contracts, readers, capability,
runtime and backend evidence before any operational claim. Preserve ADR-101's
security meanings, ADR-108's declared-world boundary and CA-01–CA-09.

## Alternatives Considered

- Collapse every owner into `restricted`: conservative blocking can be a
disclosed limit, but cannot supply independently authorized selective sharing.
- Encode new meaning in backend configuration or audit names: cannot establish
portable profile semantics, complete propagation or per-obligation authority.
- Add arbitrary labels, callbacks or a policy/plugin language: the finite cases
need none; they would introduce interpretation and executable authority.
- Adopt owner parameters immediately: potentially useful for repeated finite
deployments, but needs a concrete unmet case and a separate closed binding
contract. This decision leaves that justified extension possible.
- Treat all bounded support as success, or every bounded guarantee as runtime
failure: both ignore the requirement and the guarantee actually admitted.

## Consequences

The support boundary becomes reviewable: a valid requirement can be refused
because no profile expresses it, because no backend realizes it, or because
an admitted guarantee was lost. Supported policy denial remains a different
outcome. Historical records retain their original evidence and limitations.

The cost of new variability is governed publication and coordinated consumer
adoption. This decision neither certifies a contextual encoding of independent
owners under the legacy vocabulary nor broadens existing implementation claims.
19 changes: 17 additions & 2 deletions docs/decisions/adrs/adr-index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -566,11 +566,17 @@ adrs:
pin: b7e17e58fc01e8f07a972ee5abc65e6a8470e2a6d51c2480334a3777df079e98
- id: ADR-101
path: docs/decisions/adrs/adr-101-adversarial-participant-flow-control.md
pin: 7d613beae8ae50e3232a07be1eedd5db422f252a728f34597d0c5dac65086164
pin: 7a579c1f66ee66285465e261f5e740414986c393fd57fbde3c490be3653711b9
amendments:
- date: 2026-09-06
ref: "#1068"
summary: "Clarify modular composition, governed effects and the declared-world boundary under ADR-108 while preserving the security profile and runtime interpreter non-goal."
- date: 2026-09-23
ref: "#1354"
summary: "Define IFC profile variability, requirement-relative support, per-obligation release and immutable migration under ADR-114."
- date: 2026-09-24
ref: "#1383"
summary: "Rebind the #1354 publication reference to ADR-114 after ADR-113 was assigned to #1350; semantics are unchanged."
- id: ADR-102
path: docs/decisions/adrs/adr-102-mixed-cross-backend-participant-control.md
pin: cfcb0f5b7291b47fe6ff6096bb18dd9063b83ee5d4f7f6a9cafbdd06f21bf716
Expand Down Expand Up @@ -622,11 +628,17 @@ adrs:
summary: "Narrowed the scope to connected single-maintainer OSS development and ordinary release recovery; retained the original design as history."
- id: ADR-108
path: docs/decisions/adrs/adr-108-modular-participant-control-and-governed-effects.md
pin: 7df063f96f2732f10ba7a6129ea21ad40caa7fb5dfd2f3bbd9f9245cf05b3fff
pin: a104a1150d612fa04c10847d36390d54fd99ce821d96c044b88c32404f7471f5
amendments:
- date: 2026-09-22
ref: "#1352"
summary: "Clarify applicability, dependency invocation, support and phase-independent parent decisions through ADR-111."
- date: 2026-09-23
ref: "#1354"
summary: "Define IFC profile variability, requirement-relative support, per-obligation release and immutable migration under ADR-114."
- date: 2026-09-24
ref: "#1383"
summary: "Rebind the #1354 publication reference to ADR-114 after ADR-113 was assigned to #1350; semantics are unchanged."
- id: ADR-109
path: docs/decisions/adrs/adr-109-participant-identity-and-objective-assignment.md
pin: 859172f6b8791577059a3215af639210e86267455c8a059f71168e621c0f9c61
Expand All @@ -646,3 +658,6 @@ adrs:
- id: ADR-113
path: docs/decisions/adrs/adr-113-reusable-execution-machinery.md
pin: 6d904befc0d37d44b07ed083d297c7a0e3ba0d520d79f9ddce1999477c78e91d
- id: ADR-114
path: docs/decisions/adrs/adr-114-ifc-profile-variability-and-publication.md
pin: 432d75b65d0ef06e022b260240fa7b8f99513f568048796b2b3811a1aeefebcb
Loading
Loading