Skip to main content

Agent-operable reference harness for Retrieval-Induced State Interference research

Project description

RISI

pre-commit CI CodeQL PyPI Python 3.11–3.13 License: Apache 2.0 Docs

RISI is an agent-operable, human-governed security research harness for studying Retrieval-Induced State Interference and Critical Recall Availability Failure in persistent AI-agent memory.

The project distinguishes:

  • RISI: retrieval changes shared or future-relevant adaptive memory state.
  • RISI-C: an authorized observer can distinguish hidden retrieval activity through those state changes.
  • CRAF: a valid, applicable critical memory is not retrieved or behaviorally applied after a bounded sequence of authorized, truthful, non-instructional interactions.
  • Memory eclipsing: truth-preserving suppression of a critical memory without corrupting or directly deleting it.

These are proposed terms and hypotheses, not validated findings. Critical Admission Availability Failure (CAAF) remains a separate exploratory admission-stage phenomenon and is not core CRAF.

Status

The repository implements a guarded deterministic reference path for the synthetic DEP-01 pure-read baseline. It includes:

  • strict run, approval, scenario, result, event, state, and evidence contracts;
  • a model-independent local-reference safety profile;
  • authorized deterministic retrieval and a transport-neutral, replaceable decision-provider boundary;
  • structurally separated target-visible and evaluator-only state;
  • full-state snapshots and hash-chained event telemetry;
  • atomic evidence bundles, integrity verification, model-free replay, and generated reports;
  • stable text and JSON CLI output for human or autonomous operation.

It does not implement an attack, vulnerable adaptive policy, external inference integration, database, consequential action, or external vulnerability finding. The authoritative research charter and research evidence remain outside this repository in the private research vault.

Capability discovery reserves separate local/lab and remote public-HTTPS inference profiles for future, separately approved work. Both remain non-executable: they grant no networking, credentials, adapter registration, or model access in the implemented local-reference profile.

Install

Install the released command-line harness from PyPI:

pip install risi==0.1.0
risi --version
risi capabilities --format json

The distribution provides the RISI library and CLI. The bundled DEP-01 scenario and approval files are repository examples, so clone the source tree to run that baseline.

Run the source example

git clone https://github.com/q-uestionable-AI/RISI.git
cd RISI
uv sync --locked --group dev
uv run risi capabilities --format json
uv run risi validate scenarios/examples/dep-01-local-reference.manifest.json --approval scenarios/examples/dep-01-local-reference.approval.json --scenario-root scenarios
uv run risi run scenarios/examples/dep-01-local-reference.manifest.json --approval scenarios/examples/dep-01-local-reference.approval.json --scenario-root scenarios --artifact-root artifacts
uv run risi verify artifacts/dep-01-local-reference
uv run risi replay artifacts/dep-01-local-reference
uv run risi report artifacts/dep-01-local-reference

The manifest binds the exact scenario-file digest, and the example approval binds the exact manifest digest. Approval records provide auditable provenance and change detection, not authentication. Stronger deployments must protect or sign approvals outside an agent's execution context.

Safety boundary

RISI uses synthetic scenarios and lab-controlled or explicitly authorized systems only. Decision outputs are proposals and must never be connected to live medical, financial, deployment, identity, access-control, or other consequential production systems.

All models—including an orchestrating model—are treated as untrusted callers. The safety kernel enforces profile, capability, budget, approval, and path controls below the CLI. The implemented profile denies network access, subprocesses, credentials, dynamic plugins, and memory writes by construction. Host or network isolation remains necessary when future external adapters are used. Any future remote inference profile must bind approval to an exact endpoint, model, non-secret credential alias, generation parameters, network class, and request, token, time, retry, and spend ceilings while retaining redacted request and response evidence.

Development and documentation

RISI uses Python 3.11–3.13, uv, Typer, Ruff, mypy, pytest, Bandit, pip-audit, and Google-style docstrings. See CONTRIBUTING.md, DEVELOPMENT_WORKFLOW.md, and docs/architecture.md.

  • docs/ contains public engineering documentation and decision records.
  • documentation/ contains the source deployed at risi.q-uestionable.ai.
  • schemas/ contains versioned machine contracts.
  • scenarios/ contains reviewed synthetic examples.
  • artifacts/ is excluded from Git and contains local evidence bundles.

License

RISI is licensed under the Apache License 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

risi-0.1.0.tar.gz (101.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

risi-0.1.0-py3-none-any.whl (44.1 kB view details)

Uploaded Python 3

File details

Details for the file risi-0.1.0.tar.gz.

File metadata

  • Download URL: risi-0.1.0.tar.gz
  • Upload date:
  • Size: 101.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for risi-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cbbaa6d5d1c53c417c633182cc79bae59da765445fc964063f0a06ce00df20ec
MD5 06576b9ceb46a61b420a7490214c7af8
BLAKE2b-256 fdd166116282c61657c9312c6c4f72a97d0fa94631081d6388a78653e8a9c489

See more details on using hashes here.

Provenance

The following attestation bundles were made for risi-0.1.0.tar.gz:

Publisher: release.yml on q-uestionable-AI/RISI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file risi-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: risi-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 44.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for risi-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c2033bb0ad9d1efe5f5c9c62eddca5ae4750f57df2a7f7c2359d77d0b9a1505
MD5 26c52cb4c8d78fe1f8b0298b64f9d50f
BLAKE2b-256 1624f38ea0881be75b707079099f4f5e27a92174ea94c4e74335fd7c96d670d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for risi-0.1.0-py3-none-any.whl:

Publisher: release.yml on q-uestionable-AI/RISI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page