project-loop-harness 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. project_loop_harness-0.1.2/LICENSE +21 -0
  2. project_loop_harness-0.1.2/PKG-INFO +361 -0
  3. project_loop_harness-0.1.2/README.md +331 -0
  4. project_loop_harness-0.1.2/pyproject.toml +60 -0
  5. project_loop_harness-0.1.2/setup.cfg +4 -0
  6. project_loop_harness-0.1.2/src/pcl/__init__.py +1 -0
  7. project_loop_harness-0.1.2/src/pcl/__main__.py +4 -0
  8. project_loop_harness-0.1.2/src/pcl/agents.py +501 -0
  9. project_loop_harness-0.1.2/src/pcl/checkpoints.py +201 -0
  10. project_loop_harness-0.1.2/src/pcl/cli.py +1404 -0
  11. project_loop_harness-0.1.2/src/pcl/commands.py +1006 -0
  12. project_loop_harness-0.1.2/src/pcl/db/migrations/001_initial.sql +180 -0
  13. project_loop_harness-0.1.2/src/pcl/db/schema.sql +180 -0
  14. project_loop_harness-0.1.2/src/pcl/db.py +49 -0
  15. project_loop_harness-0.1.2/src/pcl/decisions.py +275 -0
  16. project_loop_harness-0.1.2/src/pcl/errors.py +83 -0
  17. project_loop_harness-0.1.2/src/pcl/escalations.py +302 -0
  18. project_loop_harness-0.1.2/src/pcl/events.py +41 -0
  19. project_loop_harness-0.1.2/src/pcl/evidence.py +25 -0
  20. project_loop_harness-0.1.2/src/pcl/exporters.py +77 -0
  21. project_loop_harness-0.1.2/src/pcl/guards.py +14 -0
  22. project_loop_harness-0.1.2/src/pcl/ids.py +15 -0
  23. project_loop_harness-0.1.2/src/pcl/init_project.py +112 -0
  24. project_loop_harness-0.1.2/src/pcl/lifecycle.py +1073 -0
  25. project_loop_harness-0.1.2/src/pcl/links.py +108 -0
  26. project_loop_harness-0.1.2/src/pcl/mcp_server.py +328 -0
  27. project_loop_harness-0.1.2/src/pcl/migrations.py +220 -0
  28. project_loop_harness-0.1.2/src/pcl/paths.py +65 -0
  29. project_loop_harness-0.1.2/src/pcl/renderer.py +823 -0
  30. project_loop_harness-0.1.2/src/pcl/reports.py +766 -0
  31. project_loop_harness-0.1.2/src/pcl/resources.py +26 -0
  32. project_loop_harness-0.1.2/src/pcl/stories.py +762 -0
  33. project_loop_harness-0.1.2/src/pcl/templates/dashboard/dashboard.html +165 -0
  34. project_loop_harness-0.1.2/src/pcl/templates/project/AGENTS.block.md +16 -0
  35. project_loop_harness-0.1.2/src/pcl/templates/project/CLAUDE.block.md +13 -0
  36. project_loop_harness-0.1.2/src/pcl/templates/project/gitignore.fragment +13 -0
  37. project_loop_harness-0.1.2/src/pcl/templates/project/pcl.yaml +60 -0
  38. project_loop_harness-0.1.2/src/pcl/templates/skills/project-control-loop/SKILL.md +120 -0
  39. project_loop_harness-0.1.2/src/pcl/templates/workflows/defect_repair.yaml +61 -0
  40. project_loop_harness-0.1.2/src/pcl/templates/workflows/executor_smoke.yaml +32 -0
  41. project_loop_harness-0.1.2/src/pcl/templates/workflows/feature_coverage.yaml +52 -0
  42. project_loop_harness-0.1.2/src/pcl/templates/workflows/regression_loop.yaml +51 -0
  43. project_loop_harness-0.1.2/src/pcl/timeutil.py +7 -0
  44. project_loop_harness-0.1.2/src/pcl/validators.py +788 -0
  45. project_loop_harness-0.1.2/src/pcl/workflow_executor.py +911 -0
  46. project_loop_harness-0.1.2/src/pcl/workflow_proposal_validation.py +50 -0
  47. project_loop_harness-0.1.2/src/pcl/workflow_proposals.py +442 -0
  48. project_loop_harness-0.1.2/src/pcl/workflow_sandbox.py +683 -0
  49. project_loop_harness-0.1.2/src/pcl/workflow_verifier.py +333 -0
  50. project_loop_harness-0.1.2/src/pcl/workflow_yaml.py +190 -0
  51. project_loop_harness-0.1.2/src/pcl/workflows.py +569 -0
  52. project_loop_harness-0.1.2/src/project_loop_harness.egg-info/PKG-INFO +361 -0
  53. project_loop_harness-0.1.2/src/project_loop_harness.egg-info/SOURCES.txt +89 -0
  54. project_loop_harness-0.1.2/src/project_loop_harness.egg-info/dependency_links.txt +1 -0
  55. project_loop_harness-0.1.2/src/project_loop_harness.egg-info/entry_points.txt +3 -0
  56. project_loop_harness-0.1.2/src/project_loop_harness.egg-info/requires.txt +4 -0
  57. project_loop_harness-0.1.2/src/project_loop_harness.egg-info/top_level.txt +1 -0
  58. project_loop_harness-0.1.2/tests/test_agent_adapter_contract.py +152 -0
  59. project_loop_harness-0.1.2/tests/test_agent_output_validation.py +118 -0
  60. project_loop_harness-0.1.2/tests/test_agents.py +408 -0
  61. project_loop_harness-0.1.2/tests/test_audit_log_integrity.py +139 -0
  62. project_loop_harness-0.1.2/tests/test_checkpoints.py +151 -0
  63. project_loop_harness-0.1.2/tests/test_claude_manual_adapter.py +104 -0
  64. project_loop_harness-0.1.2/tests/test_cli_init.py +330 -0
  65. project_loop_harness-0.1.2/tests/test_codex_exec_adapter.py +83 -0
  66. project_loop_harness-0.1.2/tests/test_codex_plugin.py +123 -0
  67. project_loop_harness-0.1.2/tests/test_dashboard.py +273 -0
  68. project_loop_harness-0.1.2/tests/test_dashboard_data_contract.py +299 -0
  69. project_loop_harness-0.1.2/tests/test_decisions.py +333 -0
  70. project_loop_harness-0.1.2/tests/test_defects.py +350 -0
  71. project_loop_harness-0.1.2/tests/test_distribution.py +102 -0
  72. project_loop_harness-0.1.2/tests/test_escalations.py +421 -0
  73. project_loop_harness-0.1.2/tests/test_examples.py +69 -0
  74. project_loop_harness-0.1.2/tests/test_features.py +283 -0
  75. project_loop_harness-0.1.2/tests/test_generic_shell_adapter.py +136 -0
  76. project_loop_harness-0.1.2/tests/test_golden_path.py +176 -0
  77. project_loop_harness-0.1.2/tests/test_lifecycle.py +368 -0
  78. project_loop_harness-0.1.2/tests/test_mcp_server.py +196 -0
  79. project_loop_harness-0.1.2/tests/test_migrations.py +151 -0
  80. project_loop_harness-0.1.2/tests/test_next_actions.py +356 -0
  81. project_loop_harness-0.1.2/tests/test_pypi_publishing.py +49 -0
  82. project_loop_harness-0.1.2/tests/test_recovery_playbook.py +58 -0
  83. project_loop_harness-0.1.2/tests/test_reports.py +523 -0
  84. project_loop_harness-0.1.2/tests/test_stories.py +476 -0
  85. project_loop_harness-0.1.2/tests/test_validation.py +517 -0
  86. project_loop_harness-0.1.2/tests/test_validation_diagnostics.py +68 -0
  87. project_loop_harness-0.1.2/tests/test_workflow_executor.py +682 -0
  88. project_loop_harness-0.1.2/tests/test_workflow_proposals.py +619 -0
  89. project_loop_harness-0.1.2/tests/test_workflow_sandbox.py +372 -0
  90. project_loop_harness-0.1.2/tests/test_workflow_verifier.py +200 -0
  91. project_loop_harness-0.1.2/tests/test_workflows.py +265 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Project Loop Harness 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,361 @@
1
+ Metadata-Version: 2.4
2
+ Name: project-loop-harness
3
+ Version: 0.1.2
4
+ Summary: Local control plane for agentic project development loops
5
+ Author: Project Loop Harness Contributors
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/mocchalera/project-loop-harness
8
+ Project-URL: Repository, https://github.com/mocchalera/project-loop-harness
9
+ Project-URL: Issues, https://github.com/mocchalera/project-loop-harness/issues
10
+ Project-URL: Documentation, https://github.com/mocchalera/project-loop-harness/tree/main/docs
11
+ Keywords: agents,codex,claude-code,sqlite,dashboard,workflow
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3 :: Only
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Software Development
23
+ Requires-Python: >=3.10
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Provides-Extra: dev
27
+ Requires-Dist: pytest>=8; extra == "dev"
28
+ Requires-Dist: ruff>=0.6; extra == "dev"
29
+ Dynamic: license-file
30
+
31
+ # Project Loop Harness
32
+
33
+ Project Loop Harness is a local control plane for coding agents.
34
+
35
+ It is not just an Agent Skill. The core product is `pcl`, a small local CLI/runtime that gives Codex, Claude Code, and similar agents a guarded project-scoped loop: durable state in SQLite, append-only audit events in JSONL, generated prompts and evidence, strict validation, human-readable reports, and a deterministic dashboard.
36
+
37
+ ## Quick Start
38
+
39
+ Until a PyPI package is published, install from a pinned GitHub tag or commit:
40
+
41
+ ```bash
42
+ pipx install "git+https://github.com/mocchalera/project-loop-harness.git@v0.1.2"
43
+ pcl --help
44
+ ```
45
+
46
+ PyPI publishing is prepared through GitHub Actions Trusted Publishing. See
47
+ [docs/pypi-publishing.md](docs/pypi-publishing.md) for the TestPyPI/PyPI setup
48
+ and release checklist.
49
+
50
+ Initialize a target project:
51
+
52
+ ```bash
53
+ cd target-project
54
+ pcl init
55
+ pcl doctor
56
+ pcl validate --strict
57
+ pcl render --json
58
+ ```
59
+
60
+ Then ask your coding agent to read `AGENTS.md`, `CLAUDE.md` if present, and
61
+ `pcl.yaml`, run `pcl next --json`, and follow the next safe harness action.
62
+
63
+ ## Mental Model
64
+
65
+ ```text
66
+ Goal -> Harness -> Workflow -> Agent Jobs -> Evidence -> Verification -> State -> Dashboard -> Stop/Retry/Escalate
67
+ ```
68
+
69
+ The important separation is:
70
+
71
+ ```text
72
+ Skill = instructions for agents
73
+ pcl CLI = runtime that mutates state, validates, renders, and routes work
74
+ project.db = current normalized loop memory
75
+ events.jsonl = append-only audit log
76
+ dashboard.html = generated human-readable view
77
+ Plugin = Codex distribution wrapper
78
+ MCP = optional read/local-render bridge
79
+ ```
80
+
81
+ Agents should never edit `.project-loop/project.db` or generated dashboard HTML directly. State changes go through `pcl` commands or internal service functions, and every state mutation appends an event.
82
+
83
+ ## Repository Layout
84
+
85
+ ```text
86
+ project-loop-harness/
87
+ |- src/pcl/ # Python CLI/runtime
88
+ |- skills/project-control-loop/ # Standalone Agent Skill template
89
+ |- plugins/codex-project-loop/ # Codex plugin packaging scaffold and inventory
90
+ |- docs/ # Architecture and operational docs
91
+ |- agent-tasks/ # Numbered implementation tasks
92
+ |- examples/ # Example project configs
93
+ `- tests/ # CLI/runtime tests
94
+ ```
95
+
96
+ ## Install For Local Development
97
+
98
+ ```bash
99
+ python -m venv .venv
100
+ source .venv/bin/activate
101
+ python -m pip install -e '.[dev]'
102
+ pytest
103
+ pcl --help
104
+ ```
105
+
106
+ ## Distribution Smoke Test
107
+
108
+ Before publishing or handing the runtime to another project, verify a wheel install rather than only editable install:
109
+
110
+ ```bash
111
+ python -m pip wheel . --no-deps --no-build-isolation -w /tmp/pcl-wheelhouse
112
+ python -m venv /tmp/pcl-wheel-venv
113
+ /tmp/pcl-wheel-venv/bin/python -m pip install --no-deps /tmp/pcl-wheelhouse/project_loop_harness-*.whl
114
+ /tmp/pcl-wheel-venv/bin/pcl --help
115
+ /tmp/pcl-wheel-venv/bin/pcl-mcp --help
116
+ ```
117
+
118
+ The automated version is covered by:
119
+
120
+ ```bash
121
+ pytest tests/test_distribution.py
122
+ ```
123
+
124
+ ## Adoption Guide
125
+
126
+ For practical rollout into another repository, use
127
+ [docs/adoption-guide.md](docs/adoption-guide.md). It covers the current GitHub
128
+ install path, local wheel handoff, what `pcl init` adds to a target project,
129
+ which files to commit, and starter prompts for the first agent session.
130
+
131
+ ## Golden Path
132
+
133
+ This path runs a complete feature-coverage loop in a temporary project:
134
+
135
+ ```bash
136
+ rm -rf /tmp/pcl-demo
137
+ mkdir -p /tmp/pcl-demo
138
+
139
+ pcl init --target /tmp/pcl-demo
140
+ pcl doctor --root /tmp/pcl-demo
141
+
142
+ pcl goal create --root /tmp/pcl-demo --title "Reach basic feature coverage"
143
+ pcl loop run --root /tmp/pcl-demo feature_coverage --goal G-0001
144
+
145
+ pcl next --root /tmp/pcl-demo --json
146
+ pcl jobs read --root /tmp/pcl-demo J-0001
147
+ pcl jobs complete --root /tmp/pcl-demo J-0001 --summary "Mapped project surfaces"
148
+ pcl jobs complete --root /tmp/pcl-demo J-0002 --summary "Wrote user stories"
149
+ pcl jobs complete --root /tmp/pcl-demo J-0003 --summary "Designed test cases"
150
+
151
+ pcl next --root /tmp/pcl-demo --explain
152
+ pcl verification record --root /tmp/pcl-demo --run WR-0001 --result approved --reason "Reviewed generated coverage"
153
+ pcl loop complete --root /tmp/pcl-demo WR-0001 --summary "Feature coverage complete"
154
+ pcl goal close --root /tmp/pcl-demo G-0001 --summary "Coverage goal done" --verification V-0001
155
+
156
+ pcl validate --root /tmp/pcl-demo --strict
157
+ pcl report goal --root /tmp/pcl-demo G-0001
158
+ pcl report run --root /tmp/pcl-demo WR-0001
159
+ pcl feature list --root /tmp/pcl-demo --json
160
+ pcl render --root /tmp/pcl-demo
161
+ ```
162
+
163
+ Open `/tmp/pcl-demo/.project-loop/dashboard/dashboard.html` after rendering.
164
+
165
+ See [docs/golden-path.md](docs/golden-path.md) for the same path with expected checkpoints and a human-decision branch.
166
+
167
+ For approved workflows that pass the executor preflight, the guarded automatic
168
+ path is:
169
+
170
+ ```bash
171
+ pcl workflow verify --root /tmp/pcl-demo --template executor_smoke
172
+ pcl workflow sandbox --root /tmp/pcl-demo --template executor_smoke --json
173
+ pcl loop execute --root /tmp/pcl-demo executor_smoke --json
174
+ ```
175
+
176
+ Failed or interrupted executor runs are recovered explicitly:
177
+
178
+ ```bash
179
+ pcl loop execute workflow_id --retry WR-0001
180
+ pcl loop execute workflow_id --resume WR-0001
181
+ ```
182
+
183
+ Agent steps are not launched unless explicitly enabled:
184
+
185
+ ```bash
186
+ pcl loop execute workflow_id --agent-adapter generic_shell --allow-agent-exec
187
+ ```
188
+
189
+ ## Guided Next Actions
190
+
191
+ `pcl next` is the loop router. The JSON output keeps the original fields and adds stable guidance fields:
192
+
193
+ ```json
194
+ {
195
+ "type": "continue_workflow",
196
+ "command": "pcl jobs read J-0001",
197
+ "reason": "A workflow run is already active and has queued or running jobs.",
198
+ "target": {"id": "WR-0001"},
199
+ "priority": 40,
200
+ "blocking": false,
201
+ "requires_human": false,
202
+ "safe_to_run": true,
203
+ "run_policy": "agent_safe",
204
+ "human_guidance": "An agent or automation may run this command in the current project context.",
205
+ "expected_after": "The agent job prompt is reviewed and the job can be executed or completed."
206
+ }
207
+ ```
208
+
209
+ Use:
210
+
211
+ ```bash
212
+ pcl next --json
213
+ pcl next --explain
214
+ pcl next --strict --json
215
+ ```
216
+
217
+ Priority order is fixed:
218
+
219
+ 1. strict validation failure
220
+ 2. open escalation
221
+ 3. open decision
222
+ 4. `needs_human` verification requiring escalation
223
+ 5. active workflow lifecycle
224
+ 6. executor retry routing
225
+ 7. open defect lifecycle
226
+ 8. workflow proposal review
227
+ 9. checkpoint review after several done features
228
+ 10. open goal continuation
229
+ 11. uncovered feature coverage
230
+ 12. create goal
231
+
232
+ ## Checkpoint Reviews
233
+
234
+ Dogfooding showed that Project Loop is effective at small verified improvements,
235
+ but large UX goals still need periodic human prioritization. Use checkpoint
236
+ reviews to pause after several done features, organize commit/package boundaries,
237
+ refresh UX or interaction checklists, and choose the next feature by product
238
+ impact:
239
+
240
+ ```bash
241
+ pcl checkpoint status --json
242
+ pcl checkpoint record \
243
+ --review-type integration \
244
+ --summary "Reviewed commit boundary, UX checklist, and next priority" \
245
+ --evidence "Reviewed validation output, git diff, UX checklist, and next feature priority"
246
+ ```
247
+
248
+ When five features are marked `done` after the latest checkpoint, `pcl next`
249
+ returns `checkpoint_review` before recommending another feature-coverage run.
250
+
251
+ ## Human Decision Flow
252
+
253
+ When verification needs human judgment, keep ambiguity and the decision as durable state:
254
+
255
+ ```bash
256
+ pcl verification record --root /tmp/pcl-demo --run WR-0001 --result needs_human --reason "Product decision required"
257
+ pcl next --root /tmp/pcl-demo --json
258
+
259
+ pcl escalation open --root /tmp/pcl-demo --run WR-0001 --severity high --question "What should ship?" --recommendation "Choose the safest reversible path"
260
+ pcl decision open --root /tmp/pcl-demo --escalation ESC-0001 --question "Which path should we take?" --recommendation "Choose the safest reversible path"
261
+ pcl decision resolve --root /tmp/pcl-demo DEC-0001 --selected-option "Ship locally first" --reason "Risk stays local"
262
+ pcl escalation resolve --root /tmp/pcl-demo ESC-0001 --decision DEC-0001 --summary "Human decision recorded"
263
+ ```
264
+
265
+ Escalations and decisions are linked through `decisions.blocks_json` and event payloads. Dashboard rows and reports show `linked_escalation_ids` and `linked_decision_ids`.
266
+
267
+ ## Reports And Dashboard
268
+
269
+ Generated artifacts are review surfaces, not sources of truth:
270
+
271
+ ```bash
272
+ pcl report goal --root /tmp/pcl-demo G-0001
273
+ pcl report run --root /tmp/pcl-demo WR-0001
274
+ pcl report feature --root /tmp/pcl-demo F-0001
275
+ pcl report defect --root /tmp/pcl-demo D-0001
276
+ pcl report validation --root /tmp/pcl-demo --strict
277
+ pcl render --root /tmp/pcl-demo
278
+ ```
279
+
280
+ Reports are written to `.project-loop/reports/`. The dashboard writes:
281
+
282
+ ```text
283
+ .project-loop/dashboard/dashboard-data.json
284
+ .project-loop/dashboard/dashboard.html
285
+ ```
286
+
287
+ Run `pcl validate` before rendering whenever possible. `pcl render` already performs normal validation and refuses to render on errors.
288
+
289
+ If validation fails or generated artifacts look stale, use [docs/recovery-playbook.md](docs/recovery-playbook.md) before continuing normal work.
290
+
291
+ ## Example Projects
292
+
293
+ Seed configs live under [examples/](examples/). Copy one to a scratch directory, run `pcl init --target ...`, then follow the golden path without committing generated `.project-loop/` state back into the example.
294
+
295
+ ## Current Runtime Surface
296
+
297
+ The current local runtime supports:
298
+
299
+ - `pcl init`, `doctor`, `validate`, `migrate`, migration status, `render`;
300
+ - feature creation, inspection, and evidence-backed status changes;
301
+ - workflow run creation from static templates;
302
+ - agent job prompts, filtered inspection, adapter commands, completion/failure/cancellation;
303
+ - documented agent adapter command contract;
304
+ - hardened Codex CLI adapter command template;
305
+ - hardened Claude Code manual adapter instructions;
306
+ - generic shell adapter command template;
307
+ - validated agent output ingestion as evidence;
308
+ - job-centric evidence linkage for ingested agent output;
309
+ - verification recording;
310
+ - workflow run, goal, defect, escalation, and decision lifecycle commands;
311
+ - escalation/decision linkage;
312
+ - checkpoint review commands for commit/package, UX checklist, and next-priority pauses;
313
+ - strict validation invariants and audit-log integrity checks;
314
+ - evidence-backed Markdown reports;
315
+ - deterministic dashboard data and HTML with JSON artifact paths, a versioned data contract, evidence navigation, and risk/blocker summary;
316
+ - guided `pcl next` actions with uncovered-feature routing;
317
+ - complete CSV export for reviewable loop state;
318
+ - optional local stdio MCP server;
319
+ - Codex plugin packaging scaffold with package inventory and reusable GitHub Action for local validation;
320
+ - workflow proposal mode, guarded human approval, static verifier checks, limited sandbox planning/execution, guarded automatic workflow execution with explicit retry/resume, and a bundled `executor_smoke` workflow for dogfooding the executor.
321
+
322
+ ## Implementation Task Order
323
+
324
+ Give tasks to coding agents in numeric order:
325
+
326
+ ```text
327
+ agent-tasks/0001-hardening-cli.md
328
+ ...
329
+ agent-tasks/0017-next-action-guided-loop.md
330
+ agent-tasks/0018-readme-golden-path.md
331
+ agent-tasks/0019-recovery-playbook.md
332
+ agent-tasks/0020-example-project-refresh.md
333
+ agent-tasks/0021-agent-adapter-contract.md
334
+ agent-tasks/0022-agent-output-validation.md
335
+ agent-tasks/0023-codex-exec-adapter-hardening.md
336
+ agent-tasks/0024-claude-manual-adapter-hardening.md
337
+ agent-tasks/0025-generic-shell-adapter.md
338
+ agent-tasks/0026-agent-job-evidence-ingestion.md
339
+ agent-tasks/0027-dashboard-data-contract.md
340
+ agent-tasks/0028-dashboard-evidence-navigation.md
341
+ agent-tasks/0029-dashboard-risk-and-blockers.md
342
+ agent-tasks/0030-distribution-readiness.md
343
+ agent-tasks/0031-workflow-proposal-mode.md
344
+ agent-tasks/0032-workflow-proposal-review.md
345
+ agent-tasks/0033-workflow-verifier.md
346
+ agent-tasks/0034-limited-execution-sandbox.md
347
+ agent-tasks/0035-automatic-workflow-executor.md
348
+ agent-tasks/0036-executor-dogfood-workflow.md
349
+ agent-tasks/0037-executor-retry-resume.md
350
+ ```
351
+
352
+ Do not skip directly to MCP, plugin distribution, hosted services, or dynamic workflow generation before the CLI/runtime and project state layer are solid.
353
+
354
+ ## Non-Goals For The First Production Milestone
355
+
356
+ - No cloud backend.
357
+ - No hosted dashboard.
358
+ - No production database access.
359
+ - No autonomous destructive operations.
360
+ - No automatic external notifications.
361
+ - No fully dynamic workflow generation before static workflow templates are stable.