oacp-cli 0.4.5__tar.gz → 0.5.0__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.
Files changed (475) hide show
  1. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/CHANGELOG.md +39 -0
  2. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/PKG-INFO +15 -14
  3. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/QUICKSTART.md +17 -6
  4. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/README.md +14 -13
  5. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/SPEC.md +2 -3
  6. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/guides/doctor.md +5 -1
  7. oacp_cli-0.5.0/docs/guides/memory-context.md +72 -0
  8. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/agent_safety_defaults.md +1 -1
  9. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/autonomy.md +55 -0
  10. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/dispatch_states.yaml +2 -2
  11. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/message_signing.md +2 -2
  12. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/org_memory.md +219 -55
  13. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/runtime_capabilities.md +9 -3
  14. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/session_init.md +34 -16
  15. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/README.md +8 -7
  16. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/org-memory/recent.md +2 -1
  17. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/oacp/cli.py +58 -9
  18. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/pyproject.toml +3 -10
  19. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/autonomy_gate.py +73 -1
  20. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/codex_session_init.py +55 -19
  21. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/oacp_doctor.py +22 -646
  22. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/preflight.py +118 -0
  23. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/record_autonomy_outcome.py +43 -16
  24. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/send_inbox_message.py +2 -2
  25. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/setup_runtime.py +255 -59
  26. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/write_event.py +1 -1
  27. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/claude/agents/role_agent.template.md +4 -1
  28. oacp_cli-0.5.0/tests/conformance/autonomy/expected/pause_classification_designed.yaml +13 -0
  29. oacp_cli-0.5.0/tests/conformance/autonomy/expected/pause_classification_mixed.yaml +13 -0
  30. oacp_cli-0.5.0/tests/conformance/autonomy/expected/pause_classification_undeclared.yaml +13 -0
  31. oacp_cli-0.5.0/tests/conformance/autonomy/expected/pause_classification_unplanned.yaml +13 -0
  32. oacp_cli-0.5.0/tests/conformance/autonomy/messages/pause_classification_designed.yaml +20 -0
  33. oacp_cli-0.5.0/tests/conformance/autonomy/messages/pause_classification_mixed.yaml +20 -0
  34. oacp_cli-0.5.0/tests/conformance/autonomy/messages/pause_classification_undeclared.yaml +19 -0
  35. oacp_cli-0.5.0/tests/conformance/autonomy/messages/pause_classification_unplanned.yaml +20 -0
  36. oacp_cli-0.5.0/tests/conformance/memory_layout/README.md +23 -0
  37. oacp_cli-0.5.0/tests/conformance/memory_layout/canonical_memory_gitignore.txt +9 -0
  38. oacp_cli-0.5.0/tests/conformance/memory_layout/layout.yaml +71 -0
  39. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_autonomy_gate.py +6 -0
  40. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_codex_session_init.py +134 -2
  41. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_envelope_compiler.py +17 -0
  42. oacp_cli-0.5.0/tests/test_expected_pauses.py +259 -0
  43. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_finalize_autonomy_record.py +23 -0
  44. oacp_cli-0.5.0/tests/test_memory_layout_fixture.py +198 -0
  45. oacp_cli-0.5.0/tests/test_memory_shim.py +135 -0
  46. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_oacp_cli.py +31 -4
  47. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_oacp_doctor.py +20 -140
  48. oacp_cli-0.5.0/tests/test_package_content.py +258 -0
  49. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_preflight.py +80 -0
  50. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_readme_commands.py +2 -2
  51. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_record_autonomy_outcome.py +149 -0
  52. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_setup_runtime.py +524 -16
  53. oacp_cli-0.4.5/docs/protocol/cross_runtime_sync.md +0 -115
  54. oacp_cli-0.4.5/scripts/init_org_memory.py +0 -150
  55. oacp_cli-0.4.5/scripts/memory_archive_common.py +0 -67
  56. oacp_cli-0.4.5/scripts/memory_cli.py +0 -193
  57. oacp_cli-0.4.5/scripts/memory_sync.py +0 -584
  58. oacp_cli-0.4.5/scripts/promote_to_archive.py +0 -106
  59. oacp_cli-0.4.5/scripts/restore_from_archive.py +0 -96
  60. oacp_cli-0.4.5/templates/org-memory/decisions.md +0 -5
  61. oacp_cli-0.4.5/templates/org-memory/events/.gitkeep +0 -0
  62. oacp_cli-0.4.5/templates/org-memory/events/20260317-170120-example-api-convention.md +0 -11
  63. oacp_cli-0.4.5/templates/org-memory/recent.md +0 -16
  64. oacp_cli-0.4.5/templates/org-memory/rules.md +0 -5
  65. oacp_cli-0.4.5/tests/conformance/org_memory/README.md +0 -22
  66. oacp_cli-0.4.5/tests/conformance/org_memory/cases/bad_layout/expected.yaml +0 -5
  67. oacp_cli-0.4.5/tests/conformance/org_memory/cases/bad_layout/org-memory/debriefs/.hidden/2026/08/20260825-alice-abc12345.md +0 -14
  68. oacp_cli-0.4.5/tests/conformance/org_memory/cases/bad_layout/org-memory/debriefs/demo-project/2026/08/20260825-alice-1f3a9c2b.md +0 -14
  69. oacp_cli-0.4.5/tests/conformance/org_memory/cases/bad_layout/org-memory/debriefs/demo-project/2026/08/20260825-alice-ABCD.md +0 -14
  70. oacp_cli-0.4.5/tests/conformance/org_memory/cases/bad_layout/org-memory/debriefs/demo-project/2026/08/20260825_alice_abc12345.md +0 -14
  71. oacp_cli-0.4.5/tests/conformance/org_memory/cases/bad_layout/org-memory/debriefs/demo-project/2026/09/20260825-alice-def12345.md +0 -14
  72. oacp_cli-0.4.5/tests/conformance/org_memory/cases/bad_layout/org-memory/debriefs/demo-project/20260825-alice-abc12345.md +0 -14
  73. oacp_cli-0.4.5/tests/conformance/org_memory/cases/empty_store/expected.yaml +0 -2
  74. oacp_cli-0.4.5/tests/conformance/org_memory/cases/empty_store/org-memory/debriefs/.gitkeep +0 -0
  75. oacp_cli-0.4.5/tests/conformance/org_memory/cases/missing_debriefs_dir/expected.yaml +0 -5
  76. oacp_cli-0.4.5/tests/conformance/org_memory/cases/missing_debriefs_dir/org-memory/recent.md +0 -1
  77. oacp_cli-0.4.5/tests/conformance/org_memory/cases/staging_artifact/expected.yaml +0 -5
  78. oacp_cli-0.4.5/tests/conformance/org_memory/cases/staging_artifact/org-memory/debriefs/demo-project/2026/08/.stage.20260825-alice-77xx88yy.md.a1b2c3 +0 -1
  79. oacp_cli-0.4.5/tests/conformance/org_memory/cases/staging_artifact/org-memory/debriefs/demo-project/2026/08/20260825-alice-1f3a9c2b.md +0 -14
  80. oacp_cli-0.4.5/tests/conformance/org_memory/cases/valid_store/expected.yaml +0 -2
  81. oacp_cli-0.4.5/tests/conformance/org_memory/cases/valid_store/org-memory/debriefs/.gitkeep +0 -0
  82. oacp_cli-0.4.5/tests/conformance/org_memory/cases/valid_store/org-memory/debriefs/Demo_Project/2026/08/20260825-bob-ops-9f00aa11.md +0 -14
  83. oacp_cli-0.4.5/tests/conformance/org_memory/cases/valid_store/org-memory/debriefs/demo-project/2026/08/20260825-alice-1f3a9c2b.md +0 -14
  84. oacp_cli-0.4.5/tests/conformance/org_memory/cases/valid_store/org-memory/debriefs/demo.project/2026/07/20260701-Alice_2.dev-00aa11bb.md +0 -14
  85. oacp_cli-0.4.5/tests/conformance/org_memory/cases/valid_store/org-memory/debriefs/other-project/2026/12/20261203-bob-9e0d44aa.md +0 -14
  86. oacp_cli-0.4.5/tests/test_init_org_memory.py +0 -46
  87. oacp_cli-0.4.5/tests/test_memory_archive.py +0 -445
  88. oacp_cli-0.4.5/tests/test_memory_sync.py +0 -331
  89. oacp_cli-0.4.5/tests/test_org_memory_doctor.py +0 -195
  90. oacp_cli-0.4.5/tests/test_package_content.py +0 -143
  91. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/.gitattributes +0 -0
  92. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/.github/workflows/auto-estimate.yml +0 -0
  93. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/.github/workflows/ci.yml +0 -0
  94. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/.github/workflows/release.yml +0 -0
  95. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/.gitignore +0 -0
  96. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/CONTRIBUTING.md +0 -0
  97. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/LICENSE +0 -0
  98. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/Makefile +0 -0
  99. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/SECURITY.md +0 -0
  100. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/from-claude-p.md +0 -0
  101. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/guides/adoption.md +0 -0
  102. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/guides/prompt_caching.md +0 -0
  103. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/guides/setup.md +0 -0
  104. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/guides/unified_skill_spec.md +0 -0
  105. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/guides/versioning.md +0 -0
  106. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/img/oacp-cli-demo.png +0 -0
  107. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/img/oacp-filesystem-tree.png +0 -0
  108. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/img/oacp-fleet-thread.png +0 -0
  109. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/agent_profiles.md +0 -0
  110. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/credential_scoping.md +0 -0
  111. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/inbox_outbox.md +0 -0
  112. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/mcp_integration.md +0 -0
  113. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/multi_agent_shared_workspace.md +0 -0
  114. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/packet_states.yaml +0 -0
  115. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/review_loop.md +0 -0
  116. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/skills_manifest.yaml +0 -0
  117. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/docs/protocol/task_negotiation.md +0 -0
  118. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/org-memory/decisions.md +0 -0
  119. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/org-memory/events/20260504-093015-postgres-over-dynamodb.md +0 -0
  120. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/org-memory/events/20260508-141220-utc-timestamps-pr-review.md +0 -0
  121. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/org-memory/events/20260515-102045-utc-timestamps-webhooks.md +0 -0
  122. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/org-memory/events/20260521-163330-utc-timestamps-rule-proposal.md +0 -0
  123. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/org-memory/events/20260527-110500-idempotency-keys-merged.md +0 -0
  124. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/org-memory/events/20260602-090210-parcel-api-v020-released.md +0 -0
  125. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/org-memory/rules.md +0 -0
  126. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/projects/parcel-api/memory/archive/2026-05-21-csv-export-timeouts.md +0 -0
  127. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/projects/parcel-api/memory/decision_log.md +0 -0
  128. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/projects/parcel-api/memory/known_debt.md +0 -0
  129. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/projects/parcel-api/memory/open_threads.md +0 -0
  130. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/demo-workspace/projects/parcel-api/memory/project_facts.md +0 -0
  131. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/examples/quickstart/README.md +0 -0
  132. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/oacp/__init__.py +0 -0
  133. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/oacp/envelope_hook.py +0 -0
  134. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/_oacp_constants.py +0 -0
  135. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/_oacp_env.py +0 -0
  136. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/add_agent.py +0 -0
  137. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/agent_profile.py +0 -0
  138. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/check_quality_gate.py +0 -0
  139. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/claude_envelope_hook.py +0 -0
  140. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/envelope_compiler.py +0 -0
  141. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/finalize_autonomy_record.py +0 -0
  142. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/gen_readme_commands.py +0 -0
  143. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/handoff_schema.py +0 -0
  144. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/init_packet.sh +0 -0
  145. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/init_project_workspace.py +0 -0
  146. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/key_cli.py +0 -0
  147. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/message_signing.py +0 -0
  148. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/message_verify.py +0 -0
  149. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/oacp_inbox.py +0 -0
  150. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/oacp_watch.py +0 -0
  151. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/policy_signing.py +0 -0
  152. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/retention.py +0 -0
  153. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/trust_cli.py +0 -0
  154. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/trust_root.py +0 -0
  155. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/update_workspace.sh +0 -0
  156. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/validate_agent_card.py +0 -0
  157. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/scripts/validate_message.py +0 -0
  158. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/agent_card.template.yaml +0 -0
  159. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/agent_profile.template.yaml +0 -0
  160. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/agent_status.template.yaml +0 -0
  161. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/checkpoint.template.md +0 -0
  162. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/claude/rules/guardrail.template.md +0 -0
  163. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/findings_packet.template.yaml +0 -0
  164. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/github_actions_quality_gate.yaml +0 -0
  165. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/guardrails/coding_standards.template.md +0 -0
  166. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/guardrails/safe_commands.template.md +0 -0
  167. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/guardrails/secrets_rules.template.md +0 -0
  168. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/handoff_packet.template.yaml +0 -0
  169. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/inbox_message.template.yaml +0 -0
  170. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/manual_validation.template.md +0 -0
  171. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/merge_decision.template.md +0 -0
  172. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/receiver_config.template.yaml +0 -0
  173. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/review_packet.template.md +0 -0
  174. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/roles/role_baseline.template.md +0 -0
  175. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/roles/role_definition.template.yaml +0 -0
  176. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/runtime_capabilities.yaml +0 -0
  177. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/skills_manifest.template.yaml +0 -0
  178. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/templates/test_packet.template.md +0 -0
  179. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/README.md +0 -0
  180. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/checkpoint_breach.yaml +0 -0
  181. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/continuation_drift.yaml +0 -0
  182. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/continuation_within.yaml +0 -0
  183. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/declaration_error.yaml +0 -0
  184. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/declaration_intent.yaml +0 -0
  185. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/reauth_boundary_action.yaml +0 -0
  186. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/reauth_conflict.yaml +0 -0
  187. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/reauth_cross_channel.yaml +0 -0
  188. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/reauth_reuse.yaml +0 -0
  189. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/reauth_same_channel.yaml +0 -0
  190. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/reauth_scopeless_boundary.yaml +0 -0
  191. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/review_live_head_mismatch.yaml +0 -0
  192. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/review_live_head_prefix.yaml +0 -0
  193. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/actuals/top_level_side_effect_keys.yaml +0 -0
  194. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/audits/prior_review_addressed_accepted.yaml +0 -0
  195. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/audits/prior_review_grant_addressed_types.yaml +0 -0
  196. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/audits/prior_review_grant_approved.yaml +0 -0
  197. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/audits/prior_review_grant_denied_later.yaml +0 -0
  198. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/audits/prior_review_grant_denied_postmessage.yaml +0 -0
  199. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/audits/prior_thread_grant_approved.yaml +0 -0
  200. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/configs/always_pause.yaml +0 -0
  201. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/configs/auto_review_continuation_enabled.yaml +0 -0
  202. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/configs/auto_review_external_pause.yaml +0 -0
  203. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/configs/auto_review_standard.yaml +0 -0
  204. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/configs/auto_review_tight.yaml +0 -0
  205. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/configs/malformed_config.yaml +0 -0
  206. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/always_pause_task.yaml +0 -0
  207. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/ambiguous_scope_pauses.yaml +0 -0
  208. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/brainstorm_destructive_pauses.yaml +0 -0
  209. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/brainstorm_side_effect_verbs_auto_accepts.yaml +0 -0
  210. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/brainstorm_without_profile_auto_accepts.yaml +0 -0
  211. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/checkpoint_breach_pauses.yaml +0 -0
  212. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/checkpoint_reauth_boundary_action_resumes.yaml +0 -0
  213. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/checkpoint_reauth_conflict_declines.yaml +0 -0
  214. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/checkpoint_reauth_cross_channel_resumes.yaml +0 -0
  215. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/checkpoint_reauth_reuse_stays_paused.yaml +0 -0
  216. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/checkpoint_reauth_same_channel_resumes.yaml +0 -0
  217. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/checkpoint_reauth_scopeless_boundary_resumes.yaml +0 -0
  218. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/clean_auto_review_task.yaml +0 -0
  219. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/continuation_grant_destructive_pauses.yaml +0 -0
  220. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/continuation_grant_disabled_pauses.yaml +0 -0
  221. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/continuation_grant_drift_pauses.yaml +0 -0
  222. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/continuation_grant_enabled_auto_accepts.yaml +0 -0
  223. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/continuation_grant_external_uncovered_pauses.yaml +0 -0
  224. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/declaration_error_admission_pauses.yaml +0 -0
  225. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/declaration_error_pauses.yaml +0 -0
  226. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/declaration_intent_checkpoint_pauses.yaml +0 -0
  227. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/declared_destructive_ops_pauses.yaml +0 -0
  228. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/expired_message_pauses.yaml +0 -0
  229. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/guardrails_fence_auto_accepts.yaml +0 -0
  230. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_dangerously_skip_permissions_pauses.yaml +0 -0
  231. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_external_side_effects_pauses.yaml +0 -0
  232. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_force_pauses.yaml +0 -0
  233. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_masking_threshold_pauses.yaml +0 -0
  234. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_no_verify_pauses.yaml +0 -0
  235. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_no_verify_upper_pauses.yaml +0 -0
  236. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_rm_rf_pauses.yaml +0 -0
  237. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_sensitive_commercial_pauses.yaml +0 -0
  238. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_sensitive_config_pauses.yaml +0 -0
  239. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_sensitive_credentials_pauses.yaml +0 -0
  240. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_sensitive_memory_ssot_pauses.yaml +0 -0
  241. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_sensitive_pricing_pauses.yaml +0 -0
  242. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_sensitive_public_repo_pauses.yaml +0 -0
  243. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_sensitive_scope_pauses.yaml +0 -0
  244. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_sensitive_secret_pauses.yaml +0 -0
  245. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/hard_stop_side_effect_before_sensitive_pauses.yaml +0 -0
  246. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/invalid_message_pauses.yaml +0 -0
  247. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/lexical_declared_false_auto_accepts.yaml +0 -0
  248. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/malformed_config_pauses.yaml +0 -0
  249. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/minutes_45_auto_accepts.yaml +0 -0
  250. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/minutes_46_pauses.yaml +0 -0
  251. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/missing_task_profile_pauses.yaml +0 -0
  252. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/negated_guardrails_auto_accepts.yaml +0 -0
  253. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/path_like_deploy_auto_accepts.yaml +0 -0
  254. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/private_issue_artifacts_auto_accepts.yaml +0 -0
  255. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/private_pr_artifacts_auto_accepts.yaml +0 -0
  256. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/private_pr_with_merge_pauses.yaml +0 -0
  257. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/public_pr_artifacts_pause.yaml +0 -0
  258. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_accepted_auto_continues.yaml +0 -0
  259. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_disabled_pauses.yaml +0 -0
  260. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_drift_pauses.yaml +0 -0
  261. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_expired_pauses.yaml +0 -0
  262. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_head_mismatch_records.yaml +0 -0
  263. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_later_round_pauses.yaml +0 -0
  264. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_missing_approval_pauses.yaml +0 -0
  265. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_prefix_head_records.yaml +0 -0
  266. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_repeated_addressed_round_exceeded.yaml +0 -0
  267. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_revoke_before_processing_pauses.yaml +0 -0
  268. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/review_continuation_revoked_pauses.yaml +0 -0
  269. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/risk_obvious_no_profile_pauses.yaml +0 -0
  270. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/sensitive_content_reply_only_advisory.yaml +0 -0
  271. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/side_effect_booleans_pause.yaml +0 -0
  272. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/threshold_breach_pauses.yaml +0 -0
  273. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/tight_threshold_pauses.yaml +0 -0
  274. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/top_level_side_effect_actuals_ignored.yaml +0 -0
  275. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/expected/unparsable_task_profile_pauses.yaml +0 -0
  276. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/ledger_replay/corpus.yaml +0 -0
  277. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/ambiguous_scope.yaml +0 -0
  278. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/brainstorm_destructive.yaml +0 -0
  279. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/brainstorm_side_effect_verbs.yaml +0 -0
  280. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/brainstorm_without_profile.yaml +0 -0
  281. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/clean_task.yaml +0 -0
  282. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/continuation_grant.yaml +0 -0
  283. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/continuation_grant_destructive.yaml +0 -0
  284. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/continuation_grant_external_uncovered.yaml +0 -0
  285. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/declaration_error_admission.yaml +0 -0
  286. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/declared_destructive_ops.yaml +0 -0
  287. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/expired_message.yaml +0 -0
  288. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/guardrails_fence.yaml +0 -0
  289. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/hard_stop_dangerously_skip_permissions.yaml +0 -0
  290. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/hard_stop_external_side_effects.yaml +0 -0
  291. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/hard_stop_force.yaml +0 -0
  292. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/hard_stop_masking_threshold.yaml +0 -0
  293. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/hard_stop_no_verify.yaml +0 -0
  294. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/hard_stop_no_verify_upper.yaml +0 -0
  295. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/hard_stop_rm_rf.yaml +0 -0
  296. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/hard_stop_sensitive_scope.yaml +0 -0
  297. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/invalid_message.yaml +0 -0
  298. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/lexical_declared_false.yaml +0 -0
  299. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/minutes_45.yaml +0 -0
  300. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/minutes_46.yaml +0 -0
  301. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/missing_task_profile.yaml +0 -0
  302. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/negated_guardrails.yaml +0 -0
  303. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/path_like_deploy.yaml +0 -0
  304. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/private_issue_artifacts.yaml +0 -0
  305. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/private_pr_artifacts.yaml +0 -0
  306. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/private_pr_with_merge.yaml +0 -0
  307. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/public_pr_artifacts.yaml +0 -0
  308. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/review_continuation_addressed_round3.yaml +0 -0
  309. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/review_continuation_cross_pr.yaml +0 -0
  310. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/review_continuation_head_mismatch.yaml +0 -0
  311. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/review_continuation_prefix_head.yaml +0 -0
  312. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/review_continuation_request.yaml +0 -0
  313. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/review_continuation_round4.yaml +0 -0
  314. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/review_continuation_unapproved.yaml +0 -0
  315. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/risk_obvious_no_profile.yaml +0 -0
  316. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/sensitive_commercial.yaml +0 -0
  317. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/sensitive_config.yaml +0 -0
  318. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/sensitive_content_reply_only.yaml +0 -0
  319. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/sensitive_credentials.yaml +0 -0
  320. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/sensitive_memory_ssot.yaml +0 -0
  321. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/sensitive_pricing.yaml +0 -0
  322. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/sensitive_public_repo.yaml +0 -0
  323. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/sensitive_secret.yaml +0 -0
  324. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/side_effect_before_sensitive.yaml +0 -0
  325. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/side_effect_booleans.yaml +0 -0
  326. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/threshold_breach.yaml +0 -0
  327. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/messages/unparsable_task_profile.yaml +0 -0
  328. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/README.md +0 -0
  329. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/admission_outcome_replaced_by_clear.yaml +0 -0
  330. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/breach_basis_source_mismatch.yaml +0 -0
  331. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/breached_empty_fields.yaml +0 -0
  332. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/clean_terminal_done.yaml +0 -0
  333. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/duplicate_live_a.yaml +0 -0
  334. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/duplicate_live_b.yaml +0 -0
  335. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/duplicate_yaml_key_logged_notes.yaml +0 -0
  336. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/expected_findings.yaml +0 -0
  337. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/final_state_superseded_valid.yaml +0 -0
  338. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/inconsistent_work_clock.yaml +0 -0
  339. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/noncanonical_axis_names.yaml +0 -0
  340. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/off_enum_final_state_completed.yaml +0 -0
  341. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/off_enum_kind_completed_after_human_approval.yaml +0 -0
  342. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/off_enum_kind_executed.yaml +0 -0
  343. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/off_enum_kind_human_approved_completed.yaml +0 -0
  344. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/off_enum_kind_review_round_delivered.yaml +0 -0
  345. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/paused_terminal_action_unreconciled.yaml +0 -0
  346. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/paused_terminal_completed_stamp.yaml +0 -0
  347. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/serialized_wave_item.yaml +0 -0
  348. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/superseded_legacy_kind_repaired.yaml +0 -0
  349. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/superseded_legacy_successor_live.yaml +0 -0
  350. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/superseded_missing_successor.yaml +0 -0
  351. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/superseded_successor_live.yaml +0 -0
  352. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/superseded_unrelated_successor.yaml +0 -0
  353. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/autonomy/records/unrelated_identity_holder_live.yaml +0 -0
  354. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/README.md +0 -0
  355. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/configs/auto_review_standard.yaml +0 -0
  356. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/configs/malformed.yaml +0 -0
  357. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/expected/clean_pr_task_compiles.yaml +0 -0
  358. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/expected/docs_only_task_compiles.yaml +0 -0
  359. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/expected/granular_capabilities_compile.yaml +0 -0
  360. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/expected/invalid_numeric_fails.yaml +0 -0
  361. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/expected/malformed_config_fails.yaml +0 -0
  362. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/expected/missing_profile_fails.yaml +0 -0
  363. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/expected/unparsable_profile_fails.yaml +0 -0
  364. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/messages/clean_pr_task.yaml +0 -0
  365. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/messages/docs_only_task.yaml +0 -0
  366. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/messages/granular_capabilities_task.yaml +0 -0
  367. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/messages/invalid_numeric.yaml +0 -0
  368. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/messages/missing_profile.yaml +0 -0
  369. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/envelope/messages/unparsable_profile.yaml +0 -0
  370. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/README.md +0 -0
  371. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/configs/enforce.yaml +0 -0
  372. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/configs/off.yaml +0 -0
  373. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/configs/warn.yaml +0 -0
  374. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/signed_basic__enforce.yaml +0 -0
  375. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/signed_revoked__enforce.yaml +0 -0
  376. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/signed_revoked__off.yaml +0 -0
  377. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/signed_revoked__warn.yaml +0 -0
  378. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/tamper_body_flip__enforce.yaml +0 -0
  379. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/tamper_body_flip__off.yaml +0 -0
  380. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/tamper_body_flip__warn.yaml +0 -0
  381. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/tamper_kid_unknown__enforce.yaml +0 -0
  382. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/tamper_kid_unknown__off.yaml +0 -0
  383. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/tamper_kid_unknown__warn.yaml +0 -0
  384. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/unsigned_notification__enforce.yaml +0 -0
  385. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/unsigned_notification__off.yaml +0 -0
  386. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/intake/expected/unsigned_notification__warn.yaml +0 -0
  387. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/README.md +0 -0
  388. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/signed_basic.yaml +0 -0
  389. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/signed_lookalike.yaml +0 -0
  390. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/signed_multisig.yaml +0 -0
  391. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/signed_revoked.yaml +0 -0
  392. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_auth_alias.yaml +0 -0
  393. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_body_flip.yaml +0 -0
  394. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_container_reformat.yaml +0 -0
  395. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_crlf_trailer.yaml +0 -0
  396. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_header_reencode.yaml +0 -0
  397. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_identity_mismatch.yaml +0 -0
  398. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_indented_trailer.yaml +0 -0
  399. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_kid_alias.yaml +0 -0
  400. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_kid_cross_agent.yaml +0 -0
  401. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_kid_unknown.yaml +0 -0
  402. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_missing_final_lf.yaml +0 -0
  403. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_padded_b64.yaml +0 -0
  404. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_sig_alias.yaml +0 -0
  405. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_sig_corrupt.yaml +0 -0
  406. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_trailer_transplant.yaml +0 -0
  407. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_trailing_blank_line.yaml +0 -0
  408. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/tamper_trailing_space.yaml +0 -0
  409. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/expected/unsigned_notification.yaml +0 -0
  410. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/keys/alice.json +0 -0
  411. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/keys/bob.json +0 -0
  412. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/keys/carol.json +0 -0
  413. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/signed_basic.prefix.yaml +0 -0
  414. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/signed_basic.yaml +0 -0
  415. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/signed_lookalike.prefix.yaml +0 -0
  416. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/signed_lookalike.yaml +0 -0
  417. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/signed_multisig.prefix.yaml +0 -0
  418. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/signed_multisig.yaml +0 -0
  419. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/signed_revoked.prefix.yaml +0 -0
  420. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/signed_revoked.yaml +0 -0
  421. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_auth_alias.yaml +0 -0
  422. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_body_flip.yaml +0 -0
  423. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_container_reformat.yaml +0 -0
  424. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_crlf_trailer.yaml +0 -0
  425. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_header_reencode.yaml +0 -0
  426. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_identity_mismatch.prefix.yaml +0 -0
  427. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_identity_mismatch.yaml +0 -0
  428. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_indented_trailer.yaml +0 -0
  429. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_kid_alias.yaml +0 -0
  430. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_kid_cross_agent.yaml +0 -0
  431. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_kid_unknown.yaml +0 -0
  432. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_missing_final_lf.yaml +0 -0
  433. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_padded_b64.yaml +0 -0
  434. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_sig_alias.yaml +0 -0
  435. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_sig_corrupt.yaml +0 -0
  436. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_trailer_transplant.yaml +0 -0
  437. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_trailing_blank_line.yaml +0 -0
  438. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/tamper_trailing_space.yaml +0 -0
  439. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/messages/unsigned_notification.yaml +0 -0
  440. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/pins/allowed_signers.yaml +0 -0
  441. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/conformance/signing/regen_fixtures.py +0 -0
  442. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_add_agent.py +0 -0
  443. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_agent_profile.py +0 -0
  444. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_audit_corpus_boundary.py +0 -0
  445. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_audit_record_conformance.py +0 -0
  446. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_autonomy_conformance_fixtures.py +0 -0
  447. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_autonomy_ledger_replay.py +0 -0
  448. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_claude_envelope_hook.py +0 -0
  449. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_default_envelope.py +0 -0
  450. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_envelope_conformance_fixtures.py +0 -0
  451. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_envelope_public_admission.py +0 -0
  452. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_github_workflows.py +0 -0
  453. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_handoff_schema.py +0 -0
  454. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_inbox_verify.py +0 -0
  455. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_init_project_workspace.py +0 -0
  456. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_intake_conformance.py +0 -0
  457. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_message_signing.py +0 -0
  458. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_message_verify.py +0 -0
  459. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_oacp_constants.py +0 -0
  460. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_oacp_env.py +0 -0
  461. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_oacp_inbox.py +0 -0
  462. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_oacp_watch.py +0 -0
  463. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_packaged_status_template.py +0 -0
  464. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_policy_signing.py +0 -0
  465. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_retention.py +0 -0
  466. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_review_loop.py +0 -0
  467. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_send_inbox_message.py +0 -0
  468. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_signing_conformance.py +0 -0
  469. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_spec_version.py +0 -0
  470. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_trust_root.py +0 -0
  471. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_update_workspace.py +0 -0
  472. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_validate_agent_card.py +0 -0
  473. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_validate_message.py +0 -0
  474. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_workspace_discovery.py +0 -0
  475. {oacp_cli-0.4.5 → oacp_cli-0.5.0}/tests/test_write_event.py +0 -0
@@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.5.0] - 2026-09-09
11
+
12
+ ### Added
13
+
14
+ - Memory-layout conformance fixture pinning the layout grammar and sync allowlist ([fixture](tests/conformance/memory_layout/README.md)).
15
+ - `oacp doctor` reports the installed `agent-memory` version and defers memory-home checks to it ([doctor guide](docs/guides/doctor.md)).
16
+ - Preflight and wheel guards fail when a kernel module or the wheel ships the memory engine ([lean kernel](docs/protocol/org_memory.md#conformance)).
17
+
18
+ ### Changed
19
+
20
+ - The org-memory doc becomes the three-tier memory layout spec the kernel scaffolds against ([memory layout](docs/protocol/org_memory.md#layout)).
21
+ - `oacp memory` and `oacp org-memory` delegate to the `agent-memory` CLI until their removal in 0.5.2 ([README](README.md#commands)).
22
+ - `oacp setup` no longer installs memory hooks and retires the ones it generated; `agent-memory setup` replaces them ([quickstart](QUICKSTART.md)).
23
+ - `oacp session-init --pull-memory` delegates to `agent-memory`, reporting `disabled` when absent ([codex](docs/protocol/session_init.md#codex)).
24
+
25
+ ### Removed
26
+
27
+ - `docs/protocol/cross_runtime_sync.md`; its durable-memory half moved to the layout spec ([layout](docs/protocol/org_memory.md#per-project-tier)).
28
+ - The bundled memory engine and org-memory doctor category, shipped as `agent-memory-cli` ([agent-memory](https://github.com/kiloloop/agent-memory)).
29
+ - `oacp doctor --memory`; the memory home is checked by `agent-memory doctor` ([doctor guide](docs/guides/doctor.md)).
30
+
31
+ ### Fixed
32
+
33
+ - `oacp setup codex` regenerates its managed `SessionStart` hook but never creates one ([codex startup](docs/protocol/session_init.md#codex)).
34
+
35
+ ## [0.4.6] - 2026-09-05
36
+
37
+ ### Added
38
+
39
+ - Autonomy audits distinguish expected pauses from unplanned pauses ([pause classification](docs/protocol/autonomy.md#pause-classification)).
40
+ - Human outcome records can retain the changes made when approving a modified task ([human outcomes](docs/protocol/autonomy.md#human-approval-and-decline-outcomes)).
41
+
42
+ ### Fixed
43
+
44
+ - Startup safety and dispatch guidance follow the current exact-file archive lifecycle ([inbox lifecycle](docs/protocol/inbox_outbox.md#lifecycle)).
45
+ - Startup guidance preserves project memory reads and retrieves org memory on demand ([memory context](docs/guides/memory-context.md)).
46
+
10
47
  ## [0.4.5] - 2026-09-02
11
48
 
12
49
  ### Changed
@@ -831,6 +868,8 @@ The central debrief store is the headline change: every agent's full end-of-sess
831
868
  - Checkout step in github-release workflow job (#19)
832
869
  - Pre-release audit fixes: SHA-pinned actions, dangling doc refs (#15, #16)
833
870
 
871
+ [0.5.0]: https://github.com/kiloloop/oacp/compare/v0.4.6...v0.5.0
872
+ [0.4.6]: https://github.com/kiloloop/oacp/compare/v0.4.5...v0.4.6
834
873
  [0.4.5]: https://github.com/kiloloop/oacp/compare/v0.4.4...v0.4.5
835
874
  [0.4.4]: https://github.com/kiloloop/oacp/compare/v0.4.3...v0.4.4
836
875
  [0.4.3]: https://github.com/kiloloop/oacp/compare/v0.4.2...v0.4.3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: oacp-cli
3
- Version: 0.4.5
3
+ Version: 0.5.0
4
4
  Summary: Open Agent Coordination Protocol CLI for file-based multi-agent workflows
5
5
  Project-URL: Homepage, https://github.com/kiloloop/oacp
6
6
  Project-URL: Repository, https://github.com/kiloloop/oacp
@@ -115,7 +115,7 @@ $OACP_HOME/projects/my-app/ ● writing
115
115
  workspace.json metadata [json]
116
116
 
117
117
  $OACP_HOME/org-memory/ org-wide
118
- recent.md auto-loaded [⌘]
118
+ recent.md on demand [⌘]
119
119
  rules.md 12 rules [⌘]
120
120
  decisions.md org decisions [⌘]
121
121
  ```
@@ -262,13 +262,13 @@ uv tool install .
262
262
  | `oacp inbox` | List pending inbox messages |
263
263
  | `oacp watch` | Emit inbox delta events for Monitor-friendly polling |
264
264
  | `oacp retention` | Prune project message history by age and count |
265
- | `oacp memory` | Archive, restore, or sync memory files |
265
+ | `oacp memory` | Run agent-memory (sync, archive, restore); shim until 0.5.2 |
266
266
  | `oacp session-init` | Verify Codex startup inputs and emit SessionStart context |
267
267
  | `oacp setup` | Generate runtime-specific config files in a repo |
268
268
  | `oacp send` | Send a protocol-compliant inbox message |
269
269
  | `oacp key` | Generate and inspect message-signing keys |
270
270
  | `oacp trust` | Import, inspect, and revoke trust-root entries (catalog + pins) |
271
- | `oacp org-memory` | Initialize org-level memory at $OACP_HOME/org-memory/ |
271
+ | `oacp org-memory` | Run agent-memory org (init); shim until 0.5.2 |
272
272
  | `oacp write-event` | Write an event to org-memory/events/ |
273
273
  | `oacp autonomy-outcome` | Record a human approval/decline in an autonomy audit |
274
274
  | `oacp autonomy-finalize` | Record checkpoints and terminal states in an autonomy audit |
@@ -287,9 +287,9 @@ uv tool install .
287
287
 
288
288
  **`oacp watch`**: `--agent`, repeatable `--project`, `--all-projects`, `--json`, `--since` (default `now`), `--state-id <id>` for per-subscriber cursors, `--show-archived`
289
289
 
290
- **`oacp doctor`**: `--fix` (auto-fix safe issues), `--memory`, `--json`, `-o/--output`
290
+ **`oacp doctor`**: `--fix` (auto-fix safe issues), `--json`, `-o/--output`
291
291
 
292
- **`oacp memory`**: `init [--remote URL]`, `clone <URL> [--force]`, `pull`, `push`, `disable`, `archive <project> <file>`, `restore <project> <file>`
292
+ **`oacp memory`** / **`oacp org-memory`**: exec shims for [agent-memory](https://github.com/kiloloop/agent-memory) (`pip install agent-memory-cli`): argv passes through, `--oacp-dir` becomes `--home`, `oacp memory init` runs `agent-memory enable`. Kept through 0.5.1, removed in 0.5.2; call `agent-memory` directly.
293
293
 
294
294
  </details>
295
295
 
@@ -369,15 +369,16 @@ $OACP_HOME/projects/<project>/
369
369
  └── workspace.json # Project metadata
370
370
  ```
371
371
 
372
- Optionally, `oacp org-memory init` creates org-level shared memory:
372
+ Org-level shared memory and cross-machine sync are the memory tool's:
373
+ [agent-memory](https://github.com/kiloloop/agent-memory) (`pip install
374
+ agent-memory-cli`) scaffolds `$OACP_HOME/org-memory/` (`agent-memory org init`),
375
+ syncs the home (`enable`, `pull`, `push`), checks it (`agent-memory doctor`), and
376
+ installs the runtime startup hook (`agent-memory setup <runtime>`). The layout it
377
+ implements is the kernel's [memory layout spec](docs/protocol/org_memory.md).
373
378
 
374
- ```
375
- $OACP_HOME/org-memory/
376
- ├── recent.md # Always-loaded rolling summary
377
- ├── decisions.md # Org-wide decisions
378
- ├── rules.md # Standing conventions
379
- └── events/ # Timestamped event entries
380
- ```
379
+ Init loads the four active project memory files. Org memory is retrieved on
380
+ demand; syncing it to disk does not load it into context. See
381
+ [project context and org-memory retrieval](docs/guides/memory-context.md).
381
382
 
382
383
  ## Development
383
384
 
@@ -89,9 +89,14 @@ This creates or updates:
89
89
 
90
90
  - `.claude/agents/my-first-project.md`
91
91
  - `.claude/skills/`
92
- - `.claude/hooks/oacp-memory-pull.sh`
93
92
  - `.claude/settings.json`
94
93
 
94
+ Memory sync and its startup hook are the memory tool's: install
95
+ [agent-memory](https://github.com/kiloloop/agent-memory) (`pip install
96
+ agent-memory-cli`) and run `agent-memory setup claude`. A regeneration of
97
+ `oacp setup` retires the memory hooks earlier kernels wrote, by exact command
98
+ and digest, and leaves anything you edited in place.
99
+
95
100
  For other supported runtimes, use the same shape:
96
101
 
97
102
  ```bash
@@ -101,15 +106,21 @@ oacp setup gemini --project my-first-project
101
106
  ```
102
107
 
103
108
  Codex setup creates or merges `.codex/hooks.json` with one startup-only hook.
104
- Review and trust it with `/hooks`; it runs memory pull and startup verification
105
- sequentially. If hooks are unavailable, run the manual fallback:
109
+ Review and trust it with `/hooks`; it runs the startup verification. If hooks
110
+ are unavailable, run the manual fallback:
106
111
 
107
112
  ```bash
108
- oacp session-init --pull-memory --project my-first-project
113
+ oacp session-init --project my-first-project
109
114
  ```
110
115
 
116
+ The init manifest names the protocol files and four project memory files to
117
+ read into context; org memory is retrieved on demand. Syncing the home is
118
+ `agent-memory pull` (its `setup codex` hook runs it at startup). See
119
+ [memory context](docs/guides/memory-context.md) for retrieval and
120
+ existing-installation guidance.
121
+
111
122
  Runtime setup does not install an automatic memory push. Publish durable memory
112
- explicitly during wrap-up with `oacp memory push`.
123
+ explicitly during wrap-up with `agent-memory push`.
113
124
 
114
125
  Cursor support is scaffold-only until Cursor-owned rules land. Cursor sessions
115
126
  must set `OACP_RUNTIME=cursor` or pass `--from` explicitly when sending messages.
@@ -221,7 +232,7 @@ checks the project workspace, inboxes, schemas, and agent status files.
221
232
  ## What's Next?
222
233
 
223
234
  - **Review loop** — Set up structured code review between agents. See [docs/protocol/review_loop.md](docs/protocol/review_loop.md).
224
- - **Durable memory** — Learn how agents share knowledge across sessions. See [docs/protocol/cross_runtime_sync.md](docs/protocol/cross_runtime_sync.md).
235
+ - **Durable memory** — Learn how agents share knowledge across sessions and machines. See [docs/protocol/org_memory.md](docs/protocol/org_memory.md).
225
236
  - **Safety defaults** — Understand the baseline safety rules. See [docs/protocol/agent_safety_defaults.md](docs/protocol/agent_safety_defaults.md).
226
237
  - **Full protocol** — Read the complete specification in [SPEC.md](SPEC.md).
227
238
  - **Adoption guide** — Minimum, recommended, and full adoption paths. See [docs/guides/adoption.md](docs/guides/adoption.md).
@@ -87,7 +87,7 @@ $OACP_HOME/projects/my-app/ ● writing
87
87
  workspace.json metadata [json]
88
88
 
89
89
  $OACP_HOME/org-memory/ org-wide
90
- recent.md auto-loaded [⌘]
90
+ recent.md on demand [⌘]
91
91
  rules.md 12 rules [⌘]
92
92
  decisions.md org decisions [⌘]
93
93
  ```
@@ -234,13 +234,13 @@ uv tool install .
234
234
  | `oacp inbox` | List pending inbox messages |
235
235
  | `oacp watch` | Emit inbox delta events for Monitor-friendly polling |
236
236
  | `oacp retention` | Prune project message history by age and count |
237
- | `oacp memory` | Archive, restore, or sync memory files |
237
+ | `oacp memory` | Run agent-memory (sync, archive, restore); shim until 0.5.2 |
238
238
  | `oacp session-init` | Verify Codex startup inputs and emit SessionStart context |
239
239
  | `oacp setup` | Generate runtime-specific config files in a repo |
240
240
  | `oacp send` | Send a protocol-compliant inbox message |
241
241
  | `oacp key` | Generate and inspect message-signing keys |
242
242
  | `oacp trust` | Import, inspect, and revoke trust-root entries (catalog + pins) |
243
- | `oacp org-memory` | Initialize org-level memory at $OACP_HOME/org-memory/ |
243
+ | `oacp org-memory` | Run agent-memory org (init); shim until 0.5.2 |
244
244
  | `oacp write-event` | Write an event to org-memory/events/ |
245
245
  | `oacp autonomy-outcome` | Record a human approval/decline in an autonomy audit |
246
246
  | `oacp autonomy-finalize` | Record checkpoints and terminal states in an autonomy audit |
@@ -259,9 +259,9 @@ uv tool install .
259
259
 
260
260
  **`oacp watch`**: `--agent`, repeatable `--project`, `--all-projects`, `--json`, `--since` (default `now`), `--state-id <id>` for per-subscriber cursors, `--show-archived`
261
261
 
262
- **`oacp doctor`**: `--fix` (auto-fix safe issues), `--memory`, `--json`, `-o/--output`
262
+ **`oacp doctor`**: `--fix` (auto-fix safe issues), `--json`, `-o/--output`
263
263
 
264
- **`oacp memory`**: `init [--remote URL]`, `clone <URL> [--force]`, `pull`, `push`, `disable`, `archive <project> <file>`, `restore <project> <file>`
264
+ **`oacp memory`** / **`oacp org-memory`**: exec shims for [agent-memory](https://github.com/kiloloop/agent-memory) (`pip install agent-memory-cli`): argv passes through, `--oacp-dir` becomes `--home`, `oacp memory init` runs `agent-memory enable`. Kept through 0.5.1, removed in 0.5.2; call `agent-memory` directly.
265
265
 
266
266
  </details>
267
267
 
@@ -341,15 +341,16 @@ $OACP_HOME/projects/<project>/
341
341
  └── workspace.json # Project metadata
342
342
  ```
343
343
 
344
- Optionally, `oacp org-memory init` creates org-level shared memory:
344
+ Org-level shared memory and cross-machine sync are the memory tool's:
345
+ [agent-memory](https://github.com/kiloloop/agent-memory) (`pip install
346
+ agent-memory-cli`) scaffolds `$OACP_HOME/org-memory/` (`agent-memory org init`),
347
+ syncs the home (`enable`, `pull`, `push`), checks it (`agent-memory doctor`), and
348
+ installs the runtime startup hook (`agent-memory setup <runtime>`). The layout it
349
+ implements is the kernel's [memory layout spec](docs/protocol/org_memory.md).
345
350
 
346
- ```
347
- $OACP_HOME/org-memory/
348
- ├── recent.md # Always-loaded rolling summary
349
- ├── decisions.md # Org-wide decisions
350
- ├── rules.md # Standing conventions
351
- └── events/ # Timestamped event entries
352
- ```
351
+ Init loads the four active project memory files. Org memory is retrieved on
352
+ demand; syncing it to disk does not load it into context. See
353
+ [project context and org-memory retrieval](docs/guides/memory-context.md).
353
354
 
354
355
  ## Development
355
356
 
@@ -23,7 +23,7 @@ documents ship inside the `oacp-cli` wheel.
23
23
  | [`docs/protocol/inbox_outbox.md`](docs/protocol/inbox_outbox.md) | Wire format including the signed `auth` trailer; directory layout; message types; lifecycle — a processed inbound message is archived to `inbox/archive/` by digest-checked, no-clobber move (never deleted), and an intake rejection is quarantined to `dead_letter/`; threading, broadcast, expiry, retention. |
24
24
  | [`docs/protocol/message_signing.md`](docs/protocol/message_signing.md) | Trust root and receiver pins, verify modes (`off` / `warn` / `enforce`), receiver audit stamping, policy-file signing, key management, rotation and revocation, signing conformance. |
25
25
  | [`docs/protocol/autonomy.md`](docs/protocol/autonomy.md) | Receiver autonomy: config and task profiles, the four-gate admission evaluator and hard stops, audit records (admission ledger, human outcomes, terminal finalization), threshold checkpoints and re-authorization, scope-envelope enforcement, continuation grants. |
26
- | [`docs/protocol/org_memory.md`](docs/protocol/org_memory.md) | Org-level memory: directory structure, event file schema, the debrief store, permission model and lifecycle. |
26
+ | [`docs/protocol/org_memory.md`](docs/protocol/org_memory.md) | Memory layout: the per-project, org, and cross-machine tiers — paths, files, who writes what, the event and debrief schemas, the sync marker and allowlist. |
27
27
 
28
28
  ## Userland documents
29
29
 
@@ -36,7 +36,6 @@ receiver must verify.
36
36
  | [`docs/protocol/task_negotiation.md`](docs/protocol/task_negotiation.md) | Propose / accept / counter-propose handshake for splitting work between agents. |
37
37
  | [`docs/protocol/multi_agent_shared_workspace.md`](docs/protocol/multi_agent_shared_workspace.md) | Shared-folder implementation → QA → deployment handoff with batched findings and signoff. |
38
38
  | [`docs/protocol/session_init.md`](docs/protocol/session_init.md) | Runtime-agnostic session-start sequence and failure handling. |
39
- | [`docs/protocol/cross_runtime_sync.md`](docs/protocol/cross_runtime_sync.md) | Keeping context consistent across runtimes: durable memory, handoff messages, review artifacts. |
40
39
  | [`docs/protocol/runtime_capabilities.md`](docs/protocol/runtime_capabilities.md) | Static capability declarations, dynamic `status.yaml`, health-check contract, agent cards. |
41
40
  | [`docs/protocol/agent_profiles.md`](docs/protocol/agent_profiles.md) | Two-tier identity: global agent profiles and project-level agent cards. |
42
41
  | [`docs/protocol/agent_safety_defaults.md`](docs/protocol/agent_safety_defaults.md) | Baseline git, staging, inbox, credential, and scope rules every agent follows. |
@@ -49,7 +48,7 @@ Guides — [`docs/guides/setup.md`](docs/guides/setup.md),
49
48
  [`versioning.md`](docs/guides/versioning.md),
50
49
  [`unified_skill_spec.md`](docs/guides/unified_skill_spec.md) — and the
51
50
  executable conformance fixtures under [`tests/conformance/`](tests/conformance/)
52
- (autonomy, signing, intake, envelope) round out the set. Runtime-specific skills
51
+ (autonomy, signing, intake, envelope, memory layout) round out the set. Runtime-specific skills
53
52
  that operate the protocol live in the companion
54
53
  [oacp-skills](https://github.com/kiloloop/oacp-skills) repository.
55
54
 
@@ -27,6 +27,7 @@ Verifies that required and optional CLI tools are installed and reachable on `PA
27
27
  | `ruff` | No | Python linter (optional, used in preflight) |
28
28
  | `shellcheck` | No | Shell script linter (optional) |
29
29
  | `pyyaml` | No | PyYAML library (needed for YAML validation) |
30
+ | `agent-memory` | No | Memory tool (`agent-memory-cli`); the row reports its version and hands memory-home checks to `agent-memory doctor` |
30
31
 
31
32
  ### 2. Workspace
32
33
 
@@ -103,6 +104,8 @@ $ oacp doctor
103
104
  [+] ruff — ruff 0.8.1
104
105
  [-] shellcheck — not installed (optional)
105
106
  Install: brew install shellcheck
107
+ [-] agent-memory — not installed
108
+ Install: pip install agent-memory-cli
106
109
  [+] pyyaml — available
107
110
 
108
111
  No issues found.
@@ -120,6 +123,7 @@ $ oacp doctor --project my-project
120
123
  [+] ruff — ruff 0.8.1
121
124
  [-] shellcheck — not installed (optional)
122
125
  Install: brew install shellcheck
126
+ [+] agent-memory — agent-memory 0.1.0 (run agent-memory doctor)
123
127
  [+] pyyaml — available
124
128
 
125
129
  [+] Workspace
@@ -181,6 +185,7 @@ The exit code reflects the overall result:
181
185
  | `pyyaml — not importable` | `pip install pyyaml` |
182
186
  | `ruff — not installed` | `pip install ruff` (optional, for linting) |
183
187
  | `shellcheck — not installed` | `brew install shellcheck` (optional, for shell script linting) |
188
+ | `agent-memory — not installed` | `pip install agent-memory-cli` (optional; `agent-memory doctor` then checks the memory home) |
184
189
 
185
190
  ### Workspace
186
191
 
@@ -220,7 +225,6 @@ oacp doctor --project <name> # full workspace + agent checks
220
225
  oacp doctor --json # machine-readable JSON output
221
226
  oacp doctor --project <name> --json # full checks in JSON format
222
227
  oacp doctor --project <name> --fix # auto-fix safe issues (missing inbox dirs, missing/stale status.yaml)
223
- oacp doctor --memory # advisory checks for OACP_HOME memory git sync
224
228
  oacp doctor -o report.txt # save report to file
225
229
  ```
226
230
 
@@ -0,0 +1,72 @@
1
+ # Project context and org-memory retrieval
2
+
3
+ Load the active project memory at init. Retrieve org memory when a task needs
4
+ shared rules, decisions, or recent cross-project context. Org-wide history can
5
+ grow independently of the small project working set.
6
+
7
+ | Store | Context policy |
8
+ |---|---|
9
+ | `projects/<project>/memory/` | Read `project_facts.md`, `decision_log.md`, `open_threads.md`, and `known_debt.md` in order at init. |
10
+ | `projects/<project>/memory/archive/` | Historical detail; follow a relevant reference when needed. |
11
+ | `org-memory/` | Search relevant topical files and read matching sections on demand. |
12
+
13
+ ## Initialization and synchronization
14
+
15
+ Step 3 of the session-init protocol requires the four project files. In
16
+ Codex, the init command verifies three
17
+ protocol files and those four project files, then emits a manifest. The agent
18
+ still performs the ordered reads; verification does not inject their contents.
19
+ Missing project files are reported under the existing degraded-init behavior.
20
+
21
+ `agent-memory pull` synchronizes the memory repository on disk, including org
22
+ memory and its history. A successful pull does not add those files to model
23
+ context. Keep any configured pull before project-memory reads so those reads
24
+ use the refreshed files. Sync selection and context selection are independent;
25
+ there is no need to remove org memory from sync to avoid eager loading.
26
+
27
+ Hook enablement remains an adopter choice. This retrieval policy works with a
28
+ trusted startup hook or a manual init invocation. It does not require enabling
29
+ a hook that the project has disabled.
30
+
31
+ ## Retrieve org context for a task
32
+
33
+ 1. Resolve the configured OACP root and the org's topical filenames. Common
34
+ choices are `rules.md`, `decisions.md`, and `recent.md`; adopters can use
35
+ others. Read applicable standing rules and decisions before the actions
36
+ they govern, such as release, review authority, or architecture work.
37
+ 2. If cross-machine sync is configured, the task needs current shared facts,
38
+ and local freshness is unknown, run `agent-memory pull`. A failed pull leaves
39
+ freshness unknown; report that limitation before relying on affected facts.
40
+ 3. Search the relevant explicit files with task identifiers and topic terms.
41
+ For example, after confirming that `rules.md` exists:
42
+
43
+ ```bash
44
+ OACP_ROOT="${OACP_HOME:-$HOME/oacp}"
45
+ rg -n -- 'release|version' "$OACP_ROOT/org-memory/rules.md"
46
+ ```
47
+
48
+ 4. Read the full matching sections, including qualifications and provenance.
49
+ Follow relevant source links when needed; avoid loading unrelated history
50
+ or recursively reading `events/` and `debriefs/`. Read `recent.md` sections
51
+ when recent org-wide changes matter to the task.
52
+ 5. A search miss does not establish that no rule applies. Inspect relevant
53
+ headings or linked topic files when needed. Missing or unreadable files
54
+ are evidence gaps, not permission to bypass a known requirement. Verify
55
+ stale or conflicting claims against their authoritative sources.
56
+
57
+ Runtime/project guidance may explicitly opt into a bounded startup summary.
58
+ The `recent.md` curation budget is a storage-maintenance guideline, not a
59
+ startup context budget. Keep required project reads intact even when org
60
+ retrieval is deferred.
61
+
62
+ ## Update an existing installation
63
+
64
+ Updated scaffolds apply to newly created files. Runtime setup and org-memory
65
+ initialization preserve existing guidance and curated content; upgrading does
66
+ not rewrite an old `Always-loaded` comment or a local mandatory-org-read rule.
67
+
68
+ Review existing runtime instructions and summary comments explicitly. Keep the
69
+ four project reads, replace blanket org-memory startup reads with the task-based
70
+ policy above, and retain the underlying rules, decisions, history, and sync
71
+ configuration. Avoid rerunning runtime setup solely to change prose: setup can
72
+ register hooks, including ones an adopter intentionally disabled.
@@ -18,7 +18,7 @@ Cross-agent baseline safety rules. All agents (Claude, Codex, Cursor, Gemini) fo
18
18
 
19
19
  ## Inbox Safety
20
20
 
21
- - **Delete inbox messages immediately after processing.** For messages that require a reply (`task_request`, `question`, `review_request`), "processed" means reply sent. For `notification` messages, "processed" means read and acknowledged — no reply needed, delete right away. Do not let processed messages accumulate in the inbox.
21
+ - **Follow the canonical [inbox lifecycle](inbox_outbox.md#lifecycle).** Complete required replies and terminal audit before atomically archiving the exact processed file without overwriting an archive entry. Changed bytes or failed archival leave input pending; a successful reply alone is not permission to delete it.
22
22
  - **Never silently consume a message that expects a response** — `task_request`, `question`, and `review_request` always require a reply. `notification` is no-response by default, but requires ack/reply when it reports findings or issues.
23
23
  - **Always reply** using `oacp send` with `--parent-message-id` to maintain threading.
24
24
  - **Idempotent sends** — before sending a response message (e.g., `review_feedback`, `review_addressed`, `review_request`), check the recipient's inbox and your own outbox for an already-sent message matching the same PR + round + type. Skip the send if a duplicate exists. This prevents retry storms when an agent crashes after sending a message but before completing the full workflow, and is re-invoked.
@@ -106,6 +106,10 @@ schema-invalid profile pauses with `task_profile_unparsable`; it is not a fatal
106
106
  message-schema error. Message types listed in `allow_without_task_profile`, such
107
107
  as `brainstorm_request`, may auto-accept without the block.
108
108
 
109
+ | Optional profile field | Meaning |
110
+ | --- | --- |
111
+ | `expected_pauses` | List of pause reason codes the sender expects to fire, for example `[estimated_minutes_exceeds_threshold, merges_pr_pause]`. Advisory only: unknown codes or malformed values produce declaration warnings, not new admission reasons. Existing safety checks still apply to the whole message. See [pause classification](#pause-classification). |
112
+
109
113
  `expected_files_touched` counts distinct deliverable files only: files created
110
114
  or modified as part of the requested outcome or a review-required correction.
111
115
  Exclude receiver-local inbox, outbox, audit, memory, cache, and scratch writes
@@ -433,6 +437,11 @@ Audit `schema_version: 2` adds thread identity and the structured
433
437
  `result.human_outcome` block. Recorders may upgrade a v1 audit to v2 when the
434
438
  first human outcome is written; standing grants trust only v2 records.
435
439
 
440
+ | Optional audit evidence | Meaning |
441
+ | --- | --- |
442
+ | `pause_classification`, `expected_pause_codes`, `unplanned_pause_codes` | The paused decision's comparison against the sender's expected reasons; see [pause classification](#pause-classification). Older v2 records may omit all three. |
443
+ | `result.human_outcome.modification` | Free-form YAML mapping recording what the human changed, such as `task_profile: {estimated_minutes: 60}` and `note: "Allow the larger task"`. Written by `--modification-file`; evidence only, with no effect on the scope envelope, standing grants, or checkpoint enforcement. |
444
+
436
445
  ### Contract version
437
446
 
438
447
  `spec_version` names the protocol contract an artifact was produced under.
@@ -510,6 +519,40 @@ deduplicated against `reason_codes`, and empty on auto-accepted decisions.
510
519
  Threshold-calibration analytics should read `reason_codes` and
511
520
  `co_occurring_reason_codes` together.
512
521
 
522
+ ### Pause classification
523
+
524
+ Every new paused evaluation records `pause_classification`,
525
+ `expected_pause_codes`, and `unplanned_pause_codes` as additive audit evidence.
526
+ The fired set contains only pause reasons in that decision's `reason_codes`.
527
+ Evidence codes such as `message_valid` and `schema_valid`, co-occurring reasons,
528
+ and lexical notes never enter this set.
529
+
530
+ | Declaration and fired reasons | Classification |
531
+ | --- | --- |
532
+ | `expected_pauses` absent | `undeclared` |
533
+ | Every fired pause reason is expected | `designed` |
534
+ | No fired pause reason is expected | `unplanned` |
535
+ | Some, but not all, fired pause reasons are expected | `mixed` |
536
+
537
+ `expected_pause_codes` preserves declared string entries, including unknown
538
+ codes; unknown codes are ignored for comparison and recorded as declaration
539
+ warnings in `logged_notes`.
540
+ An absent or malformed declaration contributes no expected reasons.
541
+ `unplanned_pause_codes` lists the fired reasons minus the recognized expected
542
+ reasons.
543
+ All message text, including the advisory value, remains subject to existing
544
+ lexical safety checks.
545
+ An unknown declaration adds no admission reason of its own, but a destructive
546
+ token inside it still fires the same hard stop as that token elsewhere.
547
+ The declaration cannot authorize work or suppress a fired pause.
548
+
549
+ These fields and `human_outcome.modification` are additive and ignorable within
550
+ audit schema v2: existing records validate unchanged, and readers may ignore the
551
+ fields without changing an admission, finalization, doctor, or enforcement
552
+ decision.
553
+ There is no contract change under the [version rule](#contract-version).
554
+ Historical records are not backfilled.
555
+
513
556
  ### Lexical provenance
514
557
 
515
558
  `matched_patterns` is a source-ordered list of every autonomy lexical match,
@@ -638,6 +681,18 @@ pause moment, and locks the full read-modify-write sequence before an atomic
638
681
  replacement. It refuses to overwrite a recorded outcome unless `--replace` is
639
682
  explicit. `decision` is `approved`, `modified`, or `declined`.
640
683
 
684
+ | Flag | Meaning |
685
+ | --- | --- |
686
+ | `--modification-file <yaml>` | With `--decision modified`, read a free-form YAML mapping into `result.human_outcome.modification`. Without the file, the modified decision still records and prints a one-line `modification unrecorded` warning. |
687
+
688
+ An empty mapping is valid.
689
+ A missing, unreadable, invalid-YAML, or non-mapping file leaves the audit
690
+ unchanged, as does using the flag with a decision other than `modified`.
691
+ The payload records the human's delta without applying it to the original
692
+ scope envelope or creating a standing grant.
693
+ It cannot replace the earlier outcome when the command routes to a checkpoint
694
+ clear; scoped checkpoint changes still use the re-authorization path below.
695
+
641
696
  The recorder is state-aware about where the pause moment lives:
642
697
 
643
698
  - **Admission pauses** (`completion_kind: admission_paused`): the record was
@@ -349,5 +349,5 @@ constraints:
349
349
  - "rejected — agent rejected the task"
350
350
  inbox_file_lifecycle:
351
351
  - "Dispatch state is tracked via message replies (parent_message_id threading), NOT by retaining the original inbox file"
352
- - "Agents delete the original task_request from inbox after processing (per inbox_outbox.md Lifecycle step 5)"
353
- - "Long-lived states (blocked, in_review) persist in dispatcher tracking (dispatches.md), not as inbox files"
352
+ - "Agents follow inbox_outbox.md Lifecycle for terminal processing and exact-file, no-overwrite archival; changed bytes or failed archival leave input pending"
353
+ - "Long-lived states (blocked, in_review) persist in dispatcher tracking (dispatches.md); pending-file retention still follows inbox_outbox.md Lifecycle"
@@ -333,8 +333,8 @@ can never authenticate a message.
333
333
  - **Keys are per-machine and never leave `$OACP_HOME/keys/`.** They are
334
334
  never synced and never committed. The memory-sync allowlist structurally
335
335
  excludes `keys/` on the push side, and the canonical workspace
336
- `.gitignore` carries an explicit `keys/` deny line that `oacp memory
337
- init` and the doctor `root-gitignore` drift check propagate fleet-wide.
336
+ `.gitignore` carries an explicit `keys/` deny line that the memory tool
337
+ (`agent-memory enable`, and its doctor's drift check) propagates fleet-wide.
338
338
  - **The 0600 file keystore is the v0.4.0 floor, not the design.** Private
339
339
  key files are created `0600` under `0700` directories and loaded only
340
340
  after a mode check. The backend is pluggable by design: messages