pdl-taskmaster 2.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pdl_taskmaster-2.4.0/.gitignore +19 -0
- pdl_taskmaster-2.4.0/LICENSE +21 -0
- pdl_taskmaster-2.4.0/PKG-INFO +155 -0
- pdl_taskmaster-2.4.0/README.md +129 -0
- pdl_taskmaster-2.4.0/contracts/AUTHORITY_MAP.json +19 -0
- pdl_taskmaster-2.4.0/contracts/CALIBRATION.json +7 -0
- pdl_taskmaster-2.4.0/contracts/CONTRACT_MANIFEST.json +231 -0
- pdl_taskmaster-2.4.0/contracts/EXECUTION_CONTRACT.json +615 -0
- pdl_taskmaster-2.4.0/contracts/IMPLEMENTATION_BOUNDARY.json +32 -0
- pdl_taskmaster-2.4.0/contracts/VERIFICATION_CONTRACT.json +379 -0
- pdl_taskmaster-2.4.0/contracts/standards/ARTIFACT_STANDARD.md +7 -0
- pdl_taskmaster-2.4.0/contracts/standards/AUTHORITY_STANDARD.md +17 -0
- pdl_taskmaster-2.4.0/contracts/standards/CONFORMANCE_STANDARD.md +15 -0
- pdl_taskmaster-2.4.0/contracts/standards/CONTEXT_STANDARD.md +15 -0
- pdl_taskmaster-2.4.0/contracts/standards/EXECUTION_STANDARD.md +14 -0
- pdl_taskmaster-2.4.0/contracts/standards/HANDOFF_STANDARD.md +21 -0
- pdl_taskmaster-2.4.0/contracts/standards/INSTALLATION_STANDARD.md +17 -0
- pdl_taskmaster-2.4.0/contracts/standards/PDL_STANDARD.md +19 -0
- pdl_taskmaster-2.4.0/contracts/standards/PROMPT_STANDARD.md +13 -0
- pdl_taskmaster-2.4.0/contracts/standards/PROTOCOL_STANDARD.md +17 -0
- pdl_taskmaster-2.4.0/contracts/standards/RESPONSE_PLAN_STANDARD.md +24 -0
- pdl_taskmaster-2.4.0/contracts/standards/RESULT_STANDARD.md +35 -0
- pdl_taskmaster-2.4.0/contracts/standards/REVIEW_STANDARD.md +31 -0
- pdl_taskmaster-2.4.0/contracts/standards/SEMANTIC_INPUT_STANDARD.md +15 -0
- pdl_taskmaster-2.4.0/contracts/standards/TASK_SEMANTICS_STANDARD.md +9 -0
- pdl_taskmaster-2.4.0/docs/adr/README.md +21 -0
- pdl_taskmaster-2.4.0/pyproject.toml +76 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/__init__.py +6 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/AUTHORITY_MAP.json +19 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/CALIBRATION.json +7 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/CONTRACT_MANIFEST.json +231 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/EXECUTION_CONTRACT.json +615 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/IMPLEMENTATION_BOUNDARY.json +32 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/VERIFICATION_CONTRACT.json +379 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/ARTIFACT_STANDARD.md +7 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/AUTHORITY_STANDARD.md +17 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/CONFORMANCE_STANDARD.md +15 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/CONTEXT_STANDARD.md +15 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/EXECUTION_STANDARD.md +14 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/HANDOFF_STANDARD.md +21 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/INSTALLATION_STANDARD.md +17 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/PDL_STANDARD.md +19 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/PROMPT_STANDARD.md +13 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/PROTOCOL_STANDARD.md +17 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/RESPONSE_PLAN_STANDARD.md +24 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/RESULT_STANDARD.md +35 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/REVIEW_STANDARD.md +31 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/SEMANTIC_INPUT_STANDARD.md +15 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/contracts/standards/TASK_SEMANTICS_STANDARD.md +9 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/__init__.py +0 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/mechanical_controller.py +542 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/activation_decision.schema.json +34 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/artifact_body.schema.json +14 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/artifact_review_facts.schema.json +91 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/bootstrap_analysis.schema.json +60 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/execution_draft.schema.json +47 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/execution_input_decision.schema.json +43 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/execution_outcome.schema.json +201 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/plan_artifact.schema.json +14 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/prompt_artifact.schema.json +63 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/protocol_discussion.schema.json +8 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/controller/schemas/result_ir_repair.schema.json +140 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/__init__.py +1 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/build_adversarial_battery.py +351 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/compare_eval_runs.py +251 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/control_api_call.py +428 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/export_rlcd_dataset.py +799 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/fidelity_scan.py +268 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/gen_fidelity_battery.py +457 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/leak_scan.py +260 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/rerecord_fixtures.py +139 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/run_canary_shape_probe.py +229 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/run_dual_gate_probe.py +404 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/run_qualified_batch.py +841 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/eval/summarize_run.py +194 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/host/__init__.py +1 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/host/app.py +164 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/host/cli.py +100 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/host/repl.py +866 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/observation/__init__.py +1 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/observation/cli.py +47 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/observation/observed_session.py +219 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/observation/parsers.py +66 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/observation/records.py +58 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/observation/session.py +3 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/observation/sink.py +3 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/observation/sinks.py +20 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/providers/README.md +66 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/providers/__init__.py +1 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/providers/api_worker.py +411 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/providers/base.py +26 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/providers/codex_worker.py +328 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/providers/fixtures.py +157 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/providers/live_stub.py +66 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/providers/recorded.py +120 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/py.typed +1 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/__init__.py +0 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/context_compiler.py +151 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/model_classification.py +290 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/normative_store.py +157 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/operation_bridge.py +336 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/presentation.py +18 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/quarantine.py +91 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/result_ir.py +401 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/semantic_observer.py +40 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/session_engine.py +1168 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/standard_registry.py +55 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/wire_payloads.py +462 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/worker-bootstrap.txt +4 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/runtime/workspace.py +602 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/tracking/__init__.py +1 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/tracking/log_live_session.py +98 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/tracking/mlflow_sink.py +58 -0
- pdl_taskmaster-2.4.0/src/pdl_taskmaster/verify/verify_repl_baseline.py +299 -0
- pdl_taskmaster-2.4.0/tests/fixtures/FIXTURE_MANIFEST.json +91 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/BND-00/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/DRIP-01/turns.json +8 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/DRIP-02/turns.json +8 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/DRIP-03/turns.json +9 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/DRIP-04/turns.json +9 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/DRIP-05/turns.json +10 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/DRIP-06/turns.json +10 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/DRIP-07/turns.json +10 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/DRIP-08/turns.json +11 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/DRIP-09/turns.json +13 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/DRIP-10/turns.json +13 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/ENC-01/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/ENC-02/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/ENC-03/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/ENC-04/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/ENC-05/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/ENC-06/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/ENC-07/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/ENC-08/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/ENC-09/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/ENC-10/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/F4-CONTRADICTION/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/MANIFEST.json +782 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/STACK-01/turns.json +9 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/STACK-02/turns.json +9 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/STACK-03/turns.json +10 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/STACK-04/turns.json +10 -0
- pdl_taskmaster-2.4.0/tests/fixtures/adversarial/STACK-05/turns.json +11 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/ACTOR-01/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/ACTOR-02/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/ACTOR-03/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/DISAMB-01/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/DISAMB-02/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/DISAMB-03/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/DISAMB-04/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/MANIFEST.json +782 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/MC-01/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/MC-02/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/MC-03/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/MC-04/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/MC-05/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/fidelity/MC-06/turns.json +6 -0
- pdl_taskmaster-2.4.0/tests/fixtures/recorded-cases.json +107 -0
- pdl_taskmaster-2.4.0/tests/test_adversarial_battery.py +170 -0
- pdl_taskmaster-2.4.0/tests/test_codex_decoupling.py +133 -0
- pdl_taskmaster-2.4.0/tests/test_evidence_sink.py +53 -0
- pdl_taskmaster-2.4.0/tests/test_fidelity_scan.py +172 -0
- pdl_taskmaster-2.4.0/tests/test_harness_baseline.py +143 -0
- pdl_taskmaster-2.4.0/tests/test_mlflow_logger.py +62 -0
- pdl_taskmaster-2.4.0/tests/test_phase9_turns.py +166 -0
- pdl_taskmaster-2.4.0/tests/test_pydantic_wire.py +182 -0
- pdl_taskmaster-2.4.0/tests/test_quarantine.py +60 -0
- pdl_taskmaster-2.4.0/tests/test_quarantine_generalized.py +61 -0
- pdl_taskmaster-2.4.0/tests/test_repl_integration.py +115 -0
- pdl_taskmaster-2.4.0/tests/test_rlcd_dataset.py +136 -0
- pdl_taskmaster-2.4.0/tests/test_sem05_wiring.py +89 -0
- pdl_taskmaster-2.4.0/tests/test_task_entities.py +164 -0
- pdl_taskmaster-2.4.0/tests/test_v230_features.py +154 -0
- pdl_taskmaster-2.4.0/tests/test_wire_repairs.py +155 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 PDL-Standard contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: pdl-taskmaster
|
|
3
|
+
Version: 2.4.0
|
|
4
|
+
Summary: Deterministic protocol governance and bounded AI agent harness
|
|
5
|
+
Author: PDL-Standard Contributors
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
License-File: LICENSE
|
|
8
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
16
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
17
|
+
Requires-Python: >=3.10
|
|
18
|
+
Requires-Dist: pydantic<3.0.0,>=2.5.0
|
|
19
|
+
Provides-Extra: dev
|
|
20
|
+
Requires-Dist: anyio>=4.0.0; extra == 'dev'
|
|
21
|
+
Requires-Dist: pytest-xdist>=3.5.0; extra == 'dev'
|
|
22
|
+
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
23
|
+
Provides-Extra: tracking
|
|
24
|
+
Requires-Dist: mlflow>=2.0.0; extra == 'tracking'
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
|
|
27
|
+
# PDL Taskmaster
|
|
28
|
+
*(PDL-Standard-REPL-Harness)*
|
|
29
|
+
|
|
30
|
+
A REPL harness that makes a language model interpret your request — in short, readable pseudocode — and wait for you to confirm it before anything runs. The same mechanism that catches a misread request also blocks prompt injection: anything quoted or pasted into a task is treated as data at read time and never promoted to an instruction.
|
|
31
|
+
|
|
32
|
+
**Why this exists:** [`docs/architecture/framing.md`](docs/architecture/framing.md) — the full case, including a live boundary test where the identical model, on one unprotected API call, leaked 2 of 5 injected probes while the protocol held 0 of 5. For the full mechanism, design history, and evidence: [`docs/architecture/whitepaper.md`](docs/architecture/whitepaper.md).
|
|
33
|
+
|
|
34
|
+
## Repository layout
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
contracts/ versioned standards, contracts, and schemas (normative source)
|
|
38
|
+
confirm-with-pseudocode/ bootstrap skill entrypoint used by the protocol
|
|
39
|
+
src/pdl_taskmaster/ clean Python package root
|
|
40
|
+
host/ REPL host, umbrella CLI (pdlt), and application wiring
|
|
41
|
+
runtime/ session engine, context compiler, 4-tier standards store, workspace
|
|
42
|
+
controller/ deterministic mechanical controller
|
|
43
|
+
providers/ model-worker boundary: api / recorded / codex
|
|
44
|
+
observation/ JSONL telemetry sinks
|
|
45
|
+
tracking/ optional MLflow session logger (post-hoc, non-authoritative)
|
|
46
|
+
eval/ adversarial battery, fidelity scoring, batch runner
|
|
47
|
+
verify/ deterministic baseline verification entry point
|
|
48
|
+
contracts/ bundled package data contracts (Tier 4 normative store)
|
|
49
|
+
tests/ pytest suite and vendored self-contained test fixtures
|
|
50
|
+
fixtures/ vendored recorded cases and adversarial/fidelity batteries
|
|
51
|
+
docs/ documentation
|
|
52
|
+
architecture/ framing.md, whitepaper.md, protocol specs
|
|
53
|
+
operations/ eval-metrics.md, efficiency-report.md
|
|
54
|
+
governance/ roadmap.md, experiment-log.md (full decision history)
|
|
55
|
+
adr/ trd/ background architecture-decision records (history, not required reading)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The package ships with self-contained test fixtures vendored under `tests/fixtures/`, enabling 100% offline testing. Historical run ledgers and large evaluation archives are kept in external archives outside this repository and resolve via `PDLT_FIXTURES_PATH` (fixtures) and `PDLT_RUNS_ROOT` (evaluation runs).
|
|
59
|
+
|
|
60
|
+
## Install
|
|
61
|
+
|
|
62
|
+
Requirements: Python 3.11+, Pydantic v2 (`pydantic>=2.5.0,<3.0.0`).
|
|
63
|
+
|
|
64
|
+
```powershell
|
|
65
|
+
# From PyPI (once published)
|
|
66
|
+
pip install pdl-taskmaster
|
|
67
|
+
# or using uv:
|
|
68
|
+
uv add pdl-taskmaster
|
|
69
|
+
|
|
70
|
+
# Development / editable installation:
|
|
71
|
+
cd PDL-Standard-REPL-Harness
|
|
72
|
+
pip install -e ".[test]"
|
|
73
|
+
# or with optional MLflow tracking:
|
|
74
|
+
pip install -e ".[test,tracking]"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Run every command from this repository root or anywhere when installed as a package.
|
|
78
|
+
|
|
79
|
+
## Umbrella CLI (`pdlt`)
|
|
80
|
+
|
|
81
|
+
When installed, the `pdlt` command line tool provides the complete entry point:
|
|
82
|
+
|
|
83
|
+
```powershell
|
|
84
|
+
pdlt --help # View CLI command options and REPL flags
|
|
85
|
+
pdlt version # Print package version, protocol spec, and manifest hash
|
|
86
|
+
pdlt init --global # Initialize standards in ~/.pdlt/versions/v2/contracts/
|
|
87
|
+
pdlt init --local # Seed standards into ./contracts/ in current directory
|
|
88
|
+
pdlt verify # Run deterministic baseline verification gate
|
|
89
|
+
pdlt # Launch interactive REPL (default)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Deterministic baseline verification
|
|
93
|
+
|
|
94
|
+
```powershell
|
|
95
|
+
pdlt verify # Deterministic baseline verifier
|
|
96
|
+
pytest # Run complete test suite (offline, 87 passed)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
The verifier checks required runtime/instructional files, imports, the zero-template workspace invariant, fixture hashes, REPL subprocess-script presence, source-repository isolation, a fresh-workspace lifecycle test (prompt → plan → execute → result), and resuming that same workspace. All verifier workspaces are temporary.
|
|
100
|
+
|
|
101
|
+
## Interactive REPL (recorded / deterministic)
|
|
102
|
+
|
|
103
|
+
```powershell
|
|
104
|
+
pdlt --worker recorded --case-ids G06 --new-session
|
|
105
|
+
# or: python -m pdl_taskmaster.host.repl --worker recorded --case-ids G06 --new-session
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Recorded mode is **exact, deterministic replay**: it only responds to the exact interaction sequences captured in the fixture (`G06`: full lifecycle; `A02`: prompt revision). Use `--quit` to exit — there's no `/exit` command.
|
|
109
|
+
|
|
110
|
+
Commands: `/help`, `/status`, `/session`, `/new`, `/resume`, `/mlflow [on|off]`, `/tokens [on|off]`, `/timeout [seconds]`, `/model [name]`, `/worker [api|codex|recorded]`, `/config` (codex only), `/sandbox` (codex only), `/workdir [path]`, `/transcript [path]`, `/quit`.
|
|
111
|
+
|
|
112
|
+
Fast-path review commands: `/confirm`, `/revise <feedback>`, `/stop`.
|
|
113
|
+
|
|
114
|
+
## Live model worker (default)
|
|
115
|
+
|
|
116
|
+
```powershell
|
|
117
|
+
# Default worker is 'api' with model 'z-ai/glm-4.7'
|
|
118
|
+
pdlt --new-session
|
|
119
|
+
# or: python -m pdl_taskmaster.host.repl --candidate-repo . --new-session
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
> **System 1 / System 2 Architecture Note**: Production default is `--worker api` (System 2, e.g. `z-ai/glm-4.7`). Local fast System 1 classification models are undergoing contrastive RLCD fine-tuning (ADR-0012) and fail-closed to System 2 via the confidence ladder if threshold ($0.85$) or top-2 margin ($0.40$) are unmet.
|
|
123
|
+
|
|
124
|
+
`--worker api` sends the compiled interpretation/plan directly to an OpenAI-compatible `/responses` endpoint (instructions bundled in `src/pdl_taskmaster/runtime/worker-bootstrap.txt`), with no tool definitions, sandbox, or agentic system prompt attached — deliberately; see the "instruction-lightness" finding in the whitepaper (§3).
|
|
125
|
+
|
|
126
|
+
### Efficiency flags (`--worker api`)
|
|
127
|
+
|
|
128
|
+
- `--api-reasoning-effort low|medium|high` — reasoning budget override, applied globally.
|
|
129
|
+
- `--api-reasoning-operation OP=EFFORT` (repeatable) — per-step override; sensible per-model defaults are already wired in (see whitepaper §4).
|
|
130
|
+
- `--api-model-operation OP=MODEL` (repeatable) — per-step model override, e.g. keep interpretation on a frontier model and route everything else to a cheaper instruction-following one.
|
|
131
|
+
- `--render-compact` / `--render-pretty` — how the interpretation/plan is serialized on the wire (compact is the default for `--worker api`).
|
|
132
|
+
- `--cache-order-render` — opt-in reordering for provider-side prefix caching.
|
|
133
|
+
|
|
134
|
+
Per-call cost data, and which optimizations were tried and rejected: [`docs/operations/efficiency-report.md`](docs/operations/efficiency-report.md).
|
|
135
|
+
|
|
136
|
+
## Adversarial evaluation
|
|
137
|
+
|
|
138
|
+
```powershell
|
|
139
|
+
python -m pdl_taskmaster.eval.run_qualified_batch --case-id BND-00 --stub --trials 1
|
|
140
|
+
python -m pdl_taskmaster.eval.run_qualified_batch --case-id BND-00 --trials 1 --model z-ai/glm-4.7
|
|
141
|
+
python -m pdl_taskmaster.eval.compare_eval_runs <summary.json>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
The battery manifest and prior run ledgers resolve via `PDLT_RUNS_ROOT` (defaults to a sibling archive directory not included in this repository — point it at your own results directory to run the battery from scratch). Measured baselines so far: [`docs/operations/eval-metrics.md`](docs/operations/eval-metrics.md).
|
|
145
|
+
|
|
146
|
+
## Notes
|
|
147
|
+
|
|
148
|
+
- Run artifacts (`runs/`, `mlruns/`) and external evaluation archives are **not** runtime dependencies and are kept outside the repository. The optional MLflow tracking store follows the same pattern (override with `PDLT_MLFLOW_DB`; falls back to a repo-root `mlflow.db` if unset).
|
|
149
|
+
- Workspaces are zero-template and dynamic: a fresh run scaffolds only `state/`, `events/`, `stages/`, `shared/`, and stage folders materialize as they're needed (see whitepaper §5).
|
|
150
|
+
- `SOURCE_PROVENANCE.json` records per-file provenance (source repo, commit, hashes, byte-identical vs. adapted) from the original extraction.
|
|
151
|
+
- Internal architecture/technical decision records referenced elsewhere in these docs (`docs/adr/`, `docs/trd/`) are background only and not required reading to use the harness.
|
|
152
|
+
|
|
153
|
+
## Optional MLflow logging
|
|
154
|
+
|
|
155
|
+
MLflow logging is post-hoc and non-authoritative; the protocol never requires it. Enable it by answering `y` to the startup prompt, launching with `--mlflow`, or toggling with `/mlflow on`. When enabled, closed sessions are logged via `pdl_taskmaster.tracking.log_live_session` to a local SQLite store (default location follows the archive-resolution pattern described above) under experiment `PDL-R2S`, printing a `LIVE_SESSION_MLFLOW_RUN` line per logged session. Only sessions that completed at least one protocol turn are logged. Requires `pip install "pdl-taskmaster[tracking]"`.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# PDL Taskmaster
|
|
2
|
+
*(PDL-Standard-REPL-Harness)*
|
|
3
|
+
|
|
4
|
+
A REPL harness that makes a language model interpret your request — in short, readable pseudocode — and wait for you to confirm it before anything runs. The same mechanism that catches a misread request also blocks prompt injection: anything quoted or pasted into a task is treated as data at read time and never promoted to an instruction.
|
|
5
|
+
|
|
6
|
+
**Why this exists:** [`docs/architecture/framing.md`](docs/architecture/framing.md) — the full case, including a live boundary test where the identical model, on one unprotected API call, leaked 2 of 5 injected probes while the protocol held 0 of 5. For the full mechanism, design history, and evidence: [`docs/architecture/whitepaper.md`](docs/architecture/whitepaper.md).
|
|
7
|
+
|
|
8
|
+
## Repository layout
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
contracts/ versioned standards, contracts, and schemas (normative source)
|
|
12
|
+
confirm-with-pseudocode/ bootstrap skill entrypoint used by the protocol
|
|
13
|
+
src/pdl_taskmaster/ clean Python package root
|
|
14
|
+
host/ REPL host, umbrella CLI (pdlt), and application wiring
|
|
15
|
+
runtime/ session engine, context compiler, 4-tier standards store, workspace
|
|
16
|
+
controller/ deterministic mechanical controller
|
|
17
|
+
providers/ model-worker boundary: api / recorded / codex
|
|
18
|
+
observation/ JSONL telemetry sinks
|
|
19
|
+
tracking/ optional MLflow session logger (post-hoc, non-authoritative)
|
|
20
|
+
eval/ adversarial battery, fidelity scoring, batch runner
|
|
21
|
+
verify/ deterministic baseline verification entry point
|
|
22
|
+
contracts/ bundled package data contracts (Tier 4 normative store)
|
|
23
|
+
tests/ pytest suite and vendored self-contained test fixtures
|
|
24
|
+
fixtures/ vendored recorded cases and adversarial/fidelity batteries
|
|
25
|
+
docs/ documentation
|
|
26
|
+
architecture/ framing.md, whitepaper.md, protocol specs
|
|
27
|
+
operations/ eval-metrics.md, efficiency-report.md
|
|
28
|
+
governance/ roadmap.md, experiment-log.md (full decision history)
|
|
29
|
+
adr/ trd/ background architecture-decision records (history, not required reading)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The package ships with self-contained test fixtures vendored under `tests/fixtures/`, enabling 100% offline testing. Historical run ledgers and large evaluation archives are kept in external archives outside this repository and resolve via `PDLT_FIXTURES_PATH` (fixtures) and `PDLT_RUNS_ROOT` (evaluation runs).
|
|
33
|
+
|
|
34
|
+
## Install
|
|
35
|
+
|
|
36
|
+
Requirements: Python 3.11+, Pydantic v2 (`pydantic>=2.5.0,<3.0.0`).
|
|
37
|
+
|
|
38
|
+
```powershell
|
|
39
|
+
# From PyPI (once published)
|
|
40
|
+
pip install pdl-taskmaster
|
|
41
|
+
# or using uv:
|
|
42
|
+
uv add pdl-taskmaster
|
|
43
|
+
|
|
44
|
+
# Development / editable installation:
|
|
45
|
+
cd PDL-Standard-REPL-Harness
|
|
46
|
+
pip install -e ".[test]"
|
|
47
|
+
# or with optional MLflow tracking:
|
|
48
|
+
pip install -e ".[test,tracking]"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Run every command from this repository root or anywhere when installed as a package.
|
|
52
|
+
|
|
53
|
+
## Umbrella CLI (`pdlt`)
|
|
54
|
+
|
|
55
|
+
When installed, the `pdlt` command line tool provides the complete entry point:
|
|
56
|
+
|
|
57
|
+
```powershell
|
|
58
|
+
pdlt --help # View CLI command options and REPL flags
|
|
59
|
+
pdlt version # Print package version, protocol spec, and manifest hash
|
|
60
|
+
pdlt init --global # Initialize standards in ~/.pdlt/versions/v2/contracts/
|
|
61
|
+
pdlt init --local # Seed standards into ./contracts/ in current directory
|
|
62
|
+
pdlt verify # Run deterministic baseline verification gate
|
|
63
|
+
pdlt # Launch interactive REPL (default)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Deterministic baseline verification
|
|
67
|
+
|
|
68
|
+
```powershell
|
|
69
|
+
pdlt verify # Deterministic baseline verifier
|
|
70
|
+
pytest # Run complete test suite (offline, 87 passed)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The verifier checks required runtime/instructional files, imports, the zero-template workspace invariant, fixture hashes, REPL subprocess-script presence, source-repository isolation, a fresh-workspace lifecycle test (prompt → plan → execute → result), and resuming that same workspace. All verifier workspaces are temporary.
|
|
74
|
+
|
|
75
|
+
## Interactive REPL (recorded / deterministic)
|
|
76
|
+
|
|
77
|
+
```powershell
|
|
78
|
+
pdlt --worker recorded --case-ids G06 --new-session
|
|
79
|
+
# or: python -m pdl_taskmaster.host.repl --worker recorded --case-ids G06 --new-session
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Recorded mode is **exact, deterministic replay**: it only responds to the exact interaction sequences captured in the fixture (`G06`: full lifecycle; `A02`: prompt revision). Use `--quit` to exit — there's no `/exit` command.
|
|
83
|
+
|
|
84
|
+
Commands: `/help`, `/status`, `/session`, `/new`, `/resume`, `/mlflow [on|off]`, `/tokens [on|off]`, `/timeout [seconds]`, `/model [name]`, `/worker [api|codex|recorded]`, `/config` (codex only), `/sandbox` (codex only), `/workdir [path]`, `/transcript [path]`, `/quit`.
|
|
85
|
+
|
|
86
|
+
Fast-path review commands: `/confirm`, `/revise <feedback>`, `/stop`.
|
|
87
|
+
|
|
88
|
+
## Live model worker (default)
|
|
89
|
+
|
|
90
|
+
```powershell
|
|
91
|
+
# Default worker is 'api' with model 'z-ai/glm-4.7'
|
|
92
|
+
pdlt --new-session
|
|
93
|
+
# or: python -m pdl_taskmaster.host.repl --candidate-repo . --new-session
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
> **System 1 / System 2 Architecture Note**: Production default is `--worker api` (System 2, e.g. `z-ai/glm-4.7`). Local fast System 1 classification models are undergoing contrastive RLCD fine-tuning (ADR-0012) and fail-closed to System 2 via the confidence ladder if threshold ($0.85$) or top-2 margin ($0.40$) are unmet.
|
|
97
|
+
|
|
98
|
+
`--worker api` sends the compiled interpretation/plan directly to an OpenAI-compatible `/responses` endpoint (instructions bundled in `src/pdl_taskmaster/runtime/worker-bootstrap.txt`), with no tool definitions, sandbox, or agentic system prompt attached — deliberately; see the "instruction-lightness" finding in the whitepaper (§3).
|
|
99
|
+
|
|
100
|
+
### Efficiency flags (`--worker api`)
|
|
101
|
+
|
|
102
|
+
- `--api-reasoning-effort low|medium|high` — reasoning budget override, applied globally.
|
|
103
|
+
- `--api-reasoning-operation OP=EFFORT` (repeatable) — per-step override; sensible per-model defaults are already wired in (see whitepaper §4).
|
|
104
|
+
- `--api-model-operation OP=MODEL` (repeatable) — per-step model override, e.g. keep interpretation on a frontier model and route everything else to a cheaper instruction-following one.
|
|
105
|
+
- `--render-compact` / `--render-pretty` — how the interpretation/plan is serialized on the wire (compact is the default for `--worker api`).
|
|
106
|
+
- `--cache-order-render` — opt-in reordering for provider-side prefix caching.
|
|
107
|
+
|
|
108
|
+
Per-call cost data, and which optimizations were tried and rejected: [`docs/operations/efficiency-report.md`](docs/operations/efficiency-report.md).
|
|
109
|
+
|
|
110
|
+
## Adversarial evaluation
|
|
111
|
+
|
|
112
|
+
```powershell
|
|
113
|
+
python -m pdl_taskmaster.eval.run_qualified_batch --case-id BND-00 --stub --trials 1
|
|
114
|
+
python -m pdl_taskmaster.eval.run_qualified_batch --case-id BND-00 --trials 1 --model z-ai/glm-4.7
|
|
115
|
+
python -m pdl_taskmaster.eval.compare_eval_runs <summary.json>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The battery manifest and prior run ledgers resolve via `PDLT_RUNS_ROOT` (defaults to a sibling archive directory not included in this repository — point it at your own results directory to run the battery from scratch). Measured baselines so far: [`docs/operations/eval-metrics.md`](docs/operations/eval-metrics.md).
|
|
119
|
+
|
|
120
|
+
## Notes
|
|
121
|
+
|
|
122
|
+
- Run artifacts (`runs/`, `mlruns/`) and external evaluation archives are **not** runtime dependencies and are kept outside the repository. The optional MLflow tracking store follows the same pattern (override with `PDLT_MLFLOW_DB`; falls back to a repo-root `mlflow.db` if unset).
|
|
123
|
+
- Workspaces are zero-template and dynamic: a fresh run scaffolds only `state/`, `events/`, `stages/`, `shared/`, and stage folders materialize as they're needed (see whitepaper §5).
|
|
124
|
+
- `SOURCE_PROVENANCE.json` records per-file provenance (source repo, commit, hashes, byte-identical vs. adapted) from the original extraction.
|
|
125
|
+
- Internal architecture/technical decision records referenced elsewhere in these docs (`docs/adr/`, `docs/trd/`) are background only and not required reading to use the harness.
|
|
126
|
+
|
|
127
|
+
## Optional MLflow logging
|
|
128
|
+
|
|
129
|
+
MLflow logging is post-hoc and non-authoritative; the protocol never requires it. Enable it by answering `y` to the startup prompt, launching with `--mlflow`, or toggling with `/mlflow on`. When enabled, closed sessions are logged via `pdl_taskmaster.tracking.log_live_session` to a local SQLite store (default location follows the archive-resolution pattern described above) under experiment `PDL-R2S`, printing a `LIVE_SESSION_MLFLOW_RUN` line per logged session. Only sessions that completed at least one protocol turn are logged. Requires `pip install "pdl-taskmaster[tracking]"`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"normative": false,
|
|
3
|
+
"owners": {
|
|
4
|
+
"system_correctness": "AUTHORITY_STANDARD.md",
|
|
5
|
+
"task_vs_approach_semantics": "TASK_SEMANTICS_STANDARD.md",
|
|
6
|
+
"operative_vs_represented_input": "SEMANTIC_INPUT_STANDARD.md",
|
|
7
|
+
"lifecycle_order_and_gating": "PROTOCOL_STANDARD.md",
|
|
8
|
+
"prompt_artifact_correctness": "PROMPT_STANDARD.md",
|
|
9
|
+
"plan_artifact_correctness": "RESPONSE_PLAN_STANDARD.md",
|
|
10
|
+
"review_intent_semantics": "REVIEW_STANDARD.md",
|
|
11
|
+
"pdl_notation": "PDL_STANDARD.md",
|
|
12
|
+
"execution_time_input_and_external_action": "EXECUTION_STANDARD.md",
|
|
13
|
+
"artifact_state_handoff": "HANDOFF_STANDARD.md",
|
|
14
|
+
"model_context_isolation": "CONTEXT_STANDARD.md",
|
|
15
|
+
"verification_classes": "CONFORMANCE_STANDARD.md",
|
|
16
|
+
"package_integrity": "INSTALLATION_STANDARD.md",
|
|
17
|
+
"artifact_replacement_and_model_output_boundary": "ARTIFACT_STANDARD.md"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
{
|
|
2
|
+
"manifest_version": "C0-R4-1.0",
|
|
3
|
+
"package": "PDL-Standard-DS-Split-C0",
|
|
4
|
+
"normative_roots": [
|
|
5
|
+
"contracts/standards"
|
|
6
|
+
],
|
|
7
|
+
"non_normative_contracts": [
|
|
8
|
+
"contracts/AUTHORITY_MAP.json",
|
|
9
|
+
"contracts/CALIBRATION.json",
|
|
10
|
+
"contracts/EXECUTION_CONTRACT.json",
|
|
11
|
+
"contracts/VERIFICATION_CONTRACT.json",
|
|
12
|
+
"contracts/IMPLEMENTATION_BOUNDARY.json"
|
|
13
|
+
],
|
|
14
|
+
"requirement_index": {
|
|
15
|
+
"ARTIFACT-01": "contracts/standards/ARTIFACT_STANDARD.md",
|
|
16
|
+
"ARTIFACT-02": "contracts/standards/ARTIFACT_STANDARD.md",
|
|
17
|
+
"AUTH-01": "contracts/standards/AUTHORITY_STANDARD.md",
|
|
18
|
+
"AUTH-02": "contracts/standards/AUTHORITY_STANDARD.md",
|
|
19
|
+
"AUTH-03": "contracts/standards/AUTHORITY_STANDARD.md",
|
|
20
|
+
"AUTH-04": "contracts/standards/AUTHORITY_STANDARD.md",
|
|
21
|
+
"AUTH-05": "contracts/standards/AUTHORITY_STANDARD.md",
|
|
22
|
+
"AUTH-06": "contracts/standards/AUTHORITY_STANDARD.md",
|
|
23
|
+
"AUTH-07": "contracts/standards/AUTHORITY_STANDARD.md",
|
|
24
|
+
"CONFORM-01": "contracts/standards/CONFORMANCE_STANDARD.md",
|
|
25
|
+
"CONFORM-02": "contracts/standards/CONFORMANCE_STANDARD.md",
|
|
26
|
+
"CONFORM-03": "contracts/standards/CONFORMANCE_STANDARD.md",
|
|
27
|
+
"CONFORM-04": "contracts/standards/CONFORMANCE_STANDARD.md",
|
|
28
|
+
"CONFORM-05": "contracts/standards/CONFORMANCE_STANDARD.md",
|
|
29
|
+
"CONFORM-06": "contracts/standards/CONFORMANCE_STANDARD.md",
|
|
30
|
+
"CONTEXT-01": "contracts/standards/CONTEXT_STANDARD.md",
|
|
31
|
+
"CONTEXT-02": "contracts/standards/CONTEXT_STANDARD.md",
|
|
32
|
+
"CONTEXT-03": "contracts/standards/CONTEXT_STANDARD.md",
|
|
33
|
+
"CONTEXT-04": "contracts/standards/CONTEXT_STANDARD.md",
|
|
34
|
+
"CONTEXT-05": "contracts/standards/CONTEXT_STANDARD.md",
|
|
35
|
+
"CONTEXT-06": "contracts/standards/CONTEXT_STANDARD.md",
|
|
36
|
+
"EXEC-01": "contracts/standards/EXECUTION_STANDARD.md",
|
|
37
|
+
"EXEC-02": "contracts/standards/EXECUTION_STANDARD.md",
|
|
38
|
+
"EXEC-03": "contracts/standards/EXECUTION_STANDARD.md",
|
|
39
|
+
"EXEC-04": "contracts/standards/EXECUTION_STANDARD.md",
|
|
40
|
+
"EXEC-05": "contracts/standards/EXECUTION_STANDARD.md",
|
|
41
|
+
"HANDOFF-01": "contracts/standards/HANDOFF_STANDARD.md",
|
|
42
|
+
"HANDOFF-02": "contracts/standards/HANDOFF_STANDARD.md",
|
|
43
|
+
"HANDOFF-03": "contracts/standards/HANDOFF_STANDARD.md",
|
|
44
|
+
"HANDOFF-04": "contracts/standards/HANDOFF_STANDARD.md",
|
|
45
|
+
"HANDOFF-05": "contracts/standards/HANDOFF_STANDARD.md",
|
|
46
|
+
"HANDOFF-06": "contracts/standards/HANDOFF_STANDARD.md",
|
|
47
|
+
"HANDOFF-07": "contracts/standards/HANDOFF_STANDARD.md",
|
|
48
|
+
"HANDOFF-08": "contracts/standards/HANDOFF_STANDARD.md",
|
|
49
|
+
"HANDOFF-09": "contracts/standards/HANDOFF_STANDARD.md",
|
|
50
|
+
"INSTALL-01": "contracts/standards/INSTALLATION_STANDARD.md",
|
|
51
|
+
"INSTALL-02": "contracts/standards/INSTALLATION_STANDARD.md",
|
|
52
|
+
"INSTALL-03": "contracts/standards/INSTALLATION_STANDARD.md",
|
|
53
|
+
"INSTALL-04": "contracts/standards/INSTALLATION_STANDARD.md",
|
|
54
|
+
"INSTALL-05": "contracts/standards/INSTALLATION_STANDARD.md",
|
|
55
|
+
"INSTALL-06": "contracts/standards/INSTALLATION_STANDARD.md",
|
|
56
|
+
"INSTALL-07": "contracts/standards/INSTALLATION_STANDARD.md",
|
|
57
|
+
"PDL-01": "contracts/standards/PDL_STANDARD.md",
|
|
58
|
+
"PDL-02": "contracts/standards/PDL_STANDARD.md",
|
|
59
|
+
"PDL-03": "contracts/standards/PDL_STANDARD.md",
|
|
60
|
+
"PDL-04": "contracts/standards/PDL_STANDARD.md",
|
|
61
|
+
"PDL-05": "contracts/standards/PDL_STANDARD.md",
|
|
62
|
+
"PDL-06": "contracts/standards/PDL_STANDARD.md",
|
|
63
|
+
"PDL-07": "contracts/standards/PDL_STANDARD.md",
|
|
64
|
+
"PDL-08": "contracts/standards/PDL_STANDARD.md",
|
|
65
|
+
"PLAN-01": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
66
|
+
"PLAN-02": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
67
|
+
"PLAN-03": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
68
|
+
"PLAN-04": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
69
|
+
"PLAN-05": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
70
|
+
"PLAN-06": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
71
|
+
"PLAN-07": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
72
|
+
"PLAN-08": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
73
|
+
"PLAN-09": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
74
|
+
"PLAN-10": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
75
|
+
"PROMPT-01": "contracts/standards/PROMPT_STANDARD.md",
|
|
76
|
+
"PROMPT-02": "contracts/standards/PROMPT_STANDARD.md",
|
|
77
|
+
"PROMPT-03": "contracts/standards/PROMPT_STANDARD.md",
|
|
78
|
+
"PROMPT-04": "contracts/standards/PROMPT_STANDARD.md",
|
|
79
|
+
"PROMPT-05": "contracts/standards/PROMPT_STANDARD.md",
|
|
80
|
+
"PROTO-01": "contracts/standards/PROTOCOL_STANDARD.md",
|
|
81
|
+
"PROTO-02": "contracts/standards/PROTOCOL_STANDARD.md",
|
|
82
|
+
"PROTO-03": "contracts/standards/PROTOCOL_STANDARD.md",
|
|
83
|
+
"PROTO-04": "contracts/standards/PROTOCOL_STANDARD.md",
|
|
84
|
+
"PROTO-05": "contracts/standards/PROTOCOL_STANDARD.md",
|
|
85
|
+
"PROTO-06": "contracts/standards/PROTOCOL_STANDARD.md",
|
|
86
|
+
"PROTO-07": "contracts/standards/PROTOCOL_STANDARD.md",
|
|
87
|
+
"REVIEW-01": "contracts/standards/REVIEW_STANDARD.md",
|
|
88
|
+
"REVIEW-02": "contracts/standards/REVIEW_STANDARD.md",
|
|
89
|
+
"REVIEW-03": "contracts/standards/REVIEW_STANDARD.md",
|
|
90
|
+
"REVIEW-04": "contracts/standards/REVIEW_STANDARD.md",
|
|
91
|
+
"REVIEW-05": "contracts/standards/REVIEW_STANDARD.md",
|
|
92
|
+
"REVIEW-06": "contracts/standards/REVIEW_STANDARD.md",
|
|
93
|
+
"REVIEW-07": "contracts/standards/REVIEW_STANDARD.md",
|
|
94
|
+
"REVIEW-08": "contracts/standards/REVIEW_STANDARD.md",
|
|
95
|
+
"REVIEW-09": "contracts/standards/REVIEW_STANDARD.md",
|
|
96
|
+
"REVIEW-10": "contracts/standards/REVIEW_STANDARD.md",
|
|
97
|
+
"REVIEW-11": "contracts/standards/REVIEW_STANDARD.md",
|
|
98
|
+
"REVIEW-12": "contracts/standards/REVIEW_STANDARD.md",
|
|
99
|
+
"REVIEW-13": "contracts/standards/REVIEW_STANDARD.md",
|
|
100
|
+
"REVIEW-14": "contracts/standards/REVIEW_STANDARD.md",
|
|
101
|
+
"SEM-01": "contracts/standards/SEMANTIC_INPUT_STANDARD.md",
|
|
102
|
+
"SEM-02": "contracts/standards/SEMANTIC_INPUT_STANDARD.md",
|
|
103
|
+
"SEM-03": "contracts/standards/SEMANTIC_INPUT_STANDARD.md",
|
|
104
|
+
"SEM-04": "contracts/standards/SEMANTIC_INPUT_STANDARD.md",
|
|
105
|
+
"SEM-05": "contracts/standards/SEMANTIC_INPUT_STANDARD.md",
|
|
106
|
+
"SEM-06": "contracts/standards/SEMANTIC_INPUT_STANDARD.md",
|
|
107
|
+
"TASK-01": "contracts/standards/TASK_SEMANTICS_STANDARD.md",
|
|
108
|
+
"TASK-02": "contracts/standards/TASK_SEMANTICS_STANDARD.md",
|
|
109
|
+
"TASK-03": "contracts/standards/TASK_SEMANTICS_STANDARD.md",
|
|
110
|
+
"RS-01": "contracts/standards/RESULT_STANDARD.md",
|
|
111
|
+
"RS-02": "contracts/standards/RESULT_STANDARD.md",
|
|
112
|
+
"RS-03": "contracts/standards/RESULT_STANDARD.md",
|
|
113
|
+
"RS-04": "contracts/standards/RESULT_STANDARD.md",
|
|
114
|
+
"RS-05": "contracts/standards/RESULT_STANDARD.md",
|
|
115
|
+
"RS-06": "contracts/standards/RESULT_STANDARD.md",
|
|
116
|
+
"RS-07": "contracts/standards/RESULT_STANDARD.md",
|
|
117
|
+
"RS-08": "contracts/standards/RESULT_STANDARD.md",
|
|
118
|
+
"RS-09": "contracts/standards/RESULT_STANDARD.md",
|
|
119
|
+
"RS-10": "contracts/standards/RESULT_STANDARD.md"
|
|
120
|
+
},
|
|
121
|
+
"source_provenance": {
|
|
122
|
+
"compact_b3_repository": "paragon-ux/PDL-Standard-DS-Split-B3",
|
|
123
|
+
"compact_b3_commit": "b10dac6a935ea1f2f63a139b18f65d8221150dd6",
|
|
124
|
+
"trd_0001": "paragon-ux/PDL-Standard:docs/architecture/trd/0001-controller-gated-pseudocode-protocol.md",
|
|
125
|
+
"trd_0002": "paragon-ux/PDL-Standard:docs/architecture/trd/0002-contract-substrate-and-mechanical-verification.md",
|
|
126
|
+
"source_substrate_zip_sha256": "f73911166cdcedfaff3a6b663f30109d251cee9fccd9ffade3dfc5f1ae0625b3",
|
|
127
|
+
"icm": {
|
|
128
|
+
"title": "Interpretable Context Methodology: Folder Structure as Agentic Architecture",
|
|
129
|
+
"authors": [
|
|
130
|
+
"Jake Van Clief",
|
|
131
|
+
"David McDermott"
|
|
132
|
+
],
|
|
133
|
+
"arxiv": "2603.16021v2",
|
|
134
|
+
"doi": "10.48550/arXiv.2603.16021",
|
|
135
|
+
"role": "methodological lineage for filesystem modular orchestration, layered context loading, stage contracts, and explicit artifact handoffs"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"standard_semantics_changed": true,
|
|
139
|
+
"files": [
|
|
140
|
+
{
|
|
141
|
+
"path": "contracts/AUTHORITY_MAP.json",
|
|
142
|
+
"sha256": "7d791c6ab68b5b3d25825b28e5d1527b634e48e65fcd02fc00f03c51d2173e18"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"path": "contracts/CALIBRATION.json",
|
|
146
|
+
"sha256": "942bee312a6c26dd41e38c1339e29823e51928cab78a4a4a1ea9f615fb1dbe42"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"path": "contracts/EXECUTION_CONTRACT.json",
|
|
150
|
+
"sha256": "a96568dcd84203cea9833545826692f66705663244201a26016168d38e9891d6"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"path": "contracts/IMPLEMENTATION_BOUNDARY.json",
|
|
154
|
+
"sha256": "18af2b85765cbd0f4cb69e8986b8dc7ab72f542f44d66a56e95a8473f46201c3"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"path": "contracts/VERIFICATION_CONTRACT.json",
|
|
158
|
+
"sha256": "02001a80dddf570f284ba0f99e922cc3c7dc12dd148d968d55b077784522b92b"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"path": "contracts/standards/ARTIFACT_STANDARD.md",
|
|
162
|
+
"sha256": "c861fe08bef0ab7089a99ad8703c70ae7069db3e098a41ac0a55fc76f90d9816"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"path": "contracts/standards/AUTHORITY_STANDARD.md",
|
|
166
|
+
"sha256": "1c021f943d635e3cb0da6708f066eb814035e8226658a63eda5c048a9c8a7ec8"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"path": "contracts/standards/CONFORMANCE_STANDARD.md",
|
|
170
|
+
"sha256": "d5af9d2e6418fd2c225de61264ffd8b2725d18a585375641415777c5f25c481c"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"path": "contracts/standards/CONTEXT_STANDARD.md",
|
|
174
|
+
"sha256": "7cb7a7b33277422a174baec0bb63c5394c42f1f1f43b8914b3a3d2fbb0113859"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"path": "contracts/standards/EXECUTION_STANDARD.md",
|
|
178
|
+
"sha256": "c5145ad84d53de6674f25589df447a4c9c4ddcf4b17790e8d6c7d270fb10d8b2"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"path": "contracts/standards/HANDOFF_STANDARD.md",
|
|
182
|
+
"sha256": "d0c09687031b8e64c701bbf83718c49234dde504bd9c9b8bbd6f570c9733054a"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"path": "contracts/standards/INSTALLATION_STANDARD.md",
|
|
186
|
+
"sha256": "2d0751c11eae0edbd88cf3b0d848dcee74877feded84fe3f508338e24fd9de2d"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"path": "contracts/standards/PDL_STANDARD.md",
|
|
190
|
+
"sha256": "f896399f8bd07df65a8fa4e8767674f89cc75ad34eaadc4f751a545631458ce1"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"path": "contracts/standards/PROMPT_STANDARD.md",
|
|
194
|
+
"sha256": "928f36a248b78f4399020d0d9ffe33e33526607ffc551cb16fb5571d5564de44"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"path": "contracts/standards/PROTOCOL_STANDARD.md",
|
|
198
|
+
"sha256": "1bda17cb0ff6a2a007dbadee673cf73eea3247a3264e10dae29f54ce103c6c79"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"path": "contracts/standards/RESPONSE_PLAN_STANDARD.md",
|
|
202
|
+
"sha256": "c79469bcc86b6663de546adf2f4c92e84c0d46917ce38edd29e8a20c186defb6"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"path": "contracts/standards/REVIEW_STANDARD.md",
|
|
206
|
+
"sha256": "d297a2301a2b6391c5ba5063cc691a4606a213cc9f423bc20003367d40931717"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"path": "contracts/standards/SEMANTIC_INPUT_STANDARD.md",
|
|
210
|
+
"sha256": "c6b43b68ee5c2f2ec49e5108c0e45c438d9d875e3ee5b58af936a2c472eb2cea"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"path": "contracts/standards/TASK_SEMANTICS_STANDARD.md",
|
|
214
|
+
"sha256": "baeea45dc390bfe9d3e7ce6e34811f3a0113e33899358685c4381149b4021656"
|
|
215
|
+
}
|
|
216
|
+
],
|
|
217
|
+
"standard_semantics_changed_from_finalized_source_substrate": true,
|
|
218
|
+
"pre_freeze_extraction_corrections": [
|
|
219
|
+
"TASK-03",
|
|
220
|
+
"HANDOFF-09",
|
|
221
|
+
"PLAN-08"
|
|
222
|
+
],
|
|
223
|
+
"workspace_architecture": {
|
|
224
|
+
"template_root": "workspace-template",
|
|
225
|
+
"control_flow_owner": "controller/mechanical_controller.py",
|
|
226
|
+
"context_flow_owner": "runtime/workspace.py",
|
|
227
|
+
"stage_routing_owner": "contracts/EXECUTION_CONTRACT.json",
|
|
228
|
+
"normative_authority": "contracts/standards",
|
|
229
|
+
"standard_semantics_changed_by_round4": true
|
|
230
|
+
}
|
|
231
|
+
}
|