project-loop-harness 0.5.2__tar.gz → 0.5.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.
- {project_loop_harness-0.5.2/src/project_loop_harness.egg-info → project_loop_harness-0.5.3}/PKG-INFO +4 -3
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/README.md +3 -2
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0199-v052-release-publication.md +11 -2
- project_loop_harness-0.5.3/agent-tasks/0200-gap-report-contract.md +83 -0
- project_loop_harness-0.5.3/agent-tasks/0201-gap-report-integrity-hardening.md +43 -0
- project_loop_harness-0.5.3/agent-tasks/0202-v053-local-release-preparation.md +50 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/README.md +9 -1
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/command-guide.md +16 -0
- project_loop_harness-0.5.3/docs/evidence/0199-v052-publication-closeout.md +60 -0
- project_loop_harness-0.5.3/docs/evidence/0201-gap-report-integrity-hardening.md +39 -0
- project_loop_harness-0.5.3/docs/evidence/0202-v053-local-release-preparation.md +101 -0
- project_loop_harness-0.5.3/docs/gap-report-v1.md +137 -0
- project_loop_harness-0.5.3/docs/plan-observation-evidence-validity.md +816 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.5.2.md +11 -0
- project_loop_harness-0.5.3/docs/release-notes/v0.5.3.md +77 -0
- project_loop_harness-0.5.3/docs/research/2026-07-18-akihiro-genai-post-interpretation.md +249 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/pyproject.toml +1 -1
- project_loop_harness-0.5.3/src/pcl/__init__.py +1 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/cli.py +114 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/__init__.py +30 -0
- project_loop_harness-0.5.3/src/pcl/contracts/gap_report.py +310 -0
- project_loop_harness-0.5.3/src/pcl/contracts/schemas/gap-report-v1.schema.json +134 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/evidence.py +275 -1
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/evidence_sets.py +205 -0
- project_loop_harness-0.5.3/src/pcl/gap_reports.py +795 -0
- project_loop_harness-0.5.3/src/pcl/strict_evidence.py +287 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/templates/project/AGENTS.block.md +4 -0
- project_loop_harness-0.5.3/src/pcl/templates/project/CLAUDE.block.md +19 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3/src/project_loop_harness.egg-info}/PKG-INFO +4 -3
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/project_loop_harness.egg-info/SOURCES.txt +16 -0
- project_loop_harness-0.5.3/tests/fixtures/gap_report/minimal.json +31 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/README.md +6 -0
- project_loop_harness-0.5.3/tests/fixtures/v0.3.1-baseline/snapshots/pcl-help.json +9 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/pcl-version.json +1 -1
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/mcp/fixtures/wire-transcript.json +1 -1
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_cli_init.py +6 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_evidence_add.py +295 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_evidence_sets.py +185 -1
- project_loop_harness-0.5.3/tests/test_gap_reports.py +539 -0
- project_loop_harness-0.5.2/src/pcl/__init__.py +0 -1
- project_loop_harness-0.5.2/src/pcl/templates/project/CLAUDE.block.md +0 -15
- project_loop_harness-0.5.2/tests/fixtures/v0.3.1-baseline/snapshots/pcl-help.json +0 -9
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/LICENSE +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/MANIFEST.in +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/Makefile +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0001-hardening-cli.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0002-db-migrations.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0003-workflow-runner.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0004-dashboard-renderer.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0005-agent-integration.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0006-codex-plugin.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0007-mcp-server.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0008-loop-lifecycle.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0009-defect-lifecycle.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0010-reporting-evidence.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0011-validation-invariants.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0012-audit-log-integrity.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0013-validation-diagnostics.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0014-escalation-lifecycle.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0015-decision-lifecycle.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0016-escalation-decision-linkage.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0017-next-action-guided-loop.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0018-readme-golden-path.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0019-recovery-playbook.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0020-example-project-refresh.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0021-agent-adapter-contract.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0022-agent-output-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0023-codex-exec-adapter-hardening.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0024-claude-manual-adapter-hardening.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0025-generic-shell-adapter.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0026-agent-job-evidence-ingestion.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0027-dashboard-data-contract.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0028-dashboard-evidence-navigation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0029-dashboard-risk-and-blockers.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0030-distribution-readiness.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0031-workflow-proposal-mode.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0032-workflow-proposal-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0033-workflow-verifier.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0034-limited-execution-sandbox.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0035-automatic-workflow-executor.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0036-executor-dogfood-workflow.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0037-executor-retry-resume.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0038-story-test-lifecycle.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0039-workflow-yaml-rule-expressions.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0040-test-case-evidence-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0041-feature-inspection-commands.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0042-report-coverage-context.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0043-feature-report.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0044-complete-csv-export.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0045-filtered-job-inspection.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0046-feature-status-lifecycle.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0047-feature-coverage-next-action.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0048-migration-status-command.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0049-render-json-artifact-paths.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0050-codex-plugin-package-inventory.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0051-mcp-render-artifact-paths.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0052-lifecycle-failure-job-cleanup.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0053-prompt-job-json-handoff.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0054-human-queue-linkage-cli.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0055-workflow-proposal-list-filter.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0056-sandbox-noop-execution-guard.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0057-executor-no-executable-step-guard.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0058-dogfood-usability-hardening.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0059-checkpoint-review-guidance.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0060-pypi-trusted-publishing.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0061-context-pack-v1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0062-task-backlog-entity.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0063-structured-verification-rubric.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0064-task-loop-integration.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0065-dashboard-human-decisions.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0066-agent-registry-lease.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0067-context-pack-improvements.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0068-trust-hardening.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0069-explainable-code-context-v0.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0070-human-decision-cockpit.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0071-dogfood-impact-precision.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0072-sensitive-omission.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0073-code-context-module-split.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0074-search-snapshot-consistency.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0075-diff-source-modes.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0076-schema-version-integrity.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0077-index-output-budget-and-impact-noise.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0078-context-pack-code-context-bridge.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0079-receipt-human-summary.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0080-retrieval-eval-gate.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0081-diff-modes-completion.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0082-receipt-relevance-and-age.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0083-required-section-invariant.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0084-source-commands-honesty.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0085-distribution-source-completeness.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0086-command-surface-alignment.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0087-verification-suggestion-ids.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0088-verification-feedback.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0089-dogfood-fixture-propose.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0090-eval-baseline-record-compare.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0091-refresh-command-scope-fidelity.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0092-idempotent-status-transitions.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0093-evidence-add-command.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0094-job-completion-evidence.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0095-supporting-evidence-health.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0096-evidence-add-path-guards.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0097-evidence-durability-design.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0098-field-feedback-next-weight-and-run-report-scope.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0099-evidence-copy-mode.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0100-evidence-task-linking.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0101-evidence-id-allocation-race.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0102-source-drift-health-warning.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0103-security-policy-v02x.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0104-python-ci-matrix.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0105-evidence-copy-observability.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0106-release-checklist.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0107-agent-tasks-backlog-index.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0108-target-bound-code-context-receipts.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0113-evidence-links-table.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0114-source-hash-drift.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0115-context-pack-contract-fixtures.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0116-receipt-link-agreement-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0117-markdown-target-refresh-command.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0118-canonical-target-bound-handoff-docs.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0119-context-check-preflight.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0120-pcl-finish-terminal-closeout.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0121-human-gate-japanese-guidance.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0122-feature-coverage-noop.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0123-master-trace-intent-index-contract.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0124-baseline-fixtures-v0-3-1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0125-mcp-stdio-framing-negotiation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0126-mcp-external-conformance.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0127-transactional-audit-outbox-design.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0128-event-outbox-jsonl-projector.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0129-audit-check-repair-rebuild.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0130-crash-concurrency-test-suite.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0131-guarded-executor-hardening.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0132-master-trace-context-pack-section.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0133-windows-lock-fallback.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0134-completion-packet-v1-contract.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0135-finish-emits-completion-packet.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0136-lite-pcl-start.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0137-handoff-packet-pcl-resume.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0138-kpi-report-surface.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0139-executable-resume-context.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0140-kpi-post-integration-sources.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0140a-skill-cli-contract-parity.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0140b-lifecycle-integrity-gate.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0140c-fail-open-check-guard.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0141-idle-routing-repair.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0142-lifecycle-repair-planner.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0143-terminal-link-repair.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0144-skill-runtime-provenance.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0145-structured-validation-diagnostics.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0145a-integrity-migration-dogfood.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0145b-v0.4.1-release-preparation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0146-work-brief-evidence-contract.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0147-deterministic-route-recommendation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0148-adaptive-policy-resolve-explain.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0149-route-policy-override-integration.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0149a-adaptive-entry-dogfood.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0149b-v0.4.2-release-preparation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0150-evidence-set-completeness-contract.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0151-completion-policy-terminal-preflight.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0152-next-action-approval-provenance.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0153-cross-skill-integrity-dogfood.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0153b-v0.4.3-release-preparation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0154-profile-boundary-adr-contract-freeze.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0155-profile-contract-runtime-and-registry.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0156-profile-read-only-prepare.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0157-profile-bundle-validation-dry-run.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0158-profile-bundle-atomic-ingest.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0159-decision-proposal-human-selection.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0160-council-profile-offline-e2e.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0161-council-dogfood-skill-parity.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0162-council-evaluation-adoption-gate.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0163-adoption-first-release-readiness.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0164-guided-dashboard-review-experience.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0165-v043-field-feedback-friction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0166-local-skill-usage-improvement-loop.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0167-actionable-skill-usage-retry-signals.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0168-structured-command-guide.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0169-dashboard-decision-summary.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0170-exit-status-aware-skill-usage-friction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0171-actionable-finish-timeout-recovery.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0172-composite-pcl-result-status.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0173-v050-release-preparation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0174-v050-publication-closeout.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0175-maintainer-entry-hardening.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0176-scale-baseline-event-log-policy.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0177-advisory-checkpoint-routing.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0178-trace-contract-fixture-freeze.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0179-intent-index-source-binding-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0180-claim-bound-context-resume.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0181-controlled-trace-resume-evaluation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0182-v051-release-preparation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0183-v051-publication-closeout.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0184-cli-stage1-presentation-extraction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0185-cli-stage2-guide-handler-extraction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0186-cli-stage2-loop-status-handler-extraction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0187-cli-stage2-doctor-handler-extraction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0188-cli-stage2-report-artifact-handler-extraction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0189-v052-adoption-proof.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0190-v052-adoption-proof-evaluator.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0191-installed-skill-freshness.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0192-audit-evidence-impact-classification.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0193-target-bound-next-routing.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0194-skill-prose-runtime-parity.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0195-shared-task-goal-target-resolver.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0196-active-proof-historical-findings.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0197-layered-harness-ablation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0197b-layered-ablation-fixture-materializer.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/agent-tasks/0198-evidence-gated-direct-flow-reduction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/adaptive-policy-v1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/adoption-guide.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/adoption-proof-v0.5.2-participant-kit.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/adoption-proof-v0.5.2.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/adr/0001-hybrid-state.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/adr/0002-cli-is-the-runtime.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/adr/0003-static-workflows-before-dynamic-workflows.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/adr/ADR-002-transactional-audit-outbox.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/agent-adapter-contract.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/agent-output-template.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/agent-roles.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/approval-provenance-v1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/architecture.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/canonical-state-baseline-v0.4.2.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/code-context.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/completion-packet-v1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/completion-policy-v1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/context-check.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/context-pack.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/council-profile.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/crash-concurrency-reliability.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/dashboard-data-contract.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/dashboard-design.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/data-model.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/distribution.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/dogfood/adaptive-entry-v0.4.2.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/dogfood/lp-production-cross-skill-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/dogfood/v0.4.3-cross-skill-integrity.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/dogfood/v0.5.0-council-profile.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/dogfood-report-v0.4.1-integrity-migration.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/dogfood-report-v0.4.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evaluation/layered-harness-ablation-offline-evaluator.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evaluation/layered-harness-ablation-runbook.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evaluation/v0.5.0-council-evaluation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evaluation/v0.5.1-trace-resume-runbook.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evaluation/v0.5.1-trace-source-02-a.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evaluation/v0.5.1-trace-source-02-b.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evaluation/v0.5.1-trace-source-a.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evaluation/v0.5.1-trace-source-b.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/event-outbox-compatibility.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0136-pcl-start-demo.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0146-work-brief-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0147-route-recommendation-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0148-adaptive-policy-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0149-route-override-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0150-evidence-set-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0151-completion-policy-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0152-next-action-approval-provenance-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0152a-agent-mediated-human-approval-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0153-human-dogfood-approval.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0155-profile-contract-runtime-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0156-profile-read-only-prepare-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0157-profile-bundle-dry-run-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0158-atomic-profile-bundle-ingest-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0159-profile-decisions-authorization-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0160-council-discovery-offline-e2e-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0162-final-verification.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0162-human-adoption-outcome.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0163-adoption-first-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0164-guided-dashboard-codex-remediation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0164-guided-dashboard-red-tests.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0164-guided-dashboard-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0165-v043-field-feedback-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0166-local-skill-usage-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0167-actionable-skill-usage-signals-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0168-structured-command-guide-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0169-dashboard-decision-summary-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0170-exit-status-aware-skill-usage-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0171-actionable-finish-timeout-recovery-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0172-composite-pcl-result-status-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0174-v050-publication-verification.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0175-ci-portability-repair.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0176-scale-baseline-event-log-policy.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0176-test-reverify-and-legacy-feature-receipts.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0177-advisory-checkpoint-routing.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0177-f0022-receipt-modernization.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0178-maintainer-entry-hardening.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0178-trace-contract-fixture-freeze.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0179-intent-index-source-binding-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0180-claim-bound-context-resume.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0181-controlled-trace-resume-evaluation-rerun.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0181-controlled-trace-resume-evaluation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0181-controlled-trace-resume-full-qa.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0182-v051-local-release-preparation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0183-v051-publication-closeout.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0184-cli-stage1-presentation-extraction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0185-cli-stage2-guide-handler-extraction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0186-cli-stage2-loop-status-handler-extraction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0186-dashboard-inline-card-details.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0187-cli-stage2-doctor-handler-extraction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0188-cli-stage2-report-artifact-handler-extraction.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0189-v052-adoption-proof.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0190-v052-adoption-proof-evaluator.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0191-installed-skill-freshness.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0191-v052-local-verification-matrix.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0191b-final-review-addendum.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0192-audit-evidence-impact-classification.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0192-v052-legacy-config-repair.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0193-target-bound-next-routing-20260718.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0194-0196-harness-minimization-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0196-active-proof-historical-findings-20260718.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0197-layered-harness-ablation-results.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0199-v052-ci-history-repair.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/0199-v052-release-candidate.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/d0002-autonomous-continuation-validation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/node-finish-utsuro-dogfood.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence/node-init-autodetection-dogfood.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence-durability-design.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence-entry-paths-design.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/evidence-set-v1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/feedback/2026-07-06-ax1-moc1-agent-feedback.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/feedback/2026-07-16-kikulab-project-control-loop-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/finish.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/golden-path.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/growth-plan-v0.2.4-v0.5.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/handoff-packet-v1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/implementation-plan.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/launch/v0.5.0/en-hn-reddit-draft.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/launch/v0.5.0/feedback-study.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/launch/v0.5.0/hn-human-authoring-brief.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/launch/v0.5.0/ja-zenn-draft.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/launch/v0.5.0/launch-checklist.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/launch/v0.5.0/zenn-agent-done-evidence-pcl-v050.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/maintainer-entry-hardening.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/master-trace-handoff.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/master-trace-intent-index.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/mcp-compatibility.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/mcp-manual-smoke-runbook.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/pcl-start.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/plan-post-v0.5.1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/plan-v0.4.0.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/plan-v0.4.1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/plan-v0.4.2.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/plan-v0.4.3.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/plan-v0.5.0-council-profile.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/plan-v0.5.1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/plan-v0.5.2-adoption-proof.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/plh_v0_1_11_review_agenda.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/plh_v0_1_12_review_agenda.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/project-loop-harness-v0.2.3-third-party-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/proposals/council-profile/ADR-005-external-council-profile-boundary.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/proposals/council-profile/README.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/proposals/council-profile/contract-freeze.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/proposals/council-profile/external-runner-spec-v0.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/proposals/council-profile/implementation-proposal.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/proposals/council-profile/validation-transcript.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/pypi-publishing.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/recovery-playbook.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-checklist.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.2.4.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.3.0.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.3.1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.3.3.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.4.0.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.4.1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.4.2.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.4.3.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.5.0.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/release-notes/v0.5.1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/releases/v0.3.1-baseline.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/releases/v0.3.3-mcp-stdio.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/0154-council-contract-freeze-claude-fable-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/0155-0157-claude-fable-milestone-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/0156-route-binding-claude-fable-advice.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/0158-0160-claude-fable-milestone-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/0159-decision-authorization-claude-fable-advice.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/0161-0162-claude-fable-milestone-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/0163-adoption-first-claude-fable-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/0164-guided-dashboard-codex-final-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/0164-guided-dashboard-codex-rereview.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/0164-guided-dashboard-plan-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/2026-07-13-business-technical-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/reviews/plan-v0.5.0-council-profile-review.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/00-executive-roadmap.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/01-adaptive-loop-architecture.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/02-contracts-and-data-model.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/03-implementation-plan.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/04-evaluation-and-rollout.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/05-pdm-discussion-guide.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/06-cli-contract-draft.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/07-state-machines-and-events.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/08-repository-integration.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/09-ai-plc-integration-mapping.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/ADOPTION.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/README.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/SOURCE_BASIS.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/VALIDATION_REPORT.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/adr/ADR-001-profile-not-entity.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/adr/ADR-002-transactional-audit-outbox.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/adr/ADR-003-adaptive-policy-axes.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/adr/ADR-004-contract-first-promotion.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0123-release-v0-3-1-baseline.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0124-mcp-stdio-framing-negotiation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0125-mcp-external-conformance.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0126-transactional-audit-outbox-design.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0127-event-outbox-jsonl-projector.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0128-audit-check-repair-rebuild.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0129-crash-concurrency-test-suite.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0130-guarded-executor-hardening.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0131-completion-packet-v1-contract.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0132-finish-emits-completion-packet.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0133-lite-pcl-start.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0134-handoff-packet-pcl-resume.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0135-work-brief-v1-evidence.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0136-deterministic-route-recommendation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0137-adaptive-policy-explain-override.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0138-work-brief-revision-replan.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0139-stale-invalidation-propagation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0140-verifier-provenance-separation.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0141-risk-based-verification-policy.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0142-profile-contract-boundary.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0143-discovery-reference-profile.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0144-decision-proposal-human-selection.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0145-master-trace-handoff-integration.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0146-capability-profile-v0.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0147-budget-profile-incomplete-packet.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0148-context-cache-delta-handoff.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0149-knowledge-proposal-experiment.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0150-cross-model-evaluation-harness.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0151-design-partner-operations.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/0152-adoption-stability-release.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/agent-tasks-proposed/README.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/handoff/ARCHITECTURE_REVIEW_PROMPT.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/handoff/IMPLEMENTATION_AGENT_PROMPT.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/integrated/handoff/PDM_REVIEW_PROMPT.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/roadmap/priority-reset-2026-07-13.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/route-recommendation-v1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/safety-permissions.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/scale-baseline-event-log-policy.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/skill-usage-report.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/stability-policy.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/trace-resume-evaluation-v0.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/v0.2.0-plan.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/verification-feedback-design.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/verification-feedback.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/verification-rubric.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/work-brief-v1.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/docs/workflow-contract.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/scripts/evaluate_adoption_proof.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/scripts/evaluate_layered_harness_ablation.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/scripts/materialize_layered_harness_ablation.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/scripts/run_advisory_retrieval_eval.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/scripts/verify_sdist_contracts.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/setup.cfg +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/__main__.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/adaptive_policy.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/agents.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/approval_provenance.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/audit.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/checkpoints.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/__init__.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/diff.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/eval.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/impact.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/receipts.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/scan.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/search.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/store.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/summary.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/symbols.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_context/test_hints.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/code_index.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/command_guide.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/commands.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/completion_policies.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/context.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/context_binding.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/context_usage.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/_profile_contract.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/claim_set.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/completion_packet.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/completion_policy.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/council_run.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/decision_proposal.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/evidence_set.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/handoff_packet.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/intent_index.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/policies/adaptive-policy-v1-default.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/profile_manifest.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/profile_output_bundle.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/profile_run_request.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/route_override.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/route_recommendation.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/adaptive-policy-resolution-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/claim-set-v0.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/completion-packet-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/completion-policy-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/council-run-v0.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/decision-proposal-v0.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/evidence-set-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/handoff-packet-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/profile-manifest-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/profile-output-bundle-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/profile-run-request-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/route-override-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/route-recommendation-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/verification-plan-v0.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/schemas/work-brief-v1.schema.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/verification_plan.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/contracts/work_brief.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/db/migrations/001_initial.sql +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/db/migrations/002_tasks.sql +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/db/migrations/003_agent_registry.sql +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/db/migrations/004_code_index.sql +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/db/migrations/005_verification_feedback.sql +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/db/migrations/006_evidence_task_link.sql +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/db/migrations/007_evidence_links.sql +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/db/migrations/008_event_outbox.sql +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/db/schema.sql +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/db.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/decisions.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/dispatch.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/errors.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/escalations.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/events.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/evidence_show.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/exporters.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/finish_execution.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/finish_recovery.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/guarded_process.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/guards.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/ids.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/init_project.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/kpi_report.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/lifecycle.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/lifecycle_repair.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/links.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/locales.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/locks.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/mcp_server.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/migrations.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/outbox.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/paths.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/presentation.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/profile_authorization.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/profile_bundle_store.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/profile_decisions.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/profile_fixture_runner.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/profile_ingest.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/profile_prepare.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/profiles/builtin/council.discovery.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/profiles/fixtures/council.discovery/scenarios.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/profiles.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/project_config.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/read_handlers.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/receipt_show.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/redaction.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/registry.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/relationship_repair.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/renderer.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/reports.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/resources.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/resume.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/route_overrides.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/routing.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/rubric.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/skill_usage_report.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/start.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/stories.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/target_resolver.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/tasks.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/templates/dashboard/dashboard.html +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/templates/project/gitignore.fragment +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/templates/project/pcl.yaml +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/templates/skills/project-control-loop/SKILL.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/templates/workflows/defect_repair.yaml +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/templates/workflows/executor_smoke.yaml +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/templates/workflows/feature_coverage.yaml +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/templates/workflows/regression_loop.yaml +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/test_faults.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/timeutil.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/token_estimation.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/update_check.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/validators.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/verification_feedback.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/verifications.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/work_briefs.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/workflow_executor.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/workflow_proposal_validation.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/workflow_proposals.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/workflow_sandbox.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/workflow_verifier.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/workflow_yaml.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/pcl/workflows.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/project_loop_harness.egg-info/dependency_links.txt +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/project_loop_harness.egg-info/entry_points.txt +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/project_loop_harness.egg-info/requires.txt +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/src/project_loop_harness.egg-info/top_level.txt +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/baseline_fixture_tools.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/code_context_summary_v0.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/completion_packet/full.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/completion_packet/minimal.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/completion_packet/negative-budget-next-action.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/completion_packet/negative-cases.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/completion_packet/negative-critical-proof.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/completion_packet/negative-passed-result.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/completion_policy/minimal.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/context_pack_code_context_contract_v0.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/context_receipt_v0.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/context_receipt_v0_legacy_string_suggestions.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/cross_skill_dogfood/complete/reports/completion_verdict.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/cross_skill_dogfood/complete/reports/coordinate_report.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/cross_skill_dogfood/complete/reports/report-manifest.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/cross_skill_dogfood/complete/reports/responsive_report.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/cross_skill_dogfood/completion-policy.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/cross_skill_dogfood/incomplete/reports/completion_verdict.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/cross_skill_dogfood/incomplete/reports/coordinate_report.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/cross_skill_dogfood/incomplete/reports/report-manifest.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/cross_skill_dogfood/incomplete/reports/responsive_report.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/evidence_set/minimal.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/evidence_set/report-manifest.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/evidence_set/visual-check.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/handoff_packet/minimal.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/kpi_report_empty_v1.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/layered_harness_ablation_v0/evaluator-scenarios.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/layered_harness_ablation_v0/layered-harness-ablation-fixture.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/lifecycle_repair/all_classifications_v1.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/master_trace_context_contract_v0.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/profile_bundle/cases.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/profile_e2e/decision-projection.expected.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/profile_e2e/run_offline_e2e.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/retrieval_adversarial_v0.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/retrieval_real_history_v0.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/retrieval_v0.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/scale_baseline_v1/README.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/scale_baseline_v1/manifest.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/start_initialized_v1.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/trace_binding_v0/master-trace.md +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/trace_binding_v0/release-smoke-invalid-trace-binding.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/trace_binding_v0/release-smoke-valid-trace-binding.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/trace_binding_v0/trace-binding-fixtures.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/trace_binding_v0/trace-resume-evaluation-fixture.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/context-check-help.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/empty-context-check-json.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/empty-next-json.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/empty-render-json.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/empty-validate-strict-json.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/next-help.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/render-help.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/representative-context-check-json.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/representative-next-json.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/representative-render-json.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/representative-validate-strict-json.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/v0.3.1-baseline/snapshots/validate-help.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/work_brief/minimal.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/fixtures/work_brief/negative-embedded-route.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/mcp/conftest.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/mcp/fixtures/negative-matrix.json +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/mcp/test_external_conformance.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_adaptive_policy.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_adoption_docs.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_adoption_proof_evaluator.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_advisory_retrieval_eval_script.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_agent_adapter_contract.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_agent_output_validation.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_agents.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_audit_commands.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_audit_log_integrity.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_baseline_fixtures.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_checkpoints.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_claude_manual_adapter.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_code_context_summary.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_code_index.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_codex_exec_adapter.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_codex_plugin.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_command_guide.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_completion_packet_contract.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_completion_packet_package.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_completion_policy.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_context.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_context_check.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_contract_cli.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_council_evaluation_cohort.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_council_profile_proposal_contracts.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_crash_concurrency.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_cross_skill_integrity_dogfood.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_dashboard.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_dashboard_data_contract.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_decisions.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_defects.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_dispatch.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_distribution.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_escalations.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_event_outbox.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_evidence_show.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_examples.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_execution_provenance.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_features.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_field_feedback_0165.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_finish.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_generic_shell_adapter.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_golden_path.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_guarded_process.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_handoff_packet_contract.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_integrity_migration_dogfood.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_kpi_report.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_layered_harness_ablation_cohort.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_layered_harness_ablation_evaluator.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_layered_harness_ablation_materializer.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_lifecycle.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_lifecycle_integrity.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_lifecycle_repair.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_locks.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_mcp_server.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_migrations.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_next_actions.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_presentation.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_profile_contracts.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_profile_fixture_e2e.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_profile_ingest_dry_run.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_profile_prepare.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_pypi_publishing.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_read_handlers.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_receipt_show.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_recovery_playbook.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_registry.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_reports.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_resume.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_route_overrides.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_route_recommendation.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_rubric.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_scale_baseline_fixture.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_skill_command_examples.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_skill_usage_report.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_start.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_stories.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_tasks.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_trace_contract_fixtures.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_trace_resume_evaluation_cohort.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_trace_resume_evaluation_cohort_02.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_trace_resume_evaluation_results.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_trace_resume_evaluation_results_02.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_update_check.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_v050_adoption_demo.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_validation.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_validation_diagnostics.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_validation_finding_sources.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_validation_proof_scope.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_verification_feedback.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_work_briefs.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_workflow_executor.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_workflow_proposals.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_workflow_sandbox.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_workflow_verifier.py +0 -0
- {project_loop_harness-0.5.2 → project_loop_harness-0.5.3}/tests/test_workflows.py +0 -0
{project_loop_harness-0.5.2/src/project_loop_harness.egg-info → project_loop_harness-0.5.3}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: project-loop-harness
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.3
|
|
4
4
|
Summary: Local control plane for agentic project development loops
|
|
5
5
|
Author: Project Loop Harness Contributors
|
|
6
6
|
License: MIT
|
|
@@ -189,8 +189,9 @@ exist, the project does not claim external adoption.
|
|
|
189
189
|
- [Security](SECURITY.md) and [Contributing](CONTRIBUTING.md).
|
|
190
190
|
|
|
191
191
|
Advanced contracts stay in `docs/`: completion packets, evidence sets,
|
|
192
|
-
completion policy,
|
|
193
|
-
Profile, trace/resume, reports,
|
|
192
|
+
completion policy, [Harness Gap Reports](docs/gap-report-v1.md), context packs,
|
|
193
|
+
code context, workflow execution, Council Profile, trace/resume, reports,
|
|
194
|
+
migrations, and dashboard data.
|
|
194
195
|
|
|
195
196
|
## Local development
|
|
196
197
|
|
|
@@ -154,8 +154,9 @@ exist, the project does not claim external adoption.
|
|
|
154
154
|
- [Security](SECURITY.md) and [Contributing](CONTRIBUTING.md).
|
|
155
155
|
|
|
156
156
|
Advanced contracts stay in `docs/`: completion packets, evidence sets,
|
|
157
|
-
completion policy,
|
|
158
|
-
Profile, trace/resume, reports,
|
|
157
|
+
completion policy, [Harness Gap Reports](docs/gap-report-v1.md), context packs,
|
|
158
|
+
code context, workflow execution, Council Profile, trace/resume, reports,
|
|
159
|
+
migrations, and dashboard data.
|
|
159
160
|
|
|
160
161
|
## Local development
|
|
161
162
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 0199: v0.5.2 release preparation and publication
|
|
2
2
|
|
|
3
|
-
- **Status:**
|
|
3
|
+
- **Status:** Done; published and publicly verified
|
|
4
4
|
- **Milestone:** v0.5.2 Reliability and Harness Minimization
|
|
5
5
|
- **Priority:** P0
|
|
6
6
|
- **Size:** M
|
|
@@ -44,4 +44,13 @@ uncollected external first-use cohort as adoption proof.
|
|
|
44
44
|
|
|
45
45
|
## Completion evidence
|
|
46
46
|
|
|
47
|
-
-
|
|
47
|
+
- Release commit: `bbe14cf5a8375e72eaa121c1b8a5a96362560d1d`
|
|
48
|
+
- GitHub Release: `v0.5.2`
|
|
49
|
+
- Green release-commit CI run: `29638815262`
|
|
50
|
+
- Trusted Publishing run: `29639130354`, success
|
|
51
|
+
- Public wheel SHA-256:
|
|
52
|
+
`d7f5dda21e721c3405e694991fa7bbc844f7a31daecb4572efd67c48ffc81048`
|
|
53
|
+
- Public sdist SHA-256:
|
|
54
|
+
`529e2236628d70cef2efade82a4ff3017649658e960e6c5b3e8afc0e2f1f601b`
|
|
55
|
+
- Clean public install, strict validation, render, and pipx update: passed
|
|
56
|
+
- `docs/evidence/0199-v052-publication-closeout.md`
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# 0200: gap-report/v1 Harness Gap Evidence
|
|
2
|
+
|
|
3
|
+
- **Status:** Complete
|
|
4
|
+
- **Milestone:** Harness Engineering Feedback Loop
|
|
5
|
+
- **Priority:** P0
|
|
6
|
+
- **Size:** L
|
|
7
|
+
- **Dependency:** 0146 Work Brief, 0197 Harness Ablation, strict Evidence resolvers
|
|
8
|
+
- **Project Loop:** Goal `G-0058`, Task `T-0122`, Feature `F-0064`, Story `US-0062`, Test `TC-0135`
|
|
9
|
+
- **DB schema:** remains 8
|
|
10
|
+
|
|
11
|
+
## Goal
|
|
12
|
+
|
|
13
|
+
Add the one missing layer identified while reviewing the Harness Engineering
|
|
14
|
+
proposal: record the earliest failed handoff and a closed gap classification as
|
|
15
|
+
immutable, target-bound Evidence. Candidate lessons stay isolated until a
|
|
16
|
+
hash-bound human decision authorizes promotion; authorization must not claim
|
|
17
|
+
that the lesson has already been applied to its durable owner.
|
|
18
|
+
|
|
19
|
+
## Reviewed design corrections
|
|
20
|
+
|
|
21
|
+
The inherited Cockpit plan is accepted with these corrections:
|
|
22
|
+
|
|
23
|
+
1. Gap targets include observed execution boundaries (`workflow_run` and
|
|
24
|
+
`agent_job`) in addition to Goal, Task, Feature, and Defect targets.
|
|
25
|
+
2. `pcl gap promote` records `gap_lesson_promotion_approved` with
|
|
26
|
+
`application_status=pending`; it never edits AGENTS.md, Skills, tests, or
|
|
27
|
+
other durable owners automatically.
|
|
28
|
+
3. Read paths verify exactly one anchor event, one target link, canonical path
|
|
29
|
+
shape, regular-file identity, recorded bytes, and SHA-256 before returning a
|
|
30
|
+
healthy report or accepting promotion.
|
|
31
|
+
4. Candidate lessons require cited Evidence before promotion so uncorroborated
|
|
32
|
+
producer self-report cannot become approved policy by implication.
|
|
33
|
+
|
|
34
|
+
## Contract
|
|
35
|
+
|
|
36
|
+
`gap-report/v1` is a producer-authored claim artifact with:
|
|
37
|
+
|
|
38
|
+
- producer, timestamp, and a target;
|
|
39
|
+
- optional related completion-packet / Evidence / Workflow Run references;
|
|
40
|
+
- one `earliest_failed_handoff` with `stage` and `description`;
|
|
41
|
+
- one closed `gap_class`:
|
|
42
|
+
`context`, `capability`, `domain_ownership`, `authority`, `proof`,
|
|
43
|
+
`feedback_delivery`, or `worker_limitation`;
|
|
44
|
+
- zero or more candidate lessons in an object keyed by stable, structurally
|
|
45
|
+
unique `lesson_id` values, each with a proposed `durable_owner` and
|
|
46
|
+
supporting Evidence references.
|
|
47
|
+
|
|
48
|
+
The diagnosis is a claim, not a fact. `worker_limitation` remains especially
|
|
49
|
+
provisional; one report cannot establish a general model limitation.
|
|
50
|
+
|
|
51
|
+
## CLI scope
|
|
52
|
+
|
|
53
|
+
- `pcl contract validate --type gap-report/v1 FILE`
|
|
54
|
+
- `pcl gap add FILE --summary ... [--dry-run]`
|
|
55
|
+
- `pcl gap show --evidence E-XXXX`
|
|
56
|
+
- `pcl gap list [--target TYPE:ID] [--gap-class CLASS]`
|
|
57
|
+
- `pcl gap promote E-XXXX --lesson LESSON_ID --actor ... --reason ...`
|
|
58
|
+
|
|
59
|
+
Human-mediated promotion records actor, recorder, Cockpit/conversation source,
|
|
60
|
+
artifact hash, lesson digest, and pending durable-owner application. Non-human
|
|
61
|
+
promotion and unhealthy or uncited lessons fail closed.
|
|
62
|
+
|
|
63
|
+
## Acceptance
|
|
64
|
+
|
|
65
|
+
1. Packaged JSON Schema and hand-written validator agree and reject unknown
|
|
66
|
+
fields, malformed IDs/real-date timestamps, invalid enums, duplicate raw
|
|
67
|
+
JSON lesson keys, and non-finite JSON.
|
|
68
|
+
2. Add/dry-run/show/list are deterministic, target-bound, and zero-mutation on
|
|
69
|
+
failure; strict reads surface tampering instead of trusting the file path.
|
|
70
|
+
3. Promotion is human-only, hash-bound, Evidence-corroborated, idempotent, and
|
|
71
|
+
explicitly pending application.
|
|
72
|
+
4. Fresh `pcl init` installs a compact router contract once without adding a
|
|
73
|
+
parallel `.plh/`, HARNESS.md, or harness.yaml structure.
|
|
74
|
+
5. No migration, dependency, completion-packet change, automatic durable-owner
|
|
75
|
+
write, hosted service, or `pcl harness review/improve` aggregator is added.
|
|
76
|
+
6. Targeted tests, full pytest, Ruff, fresh-init/E2E smoke, strict validation,
|
|
77
|
+
audit check, render, and PCL completion proof pass.
|
|
78
|
+
|
|
79
|
+
## Sources
|
|
80
|
+
|
|
81
|
+
- Cockpit task `e22916a5` and reviewed plan
|
|
82
|
+
- <https://github.com/lopopolo/harness-engineering>
|
|
83
|
+
- Harness Engineering `Improve One Harnessed Job` playbook
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# 0201: gap-report/v1 Integrity Hardening
|
|
2
|
+
|
|
3
|
+
- **Status:** Complete
|
|
4
|
+
- **Milestone:** Harness Engineering Feedback Loop
|
|
5
|
+
- **Priority:** P1
|
|
6
|
+
- **Size:** M
|
|
7
|
+
- **Dependency:** 0200 Gap Report contract and Evidence flow
|
|
8
|
+
- **Project Loop:** Goal `G-0059`, Task `T-0123`, Feature `F-0065`, Story `US-0063`, Test `TC-0136`
|
|
9
|
+
- **DB schema:** remains 8
|
|
10
|
+
|
|
11
|
+
## Goal
|
|
12
|
+
|
|
13
|
+
Close the four integrity gaps found by the independent implementation review
|
|
14
|
+
without expanding the Gap Report feature or changing completion semantics.
|
|
15
|
+
|
|
16
|
+
## Corrections
|
|
17
|
+
|
|
18
|
+
1. Create the artifact directory, temporary file, and final file through
|
|
19
|
+
canonical no-follow handles. Reject pre-existing directory, temporary-file,
|
|
20
|
+
or final-file symlinks without writing outside the project or mutating PLH
|
|
21
|
+
state.
|
|
22
|
+
2. Make Schema and runtime validation agree on real UTC calendar timestamps.
|
|
23
|
+
Represent candidate lessons as an object keyed by `lesson_id`, and reject
|
|
24
|
+
duplicate raw JSON keys at load time so uniqueness is structural.
|
|
25
|
+
3. Bind `artifact_sha256` to the exact stored bytes. Whitespace-only,
|
|
26
|
+
same-length changes must make the report unhealthy.
|
|
27
|
+
4. Filter lists using the immutable class in the anchor event. Return both
|
|
28
|
+
`recorded_gap_class` and `artifact_gap_class`, and do not silently hide
|
|
29
|
+
records whose anchor class is invalid.
|
|
30
|
+
|
|
31
|
+
## Acceptance
|
|
32
|
+
|
|
33
|
+
1. Redirected artifact directory/temp/final paths fail with zero Evidence,
|
|
34
|
+
event, outbox, or link mutations and leave the external target unchanged.
|
|
35
|
+
2. The packaged timestamp pattern and hand validator accept valid leap dates
|
|
36
|
+
and reject invalid dates and year zero; duplicate lesson keys fail loading.
|
|
37
|
+
3. Same-size semantic-preserving byte drift produces
|
|
38
|
+
`artifact_hash_mismatch`.
|
|
39
|
+
4. Artifact class tampering remains listed only under the recorded class and
|
|
40
|
+
exposes both recorded and artifact values.
|
|
41
|
+
5. Targeted tests, full pytest, Ruff, source/wheel/sdist smoke, strict PLH
|
|
42
|
+
validation, audit check, and render complete with results recorded as
|
|
43
|
+
Evidence.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# 0202: v0.5.3 local release preparation
|
|
2
|
+
|
|
3
|
+
- **Status:** Complete
|
|
4
|
+
- **Milestone:** v0.5.3 Evidence Integrity and Harness Feedback
|
|
5
|
+
- **Priority:** P0
|
|
6
|
+
- **Size:** M
|
|
7
|
+
- **Dependency:** 0200 Gap Report, 0201 Gap Report integrity hardening, event-anchored strict Evidence resolvers
|
|
8
|
+
- **Project Loop:** Goal `G-0060`, Task `T-0124`, Feature `F-0066`, Story `US-0064`, Test `TC-0137`
|
|
9
|
+
- **DB schema:** remains 8
|
|
10
|
+
|
|
11
|
+
## Goal
|
|
12
|
+
|
|
13
|
+
Prepare a reviewable local v0.5.3 release candidate containing the completed
|
|
14
|
+
Evidence-integrity and Gap Report work. Keep publication as a separate,
|
|
15
|
+
explicitly authorized operation.
|
|
16
|
+
|
|
17
|
+
## Scope
|
|
18
|
+
|
|
19
|
+
1. Align package, runtime, MCP fixture, task index, and release-note surfaces
|
|
20
|
+
on v0.5.3.
|
|
21
|
+
2. Describe only commits actually included since public v0.5.2, preserving the
|
|
22
|
+
distinction between artifact integrity and factual validity.
|
|
23
|
+
3. Run source QA, scratch-project validation/render, wheel and sdist contracts,
|
|
24
|
+
metadata checks, and a clean wheel-install smoke.
|
|
25
|
+
4. Record artifact hashes and exact verification results as durable Evidence.
|
|
26
|
+
5. Commit the complete local release candidate without tagging, pushing,
|
|
27
|
+
publishing, or changing pipx.
|
|
28
|
+
|
|
29
|
+
## Invariants
|
|
30
|
+
|
|
31
|
+
- No Git tag, push, GitHub Release, PyPI/TestPyPI upload, pipx mutation, or
|
|
32
|
+
external announcement.
|
|
33
|
+
- No schema migration, dependency addition, hosted service, telemetry, or
|
|
34
|
+
unrelated repair.
|
|
35
|
+
- Existing `.claude` session state and unrelated untracked files remain
|
|
36
|
+
untouched and outside the release commit.
|
|
37
|
+
- Public v0.5.2 adoption documents remain historical v0.5.2 records; they are
|
|
38
|
+
not mechanically renamed to v0.5.3.
|
|
39
|
+
|
|
40
|
+
## Acceptance
|
|
41
|
+
|
|
42
|
+
1. `pyproject.toml`, `pcl.__version__`, CLI/MCP runtime output, wheel, and
|
|
43
|
+
sdist metadata agree on `0.5.3`.
|
|
44
|
+
2. Ruff and the full pytest suite pass from the canonical source checkout.
|
|
45
|
+
3. Fresh scratch init, strict doctor/validate, audit, and render pass using
|
|
46
|
+
the worktree source.
|
|
47
|
+
4. Wheel and sdist build, `twine check`, extracted-sdist contract, and
|
|
48
|
+
clean-wheel init/strict-validate/render/Gap Report contract smoke pass.
|
|
49
|
+
5. SHA-256 hashes, file sizes, commit boundary, known warnings, and publication
|
|
50
|
+
boundary are reviewable in a new write-once Evidence note.
|
|
@@ -116,7 +116,10 @@ implement from the spec file, not from prompt summaries.
|
|
|
116
116
|
| 0197 | Layered harness minimization ablation | Harness Minimization | P0 | done (`modify`) |
|
|
117
117
|
| 0197b | Layered ablation fixture materializer | Harness Minimization | P0 | done |
|
|
118
118
|
| 0198 | Evidence-gated direct-flow reduction | Harness Minimization | P1 | done; not implemented after `modify` verdict |
|
|
119
|
-
| 0199 | v0.5.2 release preparation and publication | v0.5.2 Reliability and Harness Minimization | P0 |
|
|
119
|
+
| 0199 | v0.5.2 release preparation and publication | v0.5.2 Reliability and Harness Minimization | P0 | done; published and publicly verified |
|
|
120
|
+
| 0200 | `gap-report/v1` Harness Gap Evidence | Harness Engineering Feedback Loop | P0 | done |
|
|
121
|
+
| 0201 | `gap-report/v1` Integrity Hardening | Harness Engineering Feedback Loop | P1 | done |
|
|
122
|
+
| 0202 | v0.5.3 local release preparation | v0.5.3 Evidence Integrity and Harness Feedback | P0 | done; local RC ready, not published |
|
|
120
123
|
|
|
121
124
|
v0.3.0 dispatch order: **0113 + 0114 in parallel** (independent; different
|
|
122
125
|
`evidence.py` surfaces) → **0108** (needs 0113 merged) → **0115** (freezes the
|
|
@@ -196,6 +199,10 @@ external first-use cohort remains open and no adoption claim is made. Task
|
|
|
196
199
|
**0199** prepares, publishes, and verifies the reliability release under the
|
|
197
200
|
owner's separate publication instruction.
|
|
198
201
|
|
|
202
|
+
v0.5.3 packages event-anchored strict Evidence resolution and the bounded
|
|
203
|
+
`gap-report/v1` feedback layer. Task **0202** prepares and verifies the local
|
|
204
|
+
release candidate; tagging, pushing, and public publication remain separate.
|
|
205
|
+
|
|
199
206
|
## Planned next (see growth plan for scope)
|
|
200
207
|
|
|
201
208
|
| Milestone | Theme |
|
|
@@ -211,6 +218,7 @@ owner's separate publication instruction.
|
|
|
211
218
|
| v0.5.1 | Trace & Efficient Handoff: source-bound claims-not-facts handoff plus controlled cross-session/runtime resume evidence |
|
|
212
219
|
| post-v0.5.1 | Behavior-preserving staged CLI split; 0184 presentation, then 0185 guide, 0186 loop status, 0187 doctor, and 0188 report-artifact handlers |
|
|
213
220
|
| v0.5.2 | 0189 config-ready adoption and frozen cohort → 0190 participant kit and deterministic proof evaluator → five-user outcome cohort → observed-friction repair |
|
|
221
|
+
| v0.5.3 | strict copied-Evidence resolution → 0200 Gap Report contract → 0201 integrity hardening → 0202 local release candidate |
|
|
214
222
|
|
|
215
223
|
Everything with an ID below 0102 is completed design history; see `TASKS.md`
|
|
216
224
|
for the one-line summary of each.
|
|
@@ -28,3 +28,19 @@ The guide is available before `pcl init` and does not create `.project-loop`.
|
|
|
28
28
|
It complements `pcl next --json`: use `guide` to learn a purpose-oriented route
|
|
29
29
|
and `next` to read the authoritative recommendation for the current project
|
|
30
30
|
state.
|
|
31
|
+
|
|
32
|
+
## Record a repeated harness failure
|
|
33
|
+
|
|
34
|
+
When a bounded trajectory exposes an environment problem rather than only a
|
|
35
|
+
product defect, validate and record a `gap-report/v1`:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pcl contract validate --type gap-report/v1 gap-report.json --json
|
|
39
|
+
pcl gap add gap-report.json --summary "Earliest failed handoff" --dry-run --json
|
|
40
|
+
pcl gap add gap-report.json --summary "Earliest failed handoff" --json
|
|
41
|
+
pcl gap list --target task:T-0001 --gap-class context --json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Candidate lessons remain claims. `pcl gap promote` requires hash-bound human
|
|
45
|
+
provenance and records approval with durable-owner application still pending.
|
|
46
|
+
See [Gap Report v1](gap-report-v1.md).
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# 0199 v0.5.2 publication closeout
|
|
2
|
+
|
|
3
|
+
**Verified:** 2026-07-18
|
|
4
|
+
|
|
5
|
+
**Outcome:** published and publicly verified
|
|
6
|
+
|
|
7
|
+
## Immutable source chain
|
|
8
|
+
|
|
9
|
+
- Release commit: `bbe14cf5a8375e72eaa121c1b8a5a96362560d1d`
|
|
10
|
+
- Annotated tag object: `7643ce5ff982c79822dcef9dcf77396f55f9cc7a`
|
|
11
|
+
- Tag target: `bbe14cf5a8375e72eaa121c1b8a5a96362560d1d`
|
|
12
|
+
- GitHub Release:
|
|
13
|
+
`https://github.com/mocchalera/project-loop-harness/releases/tag/v0.5.2`
|
|
14
|
+
- Release published at: `2026-07-18T09:25:20Z`
|
|
15
|
+
- Release is neither draft nor prerelease.
|
|
16
|
+
|
|
17
|
+
## CI and publication
|
|
18
|
+
|
|
19
|
+
- The first candidate CI run `29638536535` failed because the newly frozen
|
|
20
|
+
ablation tests could not resolve historical commits from a shallow checkout.
|
|
21
|
+
`docs/evidence/0199-v052-ci-history-repair.md` records the bounded workflow
|
|
22
|
+
repair; no runtime or test expectation was weakened.
|
|
23
|
+
- Release-commit CI run `29638815262`: success across Python 3.10, 3.11, 3.12,
|
|
24
|
+
and 3.13; Ubuntu/Windows MCP conformance; Windows CLI smoke; build; Twine;
|
|
25
|
+
installed CLI smoke; and sdist contracts.
|
|
26
|
+
- Release-triggered Trusted Publishing run `29639130354`: success.
|
|
27
|
+
- Build-distributions job `88066532078`: success.
|
|
28
|
+
- Publish-to-PyPI job `88066563827`: success.
|
|
29
|
+
|
|
30
|
+
## Public PyPI artifacts
|
|
31
|
+
|
|
32
|
+
PyPI reports `project-loop-harness 0.5.2`, `Requires-Python >=3.10`, one wheel,
|
|
33
|
+
and one sdist. Downloaded bytes matched PyPI JSON digests.
|
|
34
|
+
|
|
35
|
+
| Artifact | Size | Uploaded | SHA-256 |
|
|
36
|
+
| --- | ---: | --- | --- |
|
|
37
|
+
| `project_loop_harness-0.5.2-py3-none-any.whl` | 487878 | `2026-07-18T09:26:10.519255Z` | `d7f5dda21e721c3405e694991fa7bbc844f7a31daecb4572efd67c48ffc81048` |
|
|
38
|
+
| `project_loop_harness-0.5.2.tar.gz` | 1401906 | `2026-07-18T09:26:12.162754Z` | `529e2236628d70cef2efade82a4ff3017649658e960e6c5b3e8afc0e2f1f601b` |
|
|
39
|
+
|
|
40
|
+
## Clean public install
|
|
41
|
+
|
|
42
|
+
A new Python 3.13 venv installed
|
|
43
|
+
`project-loop-harness==0.5.2` from PyPI with `--no-cache-dir` and no
|
|
44
|
+
`PYTHONPATH`:
|
|
45
|
+
|
|
46
|
+
- `pcl --version`: `pcl 0.5.2`;
|
|
47
|
+
- `pcl init` on a fresh temporary project: passed;
|
|
48
|
+
- `pcl validate --strict --json`: `ok: true`, no errors or warnings;
|
|
49
|
+
- `pcl render --json`: generated dashboard HTML and JSON successfully.
|
|
50
|
+
|
|
51
|
+
The existing pipx installation was upgraded from 0.5.1 to 0.5.2 and both
|
|
52
|
+
`pcl` and `pcl-mcp` are registered. Pipx separately reported an invalid
|
|
53
|
+
interpreter for unrelated package `haconiwa`; no repair was attempted because
|
|
54
|
+
it is outside this release.
|
|
55
|
+
|
|
56
|
+
## Claim boundary
|
|
57
|
+
|
|
58
|
+
The external five-person first-use cohort is still unrun. This release proves
|
|
59
|
+
artifact integrity and engineering verification only; it does not prove user
|
|
60
|
+
adoption, activation thresholds, or seven-day reuse.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# 0201 Gap Report Integrity Hardening Evidence
|
|
2
|
+
|
|
3
|
+
Date: 2026-07-19
|
|
4
|
+
|
|
5
|
+
## Review findings closed
|
|
6
|
+
|
|
7
|
+
1. Gap Report artifacts are created through canonical directory descriptors;
|
|
8
|
+
directory, temporary-file, and final-file symlinks fail before any external
|
|
9
|
+
write or PLH mutation.
|
|
10
|
+
2. `candidate_lessons` is an object keyed by `lesson_id`, duplicate raw JSON
|
|
11
|
+
keys fail during loading, and the packaged timestamp pattern accepts only
|
|
12
|
+
real UTC dates at second precision.
|
|
13
|
+
3. The anchor hash covers the exact stored UTF-8 bytes, so same-size,
|
|
14
|
+
whitespace-only drift is detected.
|
|
15
|
+
4. Class filtering uses the immutable anchor value and exposes separate
|
|
16
|
+
`recorded_gap_class` and `artifact_gap_class` fields.
|
|
17
|
+
|
|
18
|
+
## Verification
|
|
19
|
+
|
|
20
|
+
- `PYTHONPATH=src pytest -q tests/test_gap_reports.py`
|
|
21
|
+
- passed: 27
|
|
22
|
+
- `PYTHONPATH=src pytest -q tests/test_gap_reports.py tests/test_contract_cli.py tests/test_evidence_add.py tests/test_evidence_show.py tests/test_evidence_sets.py tests/test_cli_init.py tests/test_distribution.py`
|
|
23
|
+
- passed: 128
|
|
24
|
+
- `PYTHONPATH=src pytest -q`
|
|
25
|
+
- passed: 1160
|
|
26
|
+
- skipped: 1
|
|
27
|
+
- `ruff check .`
|
|
28
|
+
- passed
|
|
29
|
+
- `python -m build --outdir /tmp/pcl-gap-0201-dist.JtvmwW`
|
|
30
|
+
- built wheel and sdist successfully
|
|
31
|
+
- emitted pre-existing setuptools license-metadata deprecation warnings
|
|
32
|
+
- `python scripts/verify_sdist_contracts.py --dist-dir /tmp/pcl-gap-0201-dist.JtvmwW`
|
|
33
|
+
- passed; unpacked-sdist contract test: 1 passed
|
|
34
|
+
- isolated wheel install at `/tmp/pcl-gap-0201-wheel.vvioRV`
|
|
35
|
+
- `pcl --help`: passed
|
|
36
|
+
- `pcl contract validate --type gap-report/v1 tests/fixtures/gap_report/minimal.json --json`: `ok: true`
|
|
37
|
+
|
|
38
|
+
No dependency, migration, hosted service, external publication, or automatic
|
|
39
|
+
durable-owner write was added.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# 0202 v0.5.3 local release-candidate verification
|
|
2
|
+
|
|
3
|
+
**Verified:** 2026-07-20
|
|
4
|
+
|
|
5
|
+
**Candidate base before the release commit:**
|
|
6
|
+
`287ea03e1697f0ca408a7cc488ad28e00dd1bd4b`
|
|
7
|
+
|
|
8
|
+
**Outcome:** local release candidate ready for independent review; not
|
|
9
|
+
published
|
|
10
|
+
|
|
11
|
+
## Version and scope
|
|
12
|
+
|
|
13
|
+
- `pyproject.toml`, `pcl.__version__`, CLI output, MCP transcript fixture,
|
|
14
|
+
wheel metadata, and sdist metadata resolve to `0.5.3`.
|
|
15
|
+
- The candidate packages event-anchored strict Evidence resolution, the
|
|
16
|
+
`gap-report/v1` contract, and Gap Report integrity hardening completed after
|
|
17
|
+
v0.5.2.
|
|
18
|
+
- DB schema remains 8. Runtime dependencies remain empty; optional development
|
|
19
|
+
and MCP-test dependencies are unchanged. Python metadata remains `>=3.10`.
|
|
20
|
+
- The remote `v0.5.2` tag exists and GitHub reports v0.5.2 as the latest
|
|
21
|
+
published release. No remote state was changed.
|
|
22
|
+
|
|
23
|
+
## Source verification
|
|
24
|
+
|
|
25
|
+
- `python -m ruff check .`: passed.
|
|
26
|
+
- `PYTHONPATH=src pytest -q`: 1160 passed, 1 skipped in 264.52 seconds.
|
|
27
|
+
- The first full run identified only the expected version snapshot delta. The
|
|
28
|
+
current-contract snapshot and its intentional-change log were updated from
|
|
29
|
+
`0.5.2` to `0.5.3`; the focused baseline test then passed 2 tests and the
|
|
30
|
+
final full run passed.
|
|
31
|
+
- `PYTHONPATH=src python -m pcl --root . validate --strict --json`: `ok: true`,
|
|
32
|
+
with 3 active and 26 historical pre-existing warnings.
|
|
33
|
+
- `PYTHONPATH=src python -m pcl --root . render --json`: passed.
|
|
34
|
+
- `git diff --check`: passed.
|
|
35
|
+
|
|
36
|
+
Repository `pcl audit check --json` remains `issues_found` with 55
|
|
37
|
+
human-review Evidence reconciliation findings: 3 current Evidence corruption,
|
|
38
|
+
50 source-drift findings with healthy durable copies, and 2 superseded
|
|
39
|
+
historical drift findings. These pre-existing repository-history findings were
|
|
40
|
+
not repaired or weakened during release preparation; the new scratch projects
|
|
41
|
+
both produced clean audits.
|
|
42
|
+
|
|
43
|
+
## Scratch-project verification
|
|
44
|
+
|
|
45
|
+
An initial truly empty scratch at
|
|
46
|
+
`/tmp/pcl-v053-source-smoke.ZZbGfY` correctly failed strict doctor because the
|
|
47
|
+
generic template retains `CHANGE_ME`, empty commands, and no finish check. A
|
|
48
|
+
new detected Python project at `/tmp/pcl-v053-source-ready.tNQX21` then passed:
|
|
49
|
+
|
|
50
|
+
- init dry-run and apply;
|
|
51
|
+
- strict doctor and strict validation with zero findings;
|
|
52
|
+
- clean audit with 9 matching SQLite/JSONL events and zero anomalies;
|
|
53
|
+
- deterministic dashboard render.
|
|
54
|
+
|
|
55
|
+
This preserves the empty-generic-project safety contract while proving the
|
|
56
|
+
config-ready first-use path.
|
|
57
|
+
|
|
58
|
+
## Build and artifact verification
|
|
59
|
+
|
|
60
|
+
Final artifacts were built in `/tmp/pcl-v053-final-dist.bBJHhD` after the
|
|
61
|
+
release note and task status were finalized.
|
|
62
|
+
|
|
63
|
+
| Artifact | Bytes | SHA-256 |
|
|
64
|
+
| --- | ---: | --- |
|
|
65
|
+
| `project_loop_harness-0.5.3-py3-none-any.whl` | 504394 | `73aa2a34de1c07ddb12e22da477eb41b66e725e036b0252cd5eda94bee2211e7` |
|
|
66
|
+
| `project_loop_harness-0.5.3.tar.gz` | 1471601 | `5e18bfeedf7a22153b0c01b6f80fb93cf502bd4318e7557a8a4564a1285d4234` |
|
|
67
|
+
|
|
68
|
+
- `python -m build`: passed for wheel and sdist.
|
|
69
|
+
- `python -m twine check`: passed for both artifacts.
|
|
70
|
+
- `python scripts/verify_sdist_contracts.py --dist-dir
|
|
71
|
+
/tmp/pcl-v053-final-dist.bBJHhD`: passed; extracted-sdist contract test passed 1
|
|
72
|
+
test.
|
|
73
|
+
- The sdist contains Task 0202 and the v0.5.3 release note.
|
|
74
|
+
- Wheel metadata reports project version `0.5.3`, Python `>=3.10`, and no
|
|
75
|
+
unconditional `Requires-Dist` entry.
|
|
76
|
+
|
|
77
|
+
## Clean-wheel smoke
|
|
78
|
+
|
|
79
|
+
A new isolated environment at `/tmp/pcl-v053-final-wheel.7Yn5Nc` installed the
|
|
80
|
+
final wheel with `--no-deps` and `PYTHONPATH` removed.
|
|
81
|
+
|
|
82
|
+
- CLI, import, and installed metadata all reported `0.5.3`.
|
|
83
|
+
- Packaged `gap-report/v1` validation accepted the minimal fixture.
|
|
84
|
+
- Config-ready init dry-run and apply passed.
|
|
85
|
+
- Strict doctor and strict validation returned zero findings.
|
|
86
|
+
- Audit was clean with 9 matching SQLite/JSONL events and zero anomalies.
|
|
87
|
+
- Dashboard render passed.
|
|
88
|
+
|
|
89
|
+
## Residual risks and publication boundary
|
|
90
|
+
|
|
91
|
+
- Local verification used macOS arm64 and Python 3.13.12. The Python 3.10-3.12
|
|
92
|
+
and Windows CI matrix was not rerun locally; Windows-specific secure Gap
|
|
93
|
+
Report file creation therefore remains dependent on remote CI/review.
|
|
94
|
+
- Setuptools emitted the existing license TOML-table and classifier
|
|
95
|
+
deprecation warnings with a 2027-02-18 deadline. Artifact construction and
|
|
96
|
+
Twine checks passed.
|
|
97
|
+
- Artifact hashes identify this local candidate build. A separately authorized
|
|
98
|
+
publication flow must rebuild or byte-compare final artifacts from the
|
|
99
|
+
reviewed release commit.
|
|
100
|
+
- No Git tag, push, GitHub Release, PyPI/TestPyPI upload, pipx mutation, or
|
|
101
|
+
external announcement was performed.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Gap Report v1
|
|
2
|
+
|
|
3
|
+
`gap-report/v1` records one producer's diagnosis of the earliest failed
|
|
4
|
+
handoff in a bounded agent trajectory. It adds a feedback layer above existing
|
|
5
|
+
Work Brief, Evidence, approval-provenance, and completion-packet contracts; it
|
|
6
|
+
does not create a second harness directory or alter completion semantics.
|
|
7
|
+
|
|
8
|
+
The design adapts the bounded loop in the Harness Engineering
|
|
9
|
+
[Improve One Harnessed Job](https://github.com/lopopolo/harness-engineering/blob/trunk/playbooks/improve-harness.md)
|
|
10
|
+
playbook to PLH's existing local state and Evidence model.
|
|
11
|
+
|
|
12
|
+
## Trust boundary
|
|
13
|
+
|
|
14
|
+
- A valid report is a producer-authored claim, not a verified fact.
|
|
15
|
+
- `earliest_failed_handoff` and `gap_class` remain diagnoses. Shape validation
|
|
16
|
+
does not prove that the producer found the true earliest cause.
|
|
17
|
+
- `worker_limitation` is provisional. One trajectory cannot establish a
|
|
18
|
+
general worker limitation.
|
|
19
|
+
- A candidate lesson is isolated from project policy until a human-origin
|
|
20
|
+
decision approves promotion against the recorded artifact hash.
|
|
21
|
+
- Promotion approval does not apply the lesson. The event always records
|
|
22
|
+
`application_status: pending`; a later authorized task must update the
|
|
23
|
+
named durable owner through its normal workflow and proof boundary.
|
|
24
|
+
- PLH never writes AGENTS.md, Skills, tests, APIs, or runbooks automatically
|
|
25
|
+
from a Gap Report.
|
|
26
|
+
|
|
27
|
+
## Contract fields
|
|
28
|
+
|
|
29
|
+
Top-level fields are strict; unknown fields fail closed.
|
|
30
|
+
|
|
31
|
+
- `contract_version`: exactly `gap-report/v1`.
|
|
32
|
+
- `producer`: non-empty producer `name` and `version`.
|
|
33
|
+
- `generated_at`: RFC 3339 UTC at whole-second precision ending in `Z`.
|
|
34
|
+
- `target`: one existing `goal`, `task`, `feature`, `defect`, `workflow_run`,
|
|
35
|
+
or `agent_job` and its PLH ID.
|
|
36
|
+
- `related` (optional): a completion `packet_id`, typed `evidence:E-NNNN`
|
|
37
|
+
references, or an existing Workflow Run ID.
|
|
38
|
+
- `earliest_failed_handoff`: non-empty `stage` and `description`.
|
|
39
|
+
- `gap_class`: one closed value:
|
|
40
|
+
`context`, `capability`, `domain_ownership`, `authority`, `proof`,
|
|
41
|
+
`feedback_delivery`, or `worker_limitation`.
|
|
42
|
+
- `candidate_lessons`: an object keyed by unique `lesson_id` values. Each value
|
|
43
|
+
contains the lesson, proposed durable owner, and supporting typed Evidence
|
|
44
|
+
references. Duplicate JSON object keys are rejected while loading.
|
|
45
|
+
|
|
46
|
+
Durable owners are closed to `agents_md`, `skill`, `types`, `api`, `tests`,
|
|
47
|
+
`runbook`, `project_docs`, and `tool_error_message`. A new owner or gap class
|
|
48
|
+
changes the protected v1 contract and requires schema, validator, fixture,
|
|
49
|
+
documentation, and compatibility review.
|
|
50
|
+
|
|
51
|
+
## Validate and record
|
|
52
|
+
|
|
53
|
+
Validation is read-only and does not require an initialized project:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
pcl contract validate --type gap-report/v1 gap-report.json --json
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Recording validates the artifact and all target/related Evidence references
|
|
60
|
+
before mutation. `--dry-run` performs the same preflight without writing a
|
|
61
|
+
file, Evidence row, target link, event, or outbox record.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
pcl gap add gap-report.json \
|
|
65
|
+
--summary "Release runbook was not discoverable" \
|
|
66
|
+
--dry-run --json
|
|
67
|
+
|
|
68
|
+
pcl gap add gap-report.json \
|
|
69
|
+
--summary "Release runbook was not discoverable" \
|
|
70
|
+
--json
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Recorded files use the canonical project-local path
|
|
74
|
+
`.project-loop/evidence/gap-reports/e-nnnn-gap-report-v1.json`. The anchor event
|
|
75
|
+
stores target, path, byte size, the SHA-256 of the exact stored UTF-8 bytes, gap
|
|
76
|
+
class, and candidate count. Creation opens canonical directories without
|
|
77
|
+
following symlinks, writes a new no-follow temporary file, and publishes it
|
|
78
|
+
without overwriting an existing final path. The same normalized report cannot
|
|
79
|
+
be recorded twice.
|
|
80
|
+
|
|
81
|
+
## Inspect and filter
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
pcl gap show --evidence E-0002 --json
|
|
85
|
+
pcl gap list --target task:T-0001 --gap-class context --json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Read paths require exactly one `gap_report_recorded` anchor and one
|
|
89
|
+
`gap_report` target link. They verify the canonical path, reject symlinks and
|
|
90
|
+
identity changes, read the recorded byte size once, revalidate the contract,
|
|
91
|
+
and compare the exact stored-byte SHA-256 with the anchor. `--gap-class`
|
|
92
|
+
filters by the anchor's immutable recorded class, while the current artifact
|
|
93
|
+
class is returned separately as `artifact_gap_class`; tampering therefore
|
|
94
|
+
cannot move a warning into another filter bucket. An unreadable or invalid
|
|
95
|
+
anchor class is included in filtered results so the warning is not hidden.
|
|
96
|
+
Findings remain visible as `health: warning`; unhealthy reports cannot
|
|
97
|
+
authorize promotion.
|
|
98
|
+
|
|
99
|
+
## Approve candidate promotion
|
|
100
|
+
|
|
101
|
+
Candidate lessons need at least one existing supporting Evidence reference.
|
|
102
|
+
Agent and system actors fail with `gap_lesson_human_approval_required`.
|
|
103
|
+
|
|
104
|
+
The usual path is a conversational or Cockpit decision recorded by an agent:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
pcl gap promote E-0002 \
|
|
108
|
+
--lesson lesson-release-route \
|
|
109
|
+
--actor human:owner \
|
|
110
|
+
--actor-kind human \
|
|
111
|
+
--recorded-by agent:codex \
|
|
112
|
+
--recorder-kind agent \
|
|
113
|
+
--source-kind cockpit \
|
|
114
|
+
--source-ref cockpit:<task-id> \
|
|
115
|
+
--reason "Reviewed the cited Evidence and approved promotion" \
|
|
116
|
+
--json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
The append-only `gap_lesson_promotion_approved` event binds the human actor,
|
|
120
|
+
recorder, source, report Evidence ID/hash, lesson ID/hash, supporting refs,
|
|
121
|
+
durable owner, and `application_status: pending`. Repeating the same approval
|
|
122
|
+
is idempotent. Changing the report or lesson invalidates the binding.
|
|
123
|
+
|
|
124
|
+
## Compatibility and scope
|
|
125
|
+
|
|
126
|
+
This feature keeps DB schema 8. Projects with no Gap Reports behave unchanged.
|
|
127
|
+
`completion-packet/v1`, terminal-state rules, dashboard contracts, and legacy
|
|
128
|
+
Evidence display semantics are unchanged. The packaged schema is available
|
|
129
|
+
through `pcl.contracts.gap_report.gap_report_schema()`.
|
|
130
|
+
|
|
131
|
+
The AGENTS.md and CLAUDE.md marker blocks are append-once. Fresh initialization
|
|
132
|
+
gets the compact operating contract; existing initialized projects are not
|
|
133
|
+
silently rewritten and must adopt the new router lines through an explicit,
|
|
134
|
+
reviewed instruction update.
|
|
135
|
+
|
|
136
|
+
Aggregation (`pcl harness review/improve`), automatic owner mutation, causal
|
|
137
|
+
claims, telemetry, hosted storage, and external provider calls are outside v1.
|