project-loop-harness 0.3.1__tar.gz → 0.3.3__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 (412) hide show
  1. {project_loop_harness-0.3.1/src/project_loop_harness.egg-info → project_loop_harness-0.3.3}/PKG-INFO +6 -4
  2. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/README.md +3 -3
  3. project_loop_harness-0.3.3/agent-tasks/0123-master-trace-intent-index-contract.md +94 -0
  4. project_loop_harness-0.3.3/agent-tasks/0124-baseline-fixtures-v0-3-1.md +90 -0
  5. project_loop_harness-0.3.3/agent-tasks/0125-mcp-stdio-framing-negotiation.md +109 -0
  6. project_loop_harness-0.3.3/agent-tasks/0126-mcp-external-conformance.md +105 -0
  7. project_loop_harness-0.3.3/agent-tasks/0127-transactional-audit-outbox-design.md +105 -0
  8. project_loop_harness-0.3.3/agent-tasks/0128-event-outbox-jsonl-projector.md +113 -0
  9. project_loop_harness-0.3.3/agent-tasks/0129-audit-check-repair-rebuild.md +118 -0
  10. project_loop_harness-0.3.3/agent-tasks/0130-crash-concurrency-test-suite.md +108 -0
  11. project_loop_harness-0.3.3/agent-tasks/0131-guarded-executor-hardening.md +110 -0
  12. project_loop_harness-0.3.3/agent-tasks/0132-master-trace-context-pack-section.md +100 -0
  13. project_loop_harness-0.3.3/agent-tasks/0133-windows-lock-fallback.md +71 -0
  14. project_loop_harness-0.3.3/agent-tasks/README.md +75 -0
  15. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/adoption-guide.md +1 -1
  16. project_loop_harness-0.3.3/docs/adr/ADR-002-transactional-audit-outbox.md +566 -0
  17. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/architecture.md +28 -3
  18. project_loop_harness-0.3.3/docs/crash-concurrency-reliability.md +47 -0
  19. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/data-model.md +10 -1
  20. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/distribution.md +23 -0
  21. project_loop_harness-0.3.3/docs/event-outbox-compatibility.md +76 -0
  22. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/golden-path.md +2 -2
  23. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/growth-plan-v0.2.4-v0.5.md +84 -15
  24. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/implementation-plan.md +16 -3
  25. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/master-trace-handoff.md +8 -1
  26. project_loop_harness-0.3.3/docs/master-trace-intent-index.md +285 -0
  27. project_loop_harness-0.3.3/docs/mcp-compatibility.md +56 -0
  28. project_loop_harness-0.3.3/docs/mcp-manual-smoke-runbook.md +84 -0
  29. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/recovery-playbook.md +48 -2
  30. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/release-checklist.md +1 -1
  31. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/release-notes/v0.3.1.md +8 -4
  32. project_loop_harness-0.3.3/docs/release-notes/v0.3.3.md +139 -0
  33. project_loop_harness-0.3.3/docs/releases/v0.3.1-baseline.md +104 -0
  34. project_loop_harness-0.3.3/docs/releases/v0.3.3-mcp-stdio.md +18 -0
  35. project_loop_harness-0.3.3/docs/roadmap/integrated/00-executive-roadmap.md +159 -0
  36. project_loop_harness-0.3.3/docs/roadmap/integrated/01-adaptive-loop-architecture.md +333 -0
  37. project_loop_harness-0.3.3/docs/roadmap/integrated/02-contracts-and-data-model.md +244 -0
  38. project_loop_harness-0.3.3/docs/roadmap/integrated/03-implementation-plan.md +221 -0
  39. project_loop_harness-0.3.3/docs/roadmap/integrated/04-evaluation-and-rollout.md +191 -0
  40. project_loop_harness-0.3.3/docs/roadmap/integrated/05-pdm-discussion-guide.md +192 -0
  41. project_loop_harness-0.3.3/docs/roadmap/integrated/06-cli-contract-draft.md +240 -0
  42. project_loop_harness-0.3.3/docs/roadmap/integrated/07-state-machines-and-events.md +245 -0
  43. project_loop_harness-0.3.3/docs/roadmap/integrated/08-repository-integration.md +165 -0
  44. project_loop_harness-0.3.3/docs/roadmap/integrated/09-ai-plc-integration-mapping.md +107 -0
  45. project_loop_harness-0.3.3/docs/roadmap/integrated/ADOPTION.md +72 -0
  46. project_loop_harness-0.3.3/docs/roadmap/integrated/README.md +91 -0
  47. project_loop_harness-0.3.3/docs/roadmap/integrated/SOURCE_BASIS.md +18 -0
  48. project_loop_harness-0.3.3/docs/roadmap/integrated/VALIDATION_REPORT.md +17 -0
  49. project_loop_harness-0.3.3/docs/roadmap/integrated/adr/ADR-001-profile-not-entity.md +39 -0
  50. project_loop_harness-0.3.3/docs/roadmap/integrated/adr/ADR-002-transactional-audit-outbox.md +42 -0
  51. project_loop_harness-0.3.3/docs/roadmap/integrated/adr/ADR-003-adaptive-policy-axes.md +32 -0
  52. project_loop_harness-0.3.3/docs/roadmap/integrated/adr/ADR-004-contract-first-promotion.md +26 -0
  53. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0123-release-v0-3-1-baseline.md +107 -0
  54. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0124-mcp-stdio-framing-negotiation.md +109 -0
  55. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0125-mcp-external-conformance.md +105 -0
  56. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0126-transactional-audit-outbox-design.md +105 -0
  57. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0127-event-outbox-jsonl-projector.md +113 -0
  58. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0128-audit-check-repair-rebuild.md +112 -0
  59. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0129-crash-concurrency-test-suite.md +108 -0
  60. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0130-guarded-executor-hardening.md +110 -0
  61. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0131-completion-packet-v1-contract.md +112 -0
  62. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0132-finish-emits-completion-packet.md +119 -0
  63. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0133-lite-pcl-start.md +114 -0
  64. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0134-handoff-packet-pcl-resume.md +113 -0
  65. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0135-work-brief-v1-evidence.md +111 -0
  66. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0136-deterministic-route-recommendation.md +111 -0
  67. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0137-adaptive-policy-explain-override.md +113 -0
  68. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0138-work-brief-revision-replan.md +112 -0
  69. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0139-stale-invalidation-propagation.md +120 -0
  70. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0140-verifier-provenance-separation.md +108 -0
  71. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0141-risk-based-verification-policy.md +112 -0
  72. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0142-profile-contract-boundary.md +113 -0
  73. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0143-discovery-reference-profile.md +114 -0
  74. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0144-decision-proposal-human-selection.md +111 -0
  75. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0145-master-trace-handoff-integration.md +112 -0
  76. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0146-capability-profile-v0.md +110 -0
  77. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0147-budget-profile-incomplete-packet.md +113 -0
  78. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0148-context-cache-delta-handoff.md +115 -0
  79. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0149-knowledge-proposal-experiment.md +112 -0
  80. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0150-cross-model-evaluation-harness.md +114 -0
  81. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0151-design-partner-operations.md +108 -0
  82. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/0152-adoption-stability-release.md +113 -0
  83. project_loop_harness-0.3.3/docs/roadmap/integrated/agent-tasks-proposed/README.md +79 -0
  84. project_loop_harness-0.3.3/docs/roadmap/integrated/handoff/ARCHITECTURE_REVIEW_PROMPT.md +37 -0
  85. project_loop_harness-0.3.3/docs/roadmap/integrated/handoff/IMPLEMENTATION_AGENT_PROMPT.md +44 -0
  86. project_loop_harness-0.3.3/docs/roadmap/integrated/handoff/PDM_REVIEW_PROMPT.md +29 -0
  87. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/safety-permissions.md +10 -5
  88. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/workflow-contract.md +34 -14
  89. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/pyproject.toml +5 -2
  90. project_loop_harness-0.3.3/src/pcl/__init__.py +1 -0
  91. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/agents.py +2 -2
  92. project_loop_harness-0.3.3/src/pcl/audit.py +926 -0
  93. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/checkpoints.py +2 -2
  94. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/cli.py +208 -11
  95. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/eval.py +3 -3
  96. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/receipts.py +2 -2
  97. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/store.py +2 -2
  98. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/commands.py +5 -5
  99. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/context.py +258 -0
  100. project_loop_harness-0.3.3/src/pcl/db/migrations/008_event_outbox.sql +47 -0
  101. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/db/schema.sql +18 -0
  102. project_loop_harness-0.3.3/src/pcl/db.py +132 -0
  103. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/decisions.py +4 -4
  104. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/dispatch.py +6 -6
  105. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/errors.py +14 -0
  106. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/escalations.py +3 -3
  107. project_loop_harness-0.3.3/src/pcl/events.py +51 -0
  108. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/evidence.py +6 -2
  109. project_loop_harness-0.3.3/src/pcl/guarded_process.py +262 -0
  110. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/init_project.py +2 -2
  111. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/lifecycle.py +15 -15
  112. project_loop_harness-0.3.3/src/pcl/locks.py +127 -0
  113. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/mcp_server.py +107 -65
  114. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/migrations.py +222 -86
  115. project_loop_harness-0.3.3/src/pcl/outbox.py +407 -0
  116. project_loop_harness-0.3.3/src/pcl/redaction.py +101 -0
  117. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/registry.py +4 -4
  118. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/stories.py +5 -5
  119. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/tasks.py +5 -5
  120. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/templates/skills/project-control-loop/SKILL.md +3 -3
  121. project_loop_harness-0.3.3/src/pcl/test_faults.py +49 -0
  122. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/validators.py +29 -7
  123. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/verification_feedback.py +2 -2
  124. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/workflow_executor.py +191 -71
  125. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/workflow_proposals.py +4 -4
  126. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/workflow_sandbox.py +348 -122
  127. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/workflows.py +2 -2
  128. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3/src/project_loop_harness.egg-info}/PKG-INFO +6 -4
  129. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/project_loop_harness.egg-info/SOURCES.txt +106 -1
  130. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/project_loop_harness.egg-info/requires.txt +3 -0
  131. project_loop_harness-0.3.3/tests/baseline_fixture_tools.py +223 -0
  132. project_loop_harness-0.3.3/tests/fixtures/master_trace_context_contract_v0.json +35 -0
  133. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/context-check-help.json +11 -0
  134. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/empty-context-check-json.json +25 -0
  135. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/empty-next-json.json +68 -0
  136. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/empty-render-json.json +16 -0
  137. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/empty-validate-strict-json.json +17 -0
  138. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/next-help.json +10 -0
  139. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/pcl-help.json +9 -0
  140. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/pcl-version.json +9 -0
  141. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/render-help.json +10 -0
  142. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/representative-context-check-json.json +51 -0
  143. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/representative-next-json.json +41 -0
  144. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/representative-render-json.json +16 -0
  145. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/representative-validate-strict-json.json +17 -0
  146. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/validate-help.json +10 -0
  147. project_loop_harness-0.3.3/tests/mcp/conftest.py +91 -0
  148. project_loop_harness-0.3.3/tests/mcp/fixtures/negative-matrix.json +34 -0
  149. project_loop_harness-0.3.3/tests/mcp/fixtures/wire-transcript.json +141 -0
  150. project_loop_harness-0.3.3/tests/mcp/test_external_conformance.py +229 -0
  151. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_agent_output_validation.py +7 -3
  152. project_loop_harness-0.3.3/tests/test_audit_commands.py +450 -0
  153. project_loop_harness-0.3.3/tests/test_baseline_fixtures.py +90 -0
  154. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_cli_init.py +5 -4
  155. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_context.py +207 -0
  156. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_context_check.py +102 -0
  157. project_loop_harness-0.3.3/tests/test_crash_concurrency.py +534 -0
  158. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_decisions.py +6 -2
  159. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_distribution.py +9 -0
  160. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_escalations.py +6 -2
  161. project_loop_harness-0.3.3/tests/test_event_outbox.py +527 -0
  162. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_evidence_add.py +17 -20
  163. project_loop_harness-0.3.3/tests/test_guarded_process.py +100 -0
  164. project_loop_harness-0.3.3/tests/test_locks.py +156 -0
  165. project_loop_harness-0.3.3/tests/test_mcp_server.py +416 -0
  166. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_migrations.py +52 -51
  167. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_validation.py +15 -0
  168. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_workflow_executor.py +12 -1
  169. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_workflow_sandbox.py +100 -1
  170. project_loop_harness-0.3.1/agent-tasks/README.md +0 -55
  171. project_loop_harness-0.3.1/src/pcl/__init__.py +0 -1
  172. project_loop_harness-0.3.1/src/pcl/db.py +0 -51
  173. project_loop_harness-0.3.1/src/pcl/events.py +0 -41
  174. project_loop_harness-0.3.1/tests/test_mcp_server.py +0 -201
  175. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/LICENSE +0 -0
  176. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/MANIFEST.in +0 -0
  177. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/Makefile +0 -0
  178. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0001-hardening-cli.md +0 -0
  179. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0002-db-migrations.md +0 -0
  180. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0003-workflow-runner.md +0 -0
  181. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0004-dashboard-renderer.md +0 -0
  182. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0005-agent-integration.md +0 -0
  183. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0006-codex-plugin.md +0 -0
  184. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0007-mcp-server.md +0 -0
  185. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0008-loop-lifecycle.md +0 -0
  186. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0009-defect-lifecycle.md +0 -0
  187. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0010-reporting-evidence.md +0 -0
  188. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0011-validation-invariants.md +0 -0
  189. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0012-audit-log-integrity.md +0 -0
  190. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0013-validation-diagnostics.md +0 -0
  191. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0014-escalation-lifecycle.md +0 -0
  192. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0015-decision-lifecycle.md +0 -0
  193. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0016-escalation-decision-linkage.md +0 -0
  194. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0017-next-action-guided-loop.md +0 -0
  195. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0018-readme-golden-path.md +0 -0
  196. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0019-recovery-playbook.md +0 -0
  197. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0020-example-project-refresh.md +0 -0
  198. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0021-agent-adapter-contract.md +0 -0
  199. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0022-agent-output-validation.md +0 -0
  200. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0023-codex-exec-adapter-hardening.md +0 -0
  201. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0024-claude-manual-adapter-hardening.md +0 -0
  202. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0025-generic-shell-adapter.md +0 -0
  203. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0026-agent-job-evidence-ingestion.md +0 -0
  204. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0027-dashboard-data-contract.md +0 -0
  205. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0028-dashboard-evidence-navigation.md +0 -0
  206. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0029-dashboard-risk-and-blockers.md +0 -0
  207. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0030-distribution-readiness.md +0 -0
  208. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0031-workflow-proposal-mode.md +0 -0
  209. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0032-workflow-proposal-review.md +0 -0
  210. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0033-workflow-verifier.md +0 -0
  211. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0034-limited-execution-sandbox.md +0 -0
  212. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0035-automatic-workflow-executor.md +0 -0
  213. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0036-executor-dogfood-workflow.md +0 -0
  214. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0037-executor-retry-resume.md +0 -0
  215. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0038-story-test-lifecycle.md +0 -0
  216. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0039-workflow-yaml-rule-expressions.md +0 -0
  217. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0040-test-case-evidence-validation.md +0 -0
  218. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0041-feature-inspection-commands.md +0 -0
  219. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0042-report-coverage-context.md +0 -0
  220. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0043-feature-report.md +0 -0
  221. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0044-complete-csv-export.md +0 -0
  222. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0045-filtered-job-inspection.md +0 -0
  223. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0046-feature-status-lifecycle.md +0 -0
  224. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0047-feature-coverage-next-action.md +0 -0
  225. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0048-migration-status-command.md +0 -0
  226. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0049-render-json-artifact-paths.md +0 -0
  227. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0050-codex-plugin-package-inventory.md +0 -0
  228. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0051-mcp-render-artifact-paths.md +0 -0
  229. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0052-lifecycle-failure-job-cleanup.md +0 -0
  230. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0053-prompt-job-json-handoff.md +0 -0
  231. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0054-human-queue-linkage-cli.md +0 -0
  232. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0055-workflow-proposal-list-filter.md +0 -0
  233. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0056-sandbox-noop-execution-guard.md +0 -0
  234. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0057-executor-no-executable-step-guard.md +0 -0
  235. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0058-dogfood-usability-hardening.md +0 -0
  236. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0059-checkpoint-review-guidance.md +0 -0
  237. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0060-pypi-trusted-publishing.md +0 -0
  238. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0061-context-pack-v1.md +0 -0
  239. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0062-task-backlog-entity.md +0 -0
  240. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0063-structured-verification-rubric.md +0 -0
  241. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0064-task-loop-integration.md +0 -0
  242. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0065-dashboard-human-decisions.md +0 -0
  243. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0066-agent-registry-lease.md +0 -0
  244. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0067-context-pack-improvements.md +0 -0
  245. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0068-trust-hardening.md +0 -0
  246. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0069-explainable-code-context-v0.md +0 -0
  247. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0070-human-decision-cockpit.md +0 -0
  248. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0071-dogfood-impact-precision.md +0 -0
  249. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0072-sensitive-omission.md +0 -0
  250. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0073-code-context-module-split.md +0 -0
  251. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0074-search-snapshot-consistency.md +0 -0
  252. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0075-diff-source-modes.md +0 -0
  253. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0076-schema-version-integrity.md +0 -0
  254. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0077-index-output-budget-and-impact-noise.md +0 -0
  255. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0078-context-pack-code-context-bridge.md +0 -0
  256. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0079-receipt-human-summary.md +0 -0
  257. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0080-retrieval-eval-gate.md +0 -0
  258. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0081-diff-modes-completion.md +0 -0
  259. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0082-receipt-relevance-and-age.md +0 -0
  260. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0083-required-section-invariant.md +0 -0
  261. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0084-source-commands-honesty.md +0 -0
  262. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0085-distribution-source-completeness.md +0 -0
  263. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0086-command-surface-alignment.md +0 -0
  264. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0087-verification-suggestion-ids.md +0 -0
  265. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0088-verification-feedback.md +0 -0
  266. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0089-dogfood-fixture-propose.md +0 -0
  267. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0090-eval-baseline-record-compare.md +0 -0
  268. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0091-refresh-command-scope-fidelity.md +0 -0
  269. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0092-idempotent-status-transitions.md +0 -0
  270. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0093-evidence-add-command.md +0 -0
  271. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0094-job-completion-evidence.md +0 -0
  272. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0095-supporting-evidence-health.md +0 -0
  273. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0096-evidence-add-path-guards.md +0 -0
  274. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0097-evidence-durability-design.md +0 -0
  275. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0098-field-feedback-next-weight-and-run-report-scope.md +0 -0
  276. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0099-evidence-copy-mode.md +0 -0
  277. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0100-evidence-task-linking.md +0 -0
  278. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0101-evidence-id-allocation-race.md +0 -0
  279. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0102-source-drift-health-warning.md +0 -0
  280. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0103-security-policy-v02x.md +0 -0
  281. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0104-python-ci-matrix.md +0 -0
  282. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0105-evidence-copy-observability.md +0 -0
  283. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0106-release-checklist.md +0 -0
  284. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0107-agent-tasks-backlog-index.md +0 -0
  285. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0108-target-bound-code-context-receipts.md +0 -0
  286. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0113-evidence-links-table.md +0 -0
  287. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0114-source-hash-drift.md +0 -0
  288. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0115-context-pack-contract-fixtures.md +0 -0
  289. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0116-receipt-link-agreement-validation.md +0 -0
  290. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0117-markdown-target-refresh-command.md +0 -0
  291. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0118-canonical-target-bound-handoff-docs.md +0 -0
  292. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0119-context-check-preflight.md +0 -0
  293. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0120-pcl-finish-terminal-closeout.md +0 -0
  294. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0121-human-gate-japanese-guidance.md +0 -0
  295. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/agent-tasks/0122-feature-coverage-noop.md +0 -0
  296. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/adr/0001-hybrid-state.md +0 -0
  297. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/adr/0002-cli-is-the-runtime.md +0 -0
  298. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/adr/0003-static-workflows-before-dynamic-workflows.md +0 -0
  299. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/agent-adapter-contract.md +0 -0
  300. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/agent-output-template.md +0 -0
  301. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/agent-roles.md +0 -0
  302. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/code-context.md +0 -0
  303. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/context-check.md +0 -0
  304. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/context-pack.md +0 -0
  305. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/dashboard-data-contract.md +0 -0
  306. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/dashboard-design.md +0 -0
  307. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/evidence-durability-design.md +0 -0
  308. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/evidence-entry-paths-design.md +0 -0
  309. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/feedback/2026-07-06-ax1-moc1-agent-feedback.md +0 -0
  310. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/finish.md +0 -0
  311. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/plh_v0_1_11_review_agenda.md +0 -0
  312. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/plh_v0_1_12_review_agenda.md +0 -0
  313. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/pypi-publishing.md +0 -0
  314. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/release-notes/v0.2.4.md +0 -0
  315. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/release-notes/v0.3.0.md +0 -0
  316. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/v0.2.0-plan.md +0 -0
  317. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/verification-feedback-design.md +0 -0
  318. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/verification-feedback.md +0 -0
  319. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/docs/verification-rubric.md +0 -0
  320. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/scripts/run_advisory_retrieval_eval.py +0 -0
  321. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/scripts/verify_sdist_contracts.py +0 -0
  322. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/setup.cfg +0 -0
  323. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/__main__.py +0 -0
  324. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/__init__.py +0 -0
  325. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/diff.py +0 -0
  326. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/impact.py +0 -0
  327. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/scan.py +0 -0
  328. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/search.py +0 -0
  329. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/summary.py +0 -0
  330. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/symbols.py +0 -0
  331. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_context/test_hints.py +0 -0
  332. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/code_index.py +0 -0
  333. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/context_binding.py +0 -0
  334. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/db/migrations/001_initial.sql +0 -0
  335. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/db/migrations/002_tasks.sql +0 -0
  336. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/db/migrations/003_agent_registry.sql +0 -0
  337. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/db/migrations/004_code_index.sql +0 -0
  338. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/db/migrations/005_verification_feedback.sql +0 -0
  339. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/db/migrations/006_evidence_task_link.sql +0 -0
  340. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/db/migrations/007_evidence_links.sql +0 -0
  341. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/exporters.py +0 -0
  342. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/guards.py +0 -0
  343. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/ids.py +0 -0
  344. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/links.py +0 -0
  345. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/locales.py +0 -0
  346. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/paths.py +0 -0
  347. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/receipt_show.py +0 -0
  348. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/renderer.py +0 -0
  349. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/reports.py +0 -0
  350. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/resources.py +0 -0
  351. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/rubric.py +0 -0
  352. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/templates/dashboard/dashboard.html +0 -0
  353. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/templates/project/AGENTS.block.md +0 -0
  354. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/templates/project/CLAUDE.block.md +0 -0
  355. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/templates/project/gitignore.fragment +0 -0
  356. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/templates/project/pcl.yaml +0 -0
  357. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/templates/workflows/defect_repair.yaml +0 -0
  358. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/templates/workflows/executor_smoke.yaml +0 -0
  359. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/templates/workflows/feature_coverage.yaml +0 -0
  360. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/templates/workflows/regression_loop.yaml +0 -0
  361. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/timeutil.py +0 -0
  362. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/token_estimation.py +0 -0
  363. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/update_check.py +0 -0
  364. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/verifications.py +0 -0
  365. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/workflow_proposal_validation.py +0 -0
  366. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/workflow_verifier.py +0 -0
  367. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/pcl/workflow_yaml.py +0 -0
  368. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/project_loop_harness.egg-info/dependency_links.txt +0 -0
  369. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/project_loop_harness.egg-info/entry_points.txt +0 -0
  370. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/src/project_loop_harness.egg-info/top_level.txt +0 -0
  371. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/fixtures/code_context_summary_v0.json +0 -0
  372. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/fixtures/context_pack_code_context_contract_v0.json +0 -0
  373. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/fixtures/context_receipt_v0.json +0 -0
  374. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/fixtures/context_receipt_v0_legacy_string_suggestions.json +0 -0
  375. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/fixtures/retrieval_adversarial_v0.json +0 -0
  376. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/fixtures/retrieval_real_history_v0.json +0 -0
  377. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/fixtures/retrieval_v0.json +0 -0
  378. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_advisory_retrieval_eval_script.py +0 -0
  379. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_agent_adapter_contract.py +0 -0
  380. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_agents.py +0 -0
  381. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_audit_log_integrity.py +0 -0
  382. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_checkpoints.py +0 -0
  383. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_claude_manual_adapter.py +0 -0
  384. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_code_context_summary.py +0 -0
  385. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_code_index.py +0 -0
  386. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_codex_exec_adapter.py +0 -0
  387. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_codex_plugin.py +0 -0
  388. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_dashboard.py +0 -0
  389. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_dashboard_data_contract.py +0 -0
  390. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_defects.py +0 -0
  391. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_dispatch.py +0 -0
  392. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_examples.py +0 -0
  393. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_features.py +0 -0
  394. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_finish.py +0 -0
  395. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_generic_shell_adapter.py +0 -0
  396. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_golden_path.py +0 -0
  397. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_lifecycle.py +0 -0
  398. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_next_actions.py +0 -0
  399. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_pypi_publishing.py +0 -0
  400. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_receipt_show.py +0 -0
  401. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_recovery_playbook.py +0 -0
  402. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_registry.py +0 -0
  403. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_reports.py +0 -0
  404. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_rubric.py +0 -0
  405. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_stories.py +0 -0
  406. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_tasks.py +0 -0
  407. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_update_check.py +0 -0
  408. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_validation_diagnostics.py +0 -0
  409. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_verification_feedback.py +0 -0
  410. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_workflow_proposals.py +0 -0
  411. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_workflow_verifier.py +0 -0
  412. {project_loop_harness-0.3.1 → project_loop_harness-0.3.3}/tests/test_workflows.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: project-loop-harness
3
- Version: 0.3.1
3
+ Version: 0.3.3
4
4
  Summary: Local control plane for agentic project development loops
5
5
  Author: Project Loop Harness Contributors
6
6
  License: MIT
@@ -28,6 +28,8 @@ Requires-Dist: pytest>=8; extra == "dev"
28
28
  Requires-Dist: ruff>=0.6; extra == "dev"
29
29
  Requires-Dist: setuptools>=69; extra == "dev"
30
30
  Requires-Dist: wheel; extra == "dev"
31
+ Provides-Extra: mcp-test
32
+ Requires-Dist: mcp==1.28.1; extra == "mcp-test"
31
33
  Dynamic: license-file
32
34
 
33
35
  # Project Loop Harness
@@ -95,7 +97,7 @@ The important separation is:
95
97
  Skill = instructions for agents
96
98
  pcl CLI = runtime that mutates state, validates, renders, and routes work
97
99
  project.db = current normalized loop memory
98
- events.jsonl = append-only audit log
100
+ events.jsonl = derived append-only projection of authoritative SQLite events
99
101
  dashboard.html = generated human-readable view, not agent context
100
102
  Plugin = Codex distribution wrapper
101
103
  MCP = optional read/local-render bridge
@@ -204,7 +206,7 @@ path is:
204
206
 
205
207
  ```bash
206
208
  pcl workflow verify --root /tmp/pcl-demo --template executor_smoke
207
- pcl workflow sandbox --root /tmp/pcl-demo --template executor_smoke --json
209
+ pcl workflow guard --root /tmp/pcl-demo --template executor_smoke --json
208
210
  pcl loop execute --root /tmp/pcl-demo executor_smoke --json
209
211
  ```
210
212
 
@@ -480,7 +482,7 @@ The current local runtime supports:
480
482
  - complete CSV export for reviewable loop state;
481
483
  - optional local stdio MCP server;
482
484
  - Codex plugin packaging scaffold with package inventory and reusable GitHub Action for local validation;
483
- - workflow proposal mode, guarded human approval, static verifier checks, limited sandbox planning/execution, guarded automatic workflow execution with explicit retry/resume, and a bundled `executor_smoke` workflow for dogfooding the executor.
485
+ - workflow proposal mode, guarded human approval, static verifier checks, guarded host-process planning/execution, guarded automatic workflow execution with explicit retry/resume, and a bundled `executor_smoke` workflow for dogfooding the executor.
484
486
 
485
487
  ## Implementation Task Order
486
488
 
@@ -63,7 +63,7 @@ The important separation is:
63
63
  Skill = instructions for agents
64
64
  pcl CLI = runtime that mutates state, validates, renders, and routes work
65
65
  project.db = current normalized loop memory
66
- events.jsonl = append-only audit log
66
+ events.jsonl = derived append-only projection of authoritative SQLite events
67
67
  dashboard.html = generated human-readable view, not agent context
68
68
  Plugin = Codex distribution wrapper
69
69
  MCP = optional read/local-render bridge
@@ -172,7 +172,7 @@ path is:
172
172
 
173
173
  ```bash
174
174
  pcl workflow verify --root /tmp/pcl-demo --template executor_smoke
175
- pcl workflow sandbox --root /tmp/pcl-demo --template executor_smoke --json
175
+ pcl workflow guard --root /tmp/pcl-demo --template executor_smoke --json
176
176
  pcl loop execute --root /tmp/pcl-demo executor_smoke --json
177
177
  ```
178
178
 
@@ -448,7 +448,7 @@ The current local runtime supports:
448
448
  - complete CSV export for reviewable loop state;
449
449
  - optional local stdio MCP server;
450
450
  - Codex plugin packaging scaffold with package inventory and reusable GitHub Action for local validation;
451
- - workflow proposal mode, guarded human approval, static verifier checks, limited sandbox planning/execution, guarded automatic workflow execution with explicit retry/resume, and a bundled `executor_smoke` workflow for dogfooding the executor.
451
+ - workflow proposal mode, guarded human approval, static verifier checks, guarded host-process planning/execution, guarded automatic workflow execution with explicit retry/resume, and a bundled `executor_smoke` workflow for dogfooding the executor.
452
452
 
453
453
  ## Implementation Task Order
454
454
 
@@ -0,0 +1,94 @@
1
+ # 0123: Master Trace / Intent Index v0 contract formalization
2
+
3
+ Milestone: v0.3.2 Master Trace / Intent Index
4
+ Priority: P1
5
+ Area: docs/contracts/handoff
6
+ Origin: M0 master-trace dogfood, `docs/growth-plan-v0.2.4-v0.5.md`, and
7
+ 2026-07-09 AI-PLC upstream-design intake discussion. Sakamoto approved moving
8
+ ahead after migrating the local control-plane DB to schema 7.
9
+
10
+ ## Problem
11
+
12
+ Project Loop Harness already has a working M0 pull-context handoff runbook:
13
+ the master transcript is copied as evidence, an external agent creates an
14
+ intent index over that transcript, and the worker starts from `pcl next` plus a
15
+ task context pack. That flow proved useful, but the contract is still
16
+ runbook-shaped rather than product-shaped.
17
+
18
+ The AI-PLC proposal adds a larger upstream layer: collection, intent, option
19
+ generation, replan, maker/checker separation, and knowledge propagation. PLH
20
+ should not import that as slash commands or Markdown state. The first safe
21
+ translation is narrower: formalize master traces and intent indexes as
22
+ evidence-backed, claims-not-facts handoff contracts that can later support
23
+ first-class `pcl intent` / `pcl option` work if dogfood proves the shape.
24
+
25
+ ## Scope
26
+
27
+ Docs/contract first. No schema migration and no new state-changing CLI command
28
+ in this slice.
29
+
30
+ 1. Add a contract document, preferably `docs/master-trace-intent-index.md`,
31
+ covering:
32
+ - `master-trace/v0`: a transcript or trace artifact recorded as copied
33
+ evidence, with stable line references after indexing.
34
+ - `intent-index/v0`: a model-derived JSON index whose items are pointers into
35
+ the master trace, not verified facts.
36
+ - `master-trace-context/v0`: the future context-pack section shape, listing
37
+ evidence ids, manifest/member paths, copied stored paths, and source-ref
38
+ discipline without inlining raw transcript contents.
39
+ 2. Update `docs/master-trace-handoff.md` so M0 is clearly a historical dogfood
40
+ runbook and points to the new contract for future runs.
41
+ 3. Document the recommended current command sequence using existing surfaces:
42
+ `pcl evidence add --copy`, `pcl evidence add --task T-XXXX --copy`,
43
+ `pcl context check`, and `pcl context pack --task ...`.
44
+ 4. Define the precise trust model:
45
+ - the intent index is model output and must be treated as claims, not facts;
46
+ - a worker must verify every actionable item against copied trace lines before
47
+ acting;
48
+ - PLH records evidence and links, but does not claim the index is correct,
49
+ complete, safe, or semantically sufficient.
50
+ 5. Add an explicit "future promotion gates" section:
51
+ - optional `master_trace_context` in `context-pack/v1` is a follow-up only
52
+ after this contract is accepted;
53
+ - first-class `pcl intent` / `pcl collect` requires separate design and human
54
+ approval because it adds product semantics and likely schema;
55
+ - `pcl option`, `pcl replan`, and knowledge ledger are later phases, not part
56
+ of v0.3.2.
57
+
58
+ ## Invariants
59
+
60
+ - No LLM call in `pcl` core. External agents may produce an intent index; PLH
61
+ stores and routes the artifact as evidence.
62
+ - No new source of truth. SQLite + JSONL events remain authoritative; Markdown
63
+ docs and future wiki exports are review surfaces.
64
+ - No raw transcript inline in context packs or dashboard data. Use evidence ids,
65
+ manifest paths, member paths, and copied `stored_path` references.
66
+ - No cognition or go/no-go vocabulary: avoid `safe_to_continue`,
67
+ `verified_relevant`, `agent_read`, `ready_for_handoff`, or similar claims.
68
+ - Existing `linked_evidence` task-pack behavior remains unchanged in this slice.
69
+ - Do not add `pcl intent`, `pcl collect`, `pcl option`, `pcl replan`, or
70
+ `pcl knowledge` commands in this task.
71
+
72
+ ## Non-scope
73
+
74
+ - Schema changes or migrations.
75
+ - `pcl evidence link` / arbitrary link-role CLI.
76
+ - Context-pack implementation of `master_trace_context`.
77
+ - Dynamic workflow generation.
78
+ - Hosted backend, telemetry, cloud sync, or plugin marketplace work.
79
+ - Automatic GitHub writes or any external-service dependency.
80
+
81
+ ## Acceptance
82
+
83
+ - The new contract doc defines valid `master-trace/v0`, `intent-index/v0`, and
84
+ future `master-trace-context/v0` payload examples.
85
+ - `docs/master-trace-handoff.md` points future readers to the contract while
86
+ preserving the M0 evidence/runbook history.
87
+ - The current command sequence is executable with existing commands and does not
88
+ require direct DB edits or generated dashboard parsing.
89
+ - The docs state that intent-index items are navigation pointers, not verified
90
+ facts, and that workers must verify source refs against copied trace lines.
91
+ - The docs explicitly defer first-class `pcl intent` / `pcl option` / `pcl
92
+ replan` / knowledge ledger work to later roadmap phases.
93
+ - `ruff check .` and full `pytest` remain green unless the orchestrator marks
94
+ the task docs-only and records why test execution was intentionally skipped.
@@ -0,0 +1,90 @@
1
+ # 0124: Freeze the v0.3.1 implementation baseline (fixtures + baseline doc)
2
+
3
+ - **Status:** Accepted
4
+ - **Milestone:** M0 / v0.3.1 baseline (integrated roadmap Wave A)
5
+ - **Priority:** P0
6
+ - **Estimated size:** S
7
+ - **Dependencies:** None
8
+ - **Origin:** `docs/roadmap/integrated/agent-tasks-proposed/0123-release-v0-3-1-baseline.md`,
9
+ reduced in scope because v0.3.1 was already released before the bundle was
10
+ adopted (commits `eb69824` → `73f2290`, pyproject `0.3.1`, tag `v0.3.1`).
11
+ Only the baseline-freezing portion of that proposal remains.
12
+
13
+ ## Problem
14
+
15
+ v0.3.1 は既に出荷済みだが、統合ロードマップ Wave A(MCP 仕様準拠化、
16
+ transactional outbox)は挙動を意図的に変更する。比較基準となる snapshot
17
+ fixture と baseline document がないと、後続タスクで意図した差分と回帰を
18
+ 区別できない。
19
+
20
+ ## Goal
21
+
22
+ 現在の挙動を「正しい」と無条件に認定するのではなく、再現可能な baseline
23
+ として固定し、後続タスクが差分と互換性を測れる状態にする。リリース作業は
24
+ 行わない(済んでいる)。
25
+
26
+ ## Scope
27
+
28
+ 1. `pcl --help` と主要 subcommand help、主要 `--json` 出力の snapshot fixture
29
+ を保存する。最低限の対象: `pcl --version`, `pcl --help`,
30
+ `pcl validate --strict --json`, `pcl render --json`, `pcl next --json`,
31
+ `pcl context check --json`(空 project と代表 fixture project の両方)。
32
+ 2. snapshot は timestamp、absolute path、UUID、hash 等の不安定値を normalizer
33
+ で除外し、2 回連続生成して diff ゼロであることをテストで保証する。
34
+ 3. 代表的な fixture DB(v0.3.0 相当 schema)から現行 schema へ migrate する
35
+ smoke test を追加する。fixture DB に個人情報や実 project content を
36
+ 入れない。
37
+ 4. `docs/releases/v0.3.1-baseline.md` を作成し、baseline commit SHA、schema
38
+ version、migration list、supported Python versions、known limitations、
39
+ 実行した test commands を記録する。
40
+ 5. 後続 schema contract test が参照する fixture directory を 1 つに決めて
41
+ fixture 配置の README に明記する。
42
+
43
+ ## Invariants
44
+
45
+ - 既存 runtime behavior をこのタスクで変更しない(fixture とテストの追加のみ)。
46
+ - 既存テストを削除・弱体化しない。
47
+ - fixture に機密・個人情報・実 project 内容を含めない。
48
+ - 生成された snapshot を手で編集しない(不安定値は normalizer で対処する)。
49
+ - `.project-loop/` 配下(canonical repo の dogfood 状態)を変更しない。
50
+
51
+ ## Non-goals
52
+
53
+ - リリース作業、version bump、PyPI 公開(v0.3.1 は出荷済み)。
54
+ - MCP framing 修正(0125)。
55
+ - event outbox 実装(0128)。
56
+ - README 再構成。
57
+
58
+ ## Acceptance criteria
59
+
60
+ - Snapshot fixture 生成を 2 回実行して diff が空であることをテストが保証する。
61
+ - 代表 fixture DB からの migration smoke がローカルで成功する。
62
+ - `docs/releases/v0.3.1-baseline.md` に commit SHA、schema version、known
63
+ limitations、実行した test command と exit code が記録されている。
64
+ - `ruff check .` と full `pytest` が green。
65
+ - `pcl init /tmp/pcl-demo` smoke が成功する。
66
+
67
+ ## Evidence required to close
68
+
69
+ - test command と exit code。
70
+ - baseline commit SHA。
71
+ - snapshot fixture の 2 回生成 diff が空である証拠。
72
+
73
+ ## Agent execution protocol
74
+
75
+ 実装担当エージェントは開始前に次を返す。
76
+
77
+ 1. 対象 commit SHA。
78
+ 2. 変更予定 path。
79
+ 3. 既存 contract を characterize する test または確認結果。
80
+ 4. scope 外に見える問題と、今回は触れない理由。
81
+
82
+ 完了時は次を返す。
83
+
84
+ 1. 変更概要と設計判断。
85
+ 2. 実行した全 test command、exit code、失敗・skip。
86
+ 3. schema/migration/CLI 互換性への影響。
87
+ 4. 未確認事項、残存 risk、rollback 方法。
88
+ 5. Acceptance criteria を一項目ずつ満たした根拠。
89
+
90
+ 「実装した」「テストは通るはず」だけでは close しない。
@@ -0,0 +1,109 @@
1
+ # 0125: Make MCP stdio transport and protocol negotiation specification-compliant
2
+
3
+ - **Status:** Proposed
4
+ - **Milestone:** M1 / Trust Foundation
5
+ - **Priority:** P0
6
+ - **Estimated size:** M
7
+ - **Dependencies:** `0124`
8
+ - **Owner:** TBD
9
+ - **Reviewer:** At least one maintainer not implementing the task
10
+
11
+ ## Problem
12
+
13
+ 現行serverはMCP 2025-06-18を宣言しながらstdioで`Content-Length` framingを使い、initializeで要求されたprotocol versionを対応可否に関係なく返す。自己実装clientとのtestだけでは外部相互運用性を保証できない。
14
+
15
+ ## Goal
16
+
17
+ MCP stdioを宣言versionの仕様へ合わせ、unsupported versionを正しくnegotiateし、stdoutを純粋なprotocol channelにする。
18
+
19
+ ## Scope
20
+
21
+ - stdio reader/writerを1 JSON-RPC message per lineへ変更する。
22
+ - message内改行、size limit、invalid JSON、empty line、EOFを明示処理する。
23
+ - supported protocol versionsを定数またはordered setで管理する。
24
+ - client requested versionがunsupportedならserver supported versionを返す。
25
+ - notification、request、responseのID semanticsを既存behaviorと照合する。
26
+ - protocol以外のlog/diagnosticをstderrへ送る。
27
+ - 既存Content-Length fixture/clientを更新または明示的にlegacy扱いする。
28
+
29
+ ## Proposed implementation
30
+
31
+ - transport parserとMCP method dispatchを分離し、framing testをprocess boundaryで行えるようにする。
32
+ - newline-delimited outputはcompact JSONを使い、payload自身にliteral newlineを出さない。
33
+ - line length上限を設定し、超過時はprotocol errorまたはsafe terminationにする。
34
+ - initialize前に許可されるmethod、initialize後のstate transitionをcharacterizeする。
35
+ - legacy modeを残す場合はhidden/experimental opt-inとし、defaultにしない。
36
+
37
+ ## Likely affected surfaces
38
+
39
+ - `src/pcl/mcp_server.py`
40
+ - MCP process/transport tests
41
+ - MCP documentation and help
42
+ - any internal MCP client fixture
43
+
44
+ ## Invariants
45
+
46
+ - runtime dependencyを不要に増やさない。
47
+ - stdoutにbanner、logging、tracebackを混ぜない。
48
+ - unsupported versionをechoしない。
49
+ - MCP修正でPLH core state semanticsを変えない。
50
+
51
+ ## Non-goals
52
+
53
+ - 新しいMCP toolの追加。
54
+ - remote HTTP transport。
55
+ - agent runtime固有adapter。
56
+ - outbox/recovery変更。
57
+
58
+ ## Acceptance criteria
59
+
60
+ - Given newline-delimited initialize request, when server reads stdin, then 1行のJSON-RPC responseをstdoutへ返す。
61
+ - Given unsupported requested version, when initialize runs, then serverがsupportするversionを返し、requested versionを無条件にechoしない。
62
+ - Given malformed/oversized line, when processed, then protocol channelを壊さずdocumented errorまたはterminationになる。
63
+ - Given normal session, when stderr logging is enabled, then stdoutの各non-empty lineがvalid JSON-RPC messageである。
64
+
65
+ ## Required tests
66
+
67
+ - Transport unit tests for LF/CRLF, EOF, malformed JSON, oversized line.
68
+ - Process-level initialize → tools/list → tools/call test.
69
+ - Version negotiation matrix.
70
+ - stdout purity test.
71
+ - Regression test for notifications without response ID.
72
+
73
+ ## Evidence required to close
74
+
75
+ - official spec sections used。
76
+ - before/after wire transcript。
77
+ - process-level test output。
78
+ - compatibility behavior documented。
79
+
80
+ ## Rollout and rollback
81
+
82
+ - MCPをexperimental表示している場合は修正後も実client test完了まで維持。
83
+ - breaking legacy framingはrelease noteで明示。
84
+ - rollbackはlegacy flagではなくprevious package versionで可能にする。
85
+
86
+ ## Open questions
87
+
88
+ - 複数protocol versionを同時supportするか、current oneのみか。
89
+ - legacy Content-Length modeを一releaseだけ残す価値があるか。
90
+
91
+ ## Agent execution protocol
92
+
93
+ 実装担当エージェントは開始前に次を返す。
94
+
95
+ 1. 対象commit SHAと、依存taskがmerge済みである証拠。
96
+ 2. 変更予定path。
97
+ 3. 既存contractをcharacterizeするtestまたは確認結果。
98
+ 4. scope外に見える問題と、今回は触れない理由。
99
+
100
+ 完了時は次を返す。
101
+
102
+ 1. 変更概要と設計判断。
103
+ 2. 実行した全test command、exit code、失敗・skip。
104
+ 3. schema/migration/CLI互換性への影響。
105
+ 4. 生成したEvidenceまたはpacket refs。
106
+ 5. 未確認事項、残存risk、rollback方法。
107
+ 6. Acceptance criteriaを一項目ずつ満たした根拠。
108
+
109
+ 「実装した」「テストは通るはず」「レビュー済み」という主張だけではcloseしない。
@@ -0,0 +1,105 @@
1
+ # 0126: Add MCP external conformance fixtures and compatibility matrix
2
+
3
+ - **Status:** Proposed
4
+ - **Milestone:** M1 / Trust Foundation
5
+ - **Priority:** P0
6
+ - **Estimated size:** M
7
+ - **Dependencies:** `0125`
8
+ - **Owner:** TBD
9
+ - **Reviewer:** At least one maintainer not implementing the task
10
+
11
+ ## Problem
12
+
13
+ 内部unit testだけでは外部clientとの接続、process lifecycle、stdout discipline、tool schema互換性の問題を見逃す。相互運用性を製品価値にするには、実clientまたは標準準拠fixtureで継続確認が必要。
14
+
15
+ ## Goal
16
+
17
+ MCPのsupported surfaceをprocess-levelに検証し、どのclient/versionを確認済みかを公開できるcompatibility matrixを作る。
18
+
19
+ ## Scope
20
+
21
+ - 独立したJSON-RPC/MCP conformance client fixtureをtest用に用意する。
22
+ - initialize、initialized notification、tools/list、代表的read-only tools/call、shutdown/EOFを検査する。
23
+ - 少なくとも1つの公式SDKまたは外部標準準拠clientをdev/test-onlyで利用する検討を行う。
24
+ - Claude Code、Codex等の対象client向けmanual smoke手順を文書化する。
25
+ - client name、version、OS、result、known limitationをcompatibility matrixへ記録する。
26
+ - protocol schema errorとPLH domain errorを区別する。
27
+
28
+ ## Proposed implementation
29
+
30
+ - runtime dependencyではなくtest extraまたはsubprocess fixtureを優先する。
31
+ - external client versionをpinし、更新はDependabot等の通常review対象にする。
32
+ - CIでcredentialやGUIを必要とするclient smokeは必須にせず、再現可能なmanual evidence pathを持つ。
33
+ - wire transcriptからproject path、secret、user contentをredactする。
34
+
35
+ ## Likely affected surfaces
36
+
37
+ - `tests/mcp/`
38
+ - CI workflow
39
+ - `docs/mcp-compatibility.md`
40
+ - test extras / lock metadata
41
+
42
+ ## Invariants
43
+
44
+ - 内部clientだけを「external conformance」と呼ばない。
45
+ - 未確認clientをsupportedと記載しない。
46
+ - test用SDKをruntime dependencyへ漏らさない。
47
+
48
+ ## Non-goals
49
+
50
+ - すべてのMCP clientのsupport。
51
+ - HTTP/SSE transport。
52
+ - MCP tool inventory拡張。
53
+
54
+ ## Acceptance criteria
55
+
56
+ - Conformance fixtureがserver subprocessを起動し、initializeからtools/callまで成功する。
57
+ - Invalid params、unknown method、pre-initialize callのexpected errorがfixtureで固定される。
58
+ - Compatibility matrixにtested date、client version、platform、resultがある。
59
+ - CIがprotocol regressionを検出し、external/manual smoke手順が第三者に再現可能。
60
+
61
+ ## Required tests
62
+
63
+ - Independent process client test.
64
+ - Official SDK/client test where feasible.
65
+ - Protocol negative matrix.
66
+ - Windows path/stdin handling smoke.
67
+ - No stdout contamination under debug logging.
68
+
69
+ ## Evidence required to close
70
+
71
+ - wire transcript fixture。
72
+ - CI run link/id。
73
+ - manual client smoke record。
74
+ - compatibility matrix diff。
75
+
76
+ ## Rollout and rollback
77
+
78
+ - 初期matrixは少数clientでよい。
79
+ - 新clientをsupportedにする前に同じfixtureを追加。
80
+ - failureはknown limitationとして公開し、隠さない。
81
+
82
+ ## Open questions
83
+
84
+ - CIへofficial SDKを入れるlicense/maintenance cost。
85
+ - 対象clientの最低version。
86
+
87
+ ## Agent execution protocol
88
+
89
+ 実装担当エージェントは開始前に次を返す。
90
+
91
+ 1. 対象commit SHAと、依存taskがmerge済みである証拠。
92
+ 2. 変更予定path。
93
+ 3. 既存contractをcharacterizeするtestまたは確認結果。
94
+ 4. scope外に見える問題と、今回は触れない理由。
95
+
96
+ 完了時は次を返す。
97
+
98
+ 1. 変更概要と設計判断。
99
+ 2. 実行した全test command、exit code、失敗・skip。
100
+ 3. schema/migration/CLI互換性への影響。
101
+ 4. 生成したEvidenceまたはpacket refs。
102
+ 5. 未確認事項、残存risk、rollback方法。
103
+ 6. Acceptance criteriaを一項目ずつ満たした根拠。
104
+
105
+ 「実装した」「テストは通るはず」「レビュー済み」という主張だけではcloseしない。
@@ -0,0 +1,105 @@
1
+ # 0127: Finalize transactional audit outbox ADR and failure model
2
+
3
+ - **Status:** Proposed
4
+ - **Milestone:** M1 / Trust Foundation
5
+ - **Priority:** P0
6
+ - **Estimated size:** M
7
+ - **Dependencies:** `0124`
8
+ - **Owner:** TBD
9
+ - **Reviewer:** At least one maintainer not implementing the task
10
+
11
+ ## Problem
12
+
13
+ SQLite state、event row、JSONL、Evidence fileが複数stepで更新されるため、どの時点をcommitとみなすかが曖昧。実装前にsource of truth、failure semantics、legacy migration、repair保証を決める必要がある。
14
+
15
+ ## Goal
16
+
17
+ ADR-002を実装可能な詳細へ完成させ、0128〜0129のacceptanceを固定する。
18
+
19
+ ## Scope
20
+
21
+ - 現行mutation pathを列挙し、state/event/JSONL/Evidenceのwrite orderを図示する。
22
+ - failure pointをcommit前、commit後、projector前後、file rename前後に分類する。
23
+ - SQLiteとJSONLの権威、rebuild direction、retentionを決める。
24
+ - outbox schema、event sequence、idempotency key、retry/backoff、poison record処理を決める。
25
+ - legacy events.jsonlと既存events tableを対応付ける移行案を決める。
26
+ - hash chainをproduct guaranteeに含めるか決める。
27
+ - concurrency、migration lock、busy timeoutの契約を明文化する。
28
+
29
+ ## Proposed implementation
30
+
31
+ - 実コードの全`append_event` callerとcommit ownershipを調査する。
32
+ - 「DB commit済みだがJSONL pending」はvalid recoverable stateとして定義する。
33
+ - 「JSONLにあるがDBにない」legacy anomalyの扱いを明示する。
34
+ - Evidence content-addressed stagingはoutboxと同じtransactionでは完全原子化できないため、PENDING/READY reconciliationを設計する。
35
+ - operational commandsとexit codeを先に設計する。
36
+
37
+ ## Likely affected surfaces
38
+
39
+ - `docs/adr/ADR-002-transactional-audit-outbox.md`
40
+ - `src/pcl/events.py` caller inventory
41
+ - `src/pcl/evidence.py` write path
42
+ - migration/recovery docs
43
+
44
+ ## Invariants
45
+
46
+ - 設計taskでproduction behaviorを変えない。
47
+ - 「append-only」と「tamper-evident」を混同しない。
48
+ - repair不能なcaseを自動修復できると書かない。
49
+
50
+ ## Non-goals
51
+
52
+ - outbox code実装。
53
+ - CLI repair実装。
54
+ - cloud replication。
55
+
56
+ ## Acceptance criteria
57
+
58
+ - ADRにsource of truth、transaction boundary、state machine、failure matrix、legacy plan、rollbackがある。
59
+ - 全mutation pathがinventory化され、未調査callerがない。
60
+ - 0127と0128のschema/CLI acceptanceがADRから導ける。
61
+ - Maintainerと少なくとも1名のreviewerがAcceptedまたは明示的な修正要求を記録する。
62
+
63
+ ## Required tests
64
+
65
+ - No runtime tests required; validate design with executable pseudo-tests or sequence diagrams.
66
+ - Prototype SQL transaction/outbox query if needed.
67
+ - Review existing fixture DB and JSONL anomaly examples.
68
+
69
+ ## Evidence required to close
70
+
71
+ - caller inventory。
72
+ - failure matrix。
73
+ - ADR decision log。
74
+ - prototype output。
75
+
76
+ ## Rollout and rollback
77
+
78
+ - Accepted ADRをmerge gateにする。
79
+ - 未決のhash chain等はexplicit deferred decisionにする。
80
+
81
+ ## Open questions
82
+
83
+ - JSONLからDB完全rebuildをv1で保証するか。
84
+ - event hash chainを今入れるか。
85
+ - projectorを同期flushとbackground retryのどちらで起動するか。
86
+
87
+ ## Agent execution protocol
88
+
89
+ 実装担当エージェントは開始前に次を返す。
90
+
91
+ 1. 対象commit SHAと、依存taskがmerge済みである証拠。
92
+ 2. 変更予定path。
93
+ 3. 既存contractをcharacterizeするtestまたは確認結果。
94
+ 4. scope外に見える問題と、今回は触れない理由。
95
+
96
+ 完了時は次を返す。
97
+
98
+ 1. 変更概要と設計判断。
99
+ 2. 実行した全test command、exit code、失敗・skip。
100
+ 3. schema/migration/CLI互換性への影響。
101
+ 4. 生成したEvidenceまたはpacket refs。
102
+ 5. 未確認事項、残存risk、rollback方法。
103
+ 6. Acceptance criteriaを一項目ずつ満たした根拠。
104
+
105
+ 「実装した」「テストは通るはず」「レビュー済み」という主張だけではcloseしない。