pdl-taskmaster 2.5.1__tar.gz → 2.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pdl_taskmaster-2.6.0/.gitignore +19 -0
- pdl_taskmaster-2.6.0/AGENTS.md +69 -0
- pdl_taskmaster-2.6.0/ARCHITECTURE.md +276 -0
- pdl_taskmaster-2.6.0/GOAL.md +142 -0
- pdl_taskmaster-2.6.0/PKG-INFO +207 -0
- pdl_taskmaster-2.6.0/README.md +162 -0
- pdl_taskmaster-2.6.0/REVIEWER.md +61 -0
- pdl_taskmaster-2.6.0/TARGET_ARCHITECTURE.md +156 -0
- pdl_taskmaster-2.6.0/VERSION +1 -0
- pdl_taskmaster-2.6.0/catalogue_runs.py +19 -0
- pdl_taskmaster-2.6.0/contracts/CONTRACT_MANIFEST.json +239 -0
- pdl_taskmaster-2.6.0/contracts/EXECUTION_CONTRACT.json +666 -0
- pdl_taskmaster-2.6.0/contracts/VERIFICATION_CONTRACT.json +379 -0
- pdl_taskmaster-2.6.0/contracts/standards/EXECUTION_STANDARD.md +16 -0
- pdl_taskmaster-2.6.0/contracts/standards/PDL_STANDARD.md +21 -0
- pdl_taskmaster-2.6.0/contracts/standards/RESPONSE_PLAN_STANDARD.md +24 -0
- pdl_taskmaster-2.6.0/contracts/standards/RESULT_STANDARD.md +34 -0
- pdl_taskmaster-2.6.0/contracts/standards/SEMANTIC_INPUT_STANDARD.md +15 -0
- pdl_taskmaster-2.6.0/contracts/standards/UNCONFIRMED_STANDARD.md +13 -0
- pdl_taskmaster-2.6.0/docs/SANDBOX.md +139 -0
- pdl_taskmaster-2.6.0/docs/adr/0001-controller-gated-pseudocode-protocol.md +217 -0
- pdl_taskmaster-2.6.0/docs/adr/0002-controller-owned-artifact-controls.md +104 -0
- pdl_taskmaster-2.6.0/docs/adr/0003-phase-projected-single-model-contexts.md +95 -0
- pdl_taskmaster-2.6.0/docs/adr/0004-confirmed-artifacts-as-execution-boundary.md +100 -0
- pdl_taskmaster-2.6.0/docs/adr/0005-optional-result-pseudocode.md +100 -0
- pdl_taskmaster-2.6.0/docs/adr/0006-bounded-pre-execution-reasoning.md +113 -0
- pdl_taskmaster-2.6.0/docs/adr/0007-operationalize-negative-constraints-by-omission.md +90 -0
- pdl_taskmaster-2.6.0/docs/adr/0008-context-and-session-management.md +67 -0
- pdl_taskmaster-2.6.0/docs/adr/0009-result-pseudocode-decomposition-standard.md +46 -0
- pdl_taskmaster-2.6.0/docs/adr/0010-pydantic-wire-enforcement.md +39 -0
- pdl_taskmaster-2.6.0/docs/adr/0011-in-memory-vfs-and-microvm-sandboxing.md +40 -0
- pdl_taskmaster-2.6.0/docs/adr/0012-system-1-decision-models-via-rlcd.md +57 -0
- pdl_taskmaster-2.6.0/docs/adr/0013-substantive-correctness-verification.md +47 -0
- pdl_taskmaster-2.6.0/docs/adr/0014-dual-plane-boundary-and-wire-conformance.md +51 -0
- pdl_taskmaster-2.6.0/docs/adr/0015-model-synthesized-verification-and-confinement-boundaries.md +31 -0
- pdl_taskmaster-2.6.0/docs/adr/0016-pydantic-ssot-wire-and-deliverable-boundary-enforcement.md +27 -0
- pdl_taskmaster-2.6.0/docs/adr/0017-dual-plane-runtime-realignment-and-mrv-solver-governance.md +34 -0
- pdl_taskmaster-2.6.0/docs/adr/0018-elimination-of-regex-heuristics-in-verification-and-reconciliation-integrity.md +47 -0
- pdl_taskmaster-2.6.0/docs/adr/0019-headless-waiting-input-exit-and-wire-tolerance.md +64 -0
- pdl_taskmaster-2.6.0/docs/adr/0020-system-1-environment-conditioned-refusal-routing.md +34 -0
- pdl_taskmaster-2.6.0/docs/adr/0021-session-scoped-os-native-confinement.md +34 -0
- pdl_taskmaster-2.6.0/docs/adr/0022-default-reasoning-high-pre-execution.md +24 -0
- pdl_taskmaster-2.6.0/docs/adr/0023-taskmaster-host-interface-and-event-contract.md +83 -0
- pdl_taskmaster-2.6.0/docs/adr/0024-operation-profiles.md +88 -0
- pdl_taskmaster-2.6.0/docs/adr/0025-agentic-capability-boundary.md +86 -0
- pdl_taskmaster-2.6.0/docs/adr/0026-extension-and-workflow-model.md +85 -0
- pdl_taskmaster-2.6.0/docs/adr/0027-typed-task-entity-extraction.md +53 -0
- pdl_taskmaster-2.6.0/docs/adr/0028-model-capability-boundary.md +81 -0
- pdl_taskmaster-2.6.0/docs/adr/0029-in-call-agent-tools.md +53 -0
- pdl_taskmaster-2.6.0/docs/adr/0030-positive-witness-forms.md +41 -0
- pdl_taskmaster-2.6.0/docs/adr/README.md +42 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0001-output-contracts-from-pydantic.md +125 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0002-openrouter-capability-adapter.md +85 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0003-model-profiles.md +99 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0004-reasoning-allocation-per-model.md +41 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0005-normative-store-and-workspace-layout.md +40 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0006-result-ir-schema-and-validation.md +43 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0007-wire-payloads-and-drafting-guidance.md +39 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0008-system-1-client-and-gating.md +50 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0009-verification-witnesses-and-checkers.md +55 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0010-sandbox-backends-and-execution-budgets.md +62 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0011-headless-exit-handling.md +30 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/IMPL-0012-typed-task-entity-extraction.md +49 -0
- pdl_taskmaster-2.6.0/docs/adr/impl/README.md +41 -0
- pdl_taskmaster-2.6.0/docs/api.md +112 -0
- pdl_taskmaster-2.6.0/docs/architecture.md +64 -0
- pdl_taskmaster-2.6.0/docs/audits/NEGATIVE_CLAUSE_AUDIT.md +104 -0
- pdl_taskmaster-2.6.0/docs/audits/RELEASE_AUDIT_2.6.0rc1.md +72 -0
- pdl_taskmaster-2.6.0/docs/benchmarks.md +280 -0
- pdl_taskmaster-2.6.0/docs/evaluation.md +53 -0
- pdl_taskmaster-2.6.0/docs/extensions.md +149 -0
- pdl_taskmaster-2.6.0/docs/getting-started.md +38 -0
- pdl_taskmaster-2.6.0/docs/guardrails/ANTI_OVERFITTING_AND_BENCHMARK_INTEGRITY.md +67 -0
- pdl_taskmaster-2.6.0/docs/hosts/linux.md +191 -0
- pdl_taskmaster-2.6.0/docs/hosts/macos.md +195 -0
- pdl_taskmaster-2.6.0/docs/hosts/windows.md +194 -0
- pdl_taskmaster-2.6.0/docs/index.md +67 -0
- pdl_taskmaster-2.6.0/docs/mcp/EXTERNAL_TOOLS.md +82 -0
- pdl_taskmaster-2.6.0/docs/mcp/INTERNAL_TOOLS.md +36 -0
- pdl_taskmaster-2.6.0/docs/plans/0028-model-capability-boundary-plan.md +217 -0
- pdl_taskmaster-2.6.0/docs/plans/API_SURFACE_MAP.md +62 -0
- pdl_taskmaster-2.6.0/docs/plans/ENTITY_REDESIGN.md +240 -0
- pdl_taskmaster-2.6.0/docs/plans/ENTITY_V3_DESIGN.md +241 -0
- pdl_taskmaster-2.6.0/docs/plans/ENTITY_VNEXT_PLAN.md +342 -0
- pdl_taskmaster-2.6.0/docs/plans/L100_LIVE_REPORT.md +178 -0
- pdl_taskmaster-2.6.0/docs/plans/L107_SCRATCHPAD_REVIEW.md +84 -0
- pdl_taskmaster-2.6.0/docs/plans/L93-draft-execute-report.md +198 -0
- pdl_taskmaster-2.6.0/docs/plans/L96-stage-ablation-plan.md +290 -0
- pdl_taskmaster-2.6.0/docs/plans/LEDGER.md +180 -0
- pdl_taskmaster-2.6.0/docs/plans/PASS_RATE_TRACKER.md +168 -0
- pdl_taskmaster-2.6.0/docs/plans/REQUEST_TESTS_PROPOSAL.md +121 -0
- pdl_taskmaster-2.6.0/docs/plans/TOOL_EXTRACTION_PLAN.md +107 -0
- pdl_taskmaster-2.6.0/docs/plans/TOOL_LOOP_MCP_EVAL.md +76 -0
- pdl_taskmaster-2.6.0/docs/plans/b2-worklist.md +99 -0
- pdl_taskmaster-2.6.0/docs/plans/pr2-worklist.md +152 -0
- pdl_taskmaster-2.6.0/docs/plans/protocol-fixes-plan.md +251 -0
- pdl_taskmaster-2.6.0/docs/plans/protocol-vs-control-experiment-design.md +801 -0
- pdl_taskmaster-2.6.0/docs/plans/ultrafast-route-design.md +315 -0
- pdl_taskmaster-2.6.0/docs/providers/2026-10-02/harness-probe.json +293 -0
- pdl_taskmaster-2.6.0/docs/providers/2026-10-02/live-sessions.json +968 -0
- pdl_taskmaster-2.6.0/docs/providers/2026-10-02/routing-verification.json +286 -0
- pdl_taskmaster-2.6.0/docs/providers/2026-10-02/stream-benchmark-reasoning-high.json +396 -0
- pdl_taskmaster-2.6.0/docs/providers/2026-10-02/stream-benchmark-reasoning-low.json +652 -0
- pdl_taskmaster-2.6.0/docs/providers.md +48 -0
- pdl_taskmaster-2.6.0/docs/reference.md +49 -0
- pdl_taskmaster-2.6.0/docs/releasing.md +61 -0
- pdl_taskmaster-2.6.0/docs/repl.md +167 -0
- pdl_taskmaster-2.6.0/experiments/ADJUDICATION_55_RESULTS.json +1294 -0
- pdl_taskmaster-2.6.0/experiments/PROMPT_SET.lock.json +789 -0
- pdl_taskmaster-2.6.0/experiments/README.md +55 -0
- pdl_taskmaster-2.6.0/experiments/__init__.py +6 -0
- pdl_taskmaster-2.6.0/experiments/adjudicate.py +80 -0
- pdl_taskmaster-2.6.0/experiments/adjudicate_55.py +254 -0
- pdl_taskmaster-2.6.0/experiments/analysis.py +269 -0
- pdl_taskmaster-2.6.0/experiments/baseline/BASELINE.json +5428 -0
- pdl_taskmaster-2.6.0/experiments/baseline/BASELINE.md +150 -0
- pdl_taskmaster-2.6.0/experiments/baseline.py +96 -0
- pdl_taskmaster-2.6.0/experiments/controls.py +253 -0
- pdl_taskmaster-2.6.0/experiments/five_arm_report.py +613 -0
- pdl_taskmaster-2.6.0/experiments/gate_config.example.json +141 -0
- pdl_taskmaster-2.6.0/experiments/gate_config.smoke.json +24 -0
- pdl_taskmaster-2.6.0/experiments/gate_report.py +165 -0
- pdl_taskmaster-2.6.0/experiments/generate.py +343 -0
- pdl_taskmaster-2.6.0/experiments/graders_gen.py +44 -0
- pdl_taskmaster-2.6.0/experiments/grading.py +298 -0
- pdl_taskmaster-2.6.0/experiments/interaction.py +130 -0
- pdl_taskmaster-2.6.0/experiments/judge.py +364 -0
- pdl_taskmaster-2.6.0/experiments/l100_vnext/fixed_entity.py +288 -0
- pdl_taskmaster-2.6.0/experiments/l100_vnext/frozen_cli.py +84 -0
- pdl_taskmaster-2.6.0/experiments/l100_vnext/orig_corpus.py +125 -0
- pdl_taskmaster-2.6.0/experiments/l100_vnext/orig_defects.py +74 -0
- pdl_taskmaster-2.6.0/experiments/l100_vnext/quotes.py +87 -0
- pdl_taskmaster-2.6.0/experiments/l100_vnext/static_checks.py +294 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_report.txt +37 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_results.json +1539 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/000.py +66 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/001.py +112 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/002.py +89 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/003.py +54 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/004.py +151 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/005.py +127 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/006.py +181 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/007.py +27 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/008.py +84 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/009.py +18 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/010.py +117 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/011.py +99 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/012.py +30 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/013.py +225 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/014.py +41 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/015.py +128 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/016.py +29 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/017.py +208 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/018.py +79 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/019.py +154 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/020.py +30 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/021.py +157 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/022.py +118 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/023.py +39 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/024.py +297 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/025.py +17 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/026.py +27 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/027.py +156 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/028.py +23 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/029.py +123 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/030.py +201 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/031.py +207 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/032.py +29 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/033.py +168 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/034.py +29 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/035.py +30 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/036.py +164 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/037.py +2087 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/038.py +35 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/039.py +96 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/040.py +178 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/041.py +199 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/042.py +30 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/043.py +17 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/044.py +23 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/045.py +157 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/046.py +168 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/047.py +381 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/048.py +26 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/049.py +62 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/050.py +11 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/051.py +36 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/052.py +17 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/053.py +33 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/054.py +211 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/055.py +105 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/056.py +144 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/057.py +85 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/058.py +116 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/059.py +33 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/060.py +150 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/061.py +464 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/062.py +29 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/063.py +72 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/064.py +117 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/065.py +77 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/066.py +127 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/067.py +30 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/068.py +23 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/069.py +144 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/070.py +29 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/071.py +189 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests/072.py +150 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/bound_tests.py +140 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/corpus.py +22 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/evaluate.py +41 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/report.py +48 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/report.txt +36 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/report_bound.py +40 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/results.json +3160 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/runner.py +50 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/tests/04-02-s1.py +156 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/tests/04-02-s2.py +248 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/tests/04-03-s1.py +101 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/tests/04-03-s2.py +42 -0
- pdl_taskmaster-2.6.0/experiments/l115-request-tests/write_tests.py +38 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/PLAN.md +131 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/analyze_pilot.py +243 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/grade_t1.py +340 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/judge_pilot.py +265 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/kit/EXPERIMENT_PLAN.md +199 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/kit/README.md +22 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/kit/config/arm-instructions.md +31 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/kit/config/preregistration.yaml +90 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/preregistration.yaml +64 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/reference/reconcile.py +80 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/run_pilot.py +190 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/scoring/SCORING_PROTOCOL.md +53 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/scoring/acceptance-criteria.csv +42 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/scoring/golden-expectations.json +109 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/tasks/fixtures/task-01/accounts.csv +5 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/tasks/fixtures/task-01/events.jsonl +11 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/tasks/fixtures/task-01/pricing.json +6 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/tasks/task-01-usage-reconciliation.md +83 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/tasks/task-02-queue-cutover.md +51 -0
- pdl_taskmaster-2.6.0/experiments/pdl_format/tasks/task-03-incident-postmortem.md +52 -0
- pdl_taskmaster-2.6.0/experiments/prompt_set.py +134 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-01.json +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-01.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-02.json +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-02.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-03.json +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-03.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-04.json +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-04.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-05.json +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-05.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-06.json +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-06.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-07.json +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-07.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-08.json +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-08.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-09.json +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/A-09.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/prompts/ambiguity/MANIFEST.json +93 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-01.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-01.txt +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-02.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-02.txt +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-03.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-03.txt +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-04.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-04.txt +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-05.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-05.txt +9 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-06.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HG/D-HG-06.txt +9 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HP/D-HP-01.solution.json +85 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HP/D-HP-01.txt +4 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HP/D-HP-02.solution.json +85 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HP/D-HP-02.txt +4 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HP/D-HP-03.solution.json +85 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HP/D-HP-03.txt +4 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HP/D-HP-04.solution.json +85 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/HP/D-HP-04.txt +4 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-01.solution.json +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-01.txt +7 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-02.solution.json +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-02.txt +7 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-03.solution.json +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-03.txt +7 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-04.solution.json +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-04.txt +7 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-05.solution.json +12 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-05.txt +8 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-06.solution.json +12 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/KK/D-KK-06.txt +8 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/LS/D-LS-01.solution.json +136 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/LS/D-LS-01.txt +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/LS/D-LS-02.solution.json +136 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/LS/D-LS-02.txt +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/LS/D-LS-03.solution.json +136 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/LS/D-LS-03.txt +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/LS/D-LS-04.solution.json +136 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/LS/D-LS-04.txt +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/MANIFEST.jsonl +24 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/SS/D-SS-01.solution.json +96 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/SS/D-SS-01.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/SS/D-SS-02.solution.json +74 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/SS/D-SS-02.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/SS/D-SS-03.solution.json +96 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/SS/D-SS-03.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/SS/D-SS-04.solution.json +116 -0
- pdl_taskmaster-2.6.0/experiments/prompts/dev/SS/D-SS-04.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-01.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-01.txt +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-02.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-02.txt +9 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-03.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-03.txt +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-04.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-04.txt +9 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-05.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-05.txt +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-06.solution.json +29 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HG/G-HG-06.txt +10 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HP/G-HP-01.solution.json +85 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HP/G-HP-01.txt +4 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HP/G-HP-02.solution.json +85 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HP/G-HP-02.txt +4 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HP/G-HP-03.solution.json +85 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HP/G-HP-03.txt +4 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HP/G-HP-04.solution.json +85 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/HP/G-HP-04.txt +4 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-01.solution.json +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-01.txt +7 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-02.solution.json +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-02.txt +7 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-03.solution.json +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-03.txt +7 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-04.solution.json +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-04.txt +7 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-05.solution.json +12 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-05.txt +8 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-06.solution.json +12 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/KK/G-KK-06.txt +8 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/LS/G-LS-01.solution.json +136 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/LS/G-LS-01.txt +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/LS/G-LS-02.solution.json +136 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/LS/G-LS-02.txt +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/LS/G-LS-03.solution.json +136 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/LS/G-LS-03.txt +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/LS/G-LS-04.solution.json +136 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/LS/G-LS-04.txt +11 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/MANIFEST.jsonl +24 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/SS/G-SS-01.solution.json +114 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/SS/G-SS-01.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/SS/G-SS-02.solution.json +101 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/SS/G-SS-02.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/SS/G-SS-03.solution.json +69 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/SS/G-SS-03.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/SS/G-SS-04.solution.json +141 -0
- pdl_taskmaster-2.6.0/experiments/prompts/gate/SS/G-SS-04.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/03-01.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/03-04.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/03-07.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/04-04.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/06-04.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/06-05.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/07-01.json +38 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/07-02.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/07-03.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/07-04.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/07-05.json +28 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/07-06.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/07-07.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/08-01.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/08-02.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/08-03.json +38 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/08-04.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/08-05.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/08-06.json +38 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/08-07.json +38 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/10-01.json +23 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/10-02.json +23 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/10-03.json +28 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/10-04.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/10-05.json +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/10-07.json +23 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/14-02.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/14-04.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/14-06.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/15-01.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/15-02.json +38 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/15-03.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/15-04.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/15-05.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/15-06.json +38 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/15-07.json +33 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/16-01.json +28 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/16-02.json +23 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/16-04.json +23 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-01-answer.json +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-01-review.json +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-02-answer.json +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-02-review.json +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-03-answer.json +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-03-review.json +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-04-answer.json +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-04-review.json +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-05-answer.json +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-05-review.json +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-06-answer.json +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-06-review.json +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-07-answer.json +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-07-review.json +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-08-answer.json +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-08-review.json +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-09-answer.json +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/A-09-review.json +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/CALIBRATION.json +908 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/03-01/fail_polling.md +26 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/03-01/fail_test_wrong_timing.md +31 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/03-01/pass_full.md +49 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/03-04/fail_no_line_buffering.md +19 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/03-04/fail_threads.md +16 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/03-04/pass_full.md +55 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/03-07/fail_no_backoff_no_window.md +19 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/03-07/pass_full.md +56 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/04-04/fail_follow_wrong.md +6 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/04-04/fail_no_trace.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/04-04/pass_full.md +29 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/06-04/fail_gil_is_enough.md +11 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/06-04/fail_sleep_fix.md +14 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/06-04/pass_full.md +51 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/06-05/fail_blames_float.md +8 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/06-05/fail_no_explicit_fix.md +7 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/06-05/pass_full.md +21 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-01/fail_drops_validation.md +26 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-01/fail_two_classes.md +10 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-01/pass_full.md +100 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-02/fail_swallows_errors.md +19 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-02/pass_full.md +45 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-03/fail_still_multiple_inheritance.md +19 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-03/pass_full.md +58 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-04/fail_still_global.md +19 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-04/pass_full.md +48 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-05/fail_silent_default.md +19 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-05/pass_full.md +45 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-06/fail_wrong_layout.md +10 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-06/pass_full.md +69 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-07/fail_rounding_changed.md +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/07-07/pass_full.md +25 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-01/fail_generic.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-01/pass_full.md +32 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-02/fail_misses_two.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-02/pass_full.md +4 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-03/fail_linear.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-03/pass_full.md +17 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-04/fail_restates.md +7 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-04/pass_full.md +10 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-05/fail_one_story.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-05/pass_full.md +7 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-06/fail_wrong_articles.md +6 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-06/pass_full.md +9 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-07/fail_no_rules.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/08-07/pass_full.md +25 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-01/fail_no_twins.md +9 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-01/pass_full.md +16 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-02/fail_still_bs4.md +9 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-02/pass_full.md +23 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-03/fail_library.md +10 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-03/pass_full.md +36 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-04/fail_lost_dot_rule.md +10 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-04/pass_full.md +16 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-05/fail_caesar_bleed.md +18 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-05/pass_full.md +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-07/fail_wrong_complexity.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/10-07/pass_full.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/14-02/fail_no_canonical_forms.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/14-02/fail_wrong_theorem.md +5 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/14-02/pass_full.md +19 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/14-04/fail_missing_termination.md +5 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/14-04/fail_sets_not_multisets.md +5 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/14-04/pass_full.md +8 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/14-06/fail_misses_a_guard.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/14-06/pass_guard.md +11 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/14-06/pass_timing.md +7 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-01/fail_wrong_counts.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-01/pass_summary.md +114 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-02/fail_single_key.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-02/pass_full.md +14 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-03/fail_always_stream.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-03/pass_full.md +7 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-04/fail_threads_equal_pool.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-04/pass_full.md +9 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-05/fail_jvm_answer.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-05/pass_full.md +4 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-06/fail_single_column_everything.md +8 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-06/pass_full.md +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-07/fail_memory_bottleneck.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/15-07/pass_full.md +5 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/16-01/fail_language_dependent.md +4 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/16-01/fail_unsolvable.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/16-01/pass_boolos.md +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/16-02/fail_lost_dollar.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/16-02/fail_no_accounting.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/16-02/pass_explanation.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/16-04/fail_exercise.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/16-04/fail_short_only.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/16-04/pass_canonical.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-01-answer/fail_other_reading.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-01-answer/pass_answer.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-01-review/fail_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-01-review/pass_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-02-answer/fail_other_reading.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-02-answer/pass_answer.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-02-review/fail_artifact.md +2 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-02-review/pass_artifact.md +2 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-03-answer/fail_other_reading.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-03-answer/pass_answer.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-03-review/fail_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-03-review/pass_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-04-answer/fail_other_reading.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-04-answer/pass_answer.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-04-review/fail_artifact.md +2 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-04-review/pass_artifact.md +2 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-05-answer/fail_other_reading.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-05-answer/pass_answer.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-05-review/fail_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-05-review/pass_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-06-answer/fail_other_reading.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-06-answer/pass_answer.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-06-review/fail_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-06-review/pass_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-07-answer/fail_other_reading.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-07-answer/pass_answer.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-07-review/fail_artifact.md +2 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-07-review/pass_artifact.md +2 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-08-answer/fail_other_reading.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-08-answer/pass_answer.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-08-review/fail_artifact.md +2 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-08-review/pass_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-09-answer/fail_other_reading.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-09-answer/pass_answer.md +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-09-review/fail_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/answers/A-09-review/pass_artifact.md +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/KEY.json +392 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal001.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal002.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal003.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal004.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal005.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal006.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal007.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal008.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal009.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal010.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal011.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal012.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal013.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal014.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal015.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal016.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal017.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal018.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal019.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal020.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal021.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal022.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal023.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal024.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal025.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal026.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal027.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal028.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal029.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal030.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal031.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal032.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal033.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal034.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal035.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal036.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal037.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal038.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal039.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal040.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal041.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal042.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal043.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal044.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal045.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal046.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal047.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal048.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal049.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal050.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal051.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal052.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal053.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal054.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal055.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal056.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal057.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal058.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal059.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal060.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal061.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal062.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal063.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal064.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal065.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal066.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal067.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal068.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal069.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal070.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal071.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal072.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal073.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal074.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal075.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal076.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal077.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/claude/cal078.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal001.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal002.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal003.reply.txt +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal004.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal005.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal006.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal007.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal008.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal009.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal010.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal011.reply.txt +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal012.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal013.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal014.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal015.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal016.reply.txt +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal017.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal018.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal019.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal020.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal021.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal022.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal023.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal024.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal025.reply.txt +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal026.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal027.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal028.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal029.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal030.reply.txt +10 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal031.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal032.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal033.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal034.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal035.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal036.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal037.reply.txt +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal038.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal039.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal040.reply.txt +10 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal041.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal042.reply.txt +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal043.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal044.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal045.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal046.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal047.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal048.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal049.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal050.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal051.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal052.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal053.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal054.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal055.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal056.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal057.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal058.reply.txt +11 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal059.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal060.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal061.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal062.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal063.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal064.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal065.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal066.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal067.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal068.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal069.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal070.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal071.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal072.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal073.reply.txt +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal074.reply.txt +3 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal075.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal076.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal077.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/gemini/cal078.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/superseded/claude/cal007.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/superseded/claude/cal011.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/superseded/claude/cal020.reply.txt +1 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/superseded/gemini/cal007.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/superseded/gemini/cal011.reply.txt +13 -0
- pdl_taskmaster-2.6.0/experiments/rubrics/calibration/superseded/gemini/cal020.reply.txt +12 -0
- pdl_taskmaster-2.6.0/experiments/rubrics.md +46 -0
- pdl_taskmaster-2.6.0/experiments/run_three_arms.py +131 -0
- pdl_taskmaster-2.6.0/experiments/runner.py +560 -0
- pdl_taskmaster-2.6.0/experiments/schedule.py +121 -0
- pdl_taskmaster-2.6.0/experiments/sweep_arm.py +97 -0
- pdl_taskmaster-2.6.0/experiments/three_gods_answers.json +6 -0
- pdl_taskmaster-2.6.0/graders.py +748 -0
- pdl_taskmaster-2.6.0/hidden_tests.py +369 -0
- pdl_taskmaster-2.6.0/prompts/01_combinatorial_search/bin_packing_first_fit.txt +8 -0
- pdl_taskmaster-2.6.0/prompts/01_combinatorial_search/exact_cover_dlx.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/01_combinatorial_search/graph_coloring_k4.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/01_combinatorial_search/hamiltonian_path_sparse.txt +4 -0
- pdl_taskmaster-2.6.0/prompts/01_combinatorial_search/latin_square_completion.txt +11 -0
- pdl_taskmaster-2.6.0/prompts/01_combinatorial_search/schur_triples_n15.txt +4 -0
- pdl_taskmaster-2.6.0/prompts/01_combinatorial_search/subset_sum_target.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/02_data_structures/b_plus_tree_disk.txt +7 -0
- pdl_taskmaster-2.6.0/prompts/02_data_structures/bloom_filter_counting.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/02_data_structures/concurrent_lru_sharded.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/02_data_structures/disjoint_set_rollback.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/02_data_structures/lfu_cache_o1.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/02_data_structures/persistent_rb_tree.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/02_data_structures/skip_list_ordered_map.txt +7 -0
- pdl_taskmaster-2.6.0/prompts/03_systems_programming/async_rate_limiter.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/03_systems_programming/file_watcher_polling.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/03_systems_programming/lock_free_spsc_queue.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/03_systems_programming/memory_pool_allocator.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/03_systems_programming/process_supervisor.txt +7 -0
- pdl_taskmaster-2.6.0/prompts/03_systems_programming/tcp_echo_select.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/03_systems_programming/wal_append_only_log.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/04_parsers_and_compilers/bytecode_stack_vm.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/04_parsers_and_compilers/cfg_ll1_table.txt +9 -0
- pdl_taskmaster-2.6.0/prompts/04_parsers_and_compilers/cron_expression_parser.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/04_parsers_and_compilers/json_streaming_parser.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/04_parsers_and_compilers/markdown_subset_html.txt +11 -0
- pdl_taskmaster-2.6.0/prompts/04_parsers_and_compilers/recursive_descent_calc.txt +7 -0
- pdl_taskmaster-2.6.0/prompts/04_parsers_and_compilers/regex_to_nfa_thompson.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/05_algorithm_design/a_star_grid_obstacles.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/05_algorithm_design/convex_hull_gift_wrap.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/05_algorithm_design/interval_merge_insert.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/05_algorithm_design/lcs_with_reconstruction.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/05_algorithm_design/median_two_sorted.txt +9 -0
- pdl_taskmaster-2.6.0/prompts/05_algorithm_design/string_matching_kmp.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/05_algorithm_design/topological_kahn_cycle.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/06_debugging_and_repair/deadlock_two_locks.txt +31 -0
- pdl_taskmaster-2.6.0/prompts/06_debugging_and_repair/encoding_mojibake.txt +21 -0
- pdl_taskmaster-2.6.0/prompts/06_debugging_and_repair/infinite_recursion_tree.txt +26 -0
- pdl_taskmaster-2.6.0/prompts/06_debugging_and_repair/memory_leak_observer.txt +31 -0
- pdl_taskmaster-2.6.0/prompts/06_debugging_and_repair/off_by_one_binary_search.txt +17 -0
- pdl_taskmaster-2.6.0/prompts/06_debugging_and_repair/race_condition_counter.txt +22 -0
- pdl_taskmaster-2.6.0/prompts/06_debugging_and_repair/silent_data_corruption.txt +24 -0
- pdl_taskmaster-2.6.0/prompts/07_refactoring_and_design/callback_to_async.txt +31 -0
- pdl_taskmaster-2.6.0/prompts/07_refactoring_and_design/global_state_injection.txt +33 -0
- pdl_taskmaster-2.6.0/prompts/07_refactoring_and_design/god_class_decompose.txt +80 -0
- pdl_taskmaster-2.6.0/prompts/07_refactoring_and_design/imperative_to_functional.txt +38 -0
- pdl_taskmaster-2.6.0/prompts/07_refactoring_and_design/inheritance_to_composition.txt +36 -0
- pdl_taskmaster-2.6.0/prompts/07_refactoring_and_design/monolith_to_modules.txt +50 -0
- pdl_taskmaster-2.6.0/prompts/07_refactoring_and_design/stringly_typed_enums.txt +25 -0
- pdl_taskmaster-2.6.0/prompts/08_specification_extraction/contradictory_spec_api.txt +10 -0
- pdl_taskmaster-2.6.0/prompts/08_specification_extraction/implicit_constraints_etl.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/08_specification_extraction/missing_edge_cases_auth.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/08_specification_extraction/regulatory_mapping.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/08_specification_extraction/scope_creep_detector.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/08_specification_extraction/sla_to_monitoring.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/08_specification_extraction/vague_requirements_crm.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/09_adversarial_and_injection/fielded_schema_injection.txt +4 -0
- pdl_taskmaster-2.6.0/prompts/09_adversarial_and_injection/json_payload_pollution.txt +11 -0
- pdl_taskmaster-2.6.0/prompts/09_adversarial_and_injection/nested_code_fence_escape.txt +16 -0
- pdl_taskmaster-2.6.0/prompts/09_adversarial_and_injection/recursive_self_reference.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/09_adversarial_and_injection/system_prompt_override.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/09_adversarial_and_injection/token_exhaustion_bomb.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/09_adversarial_and_injection/unicode_homoglyph_ids.txt +7 -0
- pdl_taskmaster-2.6.0/prompts/10_multi_turn_and_revision/abandon_and_restart.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/10_multi_turn_and_revision/change_request_backtrack.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/10_multi_turn_and_revision/cumulative_ledger_carry.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/10_multi_turn_and_revision/execution_mode_switch.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/10_multi_turn_and_revision/multi_revision_chain.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/10_multi_turn_and_revision/revise_plan_approach.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/10_multi_turn_and_revision/revise_prompt_scope.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/11_cross_domain_composition/api_design_implement_doc.txt +7 -0
- pdl_taskmaster-2.6.0/prompts/11_cross_domain_composition/data_clean_analyze_viz.txt +23 -0
- pdl_taskmaster-2.6.0/prompts/11_cross_domain_composition/log_parse_diagnose_fix.txt +35 -0
- pdl_taskmaster-2.6.0/prompts/11_cross_domain_composition/profile_optimize_bench.txt +19 -0
- pdl_taskmaster-2.6.0/prompts/11_cross_domain_composition/review_refactor_document.txt +49 -0
- pdl_taskmaster-2.6.0/prompts/11_cross_domain_composition/schema_migrate_backfill.txt +12 -0
- pdl_taskmaster-2.6.0/prompts/11_cross_domain_composition/spec_implement_test.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/12_domain_knowledge/dns_resolution_trace.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/12_domain_knowledge/docker_multi_stage.txt +16 -0
- pdl_taskmaster-2.6.0/prompts/12_domain_knowledge/git_rebase_conflict.txt +11 -0
- pdl_taskmaster-2.6.0/prompts/12_domain_knowledge/http_caching_headers.txt +8 -0
- pdl_taskmaster-2.6.0/prompts/12_domain_knowledge/oauth2_pkce_flow.txt +9 -0
- pdl_taskmaster-2.6.0/prompts/12_domain_knowledge/sql_query_optimization.txt +16 -0
- pdl_taskmaster-2.6.0/prompts/12_domain_knowledge/tls_certificate_chain.txt +31 -0
- pdl_taskmaster-2.6.0/prompts/13_negative_and_impossible/contradictory_requirements.txt +5 -0
- pdl_taskmaster-2.6.0/prompts/13_negative_and_impossible/hallucination_trap_api.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/13_negative_and_impossible/insufficient_information.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/13_negative_and_impossible/np_hard_exact_large.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/13_negative_and_impossible/out_of_scope_medical.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/13_negative_and_impossible/stale_knowledge_cutoff.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/13_negative_and_impossible/unsatisfiable_constraints.txt +12 -0
- pdl_taskmaster-2.6.0/prompts/14_formal_verification/amortized_analysis.txt +9 -0
- pdl_taskmaster-2.6.0/prompts/14_formal_verification/invariant_preservation.txt +11 -0
- pdl_taskmaster-2.6.0/prompts/14_formal_verification/loop_invariant_proof.txt +13 -0
- pdl_taskmaster-2.6.0/prompts/14_formal_verification/protocol_deadlock_free.txt +9 -0
- pdl_taskmaster-2.6.0/prompts/14_formal_verification/sorting_correctness.txt +7 -0
- pdl_taskmaster-2.6.0/prompts/14_formal_verification/termination_argument.txt +11 -0
- pdl_taskmaster-2.6.0/prompts/14_formal_verification/type_system_soundness.txt +12 -0
- pdl_taskmaster-2.6.0/prompts/15_performance_and_scale/batch_vs_stream_tradeoff.txt +9 -0
- pdl_taskmaster-2.6.0/prompts/15_performance_and_scale/cache_eviction_policy.txt +6 -0
- pdl_taskmaster-2.6.0/prompts/15_performance_and_scale/connection_pool_sizing.txt +13 -0
- pdl_taskmaster-2.6.0/prompts/15_performance_and_scale/database_sharding_key.txt +13 -0
- pdl_taskmaster-2.6.0/prompts/15_performance_and_scale/gc_tuning_throughput.txt +16 -0
- pdl_taskmaster-2.6.0/prompts/15_performance_and_scale/index_selection_advisor.txt +13 -0
- pdl_taskmaster-2.6.0/prompts/15_performance_and_scale/load_test_analysis.txt +13 -0
- pdl_taskmaster-2.6.0/prompts/16_logic_and_reasoning/elevator_riddle.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/16_logic_and_reasoning/house_grid.txt +9 -0
- pdl_taskmaster-2.6.0/prompts/16_logic_and_reasoning/knights_and_knaves.txt +7 -0
- pdl_taskmaster-2.6.0/prompts/16_logic_and_reasoning/masked_men.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/16_logic_and_reasoning/missing_dollar.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/16_logic_and_reasoning/plan_gate_cases.json +105 -0
- pdl_taskmaster-2.6.0/prompts/16_logic_and_reasoning/sibling_count.txt +1 -0
- pdl_taskmaster-2.6.0/prompts/16_logic_and_reasoning/three_gods.txt +3 -0
- pdl_taskmaster-2.6.0/prompts/CATALOGUE_MANIFEST.jsonl +112 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/02-01.py +98 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/02-02.py +75 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/02-03.py +103 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/02-04.py +99 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/02-05.py +102 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/02-06.py +82 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/02-07.py +77 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/03-02.py +142 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/03-03.py +141 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/03-05.py +116 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/03-06.py +157 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/04-01.py +94 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/04-02.py +257 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/04-03.py +134 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/04-05.py +164 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/04-06.py +177 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/04-07.py +176 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/05-01.py +72 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/05-02.py +155 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/05-03.py +72 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/05-04.py +111 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/05-05.py +90 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/05-06.py +43 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/05-07.py +68 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/06-01.py +64 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/06-02.py +141 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/06-03.py +106 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/06-06.py +87 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/06-07.py +56 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/VALIDATION.json +949 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-01/alt_none_and_keyword.py +53 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-01/bug_plain_lru.py +21 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-01/bug_wrong_tiebreak.py +34 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-01/ref.py +49 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-02/alt_dict_range.py +55 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-02/bug_exclusive_hi.py +25 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-02/ref.py +66 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-03/alt_class_api.py +59 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-03/bug_mutates_in_place.py +44 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-03/bug_unbalanced.py +31 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-03/ref.py +57 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-04/alt_total_capacity.py +30 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-04/bug_fifo_eviction.py +22 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-04/bug_unbounded.py +18 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-04/ref.py +33 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-05/alt_values_and_functions.py +93 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-05/bug_lost_split_keys.py +41 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-05/bug_no_serialization.py +22 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-05/ref.py +103 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-06/alt_snapshot_copies.py +31 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-06/bug_restore_shallow.py +23 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-06/bug_single_snapshot.py +29 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-06/ref.py +44 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-07/alt_positional_murmur.py +42 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-07/bug_bits_not_counts.py +26 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-07/bug_too_small.py +24 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/02-07/ref.py +30 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-02/alt_big_endian_kw.py +42 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-02/bug_no_crc_check.py +33 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-02/bug_returns_partial_tail.py +30 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-02/ref.py +46 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-03/alt_index_memoryview.py +36 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-03/bug_no_double_free_check.py +26 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-03/bug_python_list.py +17 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-03/ref.py +44 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-05/alt_one_empty_slot.py +23 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-05/bug_locked_deque.py +21 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-05/bug_overwrites_when_full.py +19 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-05/ref.py +27 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-06/alt_class_enum_relative.py +48 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-06/bug_no_mtime_check.py +18 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-06/bug_top_level_only.py +27 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/03-06/ref.py +37 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-01/alt_calculator_class.py +69 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-01/bug_ignores_trailing.py +46 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-01/bug_right_assoc.py +53 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-01/ref.py +72 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-02/alt_class_value_only.py +102 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-02/bug_raw_unicode_escape.py +167 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-02/bug_reads_everything.py +26 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-02/ref.py +166 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-03/alt_postfix_class.py +119 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-03/bug_backtracking.py +78 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-03/bug_plus_allows_empty.py +125 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-03/ref.py +124 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-05/alt_class_regex.py +68 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-05/bug_italic_first.py +67 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-05/bug_url_emphasis.py +67 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-05/ref.py +105 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-06/alt_enum_functions.py +74 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-06/bug_operand_order.py +106 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-06/bug_prints_name.py +9 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-06/ref.py +105 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-07/alt_class_minute_scan.py +35 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-07/bug_python_weekday.py +53 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-07/bug_step_from_zero.py +53 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/04-07/ref.py +52 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-01/alt_tuples.py +18 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-01/bug_appends_at_end.py +11 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-01/ref.py +12 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-02/alt_returns_tuple.py +45 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-02/bug_reports_all_remaining.py +20 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-02/ref.py +36 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-03/alt_dict.py +11 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-03/bug_substring.py +11 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-03/ref.py +19 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-04/alt_dict_result.py +30 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-04/bug_inadmissible.py +28 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-04/ref.py +31 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-05/alt_monotone_chain.py +25 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-05/bug_clockwise.py +18 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-05/bug_drops_collinear.py +18 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-05/ref.py +43 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-06/alt_named_median.py +19 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-06/bug_even_uses_upper.py +4 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-06/ref.py +20 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-07/alt_pattern_first.py +24 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-07/bug_no_overlaps.py +23 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/05-07/ref.py +24 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-01/alt_kept_original.py +26 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-01/bug_misses_last.py +12 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-01/bug_original.py +12 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-01/ref.py +11 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-02/alt_backoff_and_original.py +41 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-02/alt_single_lock.py +16 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-02/bug_original.py +18 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-02/bug_try_lock_drops.py +25 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-02/ref.py +18 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-03/alt_weak_methods.py +59 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-03/bug_dead_refs_accumulate.py +33 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-03/bug_original.py +28 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-03/ref.py +40 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-06/alt_two_pass_kept_original.py +27 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-06/bug_original.py +12 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-06/bug_reversed_children.py +26 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-06/ref.py +25 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-07/alt_bytes_kept_original.py +20 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-07/bug_original.py +9 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-07/bug_replace_errors.py +9 -0
- pdl_taskmaster-2.6.0/prompts/hidden_tests/answers/06-07/ref.py +8 -0
- pdl_taskmaster-2.6.0/prompts/solutions/01_combinatorial_search/bin_packing_first_fit.json +26 -0
- pdl_taskmaster-2.6.0/prompts/solutions/01_combinatorial_search/exact_cover_dlx.json +12 -0
- pdl_taskmaster-2.6.0/prompts/solutions/01_combinatorial_search/graph_coloring_k4.json +12 -0
- pdl_taskmaster-2.6.0/prompts/solutions/01_combinatorial_search/hamiltonian_path_sparse.json +8 -0
- pdl_taskmaster-2.6.0/prompts/solutions/01_combinatorial_search/latin_square_completion.json +16 -0
- pdl_taskmaster-2.6.0/prompts/solutions/01_combinatorial_search/schur_triples_n15.json +13 -0
- pdl_taskmaster-2.6.0/prompts/solutions/01_combinatorial_search/subset_sum_target.json +14 -0
- pdl_taskmaster-2.6.0/prompts/solutions/13_negative_and_impossible/contradictory_requirements.json +7 -0
- pdl_taskmaster-2.6.0/prompts/solutions/13_negative_and_impossible/hallucination_trap_api.json +6 -0
- pdl_taskmaster-2.6.0/prompts/solutions/13_negative_and_impossible/insufficient_information.json +6 -0
- pdl_taskmaster-2.6.0/prompts/solutions/13_negative_and_impossible/np_hard_exact_large.json +6 -0
- pdl_taskmaster-2.6.0/prompts/solutions/13_negative_and_impossible/out_of_scope_medical.json +6 -0
- pdl_taskmaster-2.6.0/prompts/solutions/13_negative_and_impossible/stale_knowledge_cutoff.json +6 -0
- pdl_taskmaster-2.6.0/prompts/solutions/13_negative_and_impossible/unsatisfiable_constraints.json +9 -0
- pdl_taskmaster-2.6.0/prompts/solutions/14_formal_verification/amortized_analysis.json +7 -0
- pdl_taskmaster-2.6.0/prompts/solutions/14_formal_verification/invariant_preservation.json +5 -0
- pdl_taskmaster-2.6.0/prompts/solutions/14_formal_verification/loop_invariant_proof.json +10 -0
- pdl_taskmaster-2.6.0/prompts/solutions/14_formal_verification/protocol_deadlock_free.json +6 -0
- pdl_taskmaster-2.6.0/prompts/solutions/14_formal_verification/sorting_correctness.json +9 -0
- pdl_taskmaster-2.6.0/prompts/solutions/14_formal_verification/termination_argument.json +6 -0
- pdl_taskmaster-2.6.0/prompts/solutions/14_formal_verification/type_system_soundness.json +5 -0
- pdl_taskmaster-2.6.0/prompts/solutions/16_logic_and_reasoning/elevator_riddle.json +7 -0
- pdl_taskmaster-2.6.0/prompts/solutions/16_logic_and_reasoning/house_grid.json +29 -0
- pdl_taskmaster-2.6.0/prompts/solutions/16_logic_and_reasoning/knights_and_knaves.json +11 -0
- pdl_taskmaster-2.6.0/prompts/solutions/16_logic_and_reasoning/masked_men.json +7 -0
- pdl_taskmaster-2.6.0/prompts/solutions/16_logic_and_reasoning/missing_dollar.json +7 -0
- pdl_taskmaster-2.6.0/prompts/solutions/16_logic_and_reasoning/sibling_count.json +7 -0
- pdl_taskmaster-2.6.0/prompts/solutions/16_logic_and_reasoning/three_gods.json +7 -0
- pdl_taskmaster-2.6.0/pyproject.toml +116 -0
- pdl_taskmaster-2.6.0/run_catalogue.py +1236 -0
- pdl_taskmaster-2.6.0/scripts/model_compare.py +140 -0
- pdl_taskmaster-2.6.0/scripts/probe_problem_class.py +151 -0
- pdl_taskmaster-2.6.0/scripts/provider_benchmark.py +158 -0
- pdl_taskmaster-2.6.0/scripts/provider_probe.py +158 -0
- pdl_taskmaster-2.6.0/scripts/render_recorded_prompts.py +174 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/__init__.py +6 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/api/__init__.py +31 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/api/closed_sessions.py +73 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/api/outcome.py +41 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/api/providers.py +11 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/api/sandbox.py +19 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/api/session.py +192 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/contracts/CONTRACT_MANIFEST.json +239 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/contracts/EXECUTION_CONTRACT.json +666 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/contracts/VERIFICATION_CONTRACT.json +379 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/contracts/standards/EXECUTION_STANDARD.md +16 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/contracts/standards/PDL_STANDARD.md +21 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/contracts/standards/RESPONSE_PLAN_STANDARD.md +24 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/contracts/standards/RESULT_STANDARD.md +34 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/contracts/standards/SEMANTIC_INPUT_STANDARD.md +15 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/contracts/standards/UNCONFIRMED_STANDARD.md +13 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/controller/mechanical_controller.py +583 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/extensions/__init__.py +3 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/extensions/conformance.py +241 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/extensions/profiles.py +149 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/extensions/providers.py +164 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/extensions/task_types.py +427 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/extensions/verifiers.py +99 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/fileio.py +28 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/host/app.py +251 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/host/cli.py +127 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/host/console.py +217 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/host/control_cli.py +159 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/host/mcp_server.py +297 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/host/repl.py +1847 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/observation/cli.py +47 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/observation/observed_session.py +226 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/observation/records.py +56 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/README.md +76 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/api_worker.py +1462 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/base.py +30 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/call_trace.py +196 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/codex_worker.py +348 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/fixtures.py +179 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/live_stub.py +70 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/model_adapters.py +43 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/model_capabilities.py +64 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/sys1/client.py +133 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/sys1/gating.py +87 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/sys1/recipes/__init__.py +26 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/sys1/recipes/activation_route.py +135 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/sys1/recipes/computation.py +83 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/sys1/recipes/execution_profile.py +145 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/sys1/recipes/follow_up.py +76 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/sys1/recipes/plan_advancement.py +252 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/sys1/recipes/problem_class.py +85 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/providers/sys1/recipes/prompt_fidelity.py +184 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/__init__.py +0 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/agent_tools.py +463 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/context_compiler.py +157 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/model_classification.py +345 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/operation_bridge.py +439 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/output_contracts.py +272 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/presentation.py +160 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/provenance.py +136 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/quarantine.py +118 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/representation.py +93 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/result_ir.py +400 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/run_settings.py +64 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/session_engine.py +3141 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/text_blocks.py +93 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/wire_payloads.py +1034 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/witness_forms.py +46 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/runtime/workspace.py +717 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/__init__.py +26 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/checkers/__init__.py +15 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/checkers/base.py +59 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/checkers/fallback.py +89 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/confinement/__init__.py +27 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/confinement/appcontainer.py +319 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/confinement/backends.py +228 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/confinement/container.py +224 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/confinement/landlock.py +219 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/confinement/policy.py +169 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/confinement/seatbelt.py +120 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/confinement/winproc.py +297 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/error_registry.py +169 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/literal_witness.py +181 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/output_verifier.py +94 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/plan_soundness.py +203 -0
- pdl_taskmaster-2.6.0/src/pdl_taskmaster/verification/sandbox.py +1090 -0
- pdl_taskmaster-2.6.0/tests/conftest.py +26 -0
- pdl_taskmaster-2.6.0/tests/contract_shapes.py +91 -0
- pdl_taskmaster-2.6.0/tests/extension_samples.py +105 -0
- pdl_taskmaster-2.6.0/tests/fixtures/draft_execute/recorded.json +57 -0
- pdl_taskmaster-2.6.0/tests/fixtures/nemotron-execute-whitespace-stall.json +34 -0
- pdl_taskmaster-2.6.0/tests/fixtures/openrouter/endpoints-nvidia--nemotron-3-super-120b-a12b--free.json +69 -0
- pdl_taskmaster-2.6.0/tests/fixtures/openrouter/endpoints-openai--gpt-oss-120b.json +1180 -0
- pdl_taskmaster-2.6.0/tests/fixtures/openrouter/models.json +205 -0
- pdl_taskmaster-2.6.0/tests/fixtures/openrouter_400_strict_schema.json +1 -0
- pdl_taskmaster-2.6.0/tests/fixtures/openrouter_groq_schema_mismatch.json +45 -0
- pdl_taskmaster-2.6.0/tests/fixtures/prompt_schema_descriptions.json +186 -0
- pdl_taskmaster-2.6.0/tests/fixtures/recorded-cases.json +108 -0
- pdl_taskmaster-2.6.0/tests/fixtures/task_type_parity.json +945 -0
- pdl_taskmaster-2.6.0/tests/parity_scenarios.py +152 -0
- pdl_taskmaster-2.6.0/tests/test_agent_tools.py +294 -0
- pdl_taskmaster-2.6.0/tests/test_api.py +241 -0
- pdl_taskmaster-2.6.0/tests/test_catalogue_integrity.py +272 -0
- pdl_taskmaster-2.6.0/tests/test_catalogue_runs_location.py +38 -0
- pdl_taskmaster-2.6.0/tests/test_codex_decoupling.py +179 -0
- pdl_taskmaster-2.6.0/tests/test_computation_recipe.py +193 -0
- pdl_taskmaster-2.6.0/tests/test_confinement.py +1030 -0
- pdl_taskmaster-2.6.0/tests/test_console.py +155 -0
- pdl_taskmaster-2.6.0/tests/test_control_cli.py +62 -0
- pdl_taskmaster-2.6.0/tests/test_dev_mode.py +219 -0
- pdl_taskmaster-2.6.0/tests/test_error_registry.py +50 -0
- pdl_taskmaster-2.6.0/tests/test_execution_brief.py +598 -0
- pdl_taskmaster-2.6.0/tests/test_execution_phase.py +873 -0
- pdl_taskmaster-2.6.0/tests/test_execution_profile.py +434 -0
- pdl_taskmaster-2.6.0/tests/test_experiments.py +553 -0
- pdl_taskmaster-2.6.0/tests/test_extension_invariants.py +190 -0
- pdl_taskmaster-2.6.0/tests/test_five_arm_report.py +228 -0
- pdl_taskmaster-2.6.0/tests/test_gate_report.py +66 -0
- pdl_taskmaster-2.6.0/tests/test_graders.py +450 -0
- pdl_taskmaster-2.6.0/tests/test_harness_anti_overfitting.py +321 -0
- pdl_taskmaster-2.6.0/tests/test_hidden_tests.py +124 -0
- pdl_taskmaster-2.6.0/tests/test_interface_conformance.py +175 -0
- pdl_taskmaster-2.6.0/tests/test_interruptions.py +372 -0
- pdl_taskmaster-2.6.0/tests/test_judge.py +184 -0
- pdl_taskmaster-2.6.0/tests/test_l104_witness_provenance.py +90 -0
- pdl_taskmaster-2.6.0/tests/test_l110_negative_claims.py +29 -0
- pdl_taskmaster-2.6.0/tests/test_l113_literal_witness.py +93 -0
- pdl_taskmaster-2.6.0/tests/test_l116_closure.py +184 -0
- pdl_taskmaster-2.6.0/tests/test_l117_closed_sessions.py +110 -0
- pdl_taskmaster-2.6.0/tests/test_l118_bootstrap_environment.py +27 -0
- pdl_taskmaster-2.6.0/tests/test_l119_witness_forms.py +120 -0
- pdl_taskmaster-2.6.0/tests/test_l121_mcp_flags.py +167 -0
- pdl_taskmaster-2.6.0/tests/test_l122_lfm_schema_adapter.py +150 -0
- pdl_taskmaster-2.6.0/tests/test_l122_provider_compat.py +358 -0
- pdl_taskmaster-2.6.0/tests/test_live_parity.py +371 -0
- pdl_taskmaster-2.6.0/tests/test_mcp_external.py +163 -0
- pdl_taskmaster-2.6.0/tests/test_mcp_server.py +114 -0
- pdl_taskmaster-2.6.0/tests/test_outcome_counting.py +65 -0
- pdl_taskmaster-2.6.0/tests/test_output_contracts.py +269 -0
- pdl_taskmaster-2.6.0/tests/test_output_verifier.py +186 -0
- pdl_taskmaster-2.6.0/tests/test_pdl_format_graders.py +102 -0
- pdl_taskmaster-2.6.0/tests/test_pdl_format_pilot.py +70 -0
- pdl_taskmaster-2.6.0/tests/test_phase0_routing.py +195 -0
- pdl_taskmaster-2.6.0/tests/test_phase9_turns.py +251 -0
- pdl_taskmaster-2.6.0/tests/test_plan_advancement.py +293 -0
- pdl_taskmaster-2.6.0/tests/test_plan_gate_cases.py +44 -0
- pdl_taskmaster-2.6.0/tests/test_plan_soundness.py +133 -0
- pdl_taskmaster-2.6.0/tests/test_probe_problem_class.py +89 -0
- pdl_taskmaster-2.6.0/tests/test_prompt_fidelity.py +302 -0
- pdl_taskmaster-2.6.0/tests/test_provider_profile.py +48 -0
- pdl_taskmaster-2.6.0/tests/test_provider_request_record.py +46 -0
- pdl_taskmaster-2.6.0/tests/test_pydantic_wire.py +282 -0
- pdl_taskmaster-2.6.0/tests/test_quarantine.py +85 -0
- pdl_taskmaster-2.6.0/tests/test_reasoning_wire.py +211 -0
- pdl_taskmaster-2.6.0/tests/test_recorded_replay.py +68 -0
- pdl_taskmaster-2.6.0/tests/test_refusal_closure.py +114 -0
- pdl_taskmaster-2.6.0/tests/test_repl_integration.py +460 -0
- pdl_taskmaster-2.6.0/tests/test_repl_paste.py +205 -0
- pdl_taskmaster-2.6.0/tests/test_representation.py +191 -0
- pdl_taskmaster-2.6.0/tests/test_run_provenance.py +184 -0
- pdl_taskmaster-2.6.0/tests/test_run_settings.py +106 -0
- pdl_taskmaster-2.6.0/tests/test_sandbox.py +225 -0
- pdl_taskmaster-2.6.0/tests/test_sem05_wiring.py +94 -0
- pdl_taskmaster-2.6.0/tests/test_sys1_foundation.py +190 -0
- pdl_taskmaster-2.6.0/tests/test_sys1_recipes.py +250 -0
- pdl_taskmaster-2.6.0/tests/test_sys1_worker_wiring.py +245 -0
- pdl_taskmaster-2.6.0/tests/test_targeted_probe_16_06_09_01.py +204 -0
- pdl_taskmaster-2.6.0/tests/test_task_entities.py +402 -0
- pdl_taskmaster-2.6.0/tests/test_task_type_conformance.py +71 -0
- pdl_taskmaster-2.6.0/tests/test_task_type_parity.py +16 -0
- pdl_taskmaster-2.6.0/tests/test_task_type_profile.py +222 -0
- pdl_taskmaster-2.6.0/tests/test_text_blocks.py +62 -0
- pdl_taskmaster-2.6.0/tests/test_token_usage.py +64 -0
- pdl_taskmaster-2.6.0/tests/test_unconfirmed_route.py +440 -0
- pdl_taskmaster-2.6.0/tests/test_v230_features.py +192 -0
- pdl_taskmaster-2.6.0/tests/test_viewer.py +248 -0
- pdl_taskmaster-2.6.0/tests/test_wire_repairs.py +1151 -0
- pdl_taskmaster-2.6.0/tests/test_witness_projection.py +88 -0
- pdl_taskmaster-2.6.0/viewer/__init__.py +1 -0
- pdl_taskmaster-2.6.0/viewer/__main__.py +3 -0
- pdl_taskmaster-2.6.0/viewer/index.html +299 -0
- pdl_taskmaster-2.6.0/viewer/server.py +448 -0
- pdl_taskmaster-2.5.1/.gitignore +0 -21
- pdl_taskmaster-2.5.1/PKG-INFO +0 -170
- pdl_taskmaster-2.5.1/README.md +0 -143
- pdl_taskmaster-2.5.1/contracts/CONTRACT_MANIFEST.json +0 -231
- pdl_taskmaster-2.5.1/contracts/EXECUTION_CONTRACT.json +0 -615
- pdl_taskmaster-2.5.1/contracts/VERIFICATION_CONTRACT.json +0 -379
- pdl_taskmaster-2.5.1/contracts/standards/EXECUTION_STANDARD.md +0 -14
- pdl_taskmaster-2.5.1/contracts/standards/PDL_STANDARD.md +0 -19
- pdl_taskmaster-2.5.1/contracts/standards/RESPONSE_PLAN_STANDARD.md +0 -24
- pdl_taskmaster-2.5.1/contracts/standards/RESULT_STANDARD.md +0 -35
- pdl_taskmaster-2.5.1/contracts/standards/SEMANTIC_INPUT_STANDARD.md +0 -15
- pdl_taskmaster-2.5.1/docs/adr/README.md +0 -26
- pdl_taskmaster-2.5.1/pyproject.toml +0 -75
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/__init__.py +0 -6
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/contracts/CONTRACT_MANIFEST.json +0 -231
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/contracts/EXECUTION_CONTRACT.json +0 -615
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/contracts/VERIFICATION_CONTRACT.json +0 -379
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/contracts/standards/EXECUTION_STANDARD.md +0 -14
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/contracts/standards/PDL_STANDARD.md +0 -19
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/contracts/standards/RESPONSE_PLAN_STANDARD.md +0 -24
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/contracts/standards/RESULT_STANDARD.md +0 -35
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/contracts/standards/SEMANTIC_INPUT_STANDARD.md +0 -15
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/mechanical_controller.py +0 -542
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/activation_decision.schema.json +0 -34
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/artifact_body.schema.json +0 -14
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/artifact_review_facts.schema.json +0 -91
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/bootstrap_analysis.schema.json +0 -60
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/execution_draft.schema.json +0 -47
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/execution_input_decision.schema.json +0 -43
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/execution_outcome.schema.json +0 -201
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/plan_artifact.schema.json +0 -14
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/prompt_artifact.schema.json +0 -63
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/protocol_discussion.schema.json +0 -8
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller/schemas/result_ir_repair.schema.json +0 -161
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/__init__.py +0 -1
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/build_adversarial_battery.py +0 -351
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/compare_eval_runs.py +0 -251
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/control_api_call.py +0 -428
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/export_rlcd_dataset.py +0 -799
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/fidelity_scan.py +0 -268
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/gen_fidelity_battery.py +0 -457
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/leak_scan.py +0 -260
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/rerecord_fixtures.py +0 -139
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/run_canary_shape_probe.py +0 -229
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/run_dual_gate_probe.py +0 -404
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/run_qualified_batch.py +0 -841
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/eval/summarize_run.py +0 -194
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/host/app.py +0 -166
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/host/cli.py +0 -116
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/host/repl.py +0 -1349
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/observation/cli.py +0 -47
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/observation/observed_session.py +0 -219
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/observation/records.py +0 -58
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/README.md +0 -66
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/api_worker.py +0 -657
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/base.py +0 -26
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/codex_worker.py +0 -328
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/fixtures.py +0 -157
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/live_stub.py +0 -66
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/sys1/client.py +0 -102
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/sys1/gating.py +0 -82
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/sys1/recipes/__init__.py +0 -16
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/sys1/recipes/activation_route.py +0 -71
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/providers/sys1/recipes/problem_class.py +0 -95
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime/context_compiler.py +0 -151
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime/model_classification.py +0 -326
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime/operation_bridge.py +0 -458
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime/presentation.py +0 -18
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime/quarantine.py +0 -91
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime/result_ir.py +0 -617
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime/semantic_observer.py +0 -40
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime/session_engine.py +0 -1539
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime/wire_payloads.py +0 -569
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime/workspace.py +0 -602
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/tools/repl_viewer.html +0 -276
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/tools/viewer_server.py +0 -272
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/tracking/__init__.py +0 -1
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/tracking/log_live_session.py +0 -111
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/tracking/mlflow_sink.py +0 -58
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/verification/__init__.py +0 -26
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/verification/checkers/__init__.py +0 -14
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/verification/checkers/base.py +0 -37
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/verification/checkers/fallback.py +0 -77
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/verification/checkers/partition_sum_triples.py +0 -227
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/verification/output_verifier.py +0 -73
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/verification/plan_soundness.py +0 -135
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/verification/sandbox.py +0 -398
- pdl_taskmaster-2.5.1/src/pdl_taskmaster/verify/verify_repl_baseline.py +0 -317
- pdl_taskmaster-2.5.1/tests/fixtures/FIXTURE_MANIFEST.json +0 -91
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/BND-00/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/DRIP-01/turns.json +0 -8
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/DRIP-02/turns.json +0 -8
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/DRIP-03/turns.json +0 -9
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/DRIP-04/turns.json +0 -9
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/DRIP-05/turns.json +0 -10
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/DRIP-06/turns.json +0 -10
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/DRIP-07/turns.json +0 -10
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/DRIP-08/turns.json +0 -11
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/DRIP-09/turns.json +0 -13
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/DRIP-10/turns.json +0 -13
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/ENC-01/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/ENC-02/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/ENC-03/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/ENC-04/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/ENC-05/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/ENC-06/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/ENC-07/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/ENC-08/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/ENC-09/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/ENC-10/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/F4-CONTRADICTION/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/MANIFEST.json +0 -782
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/STACK-01/turns.json +0 -9
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/STACK-02/turns.json +0 -9
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/STACK-03/turns.json +0 -10
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/STACK-04/turns.json +0 -10
- pdl_taskmaster-2.5.1/tests/fixtures/adversarial/STACK-05/turns.json +0 -11
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/ACTOR-01/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/ACTOR-02/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/ACTOR-03/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/DISAMB-01/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/DISAMB-02/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/DISAMB-03/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/DISAMB-04/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/MANIFEST.json +0 -782
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/MC-01/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/MC-02/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/MC-03/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/MC-04/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/MC-05/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/fidelity/MC-06/turns.json +0 -6
- pdl_taskmaster-2.5.1/tests/fixtures/recorded-cases.json +0 -107
- pdl_taskmaster-2.5.1/tests/test_adversarial_battery.py +0 -170
- pdl_taskmaster-2.5.1/tests/test_bump_version.py +0 -45
- pdl_taskmaster-2.5.1/tests/test_codex_decoupling.py +0 -133
- pdl_taskmaster-2.5.1/tests/test_dev_mode.py +0 -205
- pdl_taskmaster-2.5.1/tests/test_evidence_sink.py +0 -53
- pdl_taskmaster-2.5.1/tests/test_fidelity_scan.py +0 -172
- pdl_taskmaster-2.5.1/tests/test_harness_baseline.py +0 -143
- pdl_taskmaster-2.5.1/tests/test_mlflow_logger.py +0 -62
- pdl_taskmaster-2.5.1/tests/test_output_verifier.py +0 -238
- pdl_taskmaster-2.5.1/tests/test_phase9_turns.py +0 -166
- pdl_taskmaster-2.5.1/tests/test_plan_soundness.py +0 -130
- pdl_taskmaster-2.5.1/tests/test_pydantic_wire.py +0 -250
- pdl_taskmaster-2.5.1/tests/test_quarantine.py +0 -60
- pdl_taskmaster-2.5.1/tests/test_repl_integration.py +0 -129
- pdl_taskmaster-2.5.1/tests/test_repl_paste.py +0 -140
- pdl_taskmaster-2.5.1/tests/test_rlcd_dataset.py +0 -136
- pdl_taskmaster-2.5.1/tests/test_sandbox.py +0 -76
- pdl_taskmaster-2.5.1/tests/test_sem05_wiring.py +0 -89
- pdl_taskmaster-2.5.1/tests/test_sys1_foundation.py +0 -170
- pdl_taskmaster-2.5.1/tests/test_sys1_recipes.py +0 -142
- pdl_taskmaster-2.5.1/tests/test_sys1_worker_wiring.py +0 -215
- pdl_taskmaster-2.5.1/tests/test_task_entities.py +0 -164
- pdl_taskmaster-2.5.1/tests/test_v230_features.py +0 -154
- pdl_taskmaster-2.5.1/tests/test_viewer_command.py +0 -51
- pdl_taskmaster-2.5.1/tests/test_wire_repairs.py +0 -264
- pdl_taskmaster-2.5.1/tests/test_witness_projection.py +0 -147
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/LICENSE +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/NOTICE.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/AUTHORITY_MAP.json +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/CALIBRATION.json +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/IMPLEMENTATION_BOUNDARY.json +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/standards/ARTIFACT_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/standards/AUTHORITY_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/standards/CONFORMANCE_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/standards/CONTEXT_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/standards/HANDOFF_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/standards/INSTALLATION_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/standards/PROMPT_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/standards/PROTOCOL_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/standards/REVIEW_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/contracts/standards/TASK_SEMANTICS_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1/src/pdl_taskmaster/controller → pdl_taskmaster-2.6.0/experiments/pdl_format}/__init__.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/AUTHORITY_MAP.json +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/CALIBRATION.json +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/IMPLEMENTATION_BOUNDARY.json +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/standards/ARTIFACT_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/standards/AUTHORITY_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/standards/CONFORMANCE_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/standards/CONTEXT_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/standards/HANDOFF_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/standards/INSTALLATION_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/standards/PROMPT_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/standards/PROTOCOL_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/standards/REVIEW_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/contracts/standards/TASK_SEMANTICS_STANDARD.md +0 -0
- {pdl_taskmaster-2.5.1/src/pdl_taskmaster/runtime → pdl_taskmaster-2.6.0/src/pdl_taskmaster/controller}/__init__.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/host/__init__.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/observation/__init__.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/observation/parsers.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/observation/session.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/observation/sink.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/observation/sinks.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/providers/__init__.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/providers/recorded.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/providers/sys1/__init__.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/providers/sys1/recipes/base.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/providers/sys1/recipes/confirmation_match.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/providers/sys1/recipes/review_facets.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/providers/sys1/schema.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/providers/sys2/__init__.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/providers/sys2/client.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/py.typed +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/runtime/normative_store.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/runtime/standard_registry.py +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/src/pdl_taskmaster/runtime/worker-bootstrap.txt +0 -0
- {pdl_taskmaster-2.5.1 → pdl_taskmaster-2.6.0}/tests/test_quarantine_generalized.py +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
.pytest_cache/
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.egg-info/
|
|
4
|
+
catalogue-runs/
|
|
5
|
+
model-compare/
|
|
6
|
+
.venv/
|
|
7
|
+
venv/
|
|
8
|
+
mlruns/
|
|
9
|
+
runs/
|
|
10
|
+
mlflow.db
|
|
11
|
+
*.log
|
|
12
|
+
.env
|
|
13
|
+
dist/
|
|
14
|
+
build/
|
|
15
|
+
|
|
16
|
+
# acceptance-gate runner output (experiments/runner.py)
|
|
17
|
+
gate-runs/
|
|
18
|
+
site/
|
|
19
|
+
experiments/adjudication_cache/
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Agent Rules & Guidelines
|
|
2
|
+
|
|
3
|
+
## Continuity (read first, every session and after every context compaction)
|
|
4
|
+
- **`docs/plans/LEDGER.md` is the canonical record** of cross-cutting decisions and open items: each with its source (main chat, side chat, the user), status and link.
|
|
5
|
+
- **Read it before starting work.** Then read the current PR's work list it points to (for example `docs/plans/pr2-worklist.md`).
|
|
6
|
+
- **Update it in the same change** that settles, changes or completes an item. Mark items `done` as they land, citing the commit.
|
|
7
|
+
- **A side-chat decision is not settled until it has a ledger row.**
|
|
8
|
+
- **When two recorded decisions disagree:**
|
|
9
|
+
- a **minor** conflict: the side chat's decision wins; record it, noting the conflict in the row;
|
|
10
|
+
- a **major** one: mark the row `conflict` and ask the user.
|
|
11
|
+
Never pick silently.
|
|
12
|
+
- **Within one turn, a built-in task list is fine for progress.** The ledger and the work list are what survive compaction. An external tracker may mirror them, never replace them.
|
|
13
|
+
|
|
14
|
+
## Diagnosis and Verification Rule (CRITICAL / MANDATORY)
|
|
15
|
+
- **Static first.** Diagnose from the code: trace the path and cite `file:line`. Read the artifacts existing runs already recorded (`call-trace.jsonl`, `events.jsonl`, `compiled-projection.json`, `model-response.txt`). If the code determines the answer, do not reproduce it live.
|
|
16
|
+
- **Offline before live.** Verify host logic with the offline suite and recorded replays (`--worker recorded`). Controller transitions, exit codes, routing plumbing, grading, telemetry, docs and refactors need no API call.
|
|
17
|
+
- **Live only when the answer depends on what code cannot determine:**
|
|
18
|
+
- what a model returns for a request, when no recorded output answers it;
|
|
19
|
+
- provider behaviour: schema acceptance, routing, stalls, token reporting, latency;
|
|
20
|
+
- a System 1 decision on an input it has not seen;
|
|
21
|
+
- a change to what the model or provider receives, checked once before merge (trigger below).
|
|
22
|
+
- **The trigger for "receives".** Either of these:
|
|
23
|
+
- a recorded replay misses, because the rendered prompt's hash changed (`RecordedWorker` keys on the operation plus the prompt's SHA-256 and raises `ReplayMissError`);
|
|
24
|
+
- the provider-layer request changed (`providers/api_worker.py`: guidance text, effort, response format, caps, provider pinning).
|
|
25
|
+
|
|
26
|
+
Replay alone does not cover the second: those parts are added after the prompt is hashed.
|
|
27
|
+
- **A static conclusion about runtime behaviour is a hypothesis.** Code can be read confidently and still not be what runs: environment variables, provider defaults, a stale install. A static claim about model or provider behaviour stays a hypothesis until a recorded artifact confirms it. Only when none exists does it justify a live run.
|
|
28
|
+
- **A live run answers a stated question.** Before running, write what you expect and what would falsify it. Use the smallest run that answers it, in dev mode (`--dev`), from the repository root. No generic smoke runs.
|
|
29
|
+
- **Label the evidence.** Every claim says how it was established: static (`file:line`), offline test, recorded artifact, or live run. Never report a static or offline result as "verified live". If a required live check can't run because `OPENROUTER_API_KEY` is unavailable, say so.
|
|
30
|
+
|
|
31
|
+
## PDL Standard Adherence
|
|
32
|
+
- Prompt Pseudocode MUST strictly conform to `PDL-01` through `PDL-08`.
|
|
33
|
+
- NO invented field schemas (`TASK:`, `OUTPUT:`, `INCLUDE:`).
|
|
34
|
+
- One operation per line (`PDL-02`), capitalized action verbs (`PDL-04`).
|
|
35
|
+
- No drafting meta-rules or deferrals in the prompt or plan bodies (`PROMPT-01`, `PDL-08`).
|
|
36
|
+
|
|
37
|
+
## Architecture & Verification Governance (ADR-0018, ADR-0019, ADR-0020)
|
|
38
|
+
- **Pydantic SSOT (ADR-0018)**: NEVER use heuristic regex for domain detection, witness extraction, or wire verification. All parsing and validation MUST go through strict, schema-first Pydantic models with alias coercion (`OutputVerifier`, `wire_payloads.WitnessPayload`). No problem-specific checker ships in the harness plane.
|
|
39
|
+
- **Autonomous Host Execution & First-Class Reasoning (GUARD-03)**:
|
|
40
|
+
- When Python code or solver scripts are present, the host sandbox automatically executes them to capture stdout witnesses. NEVER emit `REQUEST_INPUT` asking the user to run code.
|
|
41
|
+
- Analytical derivations, symbolic mathematics, word problems, and logical deductions are first-class deliverables (`GUARD-03`). The harness MUST NOT coerce symbolic or reasoning tasks into executable Python scripts or force models to fabricate concrete values for symbolic variables.
|
|
42
|
+
- **System 1 Boundary Refusal (ADR-0020, GUARD-02)**: Out-of-bounds, network-dependent, or mathematically impossible tasks MUST be intercepted and refused fail-closed by System 1 in <2s conditioned on runtime environment variables (`PDLT_SANDBOX_NETWORK`, `PDLT_POLICY_SCOPE`); the knowledge cutoff (`PDLT_KNOWLEDGE_CUTOFF`) is injected into System 1's state, never matched by a year regex. NEVER hardcode prompt-specific benchmark tokens or entity names into production regex traps.
|
|
43
|
+
- **Headless Automation & Exit Codes (ADR-0019)**:
|
|
44
|
+
- `0`: `CLOSED_SUCCESS` (deliverable verified).
|
|
45
|
+
- `0` also covers a published boundary refusal (`closure=REFUSED`, ADR-0019 amendment).
|
|
46
|
+
- `1`: `CLOSED_CANCELLED` / fail-closed error.
|
|
47
|
+
- `2`: `UNCONFIRMED_GATE` (execution stalled at review gate).
|
|
48
|
+
- `3`: `WAITING_INPUT` (legitimate pause awaiting external input).
|
|
49
|
+
- `4`: harness or provider error (`EXIT_HARNESS_ERROR`); never a protocol result.
|
|
50
|
+
- `5`: `CLOSED_UNVERIFIED`: a published result the host could not establish (a negative claim, a deliverable declaring requirements open, or a positive result established by an argument; ADR-0019 amendment, L116, ADR-0030).
|
|
51
|
+
- `130`: interrupted by the user.
|
|
52
|
+
- **Catalogue Verification**: Before merging a PR that changes behaviour (what the model receives, routing, stage logic, verification or grading), run `python run_catalogue.py --fail-fast` from the repository root to check for regressions across all 16 categories. It is not a per-pass check. Never loosen `is_prompt_pass` or `graders.py` to obtain a green result.
|
|
53
|
+
- **Runs live outside the repository**: catalogue and experiment runs are written to `$PDLT_CATALOGUE_RUNS`, else `PDLt-Catalogue-Archive` beside the checkout (`catalogue_runs.py`). Never commit run output.
|
|
54
|
+
|
|
55
|
+
## Post-Implementation Anti-Overfitting & Integrity Gate (MANDATORY / SSOT)
|
|
56
|
+
- **The Referee Invariant (GUARD-01, GUARD-04)**: The harness is strictly an objective protocol referee and governor—NEVER an AI task solver. The harness MUST NEVER:
|
|
57
|
+
- Inject prescriptive algorithmic advice, search methods (e.g. MRV, backtracking, DLX), or solution hints into prompts, plans, or `CARRIED_APPROACH_SOURCES`.
|
|
58
|
+
- Mechanically require specific algorithmic keywords in Plan Soundness gates.
|
|
59
|
+
- Scrape deliverable text with regex to synthesize witnesses.
|
|
60
|
+
- **Feedback channel**: retry and lint feedback travels only through operator correction; `CARRIED_APPROACH_SOURCES` stays user-originated.
|
|
61
|
+
- **Mandatory Anti-Overfitting Suite**: After ANY implementation round touching prompts, gates, checkers, or session engine, you MUST execute:
|
|
62
|
+
```bash
|
|
63
|
+
pytest tests/test_harness_anti_overfitting.py
|
|
64
|
+
```
|
|
65
|
+
Every test must pass with zero warnings, failures, or skips.
|
|
66
|
+
- **Guardrail Cross-Check**: Any changes MUST strictly conform to `docs/guardrails/ANTI_OVERFITTING_AND_BENCHMARK_INTEGRITY.md` (`GUARD-01` through `GUARD-05`).
|
|
67
|
+
- **Integrity Over Checkmarks**: **A failed benchmark is acceptable and diagnostic of genuine model capability boundaries (e.g. `REG-011`, `REG-012`), but a gamed benchmark is a critical integrity breach.** Never introduce harness crutches to force a green test.
|
|
68
|
+
|
|
69
|
+
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# PDL Taskmaster: Current Architecture
|
|
2
|
+
|
|
3
|
+
**Describes:** `pdl-taskmaster` 2.6.0, the code in this repository.
|
|
4
|
+
**Scope:** what exists and runs today. Where the project is heading is in [`TARGET_ARCHITECTURE.md`](TARGET_ARCHITECTURE.md); nothing in this document describes planned behaviour.
|
|
5
|
+
**Normative authorities:** ADR-0001 through ADR-0022 ([`docs/adr/`](docs/adr/README.md)) and the guardrails in [`docs/guardrails/ANTI_OVERFITTING_AND_BENCHMARK_INTEGRITY.md`](docs/guardrails/ANTI_OVERFITTING_AND_BENCHMARK_INTEGRITY.md) (`GUARD-01` to `GUARD-05`). Where an ADR and the guardrails disagree, the guardrails win.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. What PDL Taskmaster is
|
|
10
|
+
|
|
11
|
+
PDL Taskmaster is a protocol referee and runtime governor for model-driven tasks. It exists because *the component carrying out a task cannot be the only one deciding what the task means*. Before anything runs, the model restates the request as short Prompt Pseudocode and then as a Response Plan; each is shown for review, and execution starts only after both are confirmed.
|
|
12
|
+
|
|
13
|
+
Three rules shape the whole design:
|
|
14
|
+
|
|
15
|
+
1. **Route the sandbox conditions, not the model.** The harness never grades plan quality or reasoning style, uses no rubric and no model self-grading. System 1 routes physical and operational conditions (environment, budgets, review intent); the review gates align the task with the human.
|
|
16
|
+
2. **The referee invariant (`GUARD-01`, `GUARD-04`).** The harness is never a solver. It does not inject algorithmic advice, require algorithm keywords at review gates, or fabricate witnesses. A failed task is diagnostic signal; a gamed pass is an integrity breach.
|
|
17
|
+
3. **Session-scoped execution sandbox.** One `ExecutionSandbox` is built per session and reused for every program run in it.
|
|
18
|
+
|
|
19
|
+
### 1.1 Two planes
|
|
20
|
+
|
|
21
|
+
| Plane | Location | Knows the benchmark? | Responsibility |
|
|
22
|
+
|---|---|---|---|
|
|
23
|
+
| **Harness** | `src/pdl_taskmaster/` | **Never** | Protocol governance, input containment, sandboxed execution, schema verification |
|
|
24
|
+
| **Evaluation** | `run_catalogue.py`, `graders.py`, `prompts/`, `viewer/` | Yes | Drives headless catalogue runs, maps exit codes to verdicts, grades deliverables against `prompts/solutions/`, browses results |
|
|
25
|
+
|
|
26
|
+
The harness never reads `prompts/` and contains no prompt IDs, fixture names or problem-class vocabulary; `tests/test_harness_anti_overfitting.py` scans for them. Only the harness is shipped in the wheel.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 2. Components
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
src/pdl_taskmaster/
|
|
34
|
+
├── api/ the library layer every interface uses: Session, TurnResult, workers,
|
|
35
|
+
│ run settings, closed sessions, sandboxes (docs/api.md)
|
|
36
|
+
├── extensions/ versioned profiles (task type, verifier, provider), registries,
|
|
37
|
+
│ conformance kit (docs/extensions.md)
|
|
38
|
+
├── host/ pdlt CLI (cli.py), REPL presentation (repl.py), PDLtHost turn API (app.py),
|
|
39
|
+
│ MCP server (mcp_server.py)
|
|
40
|
+
├── runtime/ SessionEngine orchestrator, workspace (in-memory VFS), context compiler,
|
|
41
|
+
│ operation bridge (wire parsing), Pydantic wire models, Result IR, quarantine,
|
|
42
|
+
│ normative store (contract resolution)
|
|
43
|
+
├── controller/ MechanicalController: the deterministic stage machine
|
|
44
|
+
├── providers/ System 2 workers (api, codex, recorded), System 1 client and recipes
|
|
45
|
+
├── verification/ output verifier, plan-soundness lint, error registry, ExecutionSandbox,
|
|
46
|
+
│ confinement backends (Landlock, Seatbelt, AppContainer, container)
|
|
47
|
+
├── observation/ per-turn JSONL observation records
|
|
48
|
+
└── contracts/ bundled normative contracts and standards (hash-pinned)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
| Layer | Owns | Does not own |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `api/` (`Session`) | The surface the REPL, headless runs and the MCP server share: sessions, review gates, results, exit status | Stage transitions |
|
|
54
|
+
| `host/repl.py` | Terminal I/O, slash commands, paste handling, headless exit codes | Protocol state |
|
|
55
|
+
| `host/app.py` (`PDLtHost`) | Process and session lifetime; one call per user turn (`handle`) | Stage transitions |
|
|
56
|
+
| `runtime/session_engine.py` | Orchestrating operations, verification and sandbox runs | Terminal I/O (it never reads stdin or prints) |
|
|
57
|
+
| `controller/mechanical_controller.py` | Every stage transition | Model calls |
|
|
58
|
+
| `providers/` | One model call per request (`WorkerAdapter.call`) | Wire validity (the operation bridge decides) |
|
|
59
|
+
|
|
60
|
+
### 2.1 Model tiers
|
|
61
|
+
|
|
62
|
+
- **System 1** (`providers/sys1/`): a fast decision model (default `typesafe/jev-1.13` through OpenRouter's decisions endpoint) that returns calibrated label distributions, never text. Every recipe shares one confidence gate (`gating.py`): confidence $P \ge 0.85$, top-2 margin $\Delta p \ge 0.40$, normalized entropy $H(p) \le 0.35$.
|
|
63
|
+
- **System 2** (`providers/api_worker.py`): a generative model (default `openai/gpt-oss-120b` through OpenRouter) that drafts the Prompt and Plan and executes. With no `--api-providers`, the provider order is Baseten, then Crusoe, with fallbacks allowed (`OPENROUTER_PROVIDER` and `OPENROUTER_PROVIDER_ORDER` override it); measured provider behaviour is in [`PROVIDERS.md`](PROVIDERS.md). Reasoning effort defaults to high before execution and low at `EXECUTE` (ADR-0022). `--api-base-url` points it at another OpenAI-compatible endpoint; provider routing options (`--api-providers`) are OpenRouter's.
|
|
64
|
+
- **Other workers:** `codex` drives the Codex CLI as a System 2 worker; `recorded` replays fixtures for offline tests.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 3. Protocol lifecycle
|
|
69
|
+
|
|
70
|
+
### 3.1 Stages
|
|
71
|
+
|
|
72
|
+
`MechanicalController` owns these stages; no worker output can move between them on its own.
|
|
73
|
+
|
|
74
|
+
| Stage | Meaning |
|
|
75
|
+
|---|---|
|
|
76
|
+
| `PROMPT_REQUIRED` | A request was accepted; Prompt Pseudocode must be drafted |
|
|
77
|
+
| `PROMPT_REVIEW` | Prompt Pseudocode is waiting for review |
|
|
78
|
+
| `PLAN_REQUIRED` | The prompt is confirmed; a Response Plan must be drafted |
|
|
79
|
+
| `PLAN_REVIEW` | The Response Plan is waiting for review |
|
|
80
|
+
| `EXECUTION_READY` | Both artifacts are confirmed; execution may start |
|
|
81
|
+
| `WAITING_INPUT` | Execution asked for required external input |
|
|
82
|
+
| `OUTCOME_UNCERTAIN` | A session was restored while an execution was in flight; its outcome is unknown |
|
|
83
|
+
| `CLOSED_SUCCESS` | A verified deliverable was published |
|
|
84
|
+
| `CLOSED_CANCELLED` | Cancelled, or verification failed after the repairs allowed |
|
|
85
|
+
|
|
86
|
+
Gates: no plan is drafted without a confirmed prompt, and nothing executes without a confirmed plan bound to that prompt. Empty input at a review gate re-prompts and is never taken as acceptance.
|
|
87
|
+
|
|
88
|
+
### 3.2 Decision flow
|
|
89
|
+
|
|
90
|
+
```mermaid
|
|
91
|
+
flowchart TD
|
|
92
|
+
Ingest["User request"] --> S1_Activate{"S1: activation route"}
|
|
93
|
+
S1_Activate -- BLOCKED_BY_HIGHER_PRIORITY --> Refusal["Publish boundary refusal<br/>exit 0 (closure=REFUSED)"]
|
|
94
|
+
S1_Activate -- BYPASS / PROTOCOL_DISCUSSION --> Direct["Direct answer (no protocol instance)"]
|
|
95
|
+
S1_Activate -- "APPLY_PROTOCOL, or no usable S1 decision" --> S1_Class{"S1: problem class<br/>and execution profile"}
|
|
96
|
+
S1_Class --> DraftPrompt["S2: DRAFT_PROMPT"]
|
|
97
|
+
DraftPrompt --> PromptLint{"Grammar lint"}
|
|
98
|
+
PromptLint -- "violation (one redraft)" --> DraftPrompt
|
|
99
|
+
PromptLint -- clean --> PromptGate["PROMPT_REVIEW"]
|
|
100
|
+
PromptGate -- "/confirm or agreed" --> DraftPlan["S2: DRAFT_PLAN"]
|
|
101
|
+
PromptGate -- "/revise" --> DraftPrompt
|
|
102
|
+
PromptGate -- "/stop, /cancel" --> Cancelled["CLOSED_CANCELLED, exit 1"]
|
|
103
|
+
DraftPlan --> PlanLint{"Grammar lint"}
|
|
104
|
+
PlanLint -- "violation (one redraft)" --> DraftPlan
|
|
105
|
+
PlanLint -- clean --> PlanAdvance{"S1: plan advancement<br/>(PLAN-02)"}
|
|
106
|
+
PlanAdvance -- "restates the prompt (one redraft)" --> DraftPlan
|
|
107
|
+
PlanAdvance -- "advances, uncertain, or still restating with a host note" --> PlanGate["PLAN_REVIEW"]
|
|
108
|
+
PlanGate -- "/confirm or agreed" --> Execute["S2: EXECUTE"]
|
|
109
|
+
PlanGate -- "/revise" --> DraftPlan
|
|
110
|
+
PlanGate -- "/stop, /cancel" --> Cancelled
|
|
111
|
+
Execute -- REQUEST_INPUT --> Waiting["WAITING_INPUT, exit 3"]
|
|
112
|
+
Execute --> HasCode{"Executable Python?"}
|
|
113
|
+
HasCode -- yes --> Sandbox["Run in session sandbox,<br/>capture witness"]
|
|
114
|
+
HasCode -- "no (symbolic or analytical)" --> Verify
|
|
115
|
+
Sandbox --> Verify{"Output verifier"}
|
|
116
|
+
Verify -- valid --> Success["CLOSED_SUCCESS, exit 0"]
|
|
117
|
+
Verify -- invalid --> Repair["Bounded repair<br/>(1, or 2 on HEAVY_COMPUTE)"]
|
|
118
|
+
Repair --> Execute
|
|
119
|
+
Repair -- "repairs exhausted" --> Cancelled
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Review gates accept the fast-path commands `/confirm`, `/revise <feedback>`, `/stop` and `/cancel` without a model call. In fast mode (`--fast`, `/fast on`) the user confirms in advance: a review whose artifact carries no host finding is accepted without waiting (recorded as `STANDING_CONFIRMATION`); one with a finding stops as usual. Other review text goes to System 1 (`ConfirmationMatch`, then `ReviewFacets`) and, when System 1 is not confident, to System 2 interpretation; the harness never assumes an intent. A review command sent when no review is open gets a notice and is never treated as a new request.
|
|
123
|
+
|
|
124
|
+
### 3.3 Phases
|
|
125
|
+
|
|
126
|
+
| Phase | Mechanism | Outcomes |
|
|
127
|
+
|---|---|---|
|
|
128
|
+
| **0. Activation** | System 1 `activation_route` over environment **recipe state**: policy scope (`PDLT_POLICY_SCOPE`, default `technical`), network (`PDLT_SANDBOX_NETWORK`, default `false`), knowledge cutoff (`PDLT_KNOWLEDGE_CUTOFF`, default `2024-06`) and the sandbox's execution environment. No keyword, pattern or date matching. These settings never reach System 2. | `APPLY_PROTOCOL` → phase 1; gated `BLOCKED_BY_HIGHER_PRIORITY` → refusal, exit 0; `BYPASS` / `PROTOCOL_DISCUSSION` → direct answer |
|
|
129
|
+
| **1. Prompt review** | Grammar lint, then fast-path commands, then review intent | confirm → phase 2; revise → redraft; cancel → exit 1 |
|
|
130
|
+
| **2. Plan lint** | Deterministic lint (`plan_soundness.py`): PDL-05 no fielded prefixes, PDL-06 no code fences, PDL-08 no deferral or meta markers, PLAN-10 no placeholder steps. One redraft carrying the finding, through operator correction only (never `CARRIED_APPROACH_SOURCES`). No algorithm or execution keywords are required. | clean → plan advancement |
|
|
131
|
+
| **2b. Plan advancement (PLAN-02)** | System 1 `PlanAdvancementRecipe` compares the plan with the confirmed prompt on three task-neutral checks: the plan adds a solution action or deduction with its content, says how it handles the conditions that keep the task from being solved directly, and shows how the result will be obtained. A fourth question asks whether the prompt already states the method (then a plan has nothing to add). One confident failure gets one redraft whose operator correction names only the failed checks, never the decision text or a method; a plan that still fails is published unchanged (AUTH-05) with a `[host] PLAN-02` note, so fast mode never confirms it in advance. Uncertain or unavailable System 1 does not flag the plan. Every decision is a `PLAN_ADVANCEMENT` event. Live accuracy is measured by `run_plan_gate.py`. | advances → plan gate; restates → one redraft, then plan gate with a note |
|
|
132
|
+
| **3. Plan review** | Fast-path commands, then review intent | confirm → phase 4; revise approach → redraft plan; revise task → phase 1; cancel → exit 1 |
|
|
133
|
+
| **4. Execution** | System 2 `EXECUTE` | result → phase 5; `REQUEST_INPUT` → exit 3 |
|
|
134
|
+
| **5. Verification** | Pydantic output verifier with witness authority (§4). Result IR citation bookkeeping is recorded as `RESULT_IR_CITATION_FINDINGS` and never blocks. | pass → exit 0; contract failure → bounded repair → exit 1 |
|
|
135
|
+
|
|
136
|
+
**When System 1 is unavailable.** System 1 absent, unconfigured, failing or below its confidence gate yields no System 1 evidence: no refusal is published, the problem class defaults to `STANDARD_EXECUTION`, and the execution profile defaults to `STANDARD`. Boundary refusal therefore depends on a reachable System 1; the sandbox's own limits (no network, confinement) still apply whatever System 1 decides.
|
|
137
|
+
|
|
138
|
+
### 3.4 Headless exit codes (ADR-0019, as amended)
|
|
139
|
+
|
|
140
|
+
| Code | Meaning |
|
|
141
|
+
|---|---|
|
|
142
|
+
| `0` | `CLOSED_SUCCESS` (verified deliverable), or a published boundary refusal (`closure=REFUSED`) |
|
|
143
|
+
| `1` | `CLOSED_CANCELLED`: cancellation, verification failure after repair, or a fatal protocol error |
|
|
144
|
+
| `2` | Halted at a non-terminal stage, such as an unconfirmed review gate |
|
|
145
|
+
| `3` | `WAITING_INPUT`: paused for required external input |
|
|
146
|
+
| `4` | Harness or provider failure (`EXIT_HARNESS_ERROR`), for example a missing API key or a provider outage |
|
|
147
|
+
| `130` | Interrupted by the user (Ctrl+C) |
|
|
148
|
+
|
|
149
|
+
A run is headless when stdin is not a terminal or `--non-interactive` is given. `--exit-on-close` ends the process at the first closure; without it, further piped requests start new tasks in the same session.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 4. Verification and witness authority
|
|
154
|
+
|
|
155
|
+
- **The sandbox-reproduced witness is authoritative.** When the deliverable contains executable code, the witness is what the sandbox prints: exactly one `WITNESS: <json>` line, or a whole stdout that parses as JSON. It replaces any model-asserted witness, and `WITNESS_OVERRIDDEN_BY_SANDBOX` is recorded when the two differ.
|
|
156
|
+
- **Model-asserted witnesses are provisional.** A witness no sandbox run reproduced is labelled `provisional` and never presented as verified.
|
|
157
|
+
- **Claims of computation must come from computation.** A negative witness reporting an exhausted search is accepted only when a host-run program printed it. Proof-based negative witnesses (an argument, no search telemetry) are first-class under `GUARD-03`.
|
|
158
|
+
- **An incomplete result must rest on an attempt.** Declaring requirements open without a witness is accepted only when a program actually ran in that attempt.
|
|
159
|
+
- **No scraping.** There is no label-regex scan of stdout or deliverable text.
|
|
160
|
+
- **Typed dispatch, no domain checkers shipped.** Checkers are selected only by a typed `witness.domain` field. This release registers no domain checkers, so every domain goes to `FallbackChecker`, whose verdicts are provisional: correctness rests on sandbox reproduction of the witness, not on a domain verifier.
|
|
161
|
+
- **Repairs carry facts, not hints.** Each repair carries the latest findings from a closed, task-neutral error registry (`verification/error_registry.py`) through operator correction.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 5. Execution sandbox
|
|
166
|
+
|
|
167
|
+
### 5.1 Lifecycle
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
SessionEngine.__init__ : construct ExecutionSandbox once (limits, --sandbox mode)
|
|
171
|
+
probe() : is the selected backend available here?
|
|
172
|
+
first run_code : build the session root, owner record and policy; sweep stale roots
|
|
173
|
+
each run : fresh empty work/run-NNNN-* directory, deleted afterwards
|
|
174
|
+
close() : delete the root, release the backend
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
The session root is `<tempdir>/pdlt-sandboxes/<sid>/`, outside every tree the graders, runner and viewer read. A host killed before `close()` leaves a root whose owner process is dead; the next session's sweep removes it.
|
|
178
|
+
|
|
179
|
+
### 5.2 Containment
|
|
180
|
+
|
|
181
|
+
| Control | Mechanism |
|
|
182
|
+
|---|---|
|
|
183
|
+
| **Secret isolation** | The child environment is rebuilt from an allowlist (`PATH`, `TEMP`, `TMP`, `TMPDIR`; on Windows also `SYSTEMROOT`, `WINDIR`, `SYSTEMDRIVE`, `COMSPEC`, `PATHEXT`). API keys never reach model-authored code. |
|
|
184
|
+
| **OS-native confinement** (ADR-0021) | Write only the run directory; read it, the base interpreter's install and standard library, and loader files; execute only the base interpreter; no network; no new processes. Linux: Landlock. macOS: `sandbox-exec` with a deny-by-default profile. Windows: a per-session AppContainer inside a Job Object. `--sandbox container`: Docker or Podman, one container per session (no network, read-only root, no capabilities, process cap). |
|
|
185
|
+
| **Fail closed** | When the selected backend cannot apply, nothing runs (`sandbox_unavailable:<reason>`) and the REPL warns. `--sandbox audit-only` (`PDLT_SANDBOX=audit-only`) is the only opt-out and is announced loudly. The default mode is `auto`, which is native confinement; it does not fall back to the container. |
|
|
186
|
+
| **Audit hook** | Defense in depth: blocks native-code loading, file access outside the run directory, network calls, signals and process creation. |
|
|
187
|
+
| **Resource limits** | Windows: Job Object. POSIX: `RLIMIT_AS` and an `RLIMIT_CPU` backstop; macOS does not enforce `RLIMIT_AS`. A deterministic step counter enforces the routed step budget. |
|
|
188
|
+
|
|
189
|
+
This is not a VM boundary: side channels and kernel exploits are out of scope. The container mode is the stronger option. Details and self-checks: [`docs/SANDBOX.md`](docs/SANDBOX.md).
|
|
190
|
+
|
|
191
|
+
### 5.3 What a program can do
|
|
192
|
+
|
|
193
|
+
A program can compute and print. It cannot reach the network, start processes, or read or write anything outside its own run directory, and everything it writes is deleted when the run ends. The Result IR's `files` list names and grounds the deliverable's files, but **nothing is written into the user's project**: the deliverable is text the user applies.
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 6. System 1 recipes
|
|
198
|
+
|
|
199
|
+
All recipes live in `providers/sys1/recipes/`, emit discrete labels only, and contain no pattern matching (`test_routing_recipes_have_no_pattern_matching`).
|
|
200
|
+
|
|
201
|
+
| Recipe | Labels | Use |
|
|
202
|
+
|---|---|---|
|
|
203
|
+
| `ActivationRouteRecipe` | `APPLY_PROTOCOL`, `PROTOCOL_DISCUSSION`, `BYPASS`, `BLOCKED_BY_HIGHER_PRIORITY` | Phase 0 boundary routing over environment state |
|
|
204
|
+
| `ProblemClassRecipe` | `VERIFIED_EXECUTION`, `STANDARD_EXECUTION` | Whether the Result IR must carry a witness |
|
|
205
|
+
| `ConfirmationMatchRecipe`, `ReviewFacetsRecipe` | agrees / rejects / unclear; change dimensions | Review intent for free-text review messages |
|
|
206
|
+
| `ExecutionProfileRecipe` | `WITHIN_100K_STEPS` … `BEYOND_100M_STEPS` | Step-complexity routing to an execution budget |
|
|
207
|
+
| `FollowUpRecipe` | follow-up vs. new task | Routing messages after closure |
|
|
208
|
+
|
|
209
|
+
### 6.1 Execution budgets
|
|
210
|
+
|
|
211
|
+
| Prediction | Tier | Step budget | Memory | Wall clock | Repairs |
|
|
212
|
+
|---|---|---|---|---|---|
|
|
213
|
+
| `WITHIN_100K_STEPS` | `MINIMAL` | 100,000 | 256 MB | 30 s | 1 |
|
|
214
|
+
| `WITHIN_10M_STEPS` | `STANDARD` | 10,000,000 | 256 MB | 30 s | 1 |
|
|
215
|
+
| `WITHIN_100M_STEPS` | `HEAVY_COMPUTE` | 100,000,000 | 512 MB | 120 s | 2 |
|
|
216
|
+
| `BEYOND_100M_STEPS` | `HEAVY_COMPUTE` | 100,000,000 | 512 MB | 120 s | 2 |
|
|
217
|
+
|
|
218
|
+
The budget is the smallest one System 1 believes suffices with cumulative probability of at least 0.85; a diffuse prediction yields `STANDARD`. The step counter, not the prediction, decides. A `VERIFIED_EXECUTION` task with no registered domain verifier is refused before any System 2 call when System 1 puts more than 0.5 probability on `BEYOND_100M_STEPS` (`BUDGET_REFUSAL`). After plan confirmation the same recipe may raise the tier, never lower it. The budget the sandbox enforces is the one declared to System 2 in `AVAILABLE_EXECUTION_TOOLS`.
|
|
219
|
+
|
|
220
|
+
### 6.2 Cost controls
|
|
221
|
+
|
|
222
|
+
Every response is capped by `--max-output-tokens` (default 16,384, reasoning included); one model call has a 300 s deadline (`--api-call-deadline`); `--max-repairs N` overrides the tier's repairs. There is no session-level time or token budget. The catalogue runner kills a prompt's process tree at 600 s.
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## 7. Input containment and context
|
|
227
|
+
|
|
228
|
+
- **Semantic bootstrap containment.** Raw user content is read only by `BOOTSTRAP_ANALYSIS`. Later operations (`DRAFT_PROMPT`, `DRAFT_PLAN`, `EXECUTE`) receive compiled projections, never raw user text. A redaction pass (`runtime/quarantine.py`) replaces canary, tripwire and override-directive tokens with `[REDACTED_IOC]`. Task entities are typed (ADR-0027: surface, kind, and what the request says about it, unknowns included) and are forwarded only when their surface is an exact substring of the sanitized request or summary.
|
|
229
|
+
- **Context compilation.** `context_compiler.py` builds one projection per operation from `EXECUTION_CONTRACT.json`, the applicable standard clauses and the stage inputs, and records SHA-256 digests of each clause and of the projection.
|
|
230
|
+
- **Contract resolution** (`normative_store.py`, ADR-0008), first match wins: `PDLT_STANDARDS_PATH`; `<candidate repo>/contracts/` (the candidate repo defaults to the current directory); `~/.pdlt/versions/<version>/contracts/`; the bundled copy in the package. An override replaces the whole contract set and is checked for structure only.
|
|
231
|
+
- **Workspace.** Sessions use an in-memory workspace (`MemoryWorkspaceRun`) persisted per turn under `turns/turn_NNN/`. The previous closed turn's request and deliverable are carried into the next turn's task inputs, and System 1 (`FollowUpRecipe`) routes whether a new message continues it; rejected drafts are never carried.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## 8. Observability
|
|
236
|
+
|
|
237
|
+
- The REPL prints stage and per-call telemetry in dev mode (`--dev`), writes a transcript, and points to a `worker-progress.log` updated during model calls.
|
|
238
|
+
- `--observation-dir` writes one JSONL record per turn: model calls with usage (input, output, reasoning and cached tokens), latency, controller state before and after, and the turn's new workspace events. Records are written when a turn completes; there is no live event stream.
|
|
239
|
+
- **Call lifecycle** (`providers/call_trace.py`). Every model call, System 1 included, records each HTTP attempt's progress: `prepared → connecting → request_sent → acknowledged → response_started → response_complete`, with the HTTP status, response bytes, outcome (completed, interrupted, http_error, transport_error, timeout, unreadable), whether the interruption was local (Ctrl+C) or remote, and whether it was retried. `request_sent` and `connecting` come from Python's own `http.client` audit events, `acknowledged` (the API receipt) from the status line. Each call also records its number among the session's calls of that operation (a repair is `EXECUTE call 2`), its failure category, and what the API reported: the response id (OpenRouter's generation id, which carries TTFT and the serving provider), status, finish reason, output and reasoning tokens, and whether the output schema constrained decoding. Each finished or interrupted call is appended to the session's `call-trace.jsonl`; dev mode prints a line for any call that retried or did not complete.
|
|
240
|
+
- **One output contract per operation** (ADR-0028, IMPL-0001).
|
|
241
|
+
- The schema the model reads (`output_schema` in the projection) and the grammar sent to the provider are both generated from the operation's Pydantic model (`runtime/output_contracts.py`), in the same form for each call. That form is the grammar mode (schema, JSON mode or none) plus strict or default.
|
|
242
|
+
- Descriptions and advisory keywords live in the models (`contract(...)`).
|
|
243
|
+
- Optional fields stay optional, except for providers whose strict mode needs every field required (Groq, Cerebras).
|
|
244
|
+
- `EXECUTE` is sent in JSON mode.
|
|
245
|
+
- **Replies stalled in whitespace.** A reply cut off at the output cap is kept in the invocation's output directory (`model-response.truncated.txt`), for diagnosis only: it is never parsed, published or sent back to the model. When it ends in at least 1,000 whitespace characters under the output schema, decoding stalled in the schema's whitespace rather than the model writing too much (Nemotron 3 Super wrote its whole `EXECUTE` answer, then only whitespace until the cap). The call stays a counted failed attempt; later calls of that operation in the session are sent without the decoding constraint, and the host still validates every reply against the schema.
|
|
246
|
+
- **Interruptions.** On Ctrl+C the REPL reports where the call was (not sent; sent but not acknowledged; acknowledged, no response; response partly received; between calls) and the engine records `TURN_INTERRUPTED` (the in-flight operation, whether its output was recorded, the in-memory and persisted stage). A turn that never bound a protocol instance is marked `INTERRUPTED`, which is not a closed status, so chaining and follow-ups never mistake it for the previous turn; a bound turn keeps its persisted stage and the next input re-drives it. A review artifact committed to the controller but not yet published is republished from the controller state. State files (controller state, workspace files, the session pointer) are written replace-on-write (`fileio.py`), so an interruption never leaves a partial file.
|
|
247
|
+
- The evaluation-plane viewer (`python -m viewer`) is read-only and binds `127.0.0.1` only.
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## 9. Guardrails
|
|
252
|
+
|
|
253
|
+
| Guardrail | Rule in this codebase |
|
|
254
|
+
|---|---|
|
|
255
|
+
| `GUARD-01` | `CARRIED_APPROACH_SOURCES` comes only from user-originated sources; lint and retry feedback travel only by operator correction. |
|
|
256
|
+
| `GUARD-02` | No harness file targets benchmark tokens, prompt phrases or problem-class vocabulary. |
|
|
257
|
+
| `GUARD-03` | No regex scraping of deliverables; proofs and analytical deductions are first-class deliverables. |
|
|
258
|
+
| `GUARD-04` | Gates never require algorithm or execution keywords, and worker guidance never mandates code. |
|
|
259
|
+
| `GUARD-05` | Contract files match `CONTRACT_MANIFEST.json` hashes, and the harness is scanned against tokens derived from the catalogue manifest (`tests/test_harness_anti_overfitting.py`). |
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## 10. What this release does not do
|
|
264
|
+
|
|
265
|
+
These are known limits of 2.6.0. Each is captured as future work in [`TARGET_ARCHITECTURE.md`](TARGET_ARCHITECTURE.md) and ADR-0023 to ADR-0026; where part of one has since landed, its entry says what. The release audit of 2.6.0rc1, including smaller follow-ups, is [`docs/audits/RELEASE_AUDIT_2.6.0rc1.md`](docs/audits/RELEASE_AUDIT_2.6.0rc1.md).
|
|
266
|
+
|
|
267
|
+
- **The client interface is v0, with no live events.** `pdl_taskmaster.api` returns structured results (`TurnResult`: stage, exit status, provenance) and drives the review gates (`confirm`, `revise`, `run(..., confirm=True)`), but it is unversioned and has no live event stream (ADR-0023; [`docs/api.md`](docs/api.md)).
|
|
268
|
+
- **One cost setting.** Reasoning depth, output length, verification depth and model choice are set separately by flags but not by a profile, and there is no session-level time or token budget (ADR-0024).
|
|
269
|
+
- **No effects on the user's project.** Programs cannot create or edit project files, and there is no tool broker (ADR-0025).
|
|
270
|
+
- **Extensions are profiles, not packs.** Task types, verifiers and model providers register through versioned profiles and pass a conformance kit ([`docs/extensions.md`](docs/extensions.md), L124). Operation prompts are still part of the code, contract overrides replace the whole set without a compatibility check, and there are no workflow packs (ADR-0026).
|
|
271
|
+
- **System 1 is remote.** The default System 1 is OpenRouter's decisions endpoint; without it, boundary refusal does not run (§3.3).
|
|
272
|
+
- **Groq gets `EXECUTE` and `EMIT_RESULT_IR` in JSON mode.** It rejects their schemas, so it serves them without one, and the host validates the reply (ADR-0028 rule 5); it is no longer routed past ([`PROVIDERS.md`](PROVIDERS.md) §3). This is covered by offline tests only, not yet run live on Groq. The provider tables are fixed in the worker until the per-stage profiles (IMPL-0003).
|
|
273
|
+
- **`PDLT_SANDBOX_NETWORK` is routing state only.** Setting it to `true` changes what System 1 is told; the sandbox never grants network access.
|
|
274
|
+
- **Headless review gates are confirmed by piping `/confirm`.** The catalogue measures autonomous drafting under the lint gates, not human review (`gate_policy` in `RUN_META.json`).
|
|
275
|
+
- **The category 10 multi-turn scripts are not run.** Category 10 prompts run single-turn; their scripts are kept in the manifest's `multi_turn_script` field.
|
|
276
|
+
- **Live runs need credentials.** `OPENROUTER_API_KEY` is required for live sessions and catalogue runs; the offline test suite needs none.
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# PDLt System 2 Prompt Catalogue — Test Execution Goal
|
|
2
|
+
|
|
3
|
+
## MISSION
|
|
4
|
+
|
|
5
|
+
Execute the complete 112-prompt PDLt System 2 Prompt Catalogue through the live pdlt REPL
|
|
6
|
+
to produce a definitive scoreboard measuring protocol fidelity on `gpt-oss-120b` at the
|
|
7
|
+
harness's default reasoning (high before execution, low at EXECUTE; ADR-0022). Results are written to `<runs>/<run-timestamp>/`, where `<runs>` is `$PDLT_CATALOGUE_RUNS`, else `PDLt-Catalogue-Archive` beside the checkout (`catalogue_runs.py`).
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## NON-NEGOTIABLE RULES
|
|
12
|
+
|
|
13
|
+
### 1. No Retries, No Do-Overs
|
|
14
|
+
Each prompt gets **exactly one execution attempt**. If it fails, log the failure and move on.
|
|
15
|
+
No re-running a prompt "to see if it works this time." No modifying prompts mid-run. The
|
|
16
|
+
manifest is frozen at run start.
|
|
17
|
+
|
|
18
|
+
### 2. No Cherry-Picking
|
|
19
|
+
All 112 prompts must be executed in manifest order. You may not skip prompts, reorder them
|
|
20
|
+
to run easy ones first, or filter to only run categories you expect to pass.
|
|
21
|
+
|
|
22
|
+
### 3. No Prompt Modification
|
|
23
|
+
Prompt files are read-only inputs. You may not edit, simplify, clarify, or annotate a prompt
|
|
24
|
+
before feeding it to pdlt. The whole point is testing the model's ability to interpret raw
|
|
25
|
+
user input under protocol governance.
|
|
26
|
+
|
|
27
|
+
### 4. No Manual Intervention in the Protocol
|
|
28
|
+
The runner uses `--non-interactive` and `--exit-on-close` and confirms every review gate by
|
|
29
|
+
piping `/confirm` (recorded in RUN_META as `gate_policy: evaluator_confirms_via_stdin`). No human
|
|
30
|
+
may confirm, revise, edit, or override any gate. The model must produce Prompt Pseudocode and
|
|
31
|
+
Response Plan Pseudocode autonomously; the harness's grammar lint is the only gate on them.
|
|
32
|
+
|
|
33
|
+
### 5. Full Transcript Capture
|
|
34
|
+
Every session must produce a transcript file. Sessions without transcripts are invalid.
|
|
35
|
+
|
|
36
|
+
### 6. Single Model, Single Configuration
|
|
37
|
+
The entire run uses one model (`openai/gpt-oss-120b`) at one reasoning configuration: the
|
|
38
|
+
harness default (high before execution, low at EXECUTE; ADR-0022), which is also what a live
|
|
39
|
+
session runs at. `RUN_META.json` records the effective effort per operation (`reasoning_effective`).
|
|
40
|
+
No switching models mid-run. No escalating reasoning effort for hard prompts.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## EXECUTION
|
|
45
|
+
|
|
46
|
+
### Step 1: Dry Run (Verify Setup)
|
|
47
|
+
```powershell
|
|
48
|
+
python run_catalogue.py --dry-run
|
|
49
|
+
```
|
|
50
|
+
Verify: 112 prompts listed, 57 marked VERIFIED (ground truth), manifest parses cleanly.
|
|
51
|
+
|
|
52
|
+
### Step 2: Single-Prompt Smoke Test
|
|
53
|
+
```powershell
|
|
54
|
+
python run_catalogue.py --prompt-id 06-04 --timeout 120
|
|
55
|
+
```
|
|
56
|
+
Run the easiest prompt first (race condition counter, difficulty: easy) to confirm the
|
|
57
|
+
harness pipeline works end-to-end. Check the generated result.json and transcript.
|
|
58
|
+
|
|
59
|
+
### Step 3: Full Run
|
|
60
|
+
```powershell
|
|
61
|
+
python run_catalogue.py --model openai/gpt-oss-120b --timeout 180
|
|
62
|
+
```
|
|
63
|
+
This will take approximately 30-60 minutes depending on API latency.
|
|
64
|
+
|
|
65
|
+
### Step 4: Review Scoreboard
|
|
66
|
+
Open `<runs>/<run-timestamp>/SCOREBOARD.md` and report:
|
|
67
|
+
1. Overall pass rate
|
|
68
|
+
2. Pass rate by category
|
|
69
|
+
3. Pass rate by difficulty tier
|
|
70
|
+
4. The result of each regression prompt (the `REG-*` ids in the manifest: REG-001, REG-003, REG-011 to REG-014)
|
|
71
|
+
5. Which categories had 0% pass rate (ceiling not reached)
|
|
72
|
+
6. Which categories had 100% pass rate (ceiling not tested)
|
|
73
|
+
|
|
74
|
+
### Step 5: Spot-Check Verified Prompts
|
|
75
|
+
For every prompt with `ground_truth_status: "verified"` that reported CLOSED_SUCCESS,
|
|
76
|
+
open the transcript and compare the model's output against the solution oracle file in
|
|
77
|
+
`prompts/solutions/`. Flag any case where the verdict is CLOSED_SUCCESS but the answer
|
|
78
|
+
is substantively wrong (false positive).
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## OUTPUT STRUCTURE
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
PDLt-Catalogue-Archive/ # or $PDLT_CATALOGUE_RUNS
|
|
86
|
+
run-YYYYMMDD-HHMMSS/
|
|
87
|
+
RUN_META.json # Frozen run configuration
|
|
88
|
+
SCOREBOARD.json # Machine-readable aggregate results
|
|
89
|
+
SCOREBOARD.md # Human-readable scoreboard with tables
|
|
90
|
+
results/
|
|
91
|
+
01-01_schur_triples_n15/
|
|
92
|
+
result.json # Verdict, exit code, timing, ground truth
|
|
93
|
+
transcript.txt # Full pdlt session transcript
|
|
94
|
+
stdout.txt # Raw stdout from pdlt
|
|
95
|
+
stderr.txt # Raw stderr (errors, warnings)
|
|
96
|
+
session/ # pdlt session workspace directory
|
|
97
|
+
01-02_exact_cover_dlx/
|
|
98
|
+
...
|
|
99
|
+
... # 112 result directories total
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## VERDICTS
|
|
105
|
+
|
|
106
|
+
| Verdict | Meaning |
|
|
107
|
+
|---------|---------|
|
|
108
|
+
| `CLOSED_SUCCESS` | Full protocol traversal: PROMPT_REVIEW -> PLAN_REVIEW -> EXECUTION -> closed green |
|
|
109
|
+
| `UNCONFIRMED_GATE` | Session exited while sitting at an unconfirmed review gate (exit code 2) |
|
|
110
|
+
| `TIMEOUT` | Wall-clock timeout exceeded (prompt took too long) |
|
|
111
|
+
| `EXIT_N` | pdlt exited with unexpected exit code N |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## WHAT SUCCESS LOOKS LIKE
|
|
116
|
+
|
|
117
|
+
A successful run produces a scoreboard with:
|
|
118
|
+
- **Every prompt attempted** (112 results, 0 skipped)
|
|
119
|
+
- **RUN_META.json confirms**: `retries_allowed: 0, do_overs_allowed: false`
|
|
120
|
+
- **Regression prompts reported by id** (REG-001, REG-003, REG-011 to REG-014): a failure is reported, never tuned away
|
|
121
|
+
- **Verified prompts spot-checked**: CLOSED_SUCCESS verdicts match ground truth
|
|
122
|
+
- **0 false positives** in SCOREBOARD `false_positives` (graded prompts: 01-01..01-07, 13-01; the other 13 verified prompts are MANUAL)
|
|
123
|
+
|
|
124
|
+
The pass rate itself is the empirical measurement. We expect it won't be 100% — the whole
|
|
125
|
+
point is finding where the ceiling is. But every failure must be a real failure, not an
|
|
126
|
+
infrastructure bug or a skipped prompt.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## WHAT FAILURE LOOKS LIKE
|
|
131
|
+
|
|
132
|
+
Invalid run conditions (must abort and restart from scratch):
|
|
133
|
+
- Runner crashes before completing all 105 prompts
|
|
134
|
+
- Network/API outage causes mass timeouts (>50% TIMEOUT verdicts)
|
|
135
|
+
- PYTHONPATH misconfigured (pdlt import errors in stderr)
|
|
136
|
+
- Manifest file modified during run
|
|
137
|
+
|
|
138
|
+
These are NOT invalid — they are legitimate test results:
|
|
139
|
+
- Model produces wrong answers (that's what we're measuring)
|
|
140
|
+
- Model fails review gates (protocol enforcement working as designed)
|
|
141
|
+
- Model times out on hard problems (ceiling found)
|
|
142
|
+
- Adversarial prompts cause unexpected behavior (that's why they're in the catalogue)
|