responsibility-pathway-runtime 0.1.0a2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- responsibility_pathway_runtime-0.1.0a2/LICENSE +21 -0
- responsibility_pathway_runtime-0.1.0a2/PKG-INFO +113 -0
- responsibility_pathway_runtime-0.1.0a2/README.md +88 -0
- responsibility_pathway_runtime-0.1.0a2/pyproject.toml +43 -0
- responsibility_pathway_runtime-0.1.0a2/setup.cfg +4 -0
- responsibility_pathway_runtime-0.1.0a2/src/responsibility_pathway_runtime.egg-info/PKG-INFO +113 -0
- responsibility_pathway_runtime-0.1.0a2/src/responsibility_pathway_runtime.egg-info/SOURCES.txt +139 -0
- responsibility_pathway_runtime-0.1.0a2/src/responsibility_pathway_runtime.egg-info/dependency_links.txt +1 -0
- responsibility_pathway_runtime-0.1.0a2/src/responsibility_pathway_runtime.egg-info/entry_points.txt +2 -0
- responsibility_pathway_runtime-0.1.0a2/src/responsibility_pathway_runtime.egg-info/top_level.txt +1 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/__init__.py +36 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/_generated_transitions.py +25 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/agent_adapters.py +88 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/assurance_manifest.py +195 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/attempts.py +402 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/authority.py +91 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/backup.py +126 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/candidate_readiness.py +98 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/canonical_transition_spec.py +75 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/claim_traceability.py +138 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/clean_export.py +124 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/cli.py +26 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/compensation.py +38 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/customer_handover.py +189 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/delivery_acceptance.py +140 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/delivery_acceptance_baseline.py +79 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/dependency_inventory.py +77 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/diagnostics.py +103 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/epistemic_claims.py +181 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/evidence.py +53 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/executor.py +107 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/formal_consistency.py +127 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/hash_bundle.py +48 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/http_executor.py +144 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/identity.py +103 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/inspection.py +67 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/integration_acceptance_inventory.py +86 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/launch_claims.py +49 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/lifecycle_acceptance.py +320 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_admission.py +277 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_compatibility.py +95 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_jsonrpc_session.py +136 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_local_subprocess_stdio.py +214 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_retained_evidence.py +194 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_stable_snapshot.py +135 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_stable_transport.py +134 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_stdio_channel.py +144 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_stdio_framing.py +169 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_subprocess_lifecycle.py +147 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/mcp_tool_executor.py +188 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/message_executor.py +154 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/models.py +116 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/principal.py +51 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/py.typed +0 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/rc_execution.py +189 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/read_only_connection.py +117 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/reconciliation.py +63 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/redaction.py +51 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/release_audit.py +111 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/release_gate.py +63 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/repair.py +170 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/rpe.py +128 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/runtime.py +363 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/sbom.py +71 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/security_review.py +69 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/source_context.py +81 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/state_machine.py +17 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/storage.py +210 -0
- responsibility_pathway_runtime-0.1.0a2/src/rpr/tenant.py +141 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_abort_residual_binding.py +96 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_assurance_manifest.py +90 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_attempt_fingerprint_identity.py +69 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_attempt_fingerprint_limits.py +92 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_backup_export.py +87 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_candidate_readiness.py +98 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_candidate_readiness_ci.py +103 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_canonical_transition_spec.py +42 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_claim_traceability.py +88 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_customer_handover.py +63 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_delivery_acceptance.py +133 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_delivery_acceptance_baseline.py +44 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_dependency_inventory.py +25 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_epistemic_claims.py +122 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_execution_admission.py +104 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_execution_boundary.py +109 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_fallback_persistence_failure.py +161 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_formal_consistency.py +28 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_hardening.py +112 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_http_and_attempts.py +226 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_http_fault_injection_acceptance.py +162 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_identity_tenant.py +91 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_inspection.py +92 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_integration_acceptance_inventory.py +54 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_invariant_matrix.py +53 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_launch_claims.py +32 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_lifecycle_acceptance.py +115 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_admission.py +260 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_compatibility.py +67 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_executor_protocol_boundary.py +77 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_json_limits.py +208 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_jsonrpc_session.py +136 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_local_subprocess_stdio.py +167 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_retained_evidence.py +177 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_runtime_integration.py +162 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_stable_snapshot.py +159 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_stable_transport.py +180 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_stdio_channel.py +146 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_stdio_framing.py +115 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_stdio_stack_e2e.py +209 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_subprocess_fault_injection_acceptance.py +184 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_subprocess_lifecycle.py +141 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_mcp_tool_executor.py +221 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_message_reconciliation_adapters.py +94 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_operational_diagnostics.py +106 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_operational_diagnostics_example.py +33 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_product_e2e.py +168 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_product_e2e_explicit_compensation.py +197 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_product_e2e_human_gate_return.py +143 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_product_e2e_repair_resume_retry.py +201 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_product_e2e_rpe_reconciliation.py +149 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_product_e2e_rpe_unavailable_substitution.py +161 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_read_only_connection.py +160 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_reconciliation_result_persistence.py +139 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_release_audit.py +41 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_release_gate.py +56 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_release_prep_bundle.py +62 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_release_security_review.py +41 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_repair_attempt_linkage.py +165 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_repair_resume_e2e.py +174 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_result_persistence_strict_json.py +135 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_resume_authorization_restart.py +148 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_retry_authorization_rotation.py +161 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_running_attempt_binding.py +344 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_runtime.py +83 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_runtime_reconciliation.py +202 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_runtime_restart_finalization_commit.py +160 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_runtime_restart_finished_attempt.py +157 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_runtime_restart_started_attempt.py +184 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_schema_registries.py +93 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_schema_version.py +79 -0
- responsibility_pathway_runtime-0.1.0a2/tests/test_source_context.py +62 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Akihisa Ono
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: responsibility-pathway-runtime
|
|
3
|
+
Version: 0.1.0a2
|
|
4
|
+
Summary: A responsibility-pathway runtime for AI agent actions
|
|
5
|
+
Author: Akihisa Ono
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://yutorikomeiji.github.io/responsibility-pathway-runtime/
|
|
8
|
+
Project-URL: Documentation, https://yutorikomeiji.github.io/responsibility-pathway-runtime/
|
|
9
|
+
Project-URL: Repository, https://github.com/YutoriKomeiji/responsibility-pathway-runtime
|
|
10
|
+
Project-URL: Issues, https://github.com/YutoriKomeiji/responsibility-pathway-runtime/issues
|
|
11
|
+
Project-URL: Demo, https://yutorikomeiji.github.io/responsibility-pathway-runtime/demo.html
|
|
12
|
+
Keywords: ai-agents,governance,responsibility,human-in-the-loop,runtime
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
19
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
20
|
+
Classifier: Typing :: Typed
|
|
21
|
+
Requires-Python: >=3.11
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Dynamic: license-file
|
|
25
|
+
|
|
26
|
+
# Responsibility Pathway Runtime
|
|
27
|
+
|
|
28
|
+
**Govern external actions without losing evidence, recovery, or the human decision point.**
|
|
29
|
+
|
|
30
|
+
Responsibility Pathway Runtime (RPR) is an MIT-licensed Python runtime for applications that need to place an explicit responsibility pathway in front of consequential external actions. It helps a host application preserve actor and authority declarations, execution-attempt continuity, readback evidence, fail-closed ambiguity handling, repair routes, and Human Gate decisions.
|
|
31
|
+
|
|
32
|
+
> **Public alpha source and live demo — 0.1.0a2**
|
|
33
|
+
> Freeze ID: `RPR-CF-2026-08-02-01`
|
|
34
|
+
> Tested final rehearsal profile: Linux, Python 3.11
|
|
35
|
+
> The repository, product site, and browser demo are public. A final tag, GitHub Release, and package-registry distribution have not yet been published.
|
|
36
|
+
> RPR is not a legal-responsibility engine, identity provider, secret manager, production gateway, or guarantee of exactly-once effects across arbitrary remote systems.
|
|
37
|
+
|
|
38
|
+
[Product site](https://yutorikomeiji.github.io/responsibility-pathway-runtime/) · [Live browser demo](https://yutorikomeiji.github.io/responsibility-pathway-runtime/demo.html) · [日本語の入口](docs/ja/README.md) · [Quick Start](docs/en/quick-start.md) · [Product documentation](docs/en/README.md) · [Report an issue](https://github.com/YutoriKomeiji/responsibility-pathway-runtime/issues)
|
|
39
|
+
|
|
40
|
+
## Why RPR
|
|
41
|
+
|
|
42
|
+
AI agents and automation can execute faster than people can reconstruct what happened. RPR provides a bounded runtime layer where an integrating application can:
|
|
43
|
+
|
|
44
|
+
- declare actors, authority, and the proposed action;
|
|
45
|
+
- evaluate and retain an explicit pathway state;
|
|
46
|
+
- bind operations, attempts, and idempotency identity;
|
|
47
|
+
- require independent readback before completion;
|
|
48
|
+
- stop ambiguous writes as `write_status_unknown` instead of false success;
|
|
49
|
+
- retain Human Gate, repair, resume, reconciliation, and evidence continuity;
|
|
50
|
+
- survive restart without silently repeating unresolved effects.
|
|
51
|
+
|
|
52
|
+
## Verified in the frozen alpha candidate
|
|
53
|
+
|
|
54
|
+
- pathway registration and authorized state transitions;
|
|
55
|
+
- persistent pathway and execution-attempt stores;
|
|
56
|
+
- Human Gate, repair, resume, and reconciliation boundaries;
|
|
57
|
+
- local-file, allow-listed HTTP, durable outbound-message, and real MCP subprocess paths;
|
|
58
|
+
- HTTP and MCP fault injection;
|
|
59
|
+
- crash/restart continuity and duplicate-dispatch prevention;
|
|
60
|
+
- backup, restore, diagnostics, uninstall, package/CLI residue checks, and customer-data retention;
|
|
61
|
+
- clean wheel and source-distribution installation;
|
|
62
|
+
- two independent byte-for-byte reproducible builds;
|
|
63
|
+
- English-primary and Japanese-parallel product documentation;
|
|
64
|
+
- Lean 4 verification of selected published state-machine invariants;
|
|
65
|
+
- Chromium and Pyodide execution of the CI-built RPR wheel in the public browser demo.
|
|
66
|
+
|
|
67
|
+
## We need field-test reports for
|
|
68
|
+
|
|
69
|
+
RPR is public so real users can report reproducible environment and integration findings. Please open an Issue for:
|
|
70
|
+
|
|
71
|
+
- Windows, macOS, other Linux distributions, containers, and Python environments beyond the final Linux/Python 3.11 rehearsal;
|
|
72
|
+
- proxy, TLS, enterprise identity, credential handling, remote MCP, and service-specific connectivity;
|
|
73
|
+
- framework, agent, CI/CD, RPA, batch, and application integrations;
|
|
74
|
+
- installation, upgrade, backup/restore, removal, and operational usability;
|
|
75
|
+
- confusing states, missing examples, documentation gaps, and unsupported assumptions.
|
|
76
|
+
|
|
77
|
+
A user report is field evidence for that environment. It does not imply universal production readiness.
|
|
78
|
+
|
|
79
|
+
## Quick Start
|
|
80
|
+
|
|
81
|
+
Until a package-registry distribution or GitHub Release is published, install from the public repository in a disposable environment:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
git clone https://github.com/YutoriKomeiji/responsibility-pathway-runtime.git
|
|
85
|
+
cd responsibility-pathway-runtime
|
|
86
|
+
python3.11 -m venv .venv
|
|
87
|
+
. .venv/bin/activate
|
|
88
|
+
python -m pip install --upgrade pip
|
|
89
|
+
python -m pip install -e .
|
|
90
|
+
rpr --help
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
To inspect the runtime without installing it locally, use the [live browser demo](https://yutorikomeiji.github.io/responsibility-pathway-runtime/demo.html). The demo runs the CI-built RPR wheel in Pyodide with SQLite; only the external payment provider is simulated.
|
|
94
|
+
|
|
95
|
+
The verified candidate artifact hashes are recorded in [`release-evidence/replacement-freeze-2026-08-02.json`](release-evidence/replacement-freeze-2026-08-02.json). Those candidate artifacts are not yet a general package distribution.
|
|
96
|
+
|
|
97
|
+
## Integration boundary
|
|
98
|
+
|
|
99
|
+
The host application remains responsible for authentication, credential isolation, network controls, bypass prevention, domain-specific authorization, and the independent readback source. RPE integration is optional; RPE absence, malformed output, or unsupported results must not become implicit permission.
|
|
100
|
+
|
|
101
|
+
## Documentation
|
|
102
|
+
|
|
103
|
+
- [Product, scope, and architecture](docs/en/product-scope-architecture.md)
|
|
104
|
+
- [Installation, operations, and recovery](docs/en/install-operations-recovery.md)
|
|
105
|
+
- [Security, limitations, integration, and API](docs/en/security-integration-api.md)
|
|
106
|
+
- [Verification, known issues, release notes, and UAT](docs/en/verification-release-uat.md)
|
|
107
|
+
- [Support and field testing](SUPPORT.md)
|
|
108
|
+
- [Security reporting](SECURITY.md)
|
|
109
|
+
- [Contributing](CONTRIBUTING.md)
|
|
110
|
+
|
|
111
|
+
## License
|
|
112
|
+
|
|
113
|
+
RPR is released under the [MIT License](LICENSE). Copyright © 2026 Akihisa Ono.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Responsibility Pathway Runtime
|
|
2
|
+
|
|
3
|
+
**Govern external actions without losing evidence, recovery, or the human decision point.**
|
|
4
|
+
|
|
5
|
+
Responsibility Pathway Runtime (RPR) is an MIT-licensed Python runtime for applications that need to place an explicit responsibility pathway in front of consequential external actions. It helps a host application preserve actor and authority declarations, execution-attempt continuity, readback evidence, fail-closed ambiguity handling, repair routes, and Human Gate decisions.
|
|
6
|
+
|
|
7
|
+
> **Public alpha source and live demo — 0.1.0a2**
|
|
8
|
+
> Freeze ID: `RPR-CF-2026-08-02-01`
|
|
9
|
+
> Tested final rehearsal profile: Linux, Python 3.11
|
|
10
|
+
> The repository, product site, and browser demo are public. A final tag, GitHub Release, and package-registry distribution have not yet been published.
|
|
11
|
+
> RPR is not a legal-responsibility engine, identity provider, secret manager, production gateway, or guarantee of exactly-once effects across arbitrary remote systems.
|
|
12
|
+
|
|
13
|
+
[Product site](https://yutorikomeiji.github.io/responsibility-pathway-runtime/) · [Live browser demo](https://yutorikomeiji.github.io/responsibility-pathway-runtime/demo.html) · [日本語の入口](docs/ja/README.md) · [Quick Start](docs/en/quick-start.md) · [Product documentation](docs/en/README.md) · [Report an issue](https://github.com/YutoriKomeiji/responsibility-pathway-runtime/issues)
|
|
14
|
+
|
|
15
|
+
## Why RPR
|
|
16
|
+
|
|
17
|
+
AI agents and automation can execute faster than people can reconstruct what happened. RPR provides a bounded runtime layer where an integrating application can:
|
|
18
|
+
|
|
19
|
+
- declare actors, authority, and the proposed action;
|
|
20
|
+
- evaluate and retain an explicit pathway state;
|
|
21
|
+
- bind operations, attempts, and idempotency identity;
|
|
22
|
+
- require independent readback before completion;
|
|
23
|
+
- stop ambiguous writes as `write_status_unknown` instead of false success;
|
|
24
|
+
- retain Human Gate, repair, resume, reconciliation, and evidence continuity;
|
|
25
|
+
- survive restart without silently repeating unresolved effects.
|
|
26
|
+
|
|
27
|
+
## Verified in the frozen alpha candidate
|
|
28
|
+
|
|
29
|
+
- pathway registration and authorized state transitions;
|
|
30
|
+
- persistent pathway and execution-attempt stores;
|
|
31
|
+
- Human Gate, repair, resume, and reconciliation boundaries;
|
|
32
|
+
- local-file, allow-listed HTTP, durable outbound-message, and real MCP subprocess paths;
|
|
33
|
+
- HTTP and MCP fault injection;
|
|
34
|
+
- crash/restart continuity and duplicate-dispatch prevention;
|
|
35
|
+
- backup, restore, diagnostics, uninstall, package/CLI residue checks, and customer-data retention;
|
|
36
|
+
- clean wheel and source-distribution installation;
|
|
37
|
+
- two independent byte-for-byte reproducible builds;
|
|
38
|
+
- English-primary and Japanese-parallel product documentation;
|
|
39
|
+
- Lean 4 verification of selected published state-machine invariants;
|
|
40
|
+
- Chromium and Pyodide execution of the CI-built RPR wheel in the public browser demo.
|
|
41
|
+
|
|
42
|
+
## We need field-test reports for
|
|
43
|
+
|
|
44
|
+
RPR is public so real users can report reproducible environment and integration findings. Please open an Issue for:
|
|
45
|
+
|
|
46
|
+
- Windows, macOS, other Linux distributions, containers, and Python environments beyond the final Linux/Python 3.11 rehearsal;
|
|
47
|
+
- proxy, TLS, enterprise identity, credential handling, remote MCP, and service-specific connectivity;
|
|
48
|
+
- framework, agent, CI/CD, RPA, batch, and application integrations;
|
|
49
|
+
- installation, upgrade, backup/restore, removal, and operational usability;
|
|
50
|
+
- confusing states, missing examples, documentation gaps, and unsupported assumptions.
|
|
51
|
+
|
|
52
|
+
A user report is field evidence for that environment. It does not imply universal production readiness.
|
|
53
|
+
|
|
54
|
+
## Quick Start
|
|
55
|
+
|
|
56
|
+
Until a package-registry distribution or GitHub Release is published, install from the public repository in a disposable environment:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
git clone https://github.com/YutoriKomeiji/responsibility-pathway-runtime.git
|
|
60
|
+
cd responsibility-pathway-runtime
|
|
61
|
+
python3.11 -m venv .venv
|
|
62
|
+
. .venv/bin/activate
|
|
63
|
+
python -m pip install --upgrade pip
|
|
64
|
+
python -m pip install -e .
|
|
65
|
+
rpr --help
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
To inspect the runtime without installing it locally, use the [live browser demo](https://yutorikomeiji.github.io/responsibility-pathway-runtime/demo.html). The demo runs the CI-built RPR wheel in Pyodide with SQLite; only the external payment provider is simulated.
|
|
69
|
+
|
|
70
|
+
The verified candidate artifact hashes are recorded in [`release-evidence/replacement-freeze-2026-08-02.json`](release-evidence/replacement-freeze-2026-08-02.json). Those candidate artifacts are not yet a general package distribution.
|
|
71
|
+
|
|
72
|
+
## Integration boundary
|
|
73
|
+
|
|
74
|
+
The host application remains responsible for authentication, credential isolation, network controls, bypass prevention, domain-specific authorization, and the independent readback source. RPE integration is optional; RPE absence, malformed output, or unsupported results must not become implicit permission.
|
|
75
|
+
|
|
76
|
+
## Documentation
|
|
77
|
+
|
|
78
|
+
- [Product, scope, and architecture](docs/en/product-scope-architecture.md)
|
|
79
|
+
- [Installation, operations, and recovery](docs/en/install-operations-recovery.md)
|
|
80
|
+
- [Security, limitations, integration, and API](docs/en/security-integration-api.md)
|
|
81
|
+
- [Verification, known issues, release notes, and UAT](docs/en/verification-release-uat.md)
|
|
82
|
+
- [Support and field testing](SUPPORT.md)
|
|
83
|
+
- [Security reporting](SECURITY.md)
|
|
84
|
+
- [Contributing](CONTRIBUTING.md)
|
|
85
|
+
|
|
86
|
+
## License
|
|
87
|
+
|
|
88
|
+
RPR is released under the [MIT License](LICENSE). Copyright © 2026 Akihisa Ono.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=77"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "responsibility-pathway-runtime"
|
|
7
|
+
version = "0.1.0a2"
|
|
8
|
+
description = "A responsibility-pathway runtime for AI agent actions"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
|
+
license = "MIT"
|
|
12
|
+
license-files = ["LICENSE"]
|
|
13
|
+
authors = [{name = "Akihisa Ono"}]
|
|
14
|
+
keywords = ["ai-agents", "governance", "responsibility", "human-in-the-loop", "runtime"]
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Development Status :: 3 - Alpha",
|
|
17
|
+
"Intended Audience :: Developers",
|
|
18
|
+
"Programming Language :: Python :: 3",
|
|
19
|
+
"Programming Language :: Python :: 3.11",
|
|
20
|
+
"Programming Language :: Python :: 3.12",
|
|
21
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
22
|
+
"Topic :: Software Development :: Quality Assurance",
|
|
23
|
+
"Typing :: Typed"
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
[project.urls]
|
|
27
|
+
Homepage = "https://yutorikomeiji.github.io/responsibility-pathway-runtime/"
|
|
28
|
+
Documentation = "https://yutorikomeiji.github.io/responsibility-pathway-runtime/"
|
|
29
|
+
Repository = "https://github.com/YutoriKomeiji/responsibility-pathway-runtime"
|
|
30
|
+
Issues = "https://github.com/YutoriKomeiji/responsibility-pathway-runtime/issues"
|
|
31
|
+
Demo = "https://yutorikomeiji.github.io/responsibility-pathway-runtime/demo.html"
|
|
32
|
+
|
|
33
|
+
[project.scripts]
|
|
34
|
+
rpr = "rpr.cli:main"
|
|
35
|
+
|
|
36
|
+
[tool.setuptools.packages.find]
|
|
37
|
+
where = ["src"]
|
|
38
|
+
|
|
39
|
+
[tool.setuptools.package-data]
|
|
40
|
+
rpr = ["py.typed"]
|
|
41
|
+
|
|
42
|
+
[tool.pytest.ini_options]
|
|
43
|
+
testpaths = ["tests"]
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: responsibility-pathway-runtime
|
|
3
|
+
Version: 0.1.0a2
|
|
4
|
+
Summary: A responsibility-pathway runtime for AI agent actions
|
|
5
|
+
Author: Akihisa Ono
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://yutorikomeiji.github.io/responsibility-pathway-runtime/
|
|
8
|
+
Project-URL: Documentation, https://yutorikomeiji.github.io/responsibility-pathway-runtime/
|
|
9
|
+
Project-URL: Repository, https://github.com/YutoriKomeiji/responsibility-pathway-runtime
|
|
10
|
+
Project-URL: Issues, https://github.com/YutoriKomeiji/responsibility-pathway-runtime/issues
|
|
11
|
+
Project-URL: Demo, https://yutorikomeiji.github.io/responsibility-pathway-runtime/demo.html
|
|
12
|
+
Keywords: ai-agents,governance,responsibility,human-in-the-loop,runtime
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
19
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
20
|
+
Classifier: Typing :: Typed
|
|
21
|
+
Requires-Python: >=3.11
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Dynamic: license-file
|
|
25
|
+
|
|
26
|
+
# Responsibility Pathway Runtime
|
|
27
|
+
|
|
28
|
+
**Govern external actions without losing evidence, recovery, or the human decision point.**
|
|
29
|
+
|
|
30
|
+
Responsibility Pathway Runtime (RPR) is an MIT-licensed Python runtime for applications that need to place an explicit responsibility pathway in front of consequential external actions. It helps a host application preserve actor and authority declarations, execution-attempt continuity, readback evidence, fail-closed ambiguity handling, repair routes, and Human Gate decisions.
|
|
31
|
+
|
|
32
|
+
> **Public alpha source and live demo — 0.1.0a2**
|
|
33
|
+
> Freeze ID: `RPR-CF-2026-08-02-01`
|
|
34
|
+
> Tested final rehearsal profile: Linux, Python 3.11
|
|
35
|
+
> The repository, product site, and browser demo are public. A final tag, GitHub Release, and package-registry distribution have not yet been published.
|
|
36
|
+
> RPR is not a legal-responsibility engine, identity provider, secret manager, production gateway, or guarantee of exactly-once effects across arbitrary remote systems.
|
|
37
|
+
|
|
38
|
+
[Product site](https://yutorikomeiji.github.io/responsibility-pathway-runtime/) · [Live browser demo](https://yutorikomeiji.github.io/responsibility-pathway-runtime/demo.html) · [日本語の入口](docs/ja/README.md) · [Quick Start](docs/en/quick-start.md) · [Product documentation](docs/en/README.md) · [Report an issue](https://github.com/YutoriKomeiji/responsibility-pathway-runtime/issues)
|
|
39
|
+
|
|
40
|
+
## Why RPR
|
|
41
|
+
|
|
42
|
+
AI agents and automation can execute faster than people can reconstruct what happened. RPR provides a bounded runtime layer where an integrating application can:
|
|
43
|
+
|
|
44
|
+
- declare actors, authority, and the proposed action;
|
|
45
|
+
- evaluate and retain an explicit pathway state;
|
|
46
|
+
- bind operations, attempts, and idempotency identity;
|
|
47
|
+
- require independent readback before completion;
|
|
48
|
+
- stop ambiguous writes as `write_status_unknown` instead of false success;
|
|
49
|
+
- retain Human Gate, repair, resume, reconciliation, and evidence continuity;
|
|
50
|
+
- survive restart without silently repeating unresolved effects.
|
|
51
|
+
|
|
52
|
+
## Verified in the frozen alpha candidate
|
|
53
|
+
|
|
54
|
+
- pathway registration and authorized state transitions;
|
|
55
|
+
- persistent pathway and execution-attempt stores;
|
|
56
|
+
- Human Gate, repair, resume, and reconciliation boundaries;
|
|
57
|
+
- local-file, allow-listed HTTP, durable outbound-message, and real MCP subprocess paths;
|
|
58
|
+
- HTTP and MCP fault injection;
|
|
59
|
+
- crash/restart continuity and duplicate-dispatch prevention;
|
|
60
|
+
- backup, restore, diagnostics, uninstall, package/CLI residue checks, and customer-data retention;
|
|
61
|
+
- clean wheel and source-distribution installation;
|
|
62
|
+
- two independent byte-for-byte reproducible builds;
|
|
63
|
+
- English-primary and Japanese-parallel product documentation;
|
|
64
|
+
- Lean 4 verification of selected published state-machine invariants;
|
|
65
|
+
- Chromium and Pyodide execution of the CI-built RPR wheel in the public browser demo.
|
|
66
|
+
|
|
67
|
+
## We need field-test reports for
|
|
68
|
+
|
|
69
|
+
RPR is public so real users can report reproducible environment and integration findings. Please open an Issue for:
|
|
70
|
+
|
|
71
|
+
- Windows, macOS, other Linux distributions, containers, and Python environments beyond the final Linux/Python 3.11 rehearsal;
|
|
72
|
+
- proxy, TLS, enterprise identity, credential handling, remote MCP, and service-specific connectivity;
|
|
73
|
+
- framework, agent, CI/CD, RPA, batch, and application integrations;
|
|
74
|
+
- installation, upgrade, backup/restore, removal, and operational usability;
|
|
75
|
+
- confusing states, missing examples, documentation gaps, and unsupported assumptions.
|
|
76
|
+
|
|
77
|
+
A user report is field evidence for that environment. It does not imply universal production readiness.
|
|
78
|
+
|
|
79
|
+
## Quick Start
|
|
80
|
+
|
|
81
|
+
Until a package-registry distribution or GitHub Release is published, install from the public repository in a disposable environment:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
git clone https://github.com/YutoriKomeiji/responsibility-pathway-runtime.git
|
|
85
|
+
cd responsibility-pathway-runtime
|
|
86
|
+
python3.11 -m venv .venv
|
|
87
|
+
. .venv/bin/activate
|
|
88
|
+
python -m pip install --upgrade pip
|
|
89
|
+
python -m pip install -e .
|
|
90
|
+
rpr --help
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
To inspect the runtime without installing it locally, use the [live browser demo](https://yutorikomeiji.github.io/responsibility-pathway-runtime/demo.html). The demo runs the CI-built RPR wheel in Pyodide with SQLite; only the external payment provider is simulated.
|
|
94
|
+
|
|
95
|
+
The verified candidate artifact hashes are recorded in [`release-evidence/replacement-freeze-2026-08-02.json`](release-evidence/replacement-freeze-2026-08-02.json). Those candidate artifacts are not yet a general package distribution.
|
|
96
|
+
|
|
97
|
+
## Integration boundary
|
|
98
|
+
|
|
99
|
+
The host application remains responsible for authentication, credential isolation, network controls, bypass prevention, domain-specific authorization, and the independent readback source. RPE integration is optional; RPE absence, malformed output, or unsupported results must not become implicit permission.
|
|
100
|
+
|
|
101
|
+
## Documentation
|
|
102
|
+
|
|
103
|
+
- [Product, scope, and architecture](docs/en/product-scope-architecture.md)
|
|
104
|
+
- [Installation, operations, and recovery](docs/en/install-operations-recovery.md)
|
|
105
|
+
- [Security, limitations, integration, and API](docs/en/security-integration-api.md)
|
|
106
|
+
- [Verification, known issues, release notes, and UAT](docs/en/verification-release-uat.md)
|
|
107
|
+
- [Support and field testing](SUPPORT.md)
|
|
108
|
+
- [Security reporting](SECURITY.md)
|
|
109
|
+
- [Contributing](CONTRIBUTING.md)
|
|
110
|
+
|
|
111
|
+
## License
|
|
112
|
+
|
|
113
|
+
RPR is released under the [MIT License](LICENSE). Copyright © 2026 Akihisa Ono.
|
responsibility_pathway_runtime-0.1.0a2/src/responsibility_pathway_runtime.egg-info/SOURCES.txt
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
README.md
|
|
3
|
+
pyproject.toml
|
|
4
|
+
src/responsibility_pathway_runtime.egg-info/PKG-INFO
|
|
5
|
+
src/responsibility_pathway_runtime.egg-info/SOURCES.txt
|
|
6
|
+
src/responsibility_pathway_runtime.egg-info/dependency_links.txt
|
|
7
|
+
src/responsibility_pathway_runtime.egg-info/entry_points.txt
|
|
8
|
+
src/responsibility_pathway_runtime.egg-info/top_level.txt
|
|
9
|
+
src/rpr/__init__.py
|
|
10
|
+
src/rpr/_generated_transitions.py
|
|
11
|
+
src/rpr/agent_adapters.py
|
|
12
|
+
src/rpr/assurance_manifest.py
|
|
13
|
+
src/rpr/attempts.py
|
|
14
|
+
src/rpr/authority.py
|
|
15
|
+
src/rpr/backup.py
|
|
16
|
+
src/rpr/candidate_readiness.py
|
|
17
|
+
src/rpr/canonical_transition_spec.py
|
|
18
|
+
src/rpr/claim_traceability.py
|
|
19
|
+
src/rpr/clean_export.py
|
|
20
|
+
src/rpr/cli.py
|
|
21
|
+
src/rpr/compensation.py
|
|
22
|
+
src/rpr/customer_handover.py
|
|
23
|
+
src/rpr/delivery_acceptance.py
|
|
24
|
+
src/rpr/delivery_acceptance_baseline.py
|
|
25
|
+
src/rpr/dependency_inventory.py
|
|
26
|
+
src/rpr/diagnostics.py
|
|
27
|
+
src/rpr/epistemic_claims.py
|
|
28
|
+
src/rpr/evidence.py
|
|
29
|
+
src/rpr/executor.py
|
|
30
|
+
src/rpr/formal_consistency.py
|
|
31
|
+
src/rpr/hash_bundle.py
|
|
32
|
+
src/rpr/http_executor.py
|
|
33
|
+
src/rpr/identity.py
|
|
34
|
+
src/rpr/inspection.py
|
|
35
|
+
src/rpr/integration_acceptance_inventory.py
|
|
36
|
+
src/rpr/launch_claims.py
|
|
37
|
+
src/rpr/lifecycle_acceptance.py
|
|
38
|
+
src/rpr/mcp_admission.py
|
|
39
|
+
src/rpr/mcp_compatibility.py
|
|
40
|
+
src/rpr/mcp_jsonrpc_session.py
|
|
41
|
+
src/rpr/mcp_local_subprocess_stdio.py
|
|
42
|
+
src/rpr/mcp_retained_evidence.py
|
|
43
|
+
src/rpr/mcp_stable_snapshot.py
|
|
44
|
+
src/rpr/mcp_stable_transport.py
|
|
45
|
+
src/rpr/mcp_stdio_channel.py
|
|
46
|
+
src/rpr/mcp_stdio_framing.py
|
|
47
|
+
src/rpr/mcp_subprocess_lifecycle.py
|
|
48
|
+
src/rpr/mcp_tool_executor.py
|
|
49
|
+
src/rpr/message_executor.py
|
|
50
|
+
src/rpr/models.py
|
|
51
|
+
src/rpr/principal.py
|
|
52
|
+
src/rpr/py.typed
|
|
53
|
+
src/rpr/rc_execution.py
|
|
54
|
+
src/rpr/read_only_connection.py
|
|
55
|
+
src/rpr/reconciliation.py
|
|
56
|
+
src/rpr/redaction.py
|
|
57
|
+
src/rpr/release_audit.py
|
|
58
|
+
src/rpr/release_gate.py
|
|
59
|
+
src/rpr/repair.py
|
|
60
|
+
src/rpr/rpe.py
|
|
61
|
+
src/rpr/runtime.py
|
|
62
|
+
src/rpr/sbom.py
|
|
63
|
+
src/rpr/security_review.py
|
|
64
|
+
src/rpr/source_context.py
|
|
65
|
+
src/rpr/state_machine.py
|
|
66
|
+
src/rpr/storage.py
|
|
67
|
+
src/rpr/tenant.py
|
|
68
|
+
tests/test_abort_residual_binding.py
|
|
69
|
+
tests/test_assurance_manifest.py
|
|
70
|
+
tests/test_attempt_fingerprint_identity.py
|
|
71
|
+
tests/test_attempt_fingerprint_limits.py
|
|
72
|
+
tests/test_backup_export.py
|
|
73
|
+
tests/test_candidate_readiness.py
|
|
74
|
+
tests/test_candidate_readiness_ci.py
|
|
75
|
+
tests/test_canonical_transition_spec.py
|
|
76
|
+
tests/test_claim_traceability.py
|
|
77
|
+
tests/test_customer_handover.py
|
|
78
|
+
tests/test_delivery_acceptance.py
|
|
79
|
+
tests/test_delivery_acceptance_baseline.py
|
|
80
|
+
tests/test_dependency_inventory.py
|
|
81
|
+
tests/test_epistemic_claims.py
|
|
82
|
+
tests/test_execution_admission.py
|
|
83
|
+
tests/test_execution_boundary.py
|
|
84
|
+
tests/test_fallback_persistence_failure.py
|
|
85
|
+
tests/test_formal_consistency.py
|
|
86
|
+
tests/test_hardening.py
|
|
87
|
+
tests/test_http_and_attempts.py
|
|
88
|
+
tests/test_http_fault_injection_acceptance.py
|
|
89
|
+
tests/test_identity_tenant.py
|
|
90
|
+
tests/test_inspection.py
|
|
91
|
+
tests/test_integration_acceptance_inventory.py
|
|
92
|
+
tests/test_invariant_matrix.py
|
|
93
|
+
tests/test_launch_claims.py
|
|
94
|
+
tests/test_lifecycle_acceptance.py
|
|
95
|
+
tests/test_mcp_admission.py
|
|
96
|
+
tests/test_mcp_compatibility.py
|
|
97
|
+
tests/test_mcp_executor_protocol_boundary.py
|
|
98
|
+
tests/test_mcp_json_limits.py
|
|
99
|
+
tests/test_mcp_jsonrpc_session.py
|
|
100
|
+
tests/test_mcp_local_subprocess_stdio.py
|
|
101
|
+
tests/test_mcp_retained_evidence.py
|
|
102
|
+
tests/test_mcp_runtime_integration.py
|
|
103
|
+
tests/test_mcp_stable_snapshot.py
|
|
104
|
+
tests/test_mcp_stable_transport.py
|
|
105
|
+
tests/test_mcp_stdio_channel.py
|
|
106
|
+
tests/test_mcp_stdio_framing.py
|
|
107
|
+
tests/test_mcp_stdio_stack_e2e.py
|
|
108
|
+
tests/test_mcp_subprocess_fault_injection_acceptance.py
|
|
109
|
+
tests/test_mcp_subprocess_lifecycle.py
|
|
110
|
+
tests/test_mcp_tool_executor.py
|
|
111
|
+
tests/test_message_reconciliation_adapters.py
|
|
112
|
+
tests/test_operational_diagnostics.py
|
|
113
|
+
tests/test_operational_diagnostics_example.py
|
|
114
|
+
tests/test_product_e2e.py
|
|
115
|
+
tests/test_product_e2e_explicit_compensation.py
|
|
116
|
+
tests/test_product_e2e_human_gate_return.py
|
|
117
|
+
tests/test_product_e2e_repair_resume_retry.py
|
|
118
|
+
tests/test_product_e2e_rpe_reconciliation.py
|
|
119
|
+
tests/test_product_e2e_rpe_unavailable_substitution.py
|
|
120
|
+
tests/test_read_only_connection.py
|
|
121
|
+
tests/test_reconciliation_result_persistence.py
|
|
122
|
+
tests/test_release_audit.py
|
|
123
|
+
tests/test_release_gate.py
|
|
124
|
+
tests/test_release_prep_bundle.py
|
|
125
|
+
tests/test_release_security_review.py
|
|
126
|
+
tests/test_repair_attempt_linkage.py
|
|
127
|
+
tests/test_repair_resume_e2e.py
|
|
128
|
+
tests/test_result_persistence_strict_json.py
|
|
129
|
+
tests/test_resume_authorization_restart.py
|
|
130
|
+
tests/test_retry_authorization_rotation.py
|
|
131
|
+
tests/test_running_attempt_binding.py
|
|
132
|
+
tests/test_runtime.py
|
|
133
|
+
tests/test_runtime_reconciliation.py
|
|
134
|
+
tests/test_runtime_restart_finalization_commit.py
|
|
135
|
+
tests/test_runtime_restart_finished_attempt.py
|
|
136
|
+
tests/test_runtime_restart_started_attempt.py
|
|
137
|
+
tests/test_schema_registries.py
|
|
138
|
+
tests/test_schema_version.py
|
|
139
|
+
tests/test_source_context.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
responsibility_pathway_runtime-0.1.0a2/src/responsibility_pathway_runtime.egg-info/top_level.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
rpr
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Copyright (c) 2026 Akihisa Ono
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
"""Responsibility Pathway Runtime public API."""
|
|
4
|
+
|
|
5
|
+
from .agent_adapters import AgentToolCall, AgentToolOutcome, RprToolBoundary, langgraph_tool_node, openai_function_tool_handler
|
|
6
|
+
from .attempts import AttemptConflictError, ExecutionAttemptRecord, SQLiteExecutionAttemptLedger
|
|
7
|
+
from .authority import AuthorityError
|
|
8
|
+
from .compensation import CompensationPlan, CompensationStatus, NoAutomaticCompensation
|
|
9
|
+
from .executor import ExecutionRequest, ExecutionResult, ExecutionStatus, LocalFileExecutor, ReadbackEvidence
|
|
10
|
+
from .http_executor import HttpMutationExecutor, JsonFieldReadback, ReadbackStrategy
|
|
11
|
+
from .identity import ExternalTokenVerifierResolver, VerifiedClaimsPrincipalResolver, VerifiedTokenClaims
|
|
12
|
+
from .message_executor import DeliveryReceipt, MessageTransport, OutboundMessageExecutor, SQLiteOutbox
|
|
13
|
+
from .models import ActionClass, EnvironmentTrust, PathwayDefinition, PathwayState, RuntimeDecision
|
|
14
|
+
from .principal import Principal, PrincipalError, StaticActorBinding, TrustedPrincipalResolver
|
|
15
|
+
from .reconciliation import ReconciliationResult, ReconciliationStatus, ReconciliationStrategy, reconcile_started_attempt
|
|
16
|
+
from .redaction import EvidenceLimitError, RedactionPolicy
|
|
17
|
+
from .rpe import PythonRpeEvaluator, RestRpeEvaluator, RpeContractError
|
|
18
|
+
from .runtime import EvidenceVerificationResult, RegistrationResult, ResponsibilityPathwayRuntime
|
|
19
|
+
from .source_context import SourceAuthority, SourceContext, SourceContextError
|
|
20
|
+
from .storage import IdempotencyConflictError, SQLiteStore
|
|
21
|
+
from .tenant import SQLiteTenantRegistry, TenantBoundaryError, TenantContext, TenantScopedRuntime
|
|
22
|
+
|
|
23
|
+
__all__ = [
|
|
24
|
+
"ActionClass", "AgentToolCall", "AgentToolOutcome", "AttemptConflictError", "AuthorityError",
|
|
25
|
+
"CompensationPlan", "CompensationStatus", "DeliveryReceipt", "EnvironmentTrust", "EvidenceLimitError",
|
|
26
|
+
"EvidenceVerificationResult", "ExecutionAttemptRecord", "ExecutionRequest", "ExecutionResult", "ExecutionStatus",
|
|
27
|
+
"ExternalTokenVerifierResolver", "HttpMutationExecutor", "IdempotencyConflictError", "JsonFieldReadback",
|
|
28
|
+
"LocalFileExecutor", "MessageTransport", "NoAutomaticCompensation", "OutboundMessageExecutor",
|
|
29
|
+
"PathwayDefinition", "PathwayState", "Principal", "PrincipalError", "PythonRpeEvaluator", "ReadbackEvidence",
|
|
30
|
+
"ReadbackStrategy", "ReconciliationResult", "ReconciliationStatus", "ReconciliationStrategy", "RedactionPolicy",
|
|
31
|
+
"RegistrationResult", "ResponsibilityPathwayRuntime", "RestRpeEvaluator", "RpeContractError", "RprToolBoundary",
|
|
32
|
+
"RuntimeDecision", "SQLiteExecutionAttemptLedger", "SQLiteOutbox", "SQLiteStore", "SQLiteTenantRegistry",
|
|
33
|
+
"SourceAuthority", "SourceContext", "SourceContextError", "StaticActorBinding", "TenantBoundaryError",
|
|
34
|
+
"TenantContext", "TenantScopedRuntime", "TrustedPrincipalResolver", "VerifiedClaimsPrincipalResolver",
|
|
35
|
+
"VerifiedTokenClaims", "langgraph_tool_node", "openai_function_tool_handler", "reconcile_started_attempt",
|
|
36
|
+
]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright (c) 2026 Akihisa Ono
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
# Generated from specs/pathway-state-machine.json. Do not edit manually.
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
from .models import PathwayState
|
|
7
|
+
|
|
8
|
+
ALLOWED_TRANSITIONS: dict[PathwayState, frozenset[PathwayState]] = {
|
|
9
|
+
PathwayState.PROPOSED: frozenset({PathwayState.AWAITING_APPROVAL, PathwayState.APPROVED, PathwayState.DENIED}),
|
|
10
|
+
PathwayState.AWAITING_APPROVAL: frozenset({PathwayState.APPROVED, PathwayState.DENIED, PathwayState.HUMAN_GATE}),
|
|
11
|
+
PathwayState.APPROVED: frozenset({PathwayState.RUNNING, PathwayState.HELD, PathwayState.ABORTED}),
|
|
12
|
+
PathwayState.RUNNING: frozenset({PathwayState.COMPLETED, PathwayState.STOPPED, PathwayState.PARTIALLY_COMPLETED, PathwayState.WRITE_STATUS_UNKNOWN, PathwayState.REPAIR_REQUIRED}),
|
|
13
|
+
PathwayState.HELD: frozenset({PathwayState.HUMAN_GATE, PathwayState.APPROVED, PathwayState.ABORTED}),
|
|
14
|
+
PathwayState.HUMAN_GATE: frozenset({PathwayState.APPROVED, PathwayState.DENIED, PathwayState.ABORTED}),
|
|
15
|
+
PathwayState.STOPPED: frozenset({PathwayState.REPAIR_REQUIRED, PathwayState.ABORTED}),
|
|
16
|
+
PathwayState.PARTIALLY_COMPLETED: frozenset({PathwayState.REPAIR_REQUIRED}),
|
|
17
|
+
PathwayState.WRITE_STATUS_UNKNOWN: frozenset({PathwayState.COMPLETED, PathwayState.REPAIR_REQUIRED}),
|
|
18
|
+
PathwayState.REPAIR_REQUIRED: frozenset({PathwayState.READY_TO_RESUME, PathwayState.ABORTED}),
|
|
19
|
+
PathwayState.READY_TO_RESUME: frozenset({PathwayState.RUNNING, PathwayState.ABORTED}),
|
|
20
|
+
PathwayState.COMPLETED: frozenset(),
|
|
21
|
+
PathwayState.DENIED: frozenset(),
|
|
22
|
+
PathwayState.ABORTED: frozenset(),
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
TERMINAL_STATES = frozenset({PathwayState.COMPLETED, PathwayState.DENIED, PathwayState.ABORTED})
|