project-loop-harness 0.4.1__tar.gz → 0.4.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 (551) hide show
  1. {project_loop_harness-0.4.1/src/project_loop_harness.egg-info → project_loop_harness-0.4.3}/PKG-INFO +80 -1
  2. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/README.md +79 -0
  3. project_loop_harness-0.4.3/agent-tasks/0146-work-brief-evidence-contract.md +77 -0
  4. project_loop_harness-0.4.3/agent-tasks/0147-deterministic-route-recommendation.md +53 -0
  5. project_loop_harness-0.4.3/agent-tasks/0148-adaptive-policy-resolve-explain.md +52 -0
  6. project_loop_harness-0.4.3/agent-tasks/0149-route-policy-override-integration.md +47 -0
  7. project_loop_harness-0.4.3/agent-tasks/0149a-adaptive-entry-dogfood.md +19 -0
  8. project_loop_harness-0.4.3/agent-tasks/0149b-v0.4.2-release-preparation.md +12 -0
  9. project_loop_harness-0.4.3/agent-tasks/0150-evidence-set-completeness-contract.md +49 -0
  10. project_loop_harness-0.4.3/agent-tasks/0151-completion-policy-terminal-preflight.md +51 -0
  11. project_loop_harness-0.4.3/agent-tasks/0152-next-action-approval-provenance.md +52 -0
  12. project_loop_harness-0.4.3/agent-tasks/0153-cross-skill-integrity-dogfood.md +51 -0
  13. project_loop_harness-0.4.3/agent-tasks/0153b-v0.4.3-release-preparation.md +16 -0
  14. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/README.md +28 -1
  15. project_loop_harness-0.4.3/docs/adaptive-policy-v1.md +92 -0
  16. project_loop_harness-0.4.3/docs/approval-provenance-v1.md +41 -0
  17. project_loop_harness-0.4.3/docs/canonical-state-baseline-v0.4.2.md +75 -0
  18. project_loop_harness-0.4.3/docs/completion-policy-v1.md +91 -0
  19. project_loop_harness-0.4.3/docs/dogfood/adaptive-entry-v0.4.2.md +97 -0
  20. project_loop_harness-0.4.3/docs/dogfood/lp-production-cross-skill-review.md +97 -0
  21. project_loop_harness-0.4.3/docs/dogfood/v0.4.3-cross-skill-integrity.md +108 -0
  22. project_loop_harness-0.4.3/docs/evidence/0146-work-brief-validation.md +48 -0
  23. project_loop_harness-0.4.3/docs/evidence/0147-route-recommendation-validation.md +45 -0
  24. project_loop_harness-0.4.3/docs/evidence/0148-adaptive-policy-validation.md +36 -0
  25. project_loop_harness-0.4.3/docs/evidence/0149-route-override-validation.md +49 -0
  26. project_loop_harness-0.4.3/docs/evidence/0150-evidence-set-validation.md +106 -0
  27. project_loop_harness-0.4.3/docs/evidence/0151-completion-policy-validation.md +82 -0
  28. project_loop_harness-0.4.3/docs/evidence/0152-next-action-approval-provenance-validation.md +90 -0
  29. project_loop_harness-0.4.3/docs/evidence/0152a-agent-mediated-human-approval-validation.md +63 -0
  30. project_loop_harness-0.4.3/docs/evidence/0153-human-dogfood-approval.md +26 -0
  31. project_loop_harness-0.4.3/docs/evidence/d0002-autonomous-continuation-validation.md +45 -0
  32. project_loop_harness-0.4.3/docs/evidence-set-v1.md +88 -0
  33. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/growth-plan-v0.2.4-v0.5.md +34 -0
  34. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/implementation-plan.md +50 -0
  35. project_loop_harness-0.4.3/docs/plan-v0.4.2.md +100 -0
  36. project_loop_harness-0.4.3/docs/plan-v0.4.3.md +120 -0
  37. project_loop_harness-0.4.3/docs/project-loop-harness-v0.2.3-third-party-review.md +1685 -0
  38. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/release-notes/v0.4.1.md +10 -5
  39. project_loop_harness-0.4.3/docs/release-notes/v0.4.2.md +120 -0
  40. project_loop_harness-0.4.3/docs/release-notes/v0.4.3.md +89 -0
  41. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/ADOPTION.md +28 -2
  42. project_loop_harness-0.4.3/docs/route-recommendation-v1.md +68 -0
  43. project_loop_harness-0.4.3/docs/work-brief-v1.md +90 -0
  44. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/pyproject.toml +3 -2
  45. project_loop_harness-0.4.3/src/pcl/__init__.py +1 -0
  46. project_loop_harness-0.4.3/src/pcl/adaptive_policy.py +404 -0
  47. project_loop_harness-0.4.3/src/pcl/approval_provenance.py +160 -0
  48. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/cli.py +492 -11
  49. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/commands.py +118 -0
  50. project_loop_harness-0.4.3/src/pcl/completion_policies.py +272 -0
  51. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/context.py +128 -0
  52. project_loop_harness-0.4.3/src/pcl/contracts/__init__.py +127 -0
  53. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/contracts/completion_packet.py +50 -1
  54. project_loop_harness-0.4.3/src/pcl/contracts/completion_policy.py +128 -0
  55. project_loop_harness-0.4.3/src/pcl/contracts/evidence_set.py +297 -0
  56. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/contracts/handoff_packet.py +42 -2
  57. project_loop_harness-0.4.3/src/pcl/contracts/policies/adaptive-policy-v1-default.json +48 -0
  58. project_loop_harness-0.4.3/src/pcl/contracts/route_override.py +131 -0
  59. project_loop_harness-0.4.3/src/pcl/contracts/route_recommendation.py +136 -0
  60. project_loop_harness-0.4.3/src/pcl/contracts/schemas/adaptive-policy-resolution-v1.schema.json +33 -0
  61. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/contracts/schemas/completion-packet-v1.schema.json +26 -0
  62. project_loop_harness-0.4.3/src/pcl/contracts/schemas/completion-policy-v1.schema.json +29 -0
  63. project_loop_harness-0.4.3/src/pcl/contracts/schemas/evidence-set-v1.schema.json +125 -0
  64. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/contracts/schemas/handoff-packet-v1.schema.json +39 -0
  65. project_loop_harness-0.4.3/src/pcl/contracts/schemas/route-override-v1.schema.json +39 -0
  66. project_loop_harness-0.4.3/src/pcl/contracts/schemas/route-recommendation-v1.schema.json +43 -0
  67. project_loop_harness-0.4.3/src/pcl/contracts/schemas/work-brief-v1.schema.json +93 -0
  68. project_loop_harness-0.4.3/src/pcl/contracts/work_brief.py +281 -0
  69. project_loop_harness-0.4.3/src/pcl/evidence_sets.py +657 -0
  70. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/finish_execution.py +24 -0
  71. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/renderer.py +31 -0
  72. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/resume.py +55 -2
  73. project_loop_harness-0.4.3/src/pcl/route_overrides.py +609 -0
  74. project_loop_harness-0.4.3/src/pcl/routing.py +443 -0
  75. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/stories.py +98 -7
  76. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/templates/skills/project-control-loop/SKILL.md +24 -0
  77. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/validators.py +118 -2
  78. project_loop_harness-0.4.3/src/pcl/work_briefs.py +749 -0
  79. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3/src/project_loop_harness.egg-info}/PKG-INFO +80 -1
  80. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/project_loop_harness.egg-info/SOURCES.txt +77 -0
  81. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/baseline_fixture_tools.py +2 -0
  82. project_loop_harness-0.4.3/tests/fixtures/completion_policy/minimal.json +20 -0
  83. project_loop_harness-0.4.3/tests/fixtures/cross_skill_dogfood/complete/reports/completion_verdict.json +1 -0
  84. project_loop_harness-0.4.3/tests/fixtures/cross_skill_dogfood/complete/reports/coordinate_report.json +1 -0
  85. project_loop_harness-0.4.3/tests/fixtures/cross_skill_dogfood/complete/reports/report-manifest.json +8 -0
  86. project_loop_harness-0.4.3/tests/fixtures/cross_skill_dogfood/complete/reports/responsive_report.json +1 -0
  87. project_loop_harness-0.4.3/tests/fixtures/cross_skill_dogfood/completion-policy.json +20 -0
  88. project_loop_harness-0.4.3/tests/fixtures/cross_skill_dogfood/incomplete/reports/completion_verdict.json +1 -0
  89. project_loop_harness-0.4.3/tests/fixtures/cross_skill_dogfood/incomplete/reports/coordinate_report.json +1 -0
  90. project_loop_harness-0.4.3/tests/fixtures/cross_skill_dogfood/incomplete/reports/report-manifest.json +8 -0
  91. project_loop_harness-0.4.3/tests/fixtures/cross_skill_dogfood/incomplete/reports/responsive_report.json +1 -0
  92. project_loop_harness-0.4.3/tests/fixtures/evidence_set/minimal.json +41 -0
  93. project_loop_harness-0.4.3/tests/fixtures/evidence_set/report-manifest.json +10 -0
  94. project_loop_harness-0.4.3/tests/fixtures/evidence_set/visual-check.json +4 -0
  95. project_loop_harness-0.4.3/tests/fixtures/v0.3.1-baseline/snapshots/pcl-help.json +9 -0
  96. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/pcl-version.json +1 -1
  97. project_loop_harness-0.4.3/tests/fixtures/work_brief/minimal.json +43 -0
  98. project_loop_harness-0.4.3/tests/fixtures/work_brief/negative-embedded-route.json +22 -0
  99. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/mcp/fixtures/wire-transcript.json +1 -1
  100. project_loop_harness-0.4.3/tests/test_adaptive_policy.py +188 -0
  101. project_loop_harness-0.4.3/tests/test_completion_policy.py +350 -0
  102. project_loop_harness-0.4.3/tests/test_cross_skill_integrity_dogfood.py +194 -0
  103. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_dashboard_data_contract.py +1 -0
  104. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_defects.py +10 -1
  105. project_loop_harness-0.4.3/tests/test_evidence_sets.py +413 -0
  106. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_finish.py +25 -0
  107. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_lifecycle_integrity.py +8 -0
  108. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_next_actions.py +55 -0
  109. project_loop_harness-0.4.3/tests/test_route_overrides.py +251 -0
  110. project_loop_harness-0.4.3/tests/test_route_recommendation.py +222 -0
  111. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_skill_command_examples.py +30 -0
  112. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_stories.py +7 -3
  113. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_validation.py +23 -23
  114. project_loop_harness-0.4.3/tests/test_work_briefs.py +418 -0
  115. project_loop_harness-0.4.1/src/pcl/__init__.py +0 -1
  116. project_loop_harness-0.4.1/src/pcl/contracts/__init__.py +0 -41
  117. project_loop_harness-0.4.1/tests/fixtures/v0.3.1-baseline/snapshots/pcl-help.json +0 -9
  118. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/LICENSE +0 -0
  119. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/MANIFEST.in +0 -0
  120. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/Makefile +0 -0
  121. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0001-hardening-cli.md +0 -0
  122. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0002-db-migrations.md +0 -0
  123. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0003-workflow-runner.md +0 -0
  124. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0004-dashboard-renderer.md +0 -0
  125. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0005-agent-integration.md +0 -0
  126. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0006-codex-plugin.md +0 -0
  127. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0007-mcp-server.md +0 -0
  128. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0008-loop-lifecycle.md +0 -0
  129. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0009-defect-lifecycle.md +0 -0
  130. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0010-reporting-evidence.md +0 -0
  131. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0011-validation-invariants.md +0 -0
  132. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0012-audit-log-integrity.md +0 -0
  133. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0013-validation-diagnostics.md +0 -0
  134. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0014-escalation-lifecycle.md +0 -0
  135. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0015-decision-lifecycle.md +0 -0
  136. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0016-escalation-decision-linkage.md +0 -0
  137. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0017-next-action-guided-loop.md +0 -0
  138. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0018-readme-golden-path.md +0 -0
  139. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0019-recovery-playbook.md +0 -0
  140. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0020-example-project-refresh.md +0 -0
  141. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0021-agent-adapter-contract.md +0 -0
  142. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0022-agent-output-validation.md +0 -0
  143. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0023-codex-exec-adapter-hardening.md +0 -0
  144. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0024-claude-manual-adapter-hardening.md +0 -0
  145. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0025-generic-shell-adapter.md +0 -0
  146. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0026-agent-job-evidence-ingestion.md +0 -0
  147. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0027-dashboard-data-contract.md +0 -0
  148. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0028-dashboard-evidence-navigation.md +0 -0
  149. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0029-dashboard-risk-and-blockers.md +0 -0
  150. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0030-distribution-readiness.md +0 -0
  151. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0031-workflow-proposal-mode.md +0 -0
  152. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0032-workflow-proposal-review.md +0 -0
  153. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0033-workflow-verifier.md +0 -0
  154. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0034-limited-execution-sandbox.md +0 -0
  155. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0035-automatic-workflow-executor.md +0 -0
  156. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0036-executor-dogfood-workflow.md +0 -0
  157. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0037-executor-retry-resume.md +0 -0
  158. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0038-story-test-lifecycle.md +0 -0
  159. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0039-workflow-yaml-rule-expressions.md +0 -0
  160. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0040-test-case-evidence-validation.md +0 -0
  161. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0041-feature-inspection-commands.md +0 -0
  162. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0042-report-coverage-context.md +0 -0
  163. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0043-feature-report.md +0 -0
  164. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0044-complete-csv-export.md +0 -0
  165. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0045-filtered-job-inspection.md +0 -0
  166. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0046-feature-status-lifecycle.md +0 -0
  167. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0047-feature-coverage-next-action.md +0 -0
  168. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0048-migration-status-command.md +0 -0
  169. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0049-render-json-artifact-paths.md +0 -0
  170. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0050-codex-plugin-package-inventory.md +0 -0
  171. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0051-mcp-render-artifact-paths.md +0 -0
  172. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0052-lifecycle-failure-job-cleanup.md +0 -0
  173. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0053-prompt-job-json-handoff.md +0 -0
  174. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0054-human-queue-linkage-cli.md +0 -0
  175. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0055-workflow-proposal-list-filter.md +0 -0
  176. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0056-sandbox-noop-execution-guard.md +0 -0
  177. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0057-executor-no-executable-step-guard.md +0 -0
  178. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0058-dogfood-usability-hardening.md +0 -0
  179. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0059-checkpoint-review-guidance.md +0 -0
  180. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0060-pypi-trusted-publishing.md +0 -0
  181. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0061-context-pack-v1.md +0 -0
  182. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0062-task-backlog-entity.md +0 -0
  183. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0063-structured-verification-rubric.md +0 -0
  184. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0064-task-loop-integration.md +0 -0
  185. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0065-dashboard-human-decisions.md +0 -0
  186. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0066-agent-registry-lease.md +0 -0
  187. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0067-context-pack-improvements.md +0 -0
  188. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0068-trust-hardening.md +0 -0
  189. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0069-explainable-code-context-v0.md +0 -0
  190. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0070-human-decision-cockpit.md +0 -0
  191. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0071-dogfood-impact-precision.md +0 -0
  192. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0072-sensitive-omission.md +0 -0
  193. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0073-code-context-module-split.md +0 -0
  194. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0074-search-snapshot-consistency.md +0 -0
  195. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0075-diff-source-modes.md +0 -0
  196. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0076-schema-version-integrity.md +0 -0
  197. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0077-index-output-budget-and-impact-noise.md +0 -0
  198. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0078-context-pack-code-context-bridge.md +0 -0
  199. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0079-receipt-human-summary.md +0 -0
  200. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0080-retrieval-eval-gate.md +0 -0
  201. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0081-diff-modes-completion.md +0 -0
  202. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0082-receipt-relevance-and-age.md +0 -0
  203. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0083-required-section-invariant.md +0 -0
  204. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0084-source-commands-honesty.md +0 -0
  205. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0085-distribution-source-completeness.md +0 -0
  206. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0086-command-surface-alignment.md +0 -0
  207. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0087-verification-suggestion-ids.md +0 -0
  208. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0088-verification-feedback.md +0 -0
  209. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0089-dogfood-fixture-propose.md +0 -0
  210. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0090-eval-baseline-record-compare.md +0 -0
  211. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0091-refresh-command-scope-fidelity.md +0 -0
  212. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0092-idempotent-status-transitions.md +0 -0
  213. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0093-evidence-add-command.md +0 -0
  214. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0094-job-completion-evidence.md +0 -0
  215. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0095-supporting-evidence-health.md +0 -0
  216. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0096-evidence-add-path-guards.md +0 -0
  217. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0097-evidence-durability-design.md +0 -0
  218. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0098-field-feedback-next-weight-and-run-report-scope.md +0 -0
  219. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0099-evidence-copy-mode.md +0 -0
  220. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0100-evidence-task-linking.md +0 -0
  221. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0101-evidence-id-allocation-race.md +0 -0
  222. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0102-source-drift-health-warning.md +0 -0
  223. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0103-security-policy-v02x.md +0 -0
  224. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0104-python-ci-matrix.md +0 -0
  225. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0105-evidence-copy-observability.md +0 -0
  226. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0106-release-checklist.md +0 -0
  227. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0107-agent-tasks-backlog-index.md +0 -0
  228. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0108-target-bound-code-context-receipts.md +0 -0
  229. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0113-evidence-links-table.md +0 -0
  230. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0114-source-hash-drift.md +0 -0
  231. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0115-context-pack-contract-fixtures.md +0 -0
  232. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0116-receipt-link-agreement-validation.md +0 -0
  233. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0117-markdown-target-refresh-command.md +0 -0
  234. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0118-canonical-target-bound-handoff-docs.md +0 -0
  235. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0119-context-check-preflight.md +0 -0
  236. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0120-pcl-finish-terminal-closeout.md +0 -0
  237. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0121-human-gate-japanese-guidance.md +0 -0
  238. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0122-feature-coverage-noop.md +0 -0
  239. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0123-master-trace-intent-index-contract.md +0 -0
  240. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0124-baseline-fixtures-v0-3-1.md +0 -0
  241. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0125-mcp-stdio-framing-negotiation.md +0 -0
  242. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0126-mcp-external-conformance.md +0 -0
  243. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0127-transactional-audit-outbox-design.md +0 -0
  244. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0128-event-outbox-jsonl-projector.md +0 -0
  245. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0129-audit-check-repair-rebuild.md +0 -0
  246. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0130-crash-concurrency-test-suite.md +0 -0
  247. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0131-guarded-executor-hardening.md +0 -0
  248. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0132-master-trace-context-pack-section.md +0 -0
  249. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0133-windows-lock-fallback.md +0 -0
  250. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0134-completion-packet-v1-contract.md +0 -0
  251. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0135-finish-emits-completion-packet.md +0 -0
  252. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0136-lite-pcl-start.md +0 -0
  253. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0137-handoff-packet-pcl-resume.md +0 -0
  254. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0138-kpi-report-surface.md +0 -0
  255. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0139-executable-resume-context.md +0 -0
  256. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0140-kpi-post-integration-sources.md +0 -0
  257. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0140a-skill-cli-contract-parity.md +0 -0
  258. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0140b-lifecycle-integrity-gate.md +0 -0
  259. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0140c-fail-open-check-guard.md +0 -0
  260. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0141-idle-routing-repair.md +0 -0
  261. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0142-lifecycle-repair-planner.md +0 -0
  262. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0143-terminal-link-repair.md +0 -0
  263. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0144-skill-runtime-provenance.md +0 -0
  264. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0145-structured-validation-diagnostics.md +0 -0
  265. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0145a-integrity-migration-dogfood.md +0 -0
  266. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/agent-tasks/0145b-v0.4.1-release-preparation.md +0 -0
  267. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/adoption-guide.md +0 -0
  268. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/adr/0001-hybrid-state.md +0 -0
  269. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/adr/0002-cli-is-the-runtime.md +0 -0
  270. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/adr/0003-static-workflows-before-dynamic-workflows.md +0 -0
  271. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/adr/ADR-002-transactional-audit-outbox.md +0 -0
  272. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/agent-adapter-contract.md +0 -0
  273. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/agent-output-template.md +0 -0
  274. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/agent-roles.md +0 -0
  275. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/architecture.md +0 -0
  276. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/code-context.md +0 -0
  277. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/completion-packet-v1.md +0 -0
  278. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/context-check.md +0 -0
  279. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/context-pack.md +0 -0
  280. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/crash-concurrency-reliability.md +0 -0
  281. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/dashboard-data-contract.md +0 -0
  282. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/dashboard-design.md +0 -0
  283. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/data-model.md +0 -0
  284. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/distribution.md +0 -0
  285. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/dogfood-report-v0.4.1-integrity-migration.md +0 -0
  286. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/dogfood-report-v0.4.md +0 -0
  287. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/event-outbox-compatibility.md +0 -0
  288. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/evidence/0136-pcl-start-demo.md +0 -0
  289. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/evidence-durability-design.md +0 -0
  290. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/evidence-entry-paths-design.md +0 -0
  291. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/feedback/2026-07-06-ax1-moc1-agent-feedback.md +0 -0
  292. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/finish.md +0 -0
  293. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/golden-path.md +0 -0
  294. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/handoff-packet-v1.md +0 -0
  295. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/master-trace-handoff.md +0 -0
  296. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/master-trace-intent-index.md +0 -0
  297. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/mcp-compatibility.md +0 -0
  298. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/mcp-manual-smoke-runbook.md +0 -0
  299. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/pcl-start.md +0 -0
  300. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/plan-v0.4.0.md +0 -0
  301. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/plan-v0.4.1.md +0 -0
  302. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/plh_v0_1_11_review_agenda.md +0 -0
  303. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/plh_v0_1_12_review_agenda.md +0 -0
  304. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/pypi-publishing.md +0 -0
  305. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/recovery-playbook.md +0 -0
  306. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/release-checklist.md +0 -0
  307. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/release-notes/v0.2.4.md +0 -0
  308. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/release-notes/v0.3.0.md +0 -0
  309. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/release-notes/v0.3.1.md +0 -0
  310. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/release-notes/v0.3.3.md +0 -0
  311. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/release-notes/v0.4.0.md +0 -0
  312. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/releases/v0.3.1-baseline.md +0 -0
  313. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/releases/v0.3.3-mcp-stdio.md +0 -0
  314. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/00-executive-roadmap.md +0 -0
  315. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/01-adaptive-loop-architecture.md +0 -0
  316. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/02-contracts-and-data-model.md +0 -0
  317. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/03-implementation-plan.md +0 -0
  318. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/04-evaluation-and-rollout.md +0 -0
  319. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/05-pdm-discussion-guide.md +0 -0
  320. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/06-cli-contract-draft.md +0 -0
  321. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/07-state-machines-and-events.md +0 -0
  322. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/08-repository-integration.md +0 -0
  323. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/09-ai-plc-integration-mapping.md +0 -0
  324. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/README.md +0 -0
  325. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/SOURCE_BASIS.md +0 -0
  326. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/VALIDATION_REPORT.md +0 -0
  327. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/adr/ADR-001-profile-not-entity.md +0 -0
  328. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/adr/ADR-002-transactional-audit-outbox.md +0 -0
  329. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/adr/ADR-003-adaptive-policy-axes.md +0 -0
  330. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/adr/ADR-004-contract-first-promotion.md +0 -0
  331. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0123-release-v0-3-1-baseline.md +0 -0
  332. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0124-mcp-stdio-framing-negotiation.md +0 -0
  333. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0125-mcp-external-conformance.md +0 -0
  334. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0126-transactional-audit-outbox-design.md +0 -0
  335. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0127-event-outbox-jsonl-projector.md +0 -0
  336. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0128-audit-check-repair-rebuild.md +0 -0
  337. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0129-crash-concurrency-test-suite.md +0 -0
  338. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0130-guarded-executor-hardening.md +0 -0
  339. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0131-completion-packet-v1-contract.md +0 -0
  340. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0132-finish-emits-completion-packet.md +0 -0
  341. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0133-lite-pcl-start.md +0 -0
  342. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0134-handoff-packet-pcl-resume.md +0 -0
  343. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0135-work-brief-v1-evidence.md +0 -0
  344. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0136-deterministic-route-recommendation.md +0 -0
  345. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0137-adaptive-policy-explain-override.md +0 -0
  346. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0138-work-brief-revision-replan.md +0 -0
  347. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0139-stale-invalidation-propagation.md +0 -0
  348. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0140-verifier-provenance-separation.md +0 -0
  349. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0141-risk-based-verification-policy.md +0 -0
  350. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0142-profile-contract-boundary.md +0 -0
  351. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0143-discovery-reference-profile.md +0 -0
  352. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0144-decision-proposal-human-selection.md +0 -0
  353. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0145-master-trace-handoff-integration.md +0 -0
  354. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0146-capability-profile-v0.md +0 -0
  355. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0147-budget-profile-incomplete-packet.md +0 -0
  356. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0148-context-cache-delta-handoff.md +0 -0
  357. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0149-knowledge-proposal-experiment.md +0 -0
  358. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0150-cross-model-evaluation-harness.md +0 -0
  359. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0151-design-partner-operations.md +0 -0
  360. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/0152-adoption-stability-release.md +0 -0
  361. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/agent-tasks-proposed/README.md +0 -0
  362. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/handoff/ARCHITECTURE_REVIEW_PROMPT.md +0 -0
  363. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/handoff/IMPLEMENTATION_AGENT_PROMPT.md +0 -0
  364. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/roadmap/integrated/handoff/PDM_REVIEW_PROMPT.md +0 -0
  365. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/safety-permissions.md +0 -0
  366. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/v0.2.0-plan.md +0 -0
  367. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/verification-feedback-design.md +0 -0
  368. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/verification-feedback.md +0 -0
  369. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/verification-rubric.md +0 -0
  370. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/docs/workflow-contract.md +0 -0
  371. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/scripts/run_advisory_retrieval_eval.py +0 -0
  372. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/scripts/verify_sdist_contracts.py +0 -0
  373. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/setup.cfg +0 -0
  374. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/__main__.py +0 -0
  375. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/agents.py +0 -0
  376. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/audit.py +0 -0
  377. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/checkpoints.py +0 -0
  378. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/__init__.py +0 -0
  379. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/diff.py +0 -0
  380. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/eval.py +0 -0
  381. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/impact.py +0 -0
  382. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/receipts.py +0 -0
  383. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/scan.py +0 -0
  384. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/search.py +0 -0
  385. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/store.py +0 -0
  386. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/summary.py +0 -0
  387. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/symbols.py +0 -0
  388. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_context/test_hints.py +0 -0
  389. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/code_index.py +0 -0
  390. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/context_binding.py +0 -0
  391. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/context_usage.py +0 -0
  392. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/db/migrations/001_initial.sql +0 -0
  393. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/db/migrations/002_tasks.sql +0 -0
  394. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/db/migrations/003_agent_registry.sql +0 -0
  395. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/db/migrations/004_code_index.sql +0 -0
  396. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/db/migrations/005_verification_feedback.sql +0 -0
  397. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/db/migrations/006_evidence_task_link.sql +0 -0
  398. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/db/migrations/007_evidence_links.sql +0 -0
  399. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/db/migrations/008_event_outbox.sql +0 -0
  400. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/db/schema.sql +0 -0
  401. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/db.py +0 -0
  402. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/decisions.py +0 -0
  403. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/dispatch.py +0 -0
  404. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/errors.py +0 -0
  405. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/escalations.py +0 -0
  406. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/events.py +0 -0
  407. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/evidence.py +0 -0
  408. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/evidence_show.py +0 -0
  409. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/exporters.py +0 -0
  410. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/guarded_process.py +0 -0
  411. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/guards.py +0 -0
  412. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/ids.py +0 -0
  413. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/init_project.py +0 -0
  414. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/kpi_report.py +0 -0
  415. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/lifecycle.py +0 -0
  416. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/lifecycle_repair.py +0 -0
  417. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/links.py +0 -0
  418. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/locales.py +0 -0
  419. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/locks.py +0 -0
  420. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/mcp_server.py +0 -0
  421. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/migrations.py +0 -0
  422. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/outbox.py +0 -0
  423. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/paths.py +0 -0
  424. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/receipt_show.py +0 -0
  425. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/redaction.py +0 -0
  426. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/registry.py +0 -0
  427. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/relationship_repair.py +0 -0
  428. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/reports.py +0 -0
  429. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/resources.py +0 -0
  430. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/rubric.py +0 -0
  431. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/start.py +0 -0
  432. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/tasks.py +0 -0
  433. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/templates/dashboard/dashboard.html +0 -0
  434. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/templates/project/AGENTS.block.md +0 -0
  435. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/templates/project/CLAUDE.block.md +0 -0
  436. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/templates/project/gitignore.fragment +0 -0
  437. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/templates/project/pcl.yaml +0 -0
  438. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/templates/workflows/defect_repair.yaml +0 -0
  439. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/templates/workflows/executor_smoke.yaml +0 -0
  440. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/templates/workflows/feature_coverage.yaml +0 -0
  441. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/templates/workflows/regression_loop.yaml +0 -0
  442. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/test_faults.py +0 -0
  443. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/timeutil.py +0 -0
  444. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/token_estimation.py +0 -0
  445. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/update_check.py +0 -0
  446. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/verification_feedback.py +0 -0
  447. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/verifications.py +0 -0
  448. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/workflow_executor.py +0 -0
  449. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/workflow_proposal_validation.py +0 -0
  450. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/workflow_proposals.py +0 -0
  451. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/workflow_sandbox.py +0 -0
  452. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/workflow_verifier.py +0 -0
  453. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/workflow_yaml.py +0 -0
  454. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/pcl/workflows.py +0 -0
  455. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/project_loop_harness.egg-info/dependency_links.txt +0 -0
  456. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/project_loop_harness.egg-info/entry_points.txt +0 -0
  457. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/project_loop_harness.egg-info/requires.txt +0 -0
  458. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/src/project_loop_harness.egg-info/top_level.txt +0 -0
  459. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/code_context_summary_v0.json +0 -0
  460. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/completion_packet/full.json +0 -0
  461. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/completion_packet/minimal.json +0 -0
  462. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/completion_packet/negative-budget-next-action.json +0 -0
  463. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/completion_packet/negative-cases.json +0 -0
  464. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/completion_packet/negative-critical-proof.json +0 -0
  465. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/completion_packet/negative-passed-result.json +0 -0
  466. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/context_pack_code_context_contract_v0.json +0 -0
  467. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/context_receipt_v0.json +0 -0
  468. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/context_receipt_v0_legacy_string_suggestions.json +0 -0
  469. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/handoff_packet/minimal.json +0 -0
  470. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/kpi_report_empty_v1.json +0 -0
  471. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/lifecycle_repair/all_classifications_v1.json +0 -0
  472. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/master_trace_context_contract_v0.json +0 -0
  473. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/retrieval_adversarial_v0.json +0 -0
  474. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/retrieval_real_history_v0.json +0 -0
  475. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/retrieval_v0.json +0 -0
  476. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/start_initialized_v1.json +0 -0
  477. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/context-check-help.json +0 -0
  478. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/empty-context-check-json.json +0 -0
  479. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/empty-next-json.json +0 -0
  480. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/empty-render-json.json +0 -0
  481. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/empty-validate-strict-json.json +0 -0
  482. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/next-help.json +0 -0
  483. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/render-help.json +0 -0
  484. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/representative-context-check-json.json +0 -0
  485. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/representative-next-json.json +0 -0
  486. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/representative-render-json.json +0 -0
  487. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/representative-validate-strict-json.json +0 -0
  488. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/fixtures/v0.3.1-baseline/snapshots/validate-help.json +0 -0
  489. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/mcp/conftest.py +0 -0
  490. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/mcp/fixtures/negative-matrix.json +0 -0
  491. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/mcp/test_external_conformance.py +0 -0
  492. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_advisory_retrieval_eval_script.py +0 -0
  493. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_agent_adapter_contract.py +0 -0
  494. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_agent_output_validation.py +0 -0
  495. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_agents.py +0 -0
  496. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_audit_commands.py +0 -0
  497. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_audit_log_integrity.py +0 -0
  498. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_baseline_fixtures.py +0 -0
  499. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_checkpoints.py +0 -0
  500. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_claude_manual_adapter.py +0 -0
  501. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_cli_init.py +0 -0
  502. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_code_context_summary.py +0 -0
  503. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_code_index.py +0 -0
  504. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_codex_exec_adapter.py +0 -0
  505. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_codex_plugin.py +0 -0
  506. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_completion_packet_contract.py +0 -0
  507. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_completion_packet_package.py +0 -0
  508. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_context.py +0 -0
  509. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_context_check.py +0 -0
  510. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_contract_cli.py +0 -0
  511. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_crash_concurrency.py +0 -0
  512. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_dashboard.py +0 -0
  513. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_decisions.py +0 -0
  514. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_dispatch.py +0 -0
  515. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_distribution.py +0 -0
  516. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_escalations.py +0 -0
  517. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_event_outbox.py +0 -0
  518. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_evidence_add.py +0 -0
  519. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_evidence_show.py +0 -0
  520. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_examples.py +0 -0
  521. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_execution_provenance.py +0 -0
  522. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_features.py +0 -0
  523. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_generic_shell_adapter.py +0 -0
  524. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_golden_path.py +0 -0
  525. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_guarded_process.py +0 -0
  526. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_handoff_packet_contract.py +0 -0
  527. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_integrity_migration_dogfood.py +0 -0
  528. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_kpi_report.py +0 -0
  529. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_lifecycle.py +0 -0
  530. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_lifecycle_repair.py +0 -0
  531. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_locks.py +0 -0
  532. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_mcp_server.py +0 -0
  533. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_migrations.py +0 -0
  534. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_pypi_publishing.py +0 -0
  535. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_receipt_show.py +0 -0
  536. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_recovery_playbook.py +0 -0
  537. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_registry.py +0 -0
  538. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_reports.py +0 -0
  539. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_resume.py +0 -0
  540. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_rubric.py +0 -0
  541. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_start.py +0 -0
  542. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_tasks.py +0 -0
  543. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_update_check.py +0 -0
  544. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_validation_diagnostics.py +0 -0
  545. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_validation_finding_sources.py +0 -0
  546. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_verification_feedback.py +0 -0
  547. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_workflow_executor.py +0 -0
  548. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_workflow_proposals.py +0 -0
  549. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_workflow_sandbox.py +0 -0
  550. {project_loop_harness-0.4.1 → project_loop_harness-0.4.3}/tests/test_workflow_verifier.py +0 -0
  551. {project_loop_harness-0.4.1 → project_loop_harness-0.4.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.4.1
3
+ Version: 0.4.3
4
4
  Summary: Local control plane for agentic project development loops
5
5
  Author: Project Loop Harness Contributors
6
6
  License: MIT
@@ -245,6 +245,85 @@ Markdown.
245
245
  See [docs/context-pack.md](docs/context-pack.md) for the contract shape and
246
246
  boundaries.
247
247
 
248
+ ## Work Briefs
249
+
250
+ An optional `work-brief/v1` artifact can capture a target's reviewed intent,
251
+ acceptance criteria, constraints, non-goals, and assumptions without changing
252
+ the default `pcl start` path:
253
+
254
+ ```bash
255
+ pcl contract validate --type work-brief/v1 work-brief.json --json
256
+ pcl brief add work-brief.json --summary "Reviewed execution input" --dry-run --json
257
+ pcl brief add work-brief.json --summary "Reviewed execution input" --json
258
+ pcl brief review E-0001 --actor "agent:codex" --actor-kind agent \
259
+ --reason "Self-review completed; human gate remains open" --json
260
+ # Normally run by the agent after the human says "approve" in conversation:
261
+ pcl brief approve E-0001 --actor "human:owner" --actor-kind human \
262
+ --recorded-by "agent:codex" --recorder-kind agent \
263
+ --source-kind conversation --source-ref "conversation:<approval-reference>" \
264
+ --reason "Human explicitly approved the presented review packet" --json
265
+ pcl brief show --target task:T-0001 --json
266
+ pcl route recommend --target task:T-0001 --json
267
+ pcl policy explain --target task:T-0001
268
+ pcl route override --target task:T-0001 --profile assure \
269
+ --actor "human:owner" --reason "Require independent review" --dry-run --json
270
+ pcl route override --target task:T-0001 --profile assure \
271
+ --actor "human:owner" --reason "Require independent review" --json
272
+ pcl route current --target task:T-0001 --json
273
+ ```
274
+
275
+ Brief content is immutable Evidence. Review and approval are separate
276
+ hash-bound events: agent/system review cannot satisfy the human approval gate.
277
+ Task context, resume, and dashboard data expose the factual actor kind, actor,
278
+ recorder, source reference, timestamp, target, and bound hash without treating
279
+ assumptions as facts. Humans normally approve in conversation or Cockpit; the
280
+ agent records that decision through PCL. Direct human CLI use remains a
281
+ compatibility path, not the expected routine UX. See
282
+ [docs/work-brief-v1.md](docs/work-brief-v1.md).
283
+ Deterministic Direct/Discover/Assure recommendation is documented in
284
+ [docs/route-recommendation-v1.md](docs/route-recommendation-v1.md).
285
+ Multi-axis resolution and field-level source rules are documented in
286
+ [docs/adaptive-policy-v1.md](docs/adaptive-policy-v1.md).
287
+ An applied override preserves its original recommendation and policy
288
+ resolution as separate hash-bound Evidence. Task context, completion packets,
289
+ and resume handoffs expose additive references without rewriting historical
290
+ artifacts.
291
+
292
+ ## Evidence Sets
293
+
294
+ Use `evidence-set/v1` when one passing artifact is not enough and the target
295
+ must retain which declared reports were included or excluded:
296
+
297
+ ```bash
298
+ pcl evidence-set plan --target task:T-0001 --work-root work/lp \
299
+ --manifest work/lp/reports/report-manifest.json \
300
+ --required-kind visual_check \
301
+ --include visual_check=E-0001:acceptance --json
302
+ pcl evidence-set record --target task:T-0001 --work-root work/lp \
303
+ --manifest work/lp/reports/report-manifest.json \
304
+ --required-kind visual_check \
305
+ --include visual_check=E-0001:acceptance \
306
+ --summary "LP verification evidence set" --json
307
+ ```
308
+
309
+ Planning is read-only. Recording creates immutable, target-linked Evidence and
310
+ keeps known exclusions visible. See
311
+ [docs/evidence-set-v1.md](docs/evidence-set-v1.md).
312
+
313
+ Use a domain-neutral completion policy when a Test must require an external
314
+ JSON verdict rather than merely retain the report set:
315
+
316
+ ```bash
317
+ pcl completion evaluate --policy completion-policy.json \
318
+ --evidence-set E-0003 --test TC-0001 --json
319
+ pcl test pass TC-0001 --summary "Completion contract passed" \
320
+ --evidence-id E-0003 --completion-policy completion-policy.json --json
321
+ ```
322
+
323
+ Only allowlisted JSON predicates are evaluated. The Evidence Set must target
324
+ the exact Test, remain complete, and retain matching report hashes. See
325
+ [docs/completion-policy-v1.md](docs/completion-policy-v1.md).
326
+
248
327
  ## Explainable Code Context
249
328
 
250
329
  Build a local code context snapshot when an agent handoff needs auditable code
@@ -211,6 +211,85 @@ Markdown.
211
211
  See [docs/context-pack.md](docs/context-pack.md) for the contract shape and
212
212
  boundaries.
213
213
 
214
+ ## Work Briefs
215
+
216
+ An optional `work-brief/v1` artifact can capture a target's reviewed intent,
217
+ acceptance criteria, constraints, non-goals, and assumptions without changing
218
+ the default `pcl start` path:
219
+
220
+ ```bash
221
+ pcl contract validate --type work-brief/v1 work-brief.json --json
222
+ pcl brief add work-brief.json --summary "Reviewed execution input" --dry-run --json
223
+ pcl brief add work-brief.json --summary "Reviewed execution input" --json
224
+ pcl brief review E-0001 --actor "agent:codex" --actor-kind agent \
225
+ --reason "Self-review completed; human gate remains open" --json
226
+ # Normally run by the agent after the human says "approve" in conversation:
227
+ pcl brief approve E-0001 --actor "human:owner" --actor-kind human \
228
+ --recorded-by "agent:codex" --recorder-kind agent \
229
+ --source-kind conversation --source-ref "conversation:<approval-reference>" \
230
+ --reason "Human explicitly approved the presented review packet" --json
231
+ pcl brief show --target task:T-0001 --json
232
+ pcl route recommend --target task:T-0001 --json
233
+ pcl policy explain --target task:T-0001
234
+ pcl route override --target task:T-0001 --profile assure \
235
+ --actor "human:owner" --reason "Require independent review" --dry-run --json
236
+ pcl route override --target task:T-0001 --profile assure \
237
+ --actor "human:owner" --reason "Require independent review" --json
238
+ pcl route current --target task:T-0001 --json
239
+ ```
240
+
241
+ Brief content is immutable Evidence. Review and approval are separate
242
+ hash-bound events: agent/system review cannot satisfy the human approval gate.
243
+ Task context, resume, and dashboard data expose the factual actor kind, actor,
244
+ recorder, source reference, timestamp, target, and bound hash without treating
245
+ assumptions as facts. Humans normally approve in conversation or Cockpit; the
246
+ agent records that decision through PCL. Direct human CLI use remains a
247
+ compatibility path, not the expected routine UX. See
248
+ [docs/work-brief-v1.md](docs/work-brief-v1.md).
249
+ Deterministic Direct/Discover/Assure recommendation is documented in
250
+ [docs/route-recommendation-v1.md](docs/route-recommendation-v1.md).
251
+ Multi-axis resolution and field-level source rules are documented in
252
+ [docs/adaptive-policy-v1.md](docs/adaptive-policy-v1.md).
253
+ An applied override preserves its original recommendation and policy
254
+ resolution as separate hash-bound Evidence. Task context, completion packets,
255
+ and resume handoffs expose additive references without rewriting historical
256
+ artifacts.
257
+
258
+ ## Evidence Sets
259
+
260
+ Use `evidence-set/v1` when one passing artifact is not enough and the target
261
+ must retain which declared reports were included or excluded:
262
+
263
+ ```bash
264
+ pcl evidence-set plan --target task:T-0001 --work-root work/lp \
265
+ --manifest work/lp/reports/report-manifest.json \
266
+ --required-kind visual_check \
267
+ --include visual_check=E-0001:acceptance --json
268
+ pcl evidence-set record --target task:T-0001 --work-root work/lp \
269
+ --manifest work/lp/reports/report-manifest.json \
270
+ --required-kind visual_check \
271
+ --include visual_check=E-0001:acceptance \
272
+ --summary "LP verification evidence set" --json
273
+ ```
274
+
275
+ Planning is read-only. Recording creates immutable, target-linked Evidence and
276
+ keeps known exclusions visible. See
277
+ [docs/evidence-set-v1.md](docs/evidence-set-v1.md).
278
+
279
+ Use a domain-neutral completion policy when a Test must require an external
280
+ JSON verdict rather than merely retain the report set:
281
+
282
+ ```bash
283
+ pcl completion evaluate --policy completion-policy.json \
284
+ --evidence-set E-0003 --test TC-0001 --json
285
+ pcl test pass TC-0001 --summary "Completion contract passed" \
286
+ --evidence-id E-0003 --completion-policy completion-policy.json --json
287
+ ```
288
+
289
+ Only allowlisted JSON predicates are evaluated. The Evidence Set must target
290
+ the exact Test, remain complete, and retain matching report hashes. See
291
+ [docs/completion-policy-v1.md](docs/completion-policy-v1.md).
292
+
214
293
  ## Explainable Code Context
215
294
 
216
295
  Build a local code context snapshot when an agent handoff needs auditable code
@@ -0,0 +1,77 @@
1
+ # 0146: Immutable Work Brief Evidence contract
2
+
3
+ - **Status:** Done; human-approved 2026-07-11
4
+ - **Milestone:** v0.4.2 Adaptive Entry
5
+ - **Priority:** P0
6
+ - **Estimated size:** M
7
+ - **Dependencies:** v0.4.1 released; schema 8 consistent
8
+ - **Parallel-safe with:** none
9
+ - **DB schema:** remains 8
10
+
11
+ ## Problem
12
+
13
+ Goal and Task state do not carry a compact, versioned execution input covering
14
+ problem, outcome, acceptance criteria, constraints, non-goals, and assumptions.
15
+ The integrated proposal embeds route output in the brief and stores mutable
16
+ approval status inside an otherwise immutable artifact, creating a dependency
17
+ cycle and unclear authority.
18
+
19
+ ## Goal
20
+
21
+ Package `work-brief/v1` as immutable Evidence content. Link it to an existing
22
+ target through generic Evidence links and record approval as a separate,
23
+ hash-bound mutation event.
24
+
25
+ ## Contract
26
+
27
+ - Required content: contract version, brief ID/revision, target, intent,
28
+ acceptance criteria, constraints, non-goals, assumptions, created-at/by.
29
+ - Route is not required or embedded. A later optional
30
+ `route_recommendation_evidence_id` may reference 0147 output.
31
+ - Artifact content never changes in place.
32
+ - `pcl brief approve` records actor, reason, Evidence ID, target, and artifact
33
+ SHA-256 through the normal event/outbox transaction.
34
+ - The authoritative current brief is the uniquely approved, non-revoked brief
35
+ for the target. Ambiguity fails closed.
36
+
37
+ ## Scope
38
+
39
+ - Package JSON schema, validator, positive/negative fixtures, and CLI contract
40
+ validation.
41
+ - Add read-only `pcl brief show` / target resolution.
42
+ - Add explicit `pcl brief add` and `pcl brief approve` mutations reusing
43
+ Evidence storage/link services.
44
+ - Add optional brief reference/summary to context pack and handoff packet.
45
+ - Keep bare `pcl start` unchanged; any brief creation integration is explicit.
46
+
47
+ ## Invariants
48
+
49
+ - No dedicated brief/intent table or migration.
50
+ - Unapproved brief is never the critical execution contract.
51
+ - Approval does not prove assumptions or Evidence claims.
52
+ - Invalid schema, target mismatch, hash drift, or ambiguous approvals fail
53
+ before state/event/file mutation.
54
+ - Read-only commands do not record usage or write artifacts by default.
55
+
56
+ ## Acceptance criteria
57
+
58
+ - Valid brief can be copied as Evidence and target-linked.
59
+ - Invalid brief creates no DB row, event, outbox record, or final artifact.
60
+ - Approval is auditable and bound to the exact artifact hash.
61
+ - Multiple active approvals fail with a typed ambiguity error.
62
+ - Context/resume show the approved brief reference without inlining the full
63
+ body.
64
+ - Projects without a brief retain byte-compatible default start/finish/resume
65
+ behavior.
66
+ - Schema is present in wheel and sdist.
67
+
68
+ ## Required tests
69
+
70
+ Schema fixtures; add/link/approve/show; hash/target/ambiguity negatives;
71
+ read-only zero-mutation checks; packet/context compatibility; package-data and
72
+ clean-wheel smoke.
73
+
74
+ ## Non-goals
75
+
76
+ Route resolution, policy axes, revision/supersession workflow, LLM authoring,
77
+ Markdown/YAML authoring, Option generation, or Knowledge.
@@ -0,0 +1,53 @@
1
+ # 0147: Deterministic route recommendation
2
+
3
+ - **Status:** Done; human-approved 2026-07-11
4
+ - **Milestone:** v0.4.2 Adaptive Entry
5
+ - **Priority:** P0
6
+ - **Estimated size:** L
7
+ - **Dependencies:** 0146
8
+ - **Parallel-safe with:** none
9
+ - **DB schema:** remains 8
10
+
11
+ ## Goal
12
+
13
+ Produce a read-only `route-recommendation/v1` from explicit, normalized inputs
14
+ without an LLM. The UX profile is `direct`, `discover`, or `assure`; reason
15
+ codes and risk facts remain visible.
16
+
17
+ ## Contract
18
+
19
+ Required fields: contract version, policy version, target, input digest,
20
+ profile, risk level, normalized signals, and stable reason codes. Policy axes
21
+ and override state are not part of this contract.
22
+
23
+ ## Scope
24
+
25
+ - Pure ordered-rule resolver with documented tie breakers.
26
+ - Signal catalog for acceptance completeness, ambiguity, requested paths,
27
+ dependency/migration/auth/security surfaces, deterministic checks, and
28
+ unknown data.
29
+ - Read-only `pcl route recommend --target ... --json`.
30
+ - Optional explicit `--record` stores the exact recommendation as Evidence and
31
+ appends one event/outbox record.
32
+ - Additive start output only when the caller explicitly requests routing.
33
+
34
+ ## Invariants
35
+
36
+ - Same normalized inputs and policy version yield byte-equivalent decision
37
+ content.
38
+ - Model self-assessment is not a risk-lowering signal.
39
+ - Missing information is explicit and cannot silently become Direct.
40
+ - High-risk signals cannot be erased by lower-risk signals.
41
+ - Read-only default does not mutate DB, events, outbox, or filesystem.
42
+
43
+ ## Acceptance criteria
44
+
45
+ Fixtures prove clear low-risk -> Direct, missing acceptance/unverified cause ->
46
+ Discover, and auth/migration/destructive scope -> Assure. Linux/Windows path
47
+ normalization, tie-break ordering, unknown input, JSON stdout purity,
48
+ determinism, explicit record, and old start snapshots are covered.
49
+
50
+ ## Non-goals
51
+
52
+ Policy axes, enforcement, override, model selection, semantic code analysis,
53
+ or automatic workflow launch.
@@ -0,0 +1,52 @@
1
+ # 0148: Adaptive policy resolve and explain
2
+
3
+ - **Status:** Done; human-approved 2026-07-11
4
+ - **Milestone:** v0.4.2 Adaptive Entry
5
+ - **Priority:** P0
6
+ - **Estimated size:** L
7
+ - **Dependencies:** 0147
8
+ - **Parallel-safe with:** none
9
+ - **DB schema:** remains 8
10
+
11
+ ## Goal
12
+
13
+ Resolve versioned multi-axis policy from a route recommendation and explain
14
+ the source rule for every field without changing state.
15
+
16
+ ## Contract
17
+
18
+ `adaptive-policy-resolution/v1` contains policy version/hash, recommendation
19
+ Evidence/reference, input digest, resolved axes, per-field source rules,
20
+ conflicts, and reason codes. Policy source is strict JSON (`adaptive-policy/v1`)
21
+ parsed with the standard library.
22
+
23
+ Axes are planning depth, verification depth, execution chunk size, checkpoint
24
+ frequency, context budget, optional tool/time budgets, and escalation budget.
25
+
26
+ ## Scope
27
+
28
+ - JSON policy schema and packaged default policy.
29
+ - Deterministic precedence: defaults -> project rules -> risk floor.
30
+ - Read-only `pcl policy resolve` and `pcl policy explain` JSON/text surfaces.
31
+ - Typed errors for unknown keys, invalid values, conflicting same-precedence
32
+ rules, and unreadable policy.
33
+ - Per-axis provenance suitable for packet references.
34
+
35
+ ## Invariants
36
+
37
+ - Invalid policy never silently falls back to defaults.
38
+ - Risk floors cannot be lowered by capability or budget signals.
39
+ - Policy change does not reinterpret historical recorded resolutions.
40
+ - No PyYAML or other runtime dependency.
41
+ - Resolve/explain are read-only.
42
+
43
+ ## Acceptance criteria
44
+
45
+ Rule precedence matrix, conflict/unknown-key negatives, deterministic output,
46
+ policy hash stability, field-level explanation, JSON stdout purity, and Direct
47
+ overhead measurements pass.
48
+
49
+ ## Non-goals
50
+
51
+ Override mutation, enforcement, provider pricing, model/tool execution, or
52
+ profile plugins.
@@ -0,0 +1,47 @@
1
+ # 0149: Audited route/policy override and packet integration
2
+
3
+ - **Status:** Done; human-approved 2026-07-11
4
+ - **Milestone:** v0.4.2 Adaptive Entry
5
+ - **Priority:** P0
6
+ - **Estimated size:** L
7
+ - **Dependencies:** 0148
8
+ - **Parallel-safe with:** none
9
+ - **DB schema:** remains 8
10
+
11
+ ## Goal
12
+
13
+ Record an explicit operator override while preserving the original
14
+ recommendation and policy resolution, then expose optional references through
15
+ context, completion, and handoff packets.
16
+
17
+ ## Scope
18
+
19
+ - `pcl route override --target --profile --reason --actor` with dry-run/preview.
20
+ - Hash-bound references to separate original recommendation and resolution Evidence.
21
+ - One transactional domain mutation, event, and outbox record.
22
+ - Read-only current/effective route and override explanation.
23
+ - Optional additive packet/context fields and backward-compatible fixtures.
24
+
25
+ The accepted implementation records three Evidence rows and links in one
26
+ transaction: original recommendation, original resolution, and the override.
27
+ Only one aggregate `route_override_recorded` event/outbox pair is appended.
28
+
29
+ ## Invariants
30
+
31
+ - Actor and non-empty reason are required.
32
+ - Override never deletes or rewrites original artifacts.
33
+ - Permission, destructive-operation, migration, and human-review floors remain
34
+ non-overridable.
35
+ - Failure before commit leaves no DB/event/outbox/artifact trace.
36
+ - Old packet readers/fixtures remain valid.
37
+
38
+ ## Acceptance criteria
39
+
40
+ Preview is zero-mutation; successful override is audited; forbidden downgrade
41
+ fails closed; original/effective views remain available; policy changes do not
42
+ mutate historical packets; context/finish/resume compatibility suites pass.
43
+
44
+ ## Non-goals
45
+
46
+ Automatic override, enforcement of all axes, Replan, stale propagation,
47
+ Discovery Profile, or automatic model selection.
@@ -0,0 +1,19 @@
1
+ # 0149a: Adaptive Entry dogfood and release gate
2
+
3
+ - **Status:** Done; human-reviewed 2026-07-11
4
+ - **Milestone:** v0.4.2 Adaptive Entry
5
+ - **Priority:** P0
6
+ - **Dependencies:** 0146–0149
7
+ - **DB schema:** remains 8
8
+
9
+ Exercise PLH itself and at least one external repository with clear,
10
+ ambiguous, and high-risk tasks. Record recommendation, policy explanation,
11
+ override decision, outcome, confusion, and local timing as project-local
12
+ Evidence. Direct route must add no mandatory human step; resolver p95 target is
13
+ below 50 ms on the deterministic fixture batch.
14
+
15
+ The gate also compares audit output to
16
+ `docs/canonical-state-baseline-v0.4.2.md`: no new anomaly is allowed. Full
17
+ pytest, ruff, Python matrix, Windows smoke, package-data, sdist/wheel, and clean
18
+ install checks are required. A human reviews dogfood conclusions; this task
19
+ does not self-approve route quality.
@@ -0,0 +1,12 @@
1
+ # 0149b: v0.4.2 local release preparation
2
+
3
+ - **Status:** Done; local RC prepared, not published
4
+ - **Milestone:** v0.4.2 Adaptive Entry
5
+ - **Priority:** P0
6
+ - **Dependencies:** 0149a human-reviewed dogfood
7
+ - **DB schema:** remains 8
8
+
9
+ Prepare version surfaces, release notes, fresh sdist/wheel, contract-package
10
+ verification, clean-wheel smoke, and artifact hashes. This task authorizes
11
+ local release preparation only. Tagging, pushing, GitHub Release creation, and
12
+ PyPI publication require the release operator's explicit publication action.
@@ -0,0 +1,49 @@
1
+ # 0150: Evidence-set completeness contract
2
+
3
+ - **Status:** Done locally; implemented and verified, not committed
4
+ - **Milestone:** v0.4.3 Evidence Completeness
5
+ - **Priority:** P0
6
+ - **Dependencies:** v0.4.2 local RC; approved `docs/plan-v0.4.3.md`
7
+ - **DB schema:** remain 8; stop for human approval if a migration is needed
8
+
9
+ ## Problem
10
+
11
+ Hash-pinned Evidence proves what was selected, not that the selection is a
12
+ complete account of the target. LP dogfood selected passing reports while a
13
+ known 35.3% coordinate report and missing completion verdict remained outside
14
+ the Evidence row.
15
+
16
+ ## Scope
17
+
18
+ - Define and schema-validate a deterministic `evidence-set/v1` artifact.
19
+ - Bind it to one target, an explicit work root, and a declared report manifest.
20
+ - Record included Evidence, required report kinds, known exclusions, and a
21
+ completeness assessment.
22
+ - Provide read-only plan/inspect output before record mutation.
23
+ - Warn when a bundle excludes discovered related reports; reject terminal use
24
+ only when target policy marks the report required or blocking.
25
+ - Package the schema and freeze canonical JSON/text fixtures.
26
+
27
+ ## Invariants
28
+
29
+ - No arbitrary repository or parent-directory scan.
30
+ - Filesystem proximity alone never creates an authoritative relationship.
31
+ - Discovery order and finding order are deterministic.
32
+ - Existing Evidence rows remain immutable and usable.
33
+ - A rejected command leaves zero Evidence, link, or event traces.
34
+
35
+ ## Non-scope
36
+
37
+ - Domain-specific verdict semantics.
38
+ - Test/Feature terminal mutations.
39
+ - Approval provenance.
40
+ - DB migration, hosted indexes, or LLM classification.
41
+
42
+ ## Acceptance criteria
43
+
44
+ 1. Schema, validator, package-data tests, and canonical fixtures exist.
45
+ 2. The 35.3%-excluded fixture reports an incomplete required evidence set.
46
+ 3. Optional unrelated sibling files do not block completeness.
47
+ 4. Path escape, symlink escape, malformed JSON, missing manifest, and duplicate
48
+ role cases fail closed with zero mutation traces.
49
+ 5. JSON/text output is deterministic under reversed unordered SQLite selects.
@@ -0,0 +1,51 @@
1
+ # 0151: Completion-policy adapter and terminal preflight
2
+
3
+ - **Status:** Done locally; verified; not committed
4
+ - **Milestone:** v0.4.3 Evidence Completeness
5
+ - **Priority:** P0
6
+ - **Dependencies:** 0150
7
+ - **DB schema:** remain 8; stop for human approval if a migration is needed
8
+
9
+ ## Problem
10
+
11
+ PCL can validate durable proof without knowing whether a collaborating tool
12
+ classified the result as `prototype` or `complete`. It also permits Test
13
+ planning without a Story and only discovers the structural weakness later.
14
+
15
+ ## Scope
16
+
17
+ - Define a domain-neutral `completion-policy/v1` with allowlisted JSON
18
+ predicates; do not execute arbitrary expressions.
19
+ - Bind the policy, evidence-set receipt, required verdict artifact, and
20
+ structured acceptance conditions to a Test preflight.
21
+ - Require `complete` when target policy says so; permit honest intermediate
22
+ states when the acceptance contract only asks for a prototype.
23
+ - Under enforced policy, reject `pcl test plan` without `--story` before
24
+ mutation. Preserve an advisory migration path for existing projects.
25
+ - Make every terminal rejection transactionally clean.
26
+
27
+ ## Invariants
28
+
29
+ - Core contains no `mockup-to-code`, DOM, or web-specific branches.
30
+ - Policy evaluation is local, deterministic, JSON-only, and standard-library
31
+ first.
32
+ - `--evidence-id` remains the canonical terminal-proof route.
33
+ - A complete external verdict does not override unresolved required failures.
34
+ - Existing valid direct Test transitions remain compatible.
35
+
36
+ ## Non-scope
37
+
38
+ - Next-action priority changes.
39
+ - Human/agent approval authority.
40
+ - Third-party tool execution or report generation.
41
+
42
+ ## Acceptance criteria
43
+
44
+ 1. A `prototype` verdict is rejected when a Test requires `complete`.
45
+ 2. A missing required verdict and an incomplete evidence set are rejected with
46
+ zero Test, Feature, link, or event traces.
47
+ 3. A complete verdict plus required passing reports permits the existing
48
+ Evidence-ID-first terminal transition.
49
+ 4. Enforced and advisory Story-link planning behavior is fixture-tested.
50
+ 5. Schema, evaluator, inspect output, and packaged contracts are deterministic
51
+ and backward compatible.
@@ -0,0 +1,52 @@
1
+ # 0152: Next-action and approval-provenance integrity
2
+
3
+ - **Status:** Done locally; verified; not committed
4
+ - **Milestone:** v0.4.3 Evidence Completeness
5
+ - **Priority:** P0
6
+ - **Dependencies:** 0151
7
+ - **DB schema:** remain 8; stop for human approval if a migration is needed
8
+
9
+ ## Problem
10
+
11
+ LP dogfood reached a neutral idle route while its Feature was only `passing`
12
+ and its domain verdict was incomplete. Agent self-review and explicit human
13
+ approval also need visibly different authority.
14
+
15
+ ## Scope
16
+
17
+ - Route `passing` but not `done` Features to a factual next action.
18
+ - Route missing/incomplete required completion verdicts ahead of idle.
19
+ - Add schema-8 event/Evidence receipts exposing `actor_kind`, factual actor
20
+ identity when available, source, timestamp, target, and bound hash.
21
+ - Keep human-gated transitions unresolved unless provenance is human-origin.
22
+ - Surface provenance and blockers in JSON, resume/context, and dashboard data
23
+ without turning the dashboard into state.
24
+ - Treat conversation/Cockpit approval as the normal human UX: an agent may
25
+ record it later, but the receipt must distinguish approver from recorder and
26
+ bind the source reference. Humans are not expected to run routine CLI gates.
27
+
28
+ ## Invariants
29
+
30
+ - `passing` and `done` remain distinct states.
31
+ - The router does not invent readiness or approval.
32
+ - Agent and system actions cannot claim `actor_kind=human`.
33
+ - JSON additions are additive and deterministic.
34
+ - Existing defect, decision, and escalation priority remains intact unless the
35
+ spec names the exact new comparison.
36
+
37
+ ## Non-scope
38
+
39
+ - Identity federation or authentication.
40
+ - Multi-user permissions.
41
+ - Automatic Feature completion.
42
+
43
+ ## Acceptance criteria
44
+
45
+ 1. A passing unfinished Feature produces an actionable non-idle route.
46
+ 2. Missing required verdicts explain the artifact/policy blocker and safe next
47
+ command.
48
+ 3. Agent self-review cannot satisfy a human approval requirement.
49
+ 4. Explicit human approval produces a hash-bound provenance receipt.
50
+ 5. JSON/text/dashboard ordering and compatibility snapshots are deterministic.
51
+ 6. Agent-mediated recording of conversational approval preserves separate
52
+ human approver, agent recorder, and source reference fields.
@@ -0,0 +1,51 @@
1
+ # 0153: Cross-skill integrity dogfood and release gate
2
+
3
+ - **Status:** Done locally; implementation, automated dogfood, and human review complete; not committed or released
4
+ - **Milestone:** v0.4.3 Evidence Completeness
5
+ - **Priority:** P0
6
+ - **Dependencies:** 0150, 0151, 0152
7
+ - **DB schema:** remains 8
8
+
9
+ ## Problem
10
+
11
+ The contract is useful only if bundled Skill instructions and a real
12
+ cross-skill workflow cannot reproduce the LP dogfood false-completion path.
13
+
14
+ ## Scope
15
+
16
+ - Add canonical incomplete-prototype and complete-deliverable fixtures.
17
+ - Re-run the LP-shaped flow or equivalent clean-room fixture with independent
18
+ human review.
19
+ - Make all bundled `project-control-loop` Skill copies use parser-valid,
20
+ Evidence-ID-first terminal examples.
21
+ - Explain that raw `--evidence` is a compatibility claim, not equivalent
22
+ terminal proof.
23
+ - Verify exclusion warnings, policy mapping, unfinished routing, and approval
24
+ provenance end to end.
25
+ - Prepare v0.4.3 release artifacts only after the human dogfood gate.
26
+
27
+ ## Invariants
28
+
29
+ - Dogfood reports record failures and limitations, not only positive evidence.
30
+ - Prototype and complete results remain distinct.
31
+ - Package artifacts freeze only after full suite and clean-install smoke.
32
+ - Tag, push, GitHub Release, and PyPI are separate explicit operations.
33
+
34
+ ## Non-scope
35
+
36
+ - The external mockup skill's Motion Phase, crop generator, detail inventory,
37
+ or line-count repair.
38
+ - Publishing a release.
39
+
40
+ ## Acceptance criteria
41
+
42
+ 1. The incomplete fixture cannot pass a completion-required Test and leaves
43
+ zero rejected-mutation traces.
44
+ 2. The complete fixture can pass with a reviewable evidence/provenance chain.
45
+ 3. `pcl next` never returns idle for the unfinished fixture.
46
+ 4. All bundled Skill examples are exercised against the real parser.
47
+ 5. Strict validation, full pytest, package/contract validation, and clean-wheel
48
+ smoke pass.
49
+ 6. Independent human review is given in conversation/Cockpit and recorded by
50
+ the agent with distinct human-approver, agent-recorder, and source fields
51
+ before release preparation; the human does not need to run `pcl`.
@@ -0,0 +1,16 @@
1
+ # 0153b: v0.4.3 local release preparation
2
+
3
+ - **Status:** Done; local release candidate prepared, publication excluded
4
+ - **Milestone:** v0.4.3 Evidence Completeness
5
+ - **Priority:** P0
6
+ - **Dependencies:** 0153 human-reviewed dogfood
7
+ - **DB schema:** remains 8
8
+
9
+ Prepare the v0.4.3 version surfaces and release notes, run the canonical full
10
+ suite and strict validation after the final tracked edit, build fresh sdist and
11
+ wheel artifacts, verify package contracts and a clean-wheel installation, and
12
+ record artifact hashes in a local release handoff.
13
+
14
+ This task authorizes local release preparation and a local release commit only.
15
+ Tagging, pushing, GitHub Release creation, and PyPI publication remain separate
16
+ explicit release-operator actions.