Skip to content

research(governance): define scientific authorization DSL bake-off - #5522

Draft
Tristan-Stoltz-ERC wants to merge 60 commits into
mainfrom
research/scientific-policy-dsl-bakeoff-2026-10-30
Draft

Tristan-Stoltz-ERC wants to merge 60 commits into
mainfrom
research/scientific-policy-dsl-bakeoff-2026-10-30

Conversation

@Tristan-Stoltz-ERC

@Tristan-Stoltz-ERC Tristan-Stoltz-ERC commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Starts a grounded, executable policy-engine bake-off for Mycelix DeSci using the existing DefaultScientificAuthorizationPolicy as the semantic oracle. The comparison is split into authorization decisions, evidence qualification, and non-delegable authority/commit gates.

Added

  • Frozen authorization corpus: 30 cases (18 allow / 12 deny) extracted from source revision 061e34f24d406f19f6de0e61867305b6989f455f.
  • Rust adapter in scientific_governance.rs that builds typed actors, signed synthetic events, and claim projections then invokes the real DefaultScientificAuthorizationPolicy::authorize for every case.
  • Metamorphic invariance test covering role-order changes, duplicate/irrelevant roles, unrelated actor-organization additions, and stable decision reasons.
  • Cedar 4.14.0 schema and policy plus 30 native Cedar CLI test requests generated from the same corpus.
  • OPA/Rego v1 policy plus 30 generated corpus tests and eight additional positive/negative controls.
  • Separate evidence-projection corpus: 10 cases covering review qualification, organization/person source de-duplication, replication outcomes, and withdrawal. The Rust adapter rebuilds signed event streams and checks exact evidence-profile counters.
  • Eleven separate outer authority/commit gates: event signature, actor binding, key validity/revocation, acting-organization membership, event-time bounds, idempotency/replay, signed receipts, receipt-chain continuity, and durable commit behavior.
  • Dedicated CI workflow and benchmark plan covering semantic hard gates, adversarial mutations, fair in-process vs CLI/service comparisons, p50/p95/p99, allocations, RSS, cold/warm load, concurrency and policy-diff analysis.

Actual workflow evidence — partial, not an overall pass

The latest dedicated workflow is run 42 (ID 41047474710) on PR source head f89b4bcdcfb901961e2ca11a577775acbf53a74d. Results:

  • Cedar: schema validation passed and all 30 native Cedar cases passed.
  • OPA/Rego: strict checks passed and all 38 tests passed (30 corpus vectors + eight focused controls).
  • Corpus integrity: denominator and adapter checks passed.
  • Rust oracle / projection: blocked before our tests could run. Compilation reports E0583 because the repository's lib.rs declares and re-exports scientific_credentials, but that module source is absent. Downstream unresolved registry calls also fail. This is the pre-existing build-integrity issue tracked in #5189, with a protocol-resolution contract in PR #4968.

The missing registry must be restored through its authentic protocol and compatibility boundary; this PR does not add a stub or bypass the compiler. Consequently, Cedar and Rego are individually green against the extracted expected outcomes, but three-way Rust/Cedar/Rego parity and the 10/10 projection suite are not yet proven.

Research position

A policy-language rewrite must not weaken Mycelix's signed identity and authority kernel. The first objective is semantic parity, not language aesthetics or a synthetic latency leaderboard. The projection corpus intentionally records an open normative issue: should a non-creator individual without a declared organization count as an independent replication source? The fixture preserves current behavior; it does not endorse it as the final scientific standard.

No performance result or "beats SOTA" claim is made. The benchmark plan requires equivalent workloads and exact decisions before speed comparisons.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant