project-loop-harness 0.3.3__tar.gz → 0.4.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 (458) hide show
  1. {project_loop_harness-0.3.3/src/project_loop_harness.egg-info → project_loop_harness-0.4.0}/PKG-INFO +1 -1
  2. project_loop_harness-0.4.0/agent-tasks/0134-completion-packet-v1-contract.md +77 -0
  3. project_loop_harness-0.4.0/agent-tasks/0135-finish-emits-completion-packet.md +81 -0
  4. project_loop_harness-0.4.0/agent-tasks/0136-lite-pcl-start.md +75 -0
  5. project_loop_harness-0.4.0/agent-tasks/0137-handoff-packet-pcl-resume.md +78 -0
  6. project_loop_harness-0.4.0/agent-tasks/0138-kpi-report-surface.md +101 -0
  7. project_loop_harness-0.4.0/agent-tasks/0139-executable-resume-context.md +130 -0
  8. project_loop_harness-0.4.0/agent-tasks/0140-kpi-post-integration-sources.md +57 -0
  9. project_loop_harness-0.4.0/agent-tasks/0140a-skill-cli-contract-parity.md +64 -0
  10. project_loop_harness-0.4.0/agent-tasks/0140b-lifecycle-integrity-gate.md +91 -0
  11. project_loop_harness-0.4.0/agent-tasks/0140c-fail-open-check-guard.md +56 -0
  12. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/README.md +14 -2
  13. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/architecture.md +8 -0
  14. project_loop_harness-0.4.0/docs/completion-packet-v1.md +140 -0
  15. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/context-pack.md +8 -0
  16. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/data-model.md +7 -0
  17. project_loop_harness-0.4.0/docs/dogfood-report-v0.4.md +109 -0
  18. project_loop_harness-0.4.0/docs/evidence/0136-pcl-start-demo.md +99 -0
  19. project_loop_harness-0.4.0/docs/finish.md +157 -0
  20. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/growth-plan-v0.2.4-v0.5.md +21 -0
  21. project_loop_harness-0.4.0/docs/handoff-packet-v1.md +105 -0
  22. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/implementation-plan.md +21 -0
  23. project_loop_harness-0.4.0/docs/pcl-start.md +80 -0
  24. project_loop_harness-0.4.0/docs/plan-v0.4.0.md +131 -0
  25. project_loop_harness-0.4.0/docs/release-notes/v0.4.0.md +145 -0
  26. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/00-executive-roadmap.md +4 -3
  27. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/03-implementation-plan.md +9 -0
  28. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/ADOPTION.md +24 -0
  29. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/pyproject.toml +3 -2
  30. project_loop_harness-0.4.0/src/pcl/__init__.py +1 -0
  31. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/audit.py +12 -0
  32. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/cli.py +299 -5
  33. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/commands.py +100 -17
  34. project_loop_harness-0.4.0/src/pcl/context_usage.py +50 -0
  35. project_loop_harness-0.4.0/src/pcl/contracts/__init__.py +41 -0
  36. project_loop_harness-0.4.0/src/pcl/contracts/completion_packet.py +469 -0
  37. project_loop_harness-0.4.0/src/pcl/contracts/handoff_packet.py +451 -0
  38. project_loop_harness-0.4.0/src/pcl/contracts/schemas/completion-packet-v1.schema.json +196 -0
  39. project_loop_harness-0.4.0/src/pcl/contracts/schemas/handoff-packet-v1.schema.json +160 -0
  40. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/evidence.py +47 -0
  41. project_loop_harness-0.4.0/src/pcl/evidence_show.py +127 -0
  42. project_loop_harness-0.4.0/src/pcl/finish_execution.py +594 -0
  43. project_loop_harness-0.4.0/src/pcl/kpi_report.py +241 -0
  44. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/lifecycle.py +141 -6
  45. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/renderer.py +29 -9
  46. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/reports.py +21 -0
  47. project_loop_harness-0.4.0/src/pcl/resume.py +982 -0
  48. project_loop_harness-0.4.0/src/pcl/start.py +252 -0
  49. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/stories.py +87 -20
  50. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/templates/project/pcl.yaml +3 -0
  51. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/templates/skills/project-control-loop/SKILL.md +102 -11
  52. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/validators.py +137 -5
  53. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/verification_feedback.py +24 -14
  54. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/workflow_sandbox.py +54 -0
  55. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0/src/project_loop_harness.egg-info}/PKG-INFO +1 -1
  56. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/project_loop_harness.egg-info/SOURCES.txt +47 -0
  57. project_loop_harness-0.4.0/tests/fixtures/completion_packet/full.json +90 -0
  58. project_loop_harness-0.4.0/tests/fixtures/completion_packet/minimal.json +29 -0
  59. project_loop_harness-0.4.0/tests/fixtures/completion_packet/negative-budget-next-action.json +21 -0
  60. project_loop_harness-0.4.0/tests/fixtures/completion_packet/negative-cases.json +17 -0
  61. project_loop_harness-0.4.0/tests/fixtures/completion_packet/negative-critical-proof.json +21 -0
  62. project_loop_harness-0.4.0/tests/fixtures/completion_packet/negative-passed-result.json +21 -0
  63. project_loop_harness-0.4.0/tests/fixtures/handoff_packet/minimal.json +57 -0
  64. project_loop_harness-0.4.0/tests/fixtures/kpi_report_empty_v1.json +85 -0
  65. project_loop_harness-0.4.0/tests/fixtures/start_initialized_v1.json +49 -0
  66. project_loop_harness-0.4.0/tests/fixtures/v0.3.1-baseline/snapshots/pcl-help.json +9 -0
  67. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/pcl-version.json +1 -1
  68. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/mcp/fixtures/wire-transcript.json +1 -1
  69. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_audit_commands.py +5 -0
  70. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_checkpoints.py +29 -2
  71. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_codex_plugin.py +8 -6
  72. project_loop_harness-0.4.0/tests/test_completion_packet_contract.py +115 -0
  73. project_loop_harness-0.4.0/tests/test_completion_packet_package.py +102 -0
  74. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_context.py +127 -0
  75. project_loop_harness-0.4.0/tests/test_contract_cli.py +111 -0
  76. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_distribution.py +3 -1
  77. project_loop_harness-0.4.0/tests/test_evidence_show.py +96 -0
  78. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_features.py +18 -3
  79. project_loop_harness-0.4.0/tests/test_finish.py +535 -0
  80. project_loop_harness-0.4.0/tests/test_handoff_packet_contract.py +78 -0
  81. project_loop_harness-0.4.0/tests/test_kpi_report.py +296 -0
  82. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_lifecycle.py +10 -2
  83. project_loop_harness-0.4.0/tests/test_lifecycle_integrity.py +393 -0
  84. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_next_actions.py +38 -46
  85. project_loop_harness-0.4.0/tests/test_resume.py +503 -0
  86. project_loop_harness-0.4.0/tests/test_skill_command_examples.py +96 -0
  87. project_loop_harness-0.4.0/tests/test_start.py +236 -0
  88. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_stories.py +18 -2
  89. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_validation.py +31 -0
  90. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_workflow_sandbox.py +54 -0
  91. project_loop_harness-0.3.3/docs/finish.md +0 -75
  92. project_loop_harness-0.3.3/src/pcl/__init__.py +0 -1
  93. project_loop_harness-0.3.3/tests/fixtures/v0.3.1-baseline/snapshots/pcl-help.json +0 -9
  94. project_loop_harness-0.3.3/tests/test_finish.py +0 -222
  95. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/LICENSE +0 -0
  96. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/MANIFEST.in +0 -0
  97. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/Makefile +0 -0
  98. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/README.md +0 -0
  99. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0001-hardening-cli.md +0 -0
  100. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0002-db-migrations.md +0 -0
  101. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0003-workflow-runner.md +0 -0
  102. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0004-dashboard-renderer.md +0 -0
  103. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0005-agent-integration.md +0 -0
  104. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0006-codex-plugin.md +0 -0
  105. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0007-mcp-server.md +0 -0
  106. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0008-loop-lifecycle.md +0 -0
  107. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0009-defect-lifecycle.md +0 -0
  108. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0010-reporting-evidence.md +0 -0
  109. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0011-validation-invariants.md +0 -0
  110. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0012-audit-log-integrity.md +0 -0
  111. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0013-validation-diagnostics.md +0 -0
  112. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0014-escalation-lifecycle.md +0 -0
  113. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0015-decision-lifecycle.md +0 -0
  114. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0016-escalation-decision-linkage.md +0 -0
  115. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0017-next-action-guided-loop.md +0 -0
  116. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0018-readme-golden-path.md +0 -0
  117. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0019-recovery-playbook.md +0 -0
  118. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0020-example-project-refresh.md +0 -0
  119. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0021-agent-adapter-contract.md +0 -0
  120. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0022-agent-output-validation.md +0 -0
  121. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0023-codex-exec-adapter-hardening.md +0 -0
  122. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0024-claude-manual-adapter-hardening.md +0 -0
  123. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0025-generic-shell-adapter.md +0 -0
  124. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0026-agent-job-evidence-ingestion.md +0 -0
  125. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0027-dashboard-data-contract.md +0 -0
  126. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0028-dashboard-evidence-navigation.md +0 -0
  127. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0029-dashboard-risk-and-blockers.md +0 -0
  128. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0030-distribution-readiness.md +0 -0
  129. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0031-workflow-proposal-mode.md +0 -0
  130. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0032-workflow-proposal-review.md +0 -0
  131. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0033-workflow-verifier.md +0 -0
  132. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0034-limited-execution-sandbox.md +0 -0
  133. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0035-automatic-workflow-executor.md +0 -0
  134. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0036-executor-dogfood-workflow.md +0 -0
  135. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0037-executor-retry-resume.md +0 -0
  136. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0038-story-test-lifecycle.md +0 -0
  137. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0039-workflow-yaml-rule-expressions.md +0 -0
  138. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0040-test-case-evidence-validation.md +0 -0
  139. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0041-feature-inspection-commands.md +0 -0
  140. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0042-report-coverage-context.md +0 -0
  141. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0043-feature-report.md +0 -0
  142. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0044-complete-csv-export.md +0 -0
  143. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0045-filtered-job-inspection.md +0 -0
  144. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0046-feature-status-lifecycle.md +0 -0
  145. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0047-feature-coverage-next-action.md +0 -0
  146. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0048-migration-status-command.md +0 -0
  147. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0049-render-json-artifact-paths.md +0 -0
  148. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0050-codex-plugin-package-inventory.md +0 -0
  149. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0051-mcp-render-artifact-paths.md +0 -0
  150. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0052-lifecycle-failure-job-cleanup.md +0 -0
  151. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0053-prompt-job-json-handoff.md +0 -0
  152. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0054-human-queue-linkage-cli.md +0 -0
  153. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0055-workflow-proposal-list-filter.md +0 -0
  154. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0056-sandbox-noop-execution-guard.md +0 -0
  155. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0057-executor-no-executable-step-guard.md +0 -0
  156. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0058-dogfood-usability-hardening.md +0 -0
  157. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0059-checkpoint-review-guidance.md +0 -0
  158. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0060-pypi-trusted-publishing.md +0 -0
  159. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0061-context-pack-v1.md +0 -0
  160. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0062-task-backlog-entity.md +0 -0
  161. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0063-structured-verification-rubric.md +0 -0
  162. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0064-task-loop-integration.md +0 -0
  163. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0065-dashboard-human-decisions.md +0 -0
  164. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0066-agent-registry-lease.md +0 -0
  165. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0067-context-pack-improvements.md +0 -0
  166. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0068-trust-hardening.md +0 -0
  167. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0069-explainable-code-context-v0.md +0 -0
  168. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0070-human-decision-cockpit.md +0 -0
  169. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0071-dogfood-impact-precision.md +0 -0
  170. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0072-sensitive-omission.md +0 -0
  171. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0073-code-context-module-split.md +0 -0
  172. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0074-search-snapshot-consistency.md +0 -0
  173. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0075-diff-source-modes.md +0 -0
  174. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0076-schema-version-integrity.md +0 -0
  175. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0077-index-output-budget-and-impact-noise.md +0 -0
  176. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0078-context-pack-code-context-bridge.md +0 -0
  177. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0079-receipt-human-summary.md +0 -0
  178. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0080-retrieval-eval-gate.md +0 -0
  179. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0081-diff-modes-completion.md +0 -0
  180. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0082-receipt-relevance-and-age.md +0 -0
  181. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0083-required-section-invariant.md +0 -0
  182. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0084-source-commands-honesty.md +0 -0
  183. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0085-distribution-source-completeness.md +0 -0
  184. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0086-command-surface-alignment.md +0 -0
  185. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0087-verification-suggestion-ids.md +0 -0
  186. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0088-verification-feedback.md +0 -0
  187. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0089-dogfood-fixture-propose.md +0 -0
  188. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0090-eval-baseline-record-compare.md +0 -0
  189. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0091-refresh-command-scope-fidelity.md +0 -0
  190. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0092-idempotent-status-transitions.md +0 -0
  191. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0093-evidence-add-command.md +0 -0
  192. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0094-job-completion-evidence.md +0 -0
  193. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0095-supporting-evidence-health.md +0 -0
  194. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0096-evidence-add-path-guards.md +0 -0
  195. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0097-evidence-durability-design.md +0 -0
  196. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0098-field-feedback-next-weight-and-run-report-scope.md +0 -0
  197. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0099-evidence-copy-mode.md +0 -0
  198. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0100-evidence-task-linking.md +0 -0
  199. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0101-evidence-id-allocation-race.md +0 -0
  200. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0102-source-drift-health-warning.md +0 -0
  201. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0103-security-policy-v02x.md +0 -0
  202. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0104-python-ci-matrix.md +0 -0
  203. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0105-evidence-copy-observability.md +0 -0
  204. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0106-release-checklist.md +0 -0
  205. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0107-agent-tasks-backlog-index.md +0 -0
  206. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0108-target-bound-code-context-receipts.md +0 -0
  207. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0113-evidence-links-table.md +0 -0
  208. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0114-source-hash-drift.md +0 -0
  209. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0115-context-pack-contract-fixtures.md +0 -0
  210. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0116-receipt-link-agreement-validation.md +0 -0
  211. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0117-markdown-target-refresh-command.md +0 -0
  212. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0118-canonical-target-bound-handoff-docs.md +0 -0
  213. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0119-context-check-preflight.md +0 -0
  214. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0120-pcl-finish-terminal-closeout.md +0 -0
  215. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0121-human-gate-japanese-guidance.md +0 -0
  216. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0122-feature-coverage-noop.md +0 -0
  217. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0123-master-trace-intent-index-contract.md +0 -0
  218. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0124-baseline-fixtures-v0-3-1.md +0 -0
  219. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0125-mcp-stdio-framing-negotiation.md +0 -0
  220. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0126-mcp-external-conformance.md +0 -0
  221. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0127-transactional-audit-outbox-design.md +0 -0
  222. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0128-event-outbox-jsonl-projector.md +0 -0
  223. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0129-audit-check-repair-rebuild.md +0 -0
  224. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0130-crash-concurrency-test-suite.md +0 -0
  225. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0131-guarded-executor-hardening.md +0 -0
  226. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0132-master-trace-context-pack-section.md +0 -0
  227. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/agent-tasks/0133-windows-lock-fallback.md +0 -0
  228. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/adoption-guide.md +0 -0
  229. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/adr/0001-hybrid-state.md +0 -0
  230. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/adr/0002-cli-is-the-runtime.md +0 -0
  231. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/adr/0003-static-workflows-before-dynamic-workflows.md +0 -0
  232. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/adr/ADR-002-transactional-audit-outbox.md +0 -0
  233. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/agent-adapter-contract.md +0 -0
  234. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/agent-output-template.md +0 -0
  235. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/agent-roles.md +0 -0
  236. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/code-context.md +0 -0
  237. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/context-check.md +0 -0
  238. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/crash-concurrency-reliability.md +0 -0
  239. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/dashboard-data-contract.md +0 -0
  240. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/dashboard-design.md +0 -0
  241. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/distribution.md +0 -0
  242. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/event-outbox-compatibility.md +0 -0
  243. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/evidence-durability-design.md +0 -0
  244. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/evidence-entry-paths-design.md +0 -0
  245. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/feedback/2026-07-06-ax1-moc1-agent-feedback.md +0 -0
  246. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/golden-path.md +0 -0
  247. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/master-trace-handoff.md +0 -0
  248. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/master-trace-intent-index.md +0 -0
  249. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/mcp-compatibility.md +0 -0
  250. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/mcp-manual-smoke-runbook.md +0 -0
  251. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/plh_v0_1_11_review_agenda.md +0 -0
  252. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/plh_v0_1_12_review_agenda.md +0 -0
  253. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/pypi-publishing.md +0 -0
  254. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/recovery-playbook.md +0 -0
  255. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/release-checklist.md +0 -0
  256. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/release-notes/v0.2.4.md +0 -0
  257. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/release-notes/v0.3.0.md +0 -0
  258. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/release-notes/v0.3.1.md +0 -0
  259. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/release-notes/v0.3.3.md +0 -0
  260. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/releases/v0.3.1-baseline.md +0 -0
  261. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/releases/v0.3.3-mcp-stdio.md +0 -0
  262. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/01-adaptive-loop-architecture.md +0 -0
  263. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/02-contracts-and-data-model.md +0 -0
  264. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/04-evaluation-and-rollout.md +0 -0
  265. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/05-pdm-discussion-guide.md +0 -0
  266. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/06-cli-contract-draft.md +0 -0
  267. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/07-state-machines-and-events.md +0 -0
  268. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/08-repository-integration.md +0 -0
  269. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/09-ai-plc-integration-mapping.md +0 -0
  270. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/README.md +0 -0
  271. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/SOURCE_BASIS.md +0 -0
  272. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/VALIDATION_REPORT.md +0 -0
  273. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/adr/ADR-001-profile-not-entity.md +0 -0
  274. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/adr/ADR-002-transactional-audit-outbox.md +0 -0
  275. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/adr/ADR-003-adaptive-policy-axes.md +0 -0
  276. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/adr/ADR-004-contract-first-promotion.md +0 -0
  277. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0123-release-v0-3-1-baseline.md +0 -0
  278. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0124-mcp-stdio-framing-negotiation.md +0 -0
  279. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0125-mcp-external-conformance.md +0 -0
  280. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0126-transactional-audit-outbox-design.md +0 -0
  281. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0127-event-outbox-jsonl-projector.md +0 -0
  282. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0128-audit-check-repair-rebuild.md +0 -0
  283. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0129-crash-concurrency-test-suite.md +0 -0
  284. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0130-guarded-executor-hardening.md +0 -0
  285. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0131-completion-packet-v1-contract.md +0 -0
  286. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0132-finish-emits-completion-packet.md +0 -0
  287. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0133-lite-pcl-start.md +0 -0
  288. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0134-handoff-packet-pcl-resume.md +0 -0
  289. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0135-work-brief-v1-evidence.md +0 -0
  290. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0136-deterministic-route-recommendation.md +0 -0
  291. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0137-adaptive-policy-explain-override.md +0 -0
  292. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0138-work-brief-revision-replan.md +0 -0
  293. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0139-stale-invalidation-propagation.md +0 -0
  294. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0140-verifier-provenance-separation.md +0 -0
  295. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0141-risk-based-verification-policy.md +0 -0
  296. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0142-profile-contract-boundary.md +0 -0
  297. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0143-discovery-reference-profile.md +0 -0
  298. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0144-decision-proposal-human-selection.md +0 -0
  299. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0145-master-trace-handoff-integration.md +0 -0
  300. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0146-capability-profile-v0.md +0 -0
  301. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0147-budget-profile-incomplete-packet.md +0 -0
  302. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0148-context-cache-delta-handoff.md +0 -0
  303. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0149-knowledge-proposal-experiment.md +0 -0
  304. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0150-cross-model-evaluation-harness.md +0 -0
  305. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0151-design-partner-operations.md +0 -0
  306. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/0152-adoption-stability-release.md +0 -0
  307. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/agent-tasks-proposed/README.md +0 -0
  308. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/handoff/ARCHITECTURE_REVIEW_PROMPT.md +0 -0
  309. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/handoff/IMPLEMENTATION_AGENT_PROMPT.md +0 -0
  310. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/roadmap/integrated/handoff/PDM_REVIEW_PROMPT.md +0 -0
  311. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/safety-permissions.md +0 -0
  312. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/v0.2.0-plan.md +0 -0
  313. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/verification-feedback-design.md +0 -0
  314. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/verification-feedback.md +0 -0
  315. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/verification-rubric.md +0 -0
  316. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/docs/workflow-contract.md +0 -0
  317. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/scripts/run_advisory_retrieval_eval.py +0 -0
  318. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/scripts/verify_sdist_contracts.py +0 -0
  319. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/setup.cfg +0 -0
  320. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/__main__.py +0 -0
  321. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/agents.py +0 -0
  322. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/checkpoints.py +0 -0
  323. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/__init__.py +0 -0
  324. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/diff.py +0 -0
  325. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/eval.py +0 -0
  326. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/impact.py +0 -0
  327. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/receipts.py +0 -0
  328. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/scan.py +0 -0
  329. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/search.py +0 -0
  330. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/store.py +0 -0
  331. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/summary.py +0 -0
  332. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/symbols.py +0 -0
  333. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_context/test_hints.py +0 -0
  334. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/code_index.py +0 -0
  335. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/context.py +0 -0
  336. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/context_binding.py +0 -0
  337. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/db/migrations/001_initial.sql +0 -0
  338. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/db/migrations/002_tasks.sql +0 -0
  339. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/db/migrations/003_agent_registry.sql +0 -0
  340. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/db/migrations/004_code_index.sql +0 -0
  341. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/db/migrations/005_verification_feedback.sql +0 -0
  342. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/db/migrations/006_evidence_task_link.sql +0 -0
  343. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/db/migrations/007_evidence_links.sql +0 -0
  344. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/db/migrations/008_event_outbox.sql +0 -0
  345. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/db/schema.sql +0 -0
  346. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/db.py +0 -0
  347. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/decisions.py +0 -0
  348. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/dispatch.py +0 -0
  349. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/errors.py +0 -0
  350. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/escalations.py +0 -0
  351. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/events.py +0 -0
  352. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/exporters.py +0 -0
  353. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/guarded_process.py +0 -0
  354. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/guards.py +0 -0
  355. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/ids.py +0 -0
  356. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/init_project.py +0 -0
  357. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/links.py +0 -0
  358. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/locales.py +0 -0
  359. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/locks.py +0 -0
  360. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/mcp_server.py +0 -0
  361. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/migrations.py +0 -0
  362. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/outbox.py +0 -0
  363. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/paths.py +0 -0
  364. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/receipt_show.py +0 -0
  365. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/redaction.py +0 -0
  366. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/registry.py +0 -0
  367. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/resources.py +0 -0
  368. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/rubric.py +0 -0
  369. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/tasks.py +0 -0
  370. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/templates/dashboard/dashboard.html +0 -0
  371. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/templates/project/AGENTS.block.md +0 -0
  372. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/templates/project/CLAUDE.block.md +0 -0
  373. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/templates/project/gitignore.fragment +0 -0
  374. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/templates/workflows/defect_repair.yaml +0 -0
  375. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/templates/workflows/executor_smoke.yaml +0 -0
  376. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/templates/workflows/feature_coverage.yaml +0 -0
  377. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/templates/workflows/regression_loop.yaml +0 -0
  378. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/test_faults.py +0 -0
  379. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/timeutil.py +0 -0
  380. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/token_estimation.py +0 -0
  381. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/update_check.py +0 -0
  382. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/verifications.py +0 -0
  383. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/workflow_executor.py +0 -0
  384. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/workflow_proposal_validation.py +0 -0
  385. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/workflow_proposals.py +0 -0
  386. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/workflow_verifier.py +0 -0
  387. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/workflow_yaml.py +0 -0
  388. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/pcl/workflows.py +0 -0
  389. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/project_loop_harness.egg-info/dependency_links.txt +0 -0
  390. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/project_loop_harness.egg-info/entry_points.txt +0 -0
  391. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/project_loop_harness.egg-info/requires.txt +0 -0
  392. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/src/project_loop_harness.egg-info/top_level.txt +0 -0
  393. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/baseline_fixture_tools.py +0 -0
  394. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/code_context_summary_v0.json +0 -0
  395. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/context_pack_code_context_contract_v0.json +0 -0
  396. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/context_receipt_v0.json +0 -0
  397. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/context_receipt_v0_legacy_string_suggestions.json +0 -0
  398. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/master_trace_context_contract_v0.json +0 -0
  399. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/retrieval_adversarial_v0.json +0 -0
  400. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/retrieval_real_history_v0.json +0 -0
  401. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/retrieval_v0.json +0 -0
  402. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/context-check-help.json +0 -0
  403. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/empty-context-check-json.json +0 -0
  404. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/empty-next-json.json +0 -0
  405. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/empty-render-json.json +0 -0
  406. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/empty-validate-strict-json.json +0 -0
  407. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/next-help.json +0 -0
  408. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/render-help.json +0 -0
  409. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/representative-context-check-json.json +0 -0
  410. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/representative-next-json.json +0 -0
  411. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/representative-render-json.json +0 -0
  412. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/representative-validate-strict-json.json +0 -0
  413. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/fixtures/v0.3.1-baseline/snapshots/validate-help.json +0 -0
  414. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/mcp/conftest.py +0 -0
  415. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/mcp/fixtures/negative-matrix.json +0 -0
  416. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/mcp/test_external_conformance.py +0 -0
  417. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_advisory_retrieval_eval_script.py +0 -0
  418. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_agent_adapter_contract.py +0 -0
  419. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_agent_output_validation.py +0 -0
  420. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_agents.py +0 -0
  421. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_audit_log_integrity.py +0 -0
  422. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_baseline_fixtures.py +0 -0
  423. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_claude_manual_adapter.py +0 -0
  424. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_cli_init.py +0 -0
  425. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_code_context_summary.py +0 -0
  426. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_code_index.py +0 -0
  427. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_codex_exec_adapter.py +0 -0
  428. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_context_check.py +0 -0
  429. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_crash_concurrency.py +0 -0
  430. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_dashboard.py +0 -0
  431. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_dashboard_data_contract.py +0 -0
  432. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_decisions.py +0 -0
  433. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_defects.py +0 -0
  434. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_dispatch.py +0 -0
  435. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_escalations.py +0 -0
  436. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_event_outbox.py +0 -0
  437. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_evidence_add.py +0 -0
  438. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_examples.py +0 -0
  439. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_generic_shell_adapter.py +0 -0
  440. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_golden_path.py +0 -0
  441. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_guarded_process.py +0 -0
  442. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_locks.py +0 -0
  443. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_mcp_server.py +0 -0
  444. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_migrations.py +0 -0
  445. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_pypi_publishing.py +0 -0
  446. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_receipt_show.py +0 -0
  447. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_recovery_playbook.py +0 -0
  448. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_registry.py +0 -0
  449. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_reports.py +0 -0
  450. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_rubric.py +0 -0
  451. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_tasks.py +0 -0
  452. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_update_check.py +0 -0
  453. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_validation_diagnostics.py +0 -0
  454. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_verification_feedback.py +0 -0
  455. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_workflow_executor.py +0 -0
  456. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_workflow_proposals.py +0 -0
  457. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/tests/test_workflow_verifier.py +0 -0
  458. {project_loop_harness-0.3.3 → project_loop_harness-0.4.0}/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.3
3
+ Version: 0.4.0
4
4
  Summary: Local control plane for agentic project development loops
5
5
  Author: Project Loop Harness Contributors
6
6
  License: MIT
@@ -0,0 +1,77 @@
1
+ # 0134: completion-packet/v1 contract + validator + fixtures
2
+
3
+ - **Status:** Approved(Wave B activation、DEC-0003 / `docs/plan-v0.4.0.md`)
4
+ - **Milestone:** v0.4.0 Dogfood Operations + Three-command Wedge
5
+ - **Priority:** P0
6
+ - **Estimated size:** M
7
+ - **Dependencies:** 0123 (merged — master-trace/v0 契約と同じ claims-not-facts 方針)
8
+ - **Origin:** integrated roadmap bundle 0131(`docs/roadmap/integrated/agent-tasks-proposed/0131-completion-packet-v1-contract.md`)の repo 再採番。bundle の `schemas/completion-packet-v1.schema.json` と `examples/completion-packet-*.json` は**参照素材(planning proposal 権威)**であり、本 spec と実装レビューが契約の正。
9
+
10
+ ## Problem
11
+
12
+ `pcl finish`(0120、plan-only)は close-out plan を作れるが、agent/runtime を
13
+ またいで利用できる安定した完了 artifact がない。内部 DB row をそのまま公開
14
+ すると schema migration と外部互換性が結合する。
15
+
16
+ ## Goal
17
+
18
+ claim / check / diff / risk / outcome を表現する versioned completion packet
19
+ contract、canonical serializer、validator、fixtures を実装する。runtime
20
+ 統合(finish からの emit)は 0135 で行い、本タスクは契約層のみ。
21
+
22
+ ## Scope
23
+
24
+ 1. `completion-packet/v1` JSON Schema を package data として追加する
25
+ (`pyproject.toml` の `[tool.setuptools.package-data]` に登録し、wheel から
26
+ 読めることをテストする)。bundle schema の top-level fields
27
+ (contract_version / packet_id / producer / generated_at / outcome / target
28
+ / repository / changes / checks / claims / unverified_claims / risks /
29
+ human_decisions / next_action / verifier_provenance(optional))を出発点に、
30
+ 現行 PLH の entity model(Goal/Task/Evidence ID 形式)へ合わせて確定する。
31
+ 2. positive(minimal / full)+ negative fixtures。negative は期待 reason 付き。
32
+ 3. canonical serializer(deterministic ordering)+ schema validator。JSON
33
+ Schema library を新規依存に入れる場合は最小構成にし、入れない場合は既存
34
+ validation 方針(手書き validator)に合わせる — どちらを選んだか根拠を返す。
35
+ 4. claim-scoped proof level の決定論的計算 rule を pure module として定義する。
36
+ 5. packet ID / timestamp / diff hash の canonicalization を決める
37
+ (packet ID は content hash か random ID か — 選択と根拠を返す)。
38
+ 6. read-only 検証 surface: `pcl contract validate --type completion-packet/v1
39
+ <file>`(`--json` あり、stdout purity 維持、exit code contract 明記)。
40
+ 7. contract docs(versioning / field semantics / non-guarantees /
41
+ compatibility policy)。`docs/master-trace-intent-index.md` と同じ
42
+ claims-not-facts の trust model を明記する。
43
+
44
+ ## Invariants
45
+
46
+ - 別モデル review だけで proof level L2 以上にしない。
47
+ - 実行していない check を passed にしない(passed/failed/skipped/not_run/
48
+ timed_out を区別)。
49
+ - budget exhaustion を completed outcome にしない。
50
+ - packet generation はモデル(LLM)を呼ばない。
51
+ - Evidence は本文でなく ref を既定にする。内部 DB primary key や private path
52
+ を必須 field にしない。
53
+ - 既存 CLI / schema / migration に破壊的変更なし(本タスクは純追加)。
54
+
55
+ ## Non-goals
56
+
57
+ - `pcl finish` runtime 統合(0135)。handoff packet(0137)。remote upload。
58
+ UI rendering。
59
+
60
+ ## Acceptance criteria
61
+
62
+ - minimal/full fixtures が validator を通り、各 negative fixture が期待
63
+ reason で失敗する。
64
+ - wheel を build し、install した環境から schema package data を読める。
65
+ - proof calculator が claim/Evidence class から決定論的に同じ level を返す
66
+ (table test)。
67
+ - outcome と critical claim proof の整合性 validator が negative を弾く。
68
+ - `pcl contract validate` の stdout/exit code contract test がある。
69
+ - ruff + full pytest green。
70
+
71
+ ## Agent execution protocol
72
+
73
+ 開始前: 対象 commit SHA、変更予定 path、既存 contract 群(context-pack/v1、
74
+ master-trace/v0)の characterization 結果、scope 外事項。
75
+ 完了時: 変更概要と設計判断(schema library 採否、packet ID 方式、bundle
76
+ schema からの差分)、全 test command と exit code、Acceptance 別根拠、
77
+ 未確認事項。「テストは通るはず」では close しない。
@@ -0,0 +1,81 @@
1
+ # 0135: 既存 pcl finish を completion packet 生成へ拡張(後方互換)
2
+
3
+ - **Status:** Approved(Wave B activation、DEC-0003 / `docs/plan-v0.4.0.md`)
4
+ - **Milestone:** v0.4.0 Dogfood Operations + Three-command Wedge
5
+ - **Priority:** P0
6
+ - **Estimated size:** XL — 必要なら contract 層 / 実行層の 2 PR に分割してよい
7
+ - **Dependencies:** 0134 (contract merged 前提)、0128/0131 (merged)
8
+ - **Origin:** bundle 0132 の repo 再採番。ADOPTION.md 最小合意 4「既存
9
+ `pcl finish`(0120)を置き換えず拡張する」を前提とする。
10
+
11
+ ## Problem
12
+
13
+ 現行 `pcl finish` は plan-only(`finish_plan`、`src/pcl/commands.py:721`)+
14
+ `--execute`(残 step なしのときだけ validate/render を実行する tail、
15
+ `src/pcl/cli.py:1059`)。外部利用可能な packet、diff 固定、check Evidence、
16
+ terminal outcome を一つの冪等 use case で生成する surface がない。
17
+
18
+ ## Goal
19
+
20
+ 既存 finish contract(help / JSON / exit code)を後方互換に保ちながら、
21
+ safe plan → check 実行 → validation → completion packet 生成 → state commit
22
+ までを opt-in で実行できるよう拡張する。
23
+
24
+ ## Scope
25
+
26
+ 1. **最初に現行 `pcl finish` を characterize する**(help / JSON / exit code /
27
+ 既存 tests)。既定挙動は plan-only のまま変えない。
28
+ 2. 実行 mode は明示 opt-in(例: `--apply` / `--emit-packet`。`--execute` の
29
+ 既存意味は維持し、migration 設計を返す)。`--dry-run` / `--json` /
30
+ non-interactive 確認 semantics を定義する。
31
+ 3. active target、base/head revision、dirty state、changed paths を解決する。
32
+ git diff hash は packet 生成時 snapshot と一致させ、finish 実行中の repo
33
+ 変更を検出する。
34
+ 4. check plan は project config / policy から作り、実行前に表示する。
35
+ preconfigured check 以外の任意 command を暗黙実行しない。
36
+ 5. check 実行は guarded executor(0131 の `workflow guard` 実行基盤 /
37
+ `guarded_process.py`)を再利用し、stdout/stderr/exit code を Evidence 化
38
+ する(出力上限・redaction は 0131 contract に従う)。
39
+ 6. claim–Evidence binding、strict validation、human gate、budget 状態を確認
40
+ し、`completion-packet/v1`(0134)を content-addressed artifact として
41
+ Evidence store に保存する。
42
+ 7. packet ref / terminal state / event を**同一 transaction**で commit する
43
+ (0128 outbox 経由。raw SQL 禁止)。packet 生成後に state commit が失敗
44
+ した場合、orphan artifact を `pcl audit check` で検出可能にする(0129 の
45
+ anomaly 分類へ additive 追加)。
46
+ 8. 冪等性: 同一 state での再実行は既存 packet を返すか明示的 no-op。
47
+ NO_CHANGES / check 失敗(INCOMPLETE_VALIDATION)/ budget・human gate
48
+ block の各 outcome semantics を定義する。
49
+
50
+ ## Invariants
51
+
52
+ - check 未実行を passed にしない。critical blocker を黙って override しない。
53
+ - 同じ packet を重複して別完了として数えない。
54
+ - 既存 finish の plan-only 既定・JSON contract・exit code を壊さない
55
+ (characterization test が証拠)。
56
+ - LLM 呼び出しなし。自動 PR 作成なし。
57
+
58
+ ## Non-goals
59
+
60
+ - handoff packet / resume(0137)。profile discovery(Wave C+)。cloud upload。
61
+
62
+ ## Acceptance criteria
63
+
64
+ - clean success: checks + packet が Evidence 化され terminal outcome が
65
+ COMPLETED_VERIFIED になる。
66
+ - check failure: INCOMPLETE_VALIDATION packet が残り、task/goal を completed
67
+ にしない。
68
+ - budget / human gate block: 対応する incomplete outcome と next action。
69
+ - no changes: NO_CHANGES を説明し、acceptance Evidence 不足なら active 維持。
70
+ - unchanged completed state の再実行が重複完了を作らない(idempotency test)。
71
+ - finish 実行中の repo 変更 race test。outbox/projector 失敗 path test。
72
+ - 既存 finish regression suite green + ruff + full pytest green。
73
+
74
+ ## Agent execution protocol
75
+
76
+ 開始前: 対象 commit SHA と 0134 merge 済みの証拠、変更予定 path、現行 finish
77
+ の characterization 結果、scope 外事項。
78
+ 完了時: 変更概要と設計判断(opt-in flag 設計、outcome semantics)、全 test
79
+ command と exit code、各 outcome の example packet(Evidence ref)、CLI 互換
80
+ 性への影響、Acceptance 別根拠、未確認事項と rollback 方法。
81
+ 「テストは通るはず」では close しない。
@@ -0,0 +1,75 @@
1
+ # 0136: Lite `pcl start` entry point
2
+
3
+ - **Status:** Approved(Wave B activation、DEC-0003 / `docs/plan-v0.4.0.md`)
4
+ - **Milestone:** v0.4.0 Dogfood Operations + Three-command Wedge
5
+ - **Priority:** P0
6
+ - **Estimated size:** L
7
+ - **Dependencies:** 0134 (merged — start receipt が packet 語彙と整合するため)
8
+ - **Origin:** bundle 0133 の repo 再採番。
9
+
10
+ ## Problem
11
+
12
+ 初回利用者が Goal / Feature / Story / Task / Workflow の ontology を理解して
13
+ から価値へ到達する構造は重い。明確な仕事を一つ始めるだけの集約 command が
14
+ 必要(M2 exit: 10 分以内・3 操作で有用 packet)。
15
+
16
+ ## Goal
17
+
18
+ 一つの自然言語 intent から、必要最小の project state と active work target
19
+ を作り、次の agent action を返す `pcl start` を提供する。
20
+
21
+ ## Scope
22
+
23
+ 1. contract 設計: `pcl start "<intent>"`、`--dry-run`、`--json`、`--no-init`、
24
+ `--new`。`--profile` は Wave C(route/policy)導入前なので**受け付けない**
25
+ (将来 additive に追加できる extension point だけ設計する)。
26
+ 2. 未初期化 directory では、明示的な start 操作として最小 project 初期化を
27
+ 行う(既存 `init_project`(`src/pcl/init_project.py:243`)を再利用)。
28
+ auto-init が作る files を dry-run で完全列挙する。
29
+ 3. 既存 project では最小 target を作る。作る entity は **Goal + Task**
30
+ (現行 model で task が goal に紐づくため)を推奨とするが、Task のみ案との
31
+ 比較根拠を返して確定する。既存 creation service(`create_goal`
32
+ `src/pcl/commands.py:43`、`create_task` `src/pcl/tasks.py:37`)を再利用し、
33
+ raw DB write を増やさない。
34
+ 4. active work が既にある場合、重複作成せず resume / 明示 `--new` を案内する
35
+ (`pcl next` / `loop_status` の active 判定を再利用)。
36
+ 5. intent text / actor / repository revision / created IDs を start receipt
37
+ として Evidence + event に残す(0128 outbox 経由)。
38
+ 6. `--json` は confirmation 待ちをせず、created IDs / next action を stable
39
+ schema で返す(stdout purity)。最初の next action は agent-neutral な
40
+ text/JSON にする。
41
+
42
+ ## Invariants
43
+
44
+ - 一回の start で重複 active work を作らない。
45
+ - LLM 呼び出しなし。意味的な acceptance criteria を勝手に生成しない。
46
+ - 既存 project files を暗黙上書きしない。dry-run は zero mutation
47
+ (DB/event count 不変を test で証明)。
48
+ - 細かい既存 commands を廃止・変更しない(純追加)。
49
+ - intent string を shell command や path として解釈しない
50
+ (escaping / unicode test 必須)。
51
+
52
+ ## Non-goals
53
+
54
+ - Discovery questions / option 生成(Wave C+)。agent process 起動。
55
+ acceptance criteria 自動生成。README 導線の書き換え(v0.5.0)。
56
+
57
+ ## Acceptance criteria
58
+
59
+ - empty repo: start dry-run が予定 files/state を列挙し mutation しない。
60
+ - empty repo: start apply 後、active target と next safe action が返る。
61
+ - 既存 active work で再 start すると duplicate を作らず resume 案内になる。
62
+ `--new` で明示的に追加できる。
63
+ - `--json` が created IDs / next action を stable schema で返す(fixture)。
64
+ - 3-command demo transcript(start → finish → resume の start 部分)と
65
+ time-to-first-value の手動計測 note を Evidence として残す。
66
+ - uninitialized / initialized / active-work の matrix test、idempotency、
67
+ Windows path、CLI help/JSON snapshot。ruff + full pytest green。
68
+
69
+ ## Agent execution protocol
70
+
71
+ 開始前: 対象 commit SHA と 0134 merge 済みの証拠、変更予定 path、既存 init /
72
+ goal / task creation service の characterization 結果、scope 外事項。
73
+ 完了時: 変更概要と設計判断(最小 entity の選択根拠、auto-init 既定の判断)、
74
+ 全 test command と exit code、created state/event audit、Acceptance 別根拠、
75
+ 未確認事項。「テストは通るはず」では close しない。
@@ -0,0 +1,78 @@
1
+ # 0137: handoff-packet/v1 + read-only `pcl resume`
2
+
3
+ - **Status:** Approved(Wave B activation、DEC-0003 / `docs/plan-v0.4.0.md`)
4
+ - **Milestone:** v0.4.0 Dogfood Operations + Three-command Wedge
5
+ - **Priority:** P0
6
+ - **Estimated size:** L
7
+ - **Dependencies:** 0135 (merged — latest completion/incomplete packet を選択
8
+ 対象に含むため)
9
+ - **Origin:** bundle 0134 の repo 再採番。bundle
10
+ `schemas/handoff-packet-v1.schema.json` / `examples/handoff-packet.json` は
11
+ 参照素材、契約の正は本 spec と実装レビュー。
12
+
13
+ ## Problem
14
+
15
+ session や model を変えると、利用者は会話履歴・diff・test 結果・decision を
16
+ 再説明する。現行 context pack(target-bound、0115/0132)は有用だが、再開の
17
+ ための安定した外部 packet と単純な entry point がない。
18
+
19
+ ## Goal
20
+
21
+ 現在の work target を小さい handoff packet へ集約し、`pcl resume` で
22
+ read-only に取得できるようにする。
23
+
24
+ ## Scope
25
+
26
+ 1. `handoff-packet/v1` schema / fixtures / validator を 0134 と同じ方式で
27
+ package 化する(`pcl contract validate --type handoff-packet/v1` に追加)。
28
+ bundle top-level fields(target / current_state / summary / verified /
29
+ unverified / decisions / blockers / risks / next_safe_action / context_refs
30
+ / intent_index_ref(optional) / budget_remaining(optional))を出発点にする。
31
+ 2. `pcl resume [--target] [--format json|markdown] [--output]` を実装する。
32
+ 3. 選択 logic: current Goal/Task、latest completion/incomplete packet(0135)、
33
+ Decision、Evidence、blocker、risk。deterministic ordering と target-bound
34
+ link(0113/0116 の links / binding agreement)を使い、superseded/stale
35
+ 判定(0114 drift、receipt freshness)を考慮する。
36
+ 4. **verified と unverified を分離する**。verified に入れられるのは Evidence
37
+ ref で裏づく claim のみ(claims-not-facts、DEC-0002 と同方針)。
38
+ 5. context refs に freshness/hash を付け、本文全量は既定で inline しない
39
+ (`master_trace_context` 0132 と同じ ref 方式)。packet size と omitted
40
+ sections を記録する(`token_estimation.py` charclass/v1 を再利用)。
41
+ 6. multiple active targets 時は勝手に選ばず candidate list を返す
42
+ (`context_pack_target_selection_required` の既存 pattern に合わせる)。
43
+ 7. read-only 保証: export file 以外の state を変更しない(DB hash / event
44
+ count 不変 assertion を test に入れる)。Markdown renderer は JSON contract
45
+ の派生であり source of truth にしない。`--json` stdout purity。
46
+
47
+ ## Invariants
48
+
49
+ - resume は state を変更しない。full transcript を既定で含めない。
50
+ - unverified claim を verified 欄へ入れない。
51
+ - 複数 target を曖昧に自動選択しない。
52
+ - LLM 呼び出しなし。agent 自動起動なし。
53
+
54
+ ## Non-goals
55
+
56
+ - Master Trace の生成(既存 0123 契約の消費のみ。bundle 0145 相当の統合深化
57
+ は後続 wave)。remote sync。context embedding。agent-specific adapters。
58
+
59
+ ## Acceptance criteria
60
+
61
+ - active / incomplete / completed target ごとに valid handoff packet を生成
62
+ できる(fixture matrix)。
63
+ - **cross-session replay**: 別 session の test agent が packet だけから
64
+ documented next check を再実行できる(integration test または dogfood
65
+ Evidence)。
66
+ - multiple target で exit/JSON が selection required を明示する。
67
+ - packet 生成前後で DB/event count が変わらない(read-only assertion)。
68
+ - Markdown と JSON が同じ verified/unverified semantics を持つ。
69
+ - packet size / omission の記録 test。ruff + full pytest green。
70
+
71
+ ## Agent execution protocol
72
+
73
+ 開始前: 対象 commit SHA と 0135 merge 済みの証拠、変更予定 path、context
74
+ pack / links / drift の characterization 結果、scope 外事項。
75
+ 完了時: 変更概要と設計判断(default target selection の扱い、Markdown
76
+ renderer の安定性を contract に含めたか)、全 test command と exit code、
77
+ sample handoff packets、Acceptance 別根拠、未確認事項。
78
+ 「テストは通るはず」では close しない。
@@ -0,0 +1,101 @@
1
+ # 0138: コスト KPI 集計 surface(`pcl report kpi`)
2
+
3
+ - **Status:** Approved(v0.4.0 Dogfood Operations / `docs/plan-v0.4.0.md` §2b)
4
+ - **Milestone:** v0.4.0 Dogfood Operations + Three-command Wedge
5
+ - **Priority:** P1
6
+ - **Estimated size:** M
7
+ - **Dependencies:** なし(0134–0137 と並行可。packet 系指標は「未計測」表示で
8
+ 先行実装し、0135/0137 merge 後に additive に埋まる設計にする)
9
+ - **Origin:** growth plan v0.4.0(`docs/growth-plan-v0.2.4-v0.5.md` §3/§5)
10
+ 由来。bundle 由来ではない。
11
+
12
+ ## Problem
13
+
14
+ growth plan §5 のコスト KPI(テーゼ2 の証明)を dogfood report に書くための
15
+ 集計 surface がない。verification feedback stats
16
+ (`src/pcl/verification_feedback.py:145` `verification_feedback_stats`、
17
+ migration 005)は CLI から取れるが、context pack の token 推定は生成時に
18
+ 表示されるだけで**永続記録されない**(`src/pcl/context.py` は event を emit
19
+ しない read-only 設計)ため、average_context_pack_tokens を後から集計できない。
20
+
21
+ ## Goal
22
+
23
+ 既存記録データの read-only 集計 command `pcl report kpi --json` と、集計に
24
+ 必要な最小の usage 記録を追加し、`docs/dogfood-report-v0.4.md` の実測値を
25
+ 機械的に再現可能にする。
26
+
27
+ ## Scope
28
+
29
+ 1. `pcl report kpi [--json] [--since <ISO date>]`(read-only)。growth plan
30
+ §5 の指標を section 化して返す:
31
+ - `verification_spend_efficiency`: execution_rate / executed_pass_rate /
32
+ feedback_coverage_rate(既存 `verification_feedback_stats` の再利用 +
33
+ executed_pass_rate × execution_rate の合成値)
34
+ - `context_pack`: 生成回数 / average_context_pack_tokens /
35
+ bound_receipt_coverage(bound receipt 付き生成の割合)
36
+ - `finish`: finish 実行回数 / packet outcome 分布 /
37
+ finish_roundtrips_saved の算出材料(0135 未 merge の間は
38
+ `not_yet_measured` を明示)
39
+ - `handoff`: resume/packet 生成回数(0137 未 merge の間は同上)
40
+ - 各指標に `data_source`(event type / table)と `window` を明記する。
41
+ 2. **context pack usage の明示 opt-in 記録**(DEC-0004、2026-07-10 設計確定。
42
+ characterization の結果、default-on の event 追加は既存 read-only 契約
43
+ — `tests/test_context.py::test_master_trace_context_contract_fixtures` が
44
+ pack 前後の events 件数 / `events.jsonl` bytes / outbox 完全一致を assert、
45
+ `docs/architecture.md` / `docs/context-pack.md` も明文化 — と両立せず、
46
+ さらに 0128 以降 event 書込みは write lock + outbox transaction を要する
47
+ ため read path の運用退行(Windows では mutation と直列化)になると判断):
48
+ - `pcl context pack` の**既定挙動は完全 read-only のまま変えない**
49
+ (既存 test / docs は無修正で green のこと)。
50
+ - 新 flag `--record-usage` 指定時のみ、`context_pack_generated` event
51
+ (estimated_token_count / token_estimator / target / bound_receipt 有無 /
52
+ truncated 有無)を 0128 outbox 経由の通常 mutation transaction で
53
+ **正確に 1 件** emit する。event 内容は pack の成果物 selection に影響
54
+ しない。
55
+ - `--record-usage` 指定時に記録へ失敗した場合は明示的に失敗する
56
+ (silent skip 禁止)。
57
+ - docs(`docs/context-pack.md` / `docs/architecture.md`)へ additive に
58
+ 「既定 read-only、usage 記録は明示 opt-in」を追記する。
59
+ - dogfood report 雛形と KPI report の `context_pack` section に、記録
60
+ coverage は opt-in 実行分に限られる旨(計測手順として dogfood では
61
+ `--record-usage` を常用する旨)を明記する。
62
+ 3. 未計測値の扱い: データが無い指標は `null` + `reason`(`not_yet_measured` /
63
+ `no_data_in_window`)を返す。**擬似精度禁止** — 推定値を実測値のように
64
+ 出さない。master_brief_tokens_saved は transcript 比較の手動計測(dogfood
65
+ report 側)とし、この command では算出しない旨を docs に明記する。
66
+ 4. `docs/dogfood-report-v0.4.md` の**雛形**を追加する(KPI 表、計測手順、
67
+ 2 repo 分の記入欄。実測値の記入は運用作業であり本タスクの scope 外)。
68
+
69
+ ## Invariants
70
+
71
+ - report は read-only(DB/event count 不変 assertion)。
72
+ - raw SQL を CLI 外へ公開しない。既存 stats API を再利用する。
73
+ - LLM 呼び出しなし。telemetry / 外部送信なし(計測はすべて local)。
74
+ - 既存 command の JSON contract を壊さない(event 追加は additive)。
75
+
76
+ ## Non-goals
77
+
78
+ - master_brief_tokens_saved の自動算出。dashboards の過剰リッチ化。
79
+ KPI の閾値 gate 化(計測が先、判断は v0.4.0 exit review)。
80
+
81
+ ## Acceptance criteria
82
+
83
+ - `pcl report kpi --json` が上記 section を stable schema で返す(fixture)。
84
+ - verification 指標が `verification_feedback_stats` と一致する(同一 DB での
85
+ equality test)。
86
+ - `--record-usage` 付き pack 成功時に `context_pack_generated` event が
87
+ 正確に 1 件記録され、平均 token 集計が event から再現できる(統合 test)。
88
+ flag なしの pack は従来どおり zero mutation(既存 read-only test が無修正で
89
+ green)。`--record-usage` の記録失敗が明示的エラーになる test。
90
+ - 未計測指標が null + reason で返る(0135/0137 前の状態を fixture 化)。
91
+ - dogfood report 雛形が存在し、KPI 表の各行に計測手段が書かれている。
92
+ - ruff + full pytest green。baseline fixture への影響があれば Intended
93
+ changes 節へ記録されている。
94
+
95
+ ## Agent execution protocol
96
+
97
+ 開始前: 対象 commit SHA、変更予定 path、context pack read-only test と
98
+ verification stats の characterization 結果、scope 外事項。
99
+ 完了時: 変更概要と設計判断(event 追加の契約影響評価を含む)、全 test
100
+ command と exit code、Acceptance 別根拠、未確認事項。
101
+ 「テストは通るはず」では close しない。
@@ -0,0 +1,130 @@
1
+ # 0139: executable restart context for `pcl resume`
2
+
3
+ - **Status:** Approved repair for `D-0001` / `F-0006`
4
+ - **Milestone:** v0.4.0 Three-command Wedge exit repair
5
+ - **Priority:** P0
6
+ - **Estimated size:** M
7
+ - **Dependencies:** 0135 and 0137 merged
8
+ - **Evidence:** `E-0050` (Yohaku Dorobo real-task blind replay)
9
+
10
+ ## Problem
11
+
12
+ The first real `start -> finish --emit-packet -> resume` dogfood produced a
13
+ valid handoff packet quickly, but a fresh Codex reviewer judged it **NOT
14
+ USEFUL** as a standalone restart packet. It exposed `DONE`, the completion
15
+ outcome, revision, claims, and Evidence IDs, but did not expose a public way to
16
+ resolve those IDs or the concrete commands behind the verified finish checks.
17
+ For terminal targets, `next_safe_action.command` was `null` even though the
18
+ completion packet already contained reproducible passed commands.
19
+
20
+ The reviewer consequently had to inspect package scripts and explore the CLI.
21
+ This fails the cross-session replay acceptance criterion in 0137 and blocks
22
+ G-0007.
23
+
24
+ ## Goal
25
+
26
+ Make a generated `handoff-packet/v1` executable enough for a fresh session to:
27
+
28
+ 1. identify the acceptance target without prior chat;
29
+ 2. resolve every surfaced Evidence ref through a documented read-only command;
30
+ 3. rerun at least one verified check directly from the packet;
31
+ 4. find bounded project-documentation and changed-path context without inlining
32
+ evidence bodies or full transcripts.
33
+
34
+ ## Scope
35
+
36
+ ### 1. Read-only Evidence metadata command
37
+
38
+ Add:
39
+
40
+ ```text
41
+ pcl evidence show E-XXXX [--json]
42
+ ```
43
+
44
+ The command returns stable metadata already held by Project Loop: Evidence ID,
45
+ type, summary, claimed command, recorded path, creation time, and, for supported
46
+ manifest-backed Evidence, member/stored paths and hashes. It must not inline
47
+ artifact bodies, execute the claimed command, or mutate DB/events/outbox/files.
48
+ Unknown IDs return a typed input error.
49
+
50
+ ### 2. Additive `handoff-packet/v1` restart context
51
+
52
+ Add an optional top-level `restart_context` object. Old valid v1 packets without
53
+ this field remain valid. Generated packets include it with deterministic,
54
+ bounded ordering:
55
+
56
+ - `target_intent`: factual task description/title or goal title;
57
+ - `acceptance_status`: `intent_only`, `work_brief_linked`, or `missing`;
58
+ - `acceptance_ref`: the target work brief ref when one is actually recorded;
59
+ - `target_review_command`: `pcl task read ... --json` or the corresponding goal
60
+ report command;
61
+ - `verification_commands`: deduplicated reproducible completion checks, keeping
62
+ command, previous status, Evidence refs, and proof source;
63
+ - `evidence_resolution_commands`: one `pcl evidence show ... --json` command per
64
+ referenced Evidence ID;
65
+ - `changed_paths`: bounded paths from the selected completion packet;
66
+ - `documentation_candidates`: bounded changed files whose basename is an
67
+ established project documentation shape such as `README*`, `CONTRIBUTING*`,
68
+ or files under `docs/`. These are navigation hints, not verified acceptance
69
+ facts.
70
+
71
+ The contract must distinguish missing acceptance detail from verified facts. It
72
+ must never infer a launch URL, claim a documentation candidate is authoritative,
73
+ or promote a generic Evidence summary into `verified`.
74
+
75
+ ### 3. Executable next safe action
76
+
77
+ For a terminal target with a valid completion packet, use the first
78
+ deterministically ordered reproducible passed check as
79
+ `next_safe_action.command`. If none exists, fall back to the existing review-only
80
+ action with `command: null`. Open human decisions and explicit completion
81
+ `next_action` continue to take precedence.
82
+
83
+ ### 4. Markdown and docs
84
+
85
+ Render the restart context from the JSON packet. JSON remains the source of
86
+ truth. Document Evidence metadata lookup and the trust boundary: commands are
87
+ replay instructions sourced from the completion packet, not newly executed
88
+ facts.
89
+
90
+ ## Invariants
91
+
92
+ - `pcl resume` and `pcl evidence show` are fully read-only.
93
+ - No evidence body or full transcript is inlined.
94
+ - No shell command is invented from package files; replay commands come only
95
+ from the selected completion packet.
96
+ - No acceptance criteria are invented. `intent_only` is explicit when no
97
+ work-brief link exists.
98
+ - Existing `handoff-packet/v1` fixtures remain valid.
99
+ - Deterministic order, content-derived packet ID, metrics, and size bounds remain
100
+ intact.
101
+ - No schema migration, dependency, LLM call, agent launch, or remote operation.
102
+
103
+ ## Acceptance criteria
104
+
105
+ - `pcl evidence show` resolves completion-packet and completion-check Evidence
106
+ metadata and has read-only fingerprint assertions.
107
+ - A real-shaped completion packet yields deterministic verification commands,
108
+ Evidence resolution commands, target intent, changed paths, and README/docs
109
+ candidates.
110
+ - A terminal resume packet exposes a non-null replay command when a reproducible
111
+ passed check exists.
112
+ - A fresh-session integration test uses only `pcl resume` output and public CLI
113
+ commands from the packet to resolve Evidence and rerun a documented check.
114
+ - Missing work brief remains explicit `intent_only`; it is not represented as a
115
+ complete acceptance specification.
116
+ - Markdown and JSON preserve identical verified/unverified and restart-command
117
+ semantics.
118
+ - Old handoff fixture validation, packet tamper checks, finish compatibility,
119
+ ruff, targeted tests, and the full pytest suite pass.
120
+
121
+ ## Agent execution protocol
122
+
123
+ Before editing, characterize the Yohaku Dorobo failure in `E-0050`, the existing
124
+ completion-packet check shape, Evidence table/manifest variants, and current
125
+ read-only fingerprint tests. Keep changes to the smallest contract/CLI/docs/test
126
+ surface required here.
127
+
128
+ At completion, report the commit SHA, changed files, exact test commands/counts,
129
+ sample JSON for `pcl resume` and `pcl evidence show`, read-only proof, backward
130
+ compatibility proof, and unresolved limitations. Do not push or merge.
@@ -0,0 +1,57 @@
1
+ # 0140: KPI post-integration data sources
2
+
3
+ - **Status:** Approved release blocker
4
+ - **Milestone:** v0.4.0 release candidate
5
+ - **Priority:** P0
6
+ - **Estimated size:** S
7
+ - **Dependencies:** 0135 and 0137 merged
8
+
9
+ ## Problem
10
+
11
+ `pcl report kpi` still labels finish and handoff metrics with
12
+ `not_available_until_task_0135` and `not_available_until_task_0137` after both
13
+ tasks have shipped. The wording is stale. Some finish metrics can now be derived
14
+ from durable `completion_packet_created` events, while `pcl resume` intentionally
15
+ remains read-only and records no execution event.
16
+
17
+ ## Goal
18
+
19
+ Report the post-integration measurement truth without inventing data:
20
+
21
+ - derive finish execution count and packet outcome distribution from
22
+ `completion_packet_created` events;
23
+ - keep manually measured round-trip savings explicitly unavailable until a
24
+ comparison is recorded;
25
+ - explain that resume and handoff generation counts are unavailable because the
26
+ read-only operation is not recorded.
27
+
28
+ ## Scope
29
+
30
+ 1. Query `completion_packet_created` events using the existing `--since` window.
31
+ 2. Return `finish_execution_count` as the event count and
32
+ `packet_outcome_distribution` as deterministic outcome counts.
33
+ 3. Return `null` plus `no_data_in_window` for the distribution when no finish
34
+ event exists in the selected window.
35
+ 4. Return `finish_roundtrips_saved: null` with
36
+ `manual_comparison_not_recorded` and a factual manual-comparison data source.
37
+ 5. Return both handoff metrics as `null` with
38
+ `read_only_operation_not_recorded` and a factual `pcl resume` data source.
39
+ 6. Update the stable empty fixture and add event/window regression coverage.
40
+
41
+ ## Invariants
42
+
43
+ - `pcl report kpi` remains fully read-only.
44
+ - `kpi-report/v1` section and metric names remain unchanged.
45
+ - No resume telemetry, schema migration, dependency, external transmission, or
46
+ fabricated estimate is introduced.
47
+ - Malformed recorded event payloads fail explicitly instead of being skipped.
48
+
49
+ ## Acceptance criteria
50
+
51
+ - Empty repositories report finish count `0`, no-data distribution, manual
52
+ round-trip reason, and read-only handoff reasons without stale task IDs.
53
+ - Multiple completion events produce a deterministic outcome distribution.
54
+ - `--since` excludes older completion events.
55
+ - DB size/counts and JSONL bytes remain unchanged by the report.
56
+ - Targeted KPI tests, ruff, and the full test suite pass.
57
+