Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
0d0bad2
chore(release): bump package version to 0.6.0
fraware Jun 28, 2026
3fad8c0
feat(core): add review_packet builder for SCOPE exports
fraware Jun 28, 2026
f91e0ca
feat(core): wire evaluate_with_grant into evaluation path
fraware Jun 28, 2026
a44527a
feat(core): extend gate for v0.6 review-loop preconditions
fraware Jun 28, 2026
b2619c6
feat(core): extend scope_contract for grant and packet fields
fraware Jun 28, 2026
2fcc732
feat(policy): add Ed25519 verification for signed policy manifests
fraware Jun 28, 2026
bcc9c37
chore(policy): extend manifest regeneration for Ed25519 signatures
fraware Jun 28, 2026
c9ac792
feat(policy): expand default tool registry for v0.6 integrations
fraware Jun 28, 2026
91be428
chore(policy): refresh policy_manifest hashes for v0.6 registry
fraware Jun 28, 2026
0a7a4bf
feat(classify): harden classifier inputs for v0.6 security posture
fraware Jun 28, 2026
9ed9bdc
feat(overlays): allow materials expert overlay tier wiring
fraware Jun 28, 2026
54128f1
refactor(scope): align engine protocol with grant-aware review flow
fraware Jun 28, 2026
8bcf0fb
feat(scope): refactor client for grants, packets, and import modes
fraware Jun 28, 2026
90d3b4e
feat(schemas): add VSA scientific report JSON schema
fraware Jun 28, 2026
5d4d83b
feat(vsa): import rich scientific reports with schema validation
fraware Jun 28, 2026
217593a
feat(adapters): add scientific_memory import adapter
fraware Jun 28, 2026
ceb250f
feat(pf): add trace import bridge for PF obligation linkage
fraware Jun 28, 2026
ac42720
feat(adapters): add labtrust_gym scenario import adapter
fraware Jun 28, 2026
b002ab2
feat(pcs): include VSA and review artifacts in PCS export
fraware Jun 28, 2026
874a0bb
feat(pcs-bench): add external checkout runner for suite replay
fraware Jun 28, 2026
6c5d5ed
feat(rest): harden generic REST adapter for v0.6 production use
fraware Jun 28, 2026
23b58f0
feat(mcp): extend MCP server with v0.6 review and grant tools
fraware Jun 28, 2026
7ad492f
feat(langgraph): strengthen middleware for grant-aware agent steps
fraware Jun 28, 2026
f107d55
feat(guardrails): add OpenAI adapter hooks for v0.6 policy checks
fraware Jun 28, 2026
db09f33
feat(evals): add inter-rater agreement harness for oracle scenarios
fraware Jun 28, 2026
93e47d1
feat(evals): add adversarial transition eval driver
fraware Jun 28, 2026
c77a1e4
feat(evals): add holdout evaluation runner for private scenarios
fraware Jun 28, 2026
576aeeb
feat(evals): extend oracle-independent runner for v0.6 suites
fraware Jun 28, 2026
83233fb
chore(evals): wire scenario runner to new v0.6 scenario files
fraware Jun 28, 2026
4bddcaa
feat(overlays): add materials_expert_v0 domain overlay
fraware Jun 28, 2026
2592d9f
feat(scenarios): expand oracle_independent corpus for v0.6
fraware Jun 28, 2026
21dd549
feat(scenarios): add adversarial_transitions scenario suite
fraware Jun 28, 2026
e0999d0
feat(scenarios): add holdout_private labeled scenarios
fraware Jun 28, 2026
971a197
chore(scenarios): refresh expected_decisions for v0.6 outcomes
fraware Jun 28, 2026
32f6a1f
chore(scripts): add oracle v0.6 scenario expansion helper
fraware Jun 28, 2026
d1447c6
chore(evals): pin public and oracle-independent benchmark reports
fraware Jun 28, 2026
44ec8d3
chore(evals): add adversarial_transitions benchmark report
fraware Jun 28, 2026
170b1a0
chore(evals): add holdout_private benchmark report
fraware Jun 28, 2026
9010e13
chore(evals): add integrated weak-evidence demo benchmark reports
fraware Jun 28, 2026
f3e545f
test: add shared pytest fixtures for v0.6 suites
fraware Jun 28, 2026
2a4de9d
test(core): cover v0.6 review loop and review_packet paths
fraware Jun 28, 2026
49e2707
test(policy): verify Ed25519 policy manifest signatures
fraware Jun 28, 2026
426032e
test(classify): cover v0.6 classifier security hardening
fraware Jun 28, 2026
f270003
test(adapters): add v0.6 adapter integration coverage
fraware Jun 28, 2026
7d9b6ac
test(evals): cover inter-rater and adversarial transition metrics
fraware Jun 28, 2026
509fa6e
test(contracts): add cross-repo helpers and narrow grant fixture
fraware Jun 28, 2026
7e2768b
test(adapters): update adapter and REST tests for v0.6 surfaces
fraware Jun 28, 2026
fbbeb96
test(contracts): verify PCS-Bench external checkout runner
fraware Jun 28, 2026
87c729e
test(contracts): assert SCOPE CLI and grant shape invariants
fraware Jun 28, 2026
a621680
test(contracts): cover protocol drift demo in live import mode
fraware Jun 28, 2026
6d505b6
test(contracts): refresh SCOPE CLI contracts for v0.6 import modes
fraware Jun 28, 2026
1cc25eb
chore(examples): sync protocol_drift AKTA decision and record artifacts
fraware Jun 28, 2026
c1eb6ca
chore(examples): sync protocol_drift SCOPE and PF sidecar artifacts
fraware Jun 28, 2026
a7b3742
chore(examples): update protocol_drift PCS manifest and registry hash
fraware Jun 28, 2026
c648ce8
chore(examples): sync protocol_drift PCS akta decision bundle members
fraware Jun 28, 2026
7b7735d
chore(examples): sync protocol_drift PCS PF and review_trigger bundle
fraware Jun 28, 2026
d247ac3
chore(examples): sync protocol_drift PCS SCOPE grant bundle members
fraware Jun 28, 2026
85552d7
feat(examples): add reconstructable_experiment demo artifacts
fraware Jun 28, 2026
04d914a
chore(examples): add reconstructable_experiment PCS verification bundle
fraware Jun 28, 2026
e6459f4
feat(scripts): add reconstructable experiment walkthrough demo
fraware Jun 28, 2026
e24546b
ci: extend workflow for v0.6 security and cross-repo gates
fraware Jun 28, 2026
64e224b
chore(scripts): update protocol drift demo for v0.6 grant import
fraware Jun 28, 2026
a0a63ae
docs(ci): document cross-repo CI checkout expectations
fraware Jun 28, 2026
86ee0e9
chore(make): add v0.6 CI and eval targets to Makefile
fraware Jun 28, 2026
886e53e
docs(policy): document Ed25519 manifest verification for operators
fraware Jun 28, 2026
a5baf66
docs(scope): update scope bridge for grant and review packets
fraware Jun 28, 2026
14f8fad
docs: expand limitations for v0.6 eval and adapter scope
fraware Jun 28, 2026
48d5beb
docs(changelog): add AKTA v0.6.0 release notes
fraware Jun 28, 2026
ebf7697
docs(readme): update README and SECURITY for v0.6 capabilities
fraware Jun 28, 2026
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
72 changes: 72 additions & 0 deletions .github/CROSS_REPO_CI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Cross-repo CI configuration (v0.6)

AKTA default CI runs entirely in-repo. Optional jobs validate live exports against sibling repositories when repository variables or secrets are configured.

## Repository variables

Set these under **Settings → Secrets and variables → Actions → Variables**:

| Variable | Purpose | Activates job |
|----------|---------|---------------|
| `PF_CORE_REPO_PATH` | Absolute path to a checked-out PF-Core repo on the runner | `cross-repo-pf-pcs` (PF step) |
| `PCS_CORE_REPO_PATH` | Absolute path to a checked-out PCS-Core repo | `cross-repo-pf-pcs` (PCS step) |
| `SCOPE_REPO_PATH` | Absolute path to a checked-out SCOPE repo | `cross-repo-scope` |
| `PCS_BENCH_REPO_PATH` | Absolute path to a checked-out PCS-Bench repo | `cross-repo-pcs-bench` |

## Repository secrets

| Secret | Purpose |
|--------|---------|
| `SCOPE_REPO_URL` | Git clone URL for SCOPE; CI clones to `$GITHUB_WORKSPACE/scope-sibling` and sets `SCOPE_REPO_PATH` |

## Manual sibling checkout pattern

Self-hosted or composite runners with sibling repos on disk:

```yaml
env:
PF_CORE_REPO_PATH: /opt/siblings/PF-Core
PCS_CORE_REPO_PATH: /opt/siblings/PCS-Core
SCOPE_REPO_PATH: /opt/siblings/SCOPE
PCS_BENCH_REPO_PATH: /opt/siblings/PCS-Bench
```

Run locally:

```powershell
$env:PF_CORE_REPO_PATH = "C:\path\to\PF-Core"
$env:PCS_CORE_REPO_PATH = "C:\path\to\PCS-Core"
$env:SCOPE_REPO_PATH = "C:\path\to\SCOPE"
$env:PCS_BENCH_REPO_PATH = "C:\path\to\PCS-Bench"
pytest tests/contracts/ -v -m integration
```

## Job behavior

### `cross-repo-pf-pcs`

Runs when `PF_CORE_REPO_PATH` or `PCS_CORE_REPO_PATH` is non-empty. Exports AKTA artifacts and validates against sibling PF-Core / PCS-Core validators via `tests/contracts/cross_repo_helpers.py`.

### `cross-repo-scope`

Runs when `SCOPE_REPO_PATH` is set or `SCOPE_REPO_URL` secret is present. Clones SCOPE when only the secret is configured, then runs SCOPE python-import contract tests.

### `cross-repo-pcs-bench`

Runs when `PCS_BENCH_REPO_PATH` is set. Invokes external PCS-Bench runner when available; contract tests verify in-repo fallback when the path is unset.

## External PCS-Bench integration

When `PCS_BENCH_REPO_PATH` points to a sibling checkout, `adapters/pcs_bench/runner.run_pcs_bench_suite()` attempts, in order:

1. Python import: `pcs_bench.runners.akta.run_akta_suite`
2. CLI script: `scripts/run_akta_suite.py`
3. In-repo `AKTABenchScenario` runner (default)

## Fail-closed defaults

- Jobs are skipped when variables are unset; default CI remains green without siblings.
- Invalid `PCS_BENCH_REPO_PATH` values fall back to the in-repo runner rather than silently passing external validation.
- SCOPE python-import mode does not fall back to simulated grants when `SCOPE_REPO_PATH` is set.

See also [tests/contracts/README.md](../tests/contracts/README.md).
69 changes: 68 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: pip install -e ".[dev]"
run: pip install -e ".[dev,security]"

- name: Run pytest
run: pytest tests/ skills/akta-scientific-action-admissibility/tests/ -v
Expand Down Expand Up @@ -50,6 +50,12 @@ jobs:
- name: Run oracle-independent eval
run: python evals/run_oracle_independent.py --out evals/reports/oracle_independent.json

- name: Run holdout private eval
run: python evals/run_holdout_eval.py --out evals/reports/holdout_private.json

- name: Run adversarial transition eval (v0.6)
run: python evals/adversarial_transitions.py --out evals/reports/adversarial_transitions.json

- name: Invalid fixtures must fail
run: pytest tests/test_invalid_cases.py -v

Expand All @@ -59,9 +65,70 @@ jobs:
- name: Run integrated protocol-drift demo
run: python scripts/demo_akta_scope_protocol_drift.py

- name: Run reconstructable experiment demo
run: python scripts/demo_reconstructable_experiment.py

- name: Upload eval reports
if: always()
uses: actions/upload-artifact@v4
with:
name: eval-reports-py${{ matrix.python-version }}
path: evals/reports/

cross-repo-pf-pcs:
runs-on: ubuntu-latest
if: ${{ vars.PF_CORE_REPO_PATH != '' || vars.PCS_CORE_REPO_PATH != '' }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies
run: pip install -e ".[dev,security]"
- name: Cross-repo PF-Core validation
if: ${{ vars.PF_CORE_REPO_PATH != '' }}
env:
PF_CORE_REPO_PATH: ${{ vars.PF_CORE_REPO_PATH }}
run: pytest tests/contracts/test_cross_repo_live.py::test_pf_core_live_validation -v -m integration
- name: Cross-repo PCS-Core validation
if: ${{ vars.PCS_CORE_REPO_PATH != '' }}
env:
PCS_CORE_REPO_PATH: ${{ vars.PCS_CORE_REPO_PATH }}
run: pytest tests/contracts/test_cross_repo_live.py::test_pcs_core_live_validation -v -m integration

cross-repo-scope:
runs-on: ubuntu-latest
if: ${{ vars.SCOPE_REPO_PATH != '' || secrets.SCOPE_REPO_URL != '' }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies
run: pip install -e ".[dev,security]"
- name: Optional SCOPE sibling checkout
if: ${{ secrets.SCOPE_REPO_URL != '' }}
env:
SCOPE_REPO_URL: ${{ secrets.SCOPE_REPO_URL }}
run: |
git clone --depth 1 "$SCOPE_REPO_URL" scope-sibling
echo "SCOPE_REPO_PATH=$GITHUB_WORKSPACE/scope-sibling" >> $GITHUB_ENV
- name: SCOPE live contract tests
env:
SCOPE_REPO_PATH: ${{ env.SCOPE_REPO_PATH || vars.SCOPE_REPO_PATH }}
run: pytest tests/contracts/test_scope_python_import_live_shape.py -v -m integration

cross-repo-pcs-bench:
runs-on: ubuntu-latest
if: ${{ vars.PCS_BENCH_REPO_PATH != '' }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies
run: pip install -e ".[dev,security]"
- name: PCS-Bench external integration contract
env:
PCS_BENCH_REPO_PATH: ${{ vars.PCS_BENCH_REPO_PATH }}
run: pytest tests/contracts/test_pcs_bench_external.py -v
39 changes: 39 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,45 @@ All notable changes to AKTA are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [0.6.0] - 2026-06-28

### Added

- Cross-repo CI jobs for optional sibling repos (`PF_CORE_REPO_PATH`, `PCS_CORE_REPO_PATH`, `SCOPE_REPO_PATH`)
- Closed-loop review: `evaluate_with_grant()`, full `review_decision.py`, human review packet export/import
- Ed25519 policy signing (`AKTA_REQUIRE_SIGNED_POLICY`, key rotation via `public_keys`); HMAC retained for deployment attestation
- VSA rich ScientificReport import (claims, evidence_links, validation_results) + PCS bundle `vsa_report.json`
- Adapters: Scientific Memory, LabTrust-Gym scenario import, PF trace certificate import, PCS-Bench runner
- Inter-rater eval metadata (`reviewer_ids`, `inter_rater_agreement`, `label_source`) in `expected_decisions.jsonl` with stats in eval reports
- Adversarial transition eval module (`evals/adversarial_transitions.py`) for grant expiry, scope narrowing, and re-gate tool allow/block
- External PCS-Bench checkout via `PCS_BENCH_REPO_PATH` with in-repo fallback
- `.github/CROSS_REPO_CI.md` documenting cross-repo CI variables and secrets
- `scripts/demo_reconstructable_experiment.py` — full VSA → AKTA → SCOPE → PF → PCS → Memory → PCS-Bench chain
- AKTA-Bench: 55 oracle-independent scenarios, `holdout_private.jsonl`, behavioral eval runner
- Tool registry expanded to 50+ lab/compute tools; mandatory tool declaration fail-closed (A8)
- Hybrid classifier: negation, hedging, prose authority-transfer detection
- REST optional API key auth (`AKTA_REST_API_KEY`) and rate limiting; LangGraph SCOPE grant scoped retry
- Expert-reviewed overlay: `materials_expert_v0` with maintainer sign-off metadata

### Changed

- Package version `0.6.0`; policy manifest `akta-policy-manifest-v0.6`
- PCS export includes VSA report as first-class artifact when present

## [0.5.1] - 2026-06-28

### Fixed

- SCOPE python-import adapter: uses `ScopeEngine.from_policy_dir(policy/)` and v0.5 `create_packet(akta_record=, akta_trigger=)`, `submit_decision(reviewer=, decision=)`, `issue_grant(packet, decision)` — no no-arg constructor or simulated fallback when `SCOPE_REPO_PATH` is set
- SCOPE CLI adapter: real v0.5 command shapes (`--akta-trigger`, `--akta-record`, `--reviewer`, `--decision` file args)
- PCS grant validation: accepts real SCOPE v0.5 grants via `authorization.approved_scope` and `source.requested_scope`; rejects overbroad grants; includes real grant unchanged in bundle
- Contract tests: `test_scope_python_import_live_shape.py`, `test_scope_cli_command_shape.py`, `test_pcs_real_scope_grant_shape.py`, `test_demo_protocol_drift_live_mode.py`

### Changed

- Package version `0.5.1`; `adapters/scope/engine_protocol.py` updated to SCOPE v0.5 API
- `docs/limitations.md`: v0.5 and v0.4 sections distinguishing simulated/python-import/CLI modes

## [0.5.0] - 2026-06-28

### Added
Expand Down
16 changes: 13 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
.PHONY: install test eval-canonical eval-public eval-public-100 eval-oracle demo-weak-evidence demo-akta-weak-evidence demo-akta-scope-protocol-drift ci
.PHONY: install test eval-canonical eval-public eval-public-100 eval-oracle eval-holdout eval-v06 demo-weak-evidence demo-akta-weak-evidence demo-akta-scope-protocol-drift demo-reconstructable ci

PYTHON ?= python

install:
$(PYTHON) -m pip install -e ".[dev]"
$(PYTHON) -m pip install -e ".[dev,security]"

test:
$(PYTHON) -m pytest tests/ skills/akta-scientific-action-admissibility/tests/ -v
Expand All @@ -17,6 +17,15 @@ eval-public-100:
eval-oracle:
$(PYTHON) evals/run_oracle_independent.py --out evals/reports/oracle_independent.json

eval-holdout:
$(PYTHON) evals/run_holdout_eval.py --out evals/reports/holdout_private.json

eval-v06:
$(PYTHON) evals/adversarial_transitions.py --out evals/reports/adversarial_transitions.json

demo-reconstructable:
$(PYTHON) scripts/demo_reconstructable_experiment.py

demo-weak-evidence:
$(PYTHON) scripts/demo_weak_evidence.py

Expand All @@ -26,7 +35,8 @@ demo-akta-weak-evidence:
demo-akta-scope-protocol-drift:
$(PYTHON) scripts/demo_akta_scope_protocol_drift.py

ci: install test eval-canonical eval-public-100 eval-oracle
ci: install test eval-canonical eval-public-100 eval-oracle eval-holdout eval-v06
$(PYTHON) -m pytest tests/test_invalid_cases.py tests/integration/ tests/contracts/ -v
$(PYTHON) scripts/demo_integrated_weak_evidence.py
$(PYTHON) scripts/demo_akta_scope_protocol_drift.py
$(PYTHON) scripts/demo_reconstructable_experiment.py
33 changes: 31 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,15 @@ akta-rest --host 127.0.0.1 --port 8765
# GET /v0/policy, /v0/health
```

## v0.5.1 acceptance status

| Criterion | Status |
|-----------|--------|
| SCOPE python-import (`ScopeEngine.from_policy_dir`, v0.5 kwargs) | Pass |
| SCOPE CLI v0.5 flags (`--akta-trigger`, `--akta-record`, `--reviewer`, `--decision`) | Pass |
| PCS grant validation (`authorization.approved_scope`, narrow draft grant) | Pass |
| 235+ tests; `make ci` green | Pass |

## v0.5 acceptance status

| Criterion | Status |
Expand All @@ -150,7 +159,7 @@ akta-rest --host 127.0.0.1 --port 8765
| LLM classifier trust boundary (registry overrides LLM) | Pass |
| Overlay governance tiers + production refusal | Pass |
| Policy file versioning in decision provenance | Pass |
| 210+ tests; `make ci` green | Pass |
| 210+ tests; `make ci` green | Pass (see v0.5.1 for SCOPE adapter patch) |

## v0.4 acceptance status

Expand Down Expand Up @@ -218,4 +227,24 @@ akta-rest --host 127.0.0.1 --port 8765

## Status

AKTA v0.5 is a reference implementation. It is not a safety certification. Biology, chemistry, and clinical overlays are experimental and not deployment-ready without institutional governance. Deployment profile P7 (fully autonomous scientific operator) is defined for taxonomy only and is not supported.
AKTA v0.6.0 is a reference implementation. It is not a safety certification. Biology, chemistry, and clinical overlays are experimental and not deployment-ready without institutional governance. Deployment profile P7 (fully autonomous scientific operator) is defined for taxonomy only and is not supported.

## v0.6 acceptance status

| Criterion | Status |
|-----------|--------|
| Cross-repo CI jobs (optional PF/PCS/SCOPE) | Pass |
| Closed-loop review (`evaluate_with_grant`, expiry F14) | Pass |
| Ed25519 policy signing + `AKTA_REQUIRE_SIGNED_POLICY` | Pass |
| VSA rich report + PCS `vsa_report.json` artifact | Pass |
| Scientific Memory + LabTrust-Gym + PCS-Bench adapters | Pass |
| Reconstructable experiment demo (full chain) | Pass |
| Oracle-independent 55 scenarios + holdout eval | Pass |
| Tool registry 50+ tools + mandatory declaration A8 | Pass |
| Expert-reviewed overlay (`materials_expert_v0`) | Pass |
| REST API key auth + rate limiting | Pass |
| Inter-rater eval metadata + stats in `akta eval` | Pass |
| Adversarial transition evals (grant expiry, scope narrowing) | Pass |
| External PCS-Bench checkout integration (`PCS_BENCH_REPO_PATH`) | Pass |

Cross-repo CI variables: see [.github/CROSS_REPO_CI.md](.github/CROSS_REPO_CI.md).
15 changes: 14 additions & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

| Version | Supported |
|---------|-----------|
| 0.6.x | Yes |
| 0.5.x | Yes |
| 0.4.x | Yes |
| 0.3.x | Yes |
Expand All @@ -30,6 +31,13 @@ Regenerate manifest after policy edits: `python scripts/regenerate_policy_manife

See [docs/policy_integrity.md](docs/policy_integrity.md).

### v0.6 controls

- Ed25519 signed policy manifests (`AKTA_REQUIRE_SIGNED_POLICY=1`); HMAC retained for deployment attestation
- Key rotation via manifest `public_keys` list and `AKTA_POLICY_PREVIOUS_PUBLIC_KEYS` at sign time
- REST API optional key auth (`AKTA_REST_API_KEY`) and rate limiting
- Mandatory tool declaration fail-closed for unregistered mutating tools

### v0.5 controls

- JSON schema validation on all artifacts
Expand All @@ -55,9 +63,14 @@ See [docs/policy_integrity.md](docs/policy_integrity.md).
- Unknown mutating tools blocked by default (abstain_insufficient_context)
- Explicit version fields on policy and schemas

### Out of scope for v0.6

- Live SCOPE/PF/PCS runtime enforcement (delegated to external repos; AKTA adapters simulate or bridge)
- Model truthfulness guarantees
- P7 fully autonomous scientific operator runtime

### Out of scope for v0.5

- Ed25519 signed policy releases (HMAC deployment key supported; public-key verification stub only)
- Live SCOPE/PF/PCS runtime enforcement (delegated to external repos; AKTA adapters simulate or bridge)
- Model truthfulness guarantees

Expand Down
Loading