Skip to content

Latest commit

 

History

History
151 lines (117 loc) · 8.58 KB

File metadata and controls

151 lines (117 loc) · 8.58 KB

Limitations

SCOPE 2.2 / institutional pilot status

See definition_of_done.md, migration_2.2.md, adr/0010-institutional-pilot-release-boundaries.md, and release_manifest.json.

Not production-complete / not safe to market as done without live infra:

  • Live AWS S3 Object Lock certification (adapter + mocked confirmation tests exist)
  • Live verified remote ledger service with institutional keys
  • Live PostgreSQL RLS certification under multi-connection attack scenarios
  • Vendor-certified KMS/HSM SAL4 deployments (attestation registry + local verify are reference-grade)
  • Live institutional IdP / directory certification (in-repo OIDC/SAML adapters are reference-grade)
  • Mandatory live AKTA/PF/PCS gates unless SCOPE_REQUIRE_LIVE_CONTRACTS is set with sibling repos
  • Independent third-party certification of pilot reconstruction
  • Scientific correctness, reviewer honesty/competence, or regulatory approval (never in-repo claims)

Shipped as reference-grade with in-repo acceptance tests:

  • Packet freeze / action_chain_id (AS-01), independence evidence (AS-02), review_mode gates (AS-03)
  • Institutional grant hardening (AS-04), runtime evidence export (AS-05), append-only outcomes (AS-06)
  • Quality metrics v3.0 with denominators/missingness and calibration proxies only (AS-07)
  • Offline institutional gates + full-stack fixture reconstruction (AS-08)
  • S3ObjectLockWormSink with Object Lock mode, retention, legal hold, fail-closed confirmation
  • VerifiedRemoteSink with Ed25519 ack signatures, Merkle inclusion, replay rejection
  • Authoritative remote fail-closed via SCOPE_LEDGER_AUTHORITATIVE_REMOTE
  • Postgres ledger RLS policies (FORCE ROW LEVEL SECURITY + app.current_tenant)
  • SQLite mandatory tenant binding (cross-tenant read/write denied)
  • KMS attestation registry (scope/kms_attestation.py) for SAL4 claims
  • Pilot reconstruction (scripts/reconstruct_pilot_chain.py --institutional-stack)
  • Offline gates: scripts/run_institutional_offline_gates.py
  • Institutional CI profile gate in scripts/ci.sh / .github/workflows/ci.yml

WORM vs local append

LocalAppendSink is append-only file storage. It is not WORM. Legacy worm_* fields on local append records are compatibility aliases only.

True WORM claims require S3ObjectLockWormSink (or equivalent) against a bucket with Object Lock enabled, plus live confirmation that retention cannot be shortened.

Verified remote ledger

Ack field presence is insufficient. Verification requires digest binding, Merkle inclusion when batching, remote signer key ID, signature, timestamp, and monotonic sequence. Forgery, tamper, and replay are rejected in unit tests.

KMS / SAL4

SAL4 requires local signature verification and a verified attestation registry entry (certificate hash, attestation hash, non-revoked status, validity window). Without attestation, KMS caps at SAL3. Live vendor KMS endpoints remain operator-configured.

Implemented in v0.8.1

  • Summary contract split: completed vs session_required schemas; consumers branch on summary.status
  • validate_summary_artifact() on all AKTA review write paths (CLI, REST, Python API)
  • Conditional session grant provenance: schema if/then plus runtime check in scope/session_provenance.py
  • Centralized resolve_reviewer_id() for CLI, REST, and Python API
  • Verifiable pilot fixtures: per-scenario manifest.json, expected_verification.json, and scripts/verify_pilot_fixtures.py
  • AKTA review contract scope-akta-review-v0.8.1 (incompatible summary schema split; supersedes v0.8.0 contract shape)

Implemented in v0.8

  • scope akta review --session for multi-role packets: session summary schema, explicit failure without --session
  • --reviewer-id binding for registry signing (must match reviewer artifact)
  • Session grant provenance aggregation: contributing IAL/SAL, authority checks, veto roles, quorum policy hash
  • Pilot fixture pack under examples/pilot/ (five institutional scenarios)
  • Policy bundle scope-core-v0.8

Implemented in v0.7

  • Identity assurance levels (IAL0-IAL4) with provenance on decisions and grants
  • Two-stage institutional RBAC then SCOPE scope policy authority checks
  • Ledger delivery modes: best_effort, at_least_once (spool), fail_closed for high-risk events
  • Review queue workflow state machine with explicit forbidden transitions
  • Signing assurance levels (SAL0ΓÇôSAL4) with minimum policy enforcement at grant issue
  • Frozen AKTA review output contract (summary.json schema, adapter version constant)
  • Policy bundle scope-core-v0.7

Implemented in v0.6

  • OIDC/JWT identity verification with JWKS or static PEM (scope identity verify-token, SCOPE_OIDC_ENABLED)
  • Signing provider abstraction (local PEM, env key, registry path ref for pilot)
  • Institutional RBAC with org units and delegation (policy/org_rbac.yaml)
  • Review queue auto-assignment, SLA escalation, file locking, static HTML dashboard
  • Ledger remote sink (best-effort HTTP append alongside local chain verification)
  • Session replication CLI and replicated JSON session store backend
  • Runtime violation and expiration ledger recording for PF feedback loop
  • VSA live URL fetch adapter with freshness metadata
  • PF-Core pf-core-v0.5 and PCS pcs-v0.5 export contracts
  • Domain overlay validate/list CLI; clinical and genomics mandatory session roles
  • REST multi-tenant engine factory via request headers
  • Local mock PF/PCS validators in tests/fixtures/ for CI live-contract tests

Implemented in v0.5.1

  • One-shot scope akta review CLI and POST /v0/akta/review REST path
  • Quality report --queue-dir (CLI and REST GET /v0/quality?queue_dir=...)
  • Public-key-only reviewer registry with scope key migrate-registry
  • Combined scope_trust_root_hash in decision/grant provenance and PCS manifest

Implemented in v0.5

  • Minimal review queue with open/assigned/decided/granted/closed lifecycle (CLI + REST + .scope/queues/)
  • Reviewer key registry workflow with scope key list, signing enforcement, and PCS registry metadata
  • AKTA v0.4 trigger field aliases (admissibility, review_route, constraint fallbacks)
  • AKTA evidence alias normalization at packet adapter boundary (akta_evidence_state metadata)
  • Optional live PF/PCS contract validation when sibling repos are configured

Implemented in v0.4

  • Ed25519 signing on decisions and grants with production-mode grant enforcement
  • Public-key-only verification without private key access
  • Multi-reviewer sessions with quorum policies and safety veto
  • SessionStore persistence (memory, JSON directory, SQLite) with packet_snapshot
  • Ledger-backed grant use, revocation, and expiration with structured reasons
  • First-class requested_scope and AKTA review_route separation with promotion
  • Reviewer packet rendering (markdown/html) with non-certification language
  • REST API endpoints for packets, decisions, sessions, grants, signing, and export
  • PF-Core and PCS export with manifest hash validation
  • All 28 quality metrics computed from ledger events
  • Review lifecycle events: review_assigned, review_opened, artifact_viewed
  • Optional API key auth on REST endpoints
  • Domain overlays modifying role matrices at runtime
  • VSA report enrichment in packet review_artifacts
  • Expanded biosecurity and clinical reviewer scope permissions in policy YAML

Still limited

  • No full enterprise IdP/SAML stack; OIDC/JWT RS256 foundation only
  • Registry signing_key_path is pilot-only; production HSM/KMS integration is operator-managed
  • Remote ledger sink supports delivery modes; authoritative tamper evidence remains local JSONL chain
  • Review queue dashboard is static HTML; no interactive workflow UI
  • RBAC is YAML-file based; no live directory sync
  • PF/PCS live repo validation still optional; mock validators used when sibling repos absent
  • Distributed session store is write-primary with optional read replica; not full CRDT sync
  • AKTA live service integration still uses file/HTTP adapters, not in-repo AKTA runtime

Non-goals

SCOPE does not replace AKTA, PF-Core, VSA, PCS, IRB, biosafety, EHS, or legal compliance. It does not certify scientific safety, reviewer competence, or institutional approval.

Normative claim boundaries (mission, five pilot modes, immutability of signed decisions, relationship to AKTA/PF/PCS): ADR-0001.

Roadmap

See CHANGELOG for release history and future plans: HSM-backed signing (SAL4 interface present), authoritative remote ledger, interactive review UI, and enterprise directory RBAC sync.