project-workflow 0.2.0__tar.gz → 0.3.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.
Files changed (52) hide show
  1. {project_workflow-0.2.0/src/project_workflow.egg-info → project_workflow-0.3.0}/PKG-INFO +70 -11
  2. {project_workflow-0.2.0 → project_workflow-0.3.0}/README.md +69 -10
  3. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/_version.py +1 -1
  4. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/cli.py +3596 -73
  5. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/AGENTS.md +7 -3
  6. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-epic/SKILL.md +4 -0
  7. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-fix/SKILL.md +4 -1
  8. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-implement/SKILL.md +8 -4
  9. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-planner/SKILL.md +9 -5
  10. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-qa-review/SKILL.md +9 -5
  11. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-requirements/SKILL.md +10 -6
  12. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/cursor/rules/project-workflow.mdc +3 -1
  13. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Epic.prompt.md +3 -0
  14. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Fix.prompt.md +5 -2
  15. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Implement.prompt.md +4 -0
  16. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Planner.prompt.md +5 -0
  17. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/QAReview.prompt.md +2 -0
  18. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Requirements.prompt.md +10 -0
  19. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/templates/workflow.py +3596 -73
  20. {project_workflow-0.2.0 → project_workflow-0.3.0/src/project_workflow.egg-info}/PKG-INFO +70 -11
  21. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow.egg-info/SOURCES.txt +7 -1
  22. {project_workflow-0.2.0 → project_workflow-0.3.0}/tests/test_doctor.py +4 -4
  23. project_workflow-0.3.0/tests/test_operational_status.py +371 -0
  24. project_workflow-0.3.0/tests/test_operational_status_actions.py +401 -0
  25. project_workflow-0.3.0/tests/test_operational_status_classification.py +327 -0
  26. project_workflow-0.3.0/tests/test_operational_status_cli.py +303 -0
  27. project_workflow-0.3.0/tests/test_operational_status_inspection.py +381 -0
  28. project_workflow-0.3.0/tests/test_workspace_mode.py +872 -0
  29. {project_workflow-0.2.0 → project_workflow-0.3.0}/LICENSE +0 -0
  30. {project_workflow-0.2.0 → project_workflow-0.3.0}/pyproject.toml +0 -0
  31. {project_workflow-0.2.0 → project_workflow-0.3.0}/setup.cfg +0 -0
  32. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/__init__.py +0 -0
  33. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-backlog/SKILL.md +0 -0
  34. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-clarify/SKILL.md +0 -0
  35. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-constitution/SKILL.md +0 -0
  36. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-delegate/SKILL.md +0 -0
  37. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-retro/SKILL.md +0 -0
  38. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-smoke-bomb/SKILL.md +0 -0
  39. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/codex/skills/project-task/SKILL.md +0 -0
  40. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Backlog.prompt.md +0 -0
  41. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Clarify.prompt.md +0 -0
  42. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Constitution.prompt.md +0 -0
  43. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Delegate.prompt.md +0 -0
  44. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Retro.prompt.md +0 -0
  45. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/SmokeBomb.prompt.md +0 -0
  46. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/prompts/Task.prompt.md +0 -0
  47. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow/templates/workflow +0 -0
  48. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow.egg-info/dependency_links.txt +0 -0
  49. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow.egg-info/entry_points.txt +0 -0
  50. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow.egg-info/requires.txt +0 -0
  51. {project_workflow-0.2.0 → project_workflow-0.3.0}/src/project_workflow.egg-info/top_level.txt +0 -0
  52. {project_workflow-0.2.0 → project_workflow-0.3.0}/tests/test_release_contract.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: project-workflow
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: Spec-driven development with GitHub Copilot, Claude Code, OpenAI Codex, and Cursor: workflow scaffolding, QA review, retro, and task management CLI
5
5
  Author-email: John Detlefs <john@example.com>
6
6
  License-Expression: MIT
@@ -36,16 +36,16 @@ Use it with GitHub Copilot, Claude Code, OpenAI Codex, or Cursor.
36
36
  From the root of an existing Git repository:
37
37
 
38
38
  ```bash
39
- uvx --from project-workflow==0.2.0 project init --agent codex
39
+ uvx --from project-workflow==0.3.0 project init --agent codex
40
40
  ```
41
41
 
42
42
  Choose the mode that matches your agent:
43
43
 
44
44
  ```bash
45
- uvx --from project-workflow==0.2.0 project init --agent github-copilot
46
- uvx --from project-workflow==0.2.0 project init --agent claude-code
47
- uvx --from project-workflow==0.2.0 project init --agent codex
48
- uvx --from project-workflow==0.2.0 project init --agent cursor
45
+ uvx --from project-workflow==0.3.0 project init --agent github-copilot
46
+ uvx --from project-workflow==0.3.0 project init --agent claude-code
47
+ uvx --from project-workflow==0.3.0 project init --agent codex
48
+ uvx --from project-workflow==0.3.0 project init --agent cursor
49
49
  ```
50
50
 
51
51
  Then tell the agent what you want in ordinary language:
@@ -72,6 +72,31 @@ The initialized agent instructions and skills tell the agent how to create the r
72
72
 
73
73
  Project-workflow is not a replacement for Jira, Linear, or another planning system. It is the execution layer beside the code: the place where agents can reliably read the agreed outcome, current status, proof obligations, and next action.
74
74
 
75
+ ## See Operational Status And The Next Action
76
+
77
+ Run status when arriving at a repository or deciding what to do next:
78
+
79
+ ```bash
80
+ ./.project-workflow/cli/workflow status
81
+ ./.project-workflow/cli/workflow status --id TASK-001
82
+ ./.project-workflow/cli/workflow status --repository next
83
+ ./.project-workflow/cli/workflow status --strict
84
+ ./.project-workflow/cli/workflow status --format json
85
+ ```
86
+
87
+ Status is a read-only projection over the manifest, Git, trackers, requirements, implementation and QA records, Epic acceptance, structured evidence, Doctor findings, and repository-local delivery receipts. It reports one sourced primary action plus stable secondary actions. `--id <WORK-ID>` focuses active work; `--repository <ID>` focuses one registered workspace repository; `--strict` makes visible Doctor warnings blocking; `--format json` emits schema version 1 with the same conclusions as the human report.
88
+
89
+ Use the related commands for their narrower jobs:
90
+
91
+ - `project status` explains current operational truth and the next safe action; it never runs that action.
92
+ - `project doctor` diagnoses workflow structure and compatibility. Use `--show-accepted` to audit hidden historical warnings.
93
+ - `project upgrade` applies managed-asset and repository-schema changes after review; status only recommends it when appropriate.
94
+ - task, Fix, and Epic lifecycle commands perform transitions and enforce their existing gates.
95
+ - QA/review records acceptance evidence; a passing Doctor result does not prove implementation or delivery.
96
+ - Git, release, publication, and deployment remain separate stages. A `Complete` row, clean branch, tag, URL, test, or prose statement cannot substitute for the source required by a later stage.
97
+
98
+ When the repository cannot prove a claim, status says `unknown` or `not-recorded`. It does not make live service calls, accept warnings, approve requirements, repair files, merge branches, publish releases, or verify deployments.
99
+
75
100
  ## How Collaboration Works
76
101
 
77
102
  Project-workflow is human-directed and agent-operated.
@@ -299,7 +324,7 @@ PATH="/opt/homebrew/bin:$PATH" uvx --version
299
324
  Run the canonical init command from the repository root:
300
325
 
301
326
  ```bash
302
- uvx --from project-workflow==0.2.0 project init
327
+ uvx --from project-workflow==0.3.0 project init
303
328
  ```
304
329
 
305
330
  Without `--agent`, the default mode is `github-copilot`. Pass an explicit mode when the repository uses another agent.
@@ -422,7 +447,7 @@ project-workflow package, so this works even when the repository's local helper
422
447
  yet contain the upgrade command:
423
448
 
424
449
  ```bash
425
- uvx --from project-workflow==0.2.0 \
450
+ uvx --from project-workflow==0.3.0 \
426
451
  project upgrade --agent codex
427
452
  ```
428
453
 
@@ -435,7 +460,7 @@ Agents and other non-interactive callers use the same canonical command with `--
435
460
  owner has authorized the upgrade:
436
461
 
437
462
  ```bash
438
- uvx --from project-workflow==0.2.0 \
463
+ uvx --from project-workflow==0.3.0 \
439
464
  project upgrade --agent codex --yes
440
465
  ```
441
466
 
@@ -448,10 +473,10 @@ Automation can retain an explicitly separated, non-mutating plan and fingerprint
448
473
  commands must use the same package source and version:
449
474
 
450
475
  ```bash
451
- uvx --from project-workflow==0.2.0 \
476
+ uvx --from project-workflow==0.3.0 \
452
477
  project upgrade --agent codex --plan --format json
453
478
 
454
- uvx --from project-workflow==0.2.0 \
479
+ uvx --from project-workflow==0.3.0 \
455
480
  project upgrade --agent codex \
456
481
  --apply \
457
482
  --plan-fingerprint sha256:<REVIEWED_PLAN_FINGERPRINT>
@@ -559,6 +584,40 @@ For one task, force a configured namespace with:
559
584
  ./.project-workflow/cli/workflow task init --title "Responsive account view" --prefix UI --update-tracker
560
585
  ```
561
586
 
587
+ ## Parent Workspaces With Independent Repositories
588
+
589
+ A parent repository can own the only live Project Workflow state while work spans nested,
590
+ independently versioned Git repositories. Declare the registry in the existing
591
+ `.project-workflow/config.json`; do not create child trackers or a second workspace config:
592
+
593
+ ```json
594
+ {
595
+ "workspace": {
596
+ "authority_repository": "workspace",
597
+ "repositories": [
598
+ {"id": "workspace", "path": ".", "role": "control"},
599
+ {"id": "next", "path": "next", "role": "implementation"},
600
+ {"id": "email", "path": "email", "role": "implementation"}
601
+ ]
602
+ }
603
+ }
604
+ ```
605
+
606
+ Run workflow commands from the parent authority root. Every path must be relative, remain inside
607
+ that root, exist, and resolve to a unique independent Git worktree. The authority repository must
608
+ be the parent path `.` and the only repository with role `control`. Doctor reports a blocking
609
+ authority conflict if a registered non-authority repository contains a competing
610
+ `.project-workflow` directory.
611
+
612
+ Workspace tasks record `Primary repository` and `Repositories touched` in `REQUIREMENTS.md`.
613
+ Before Review or Complete, `IMPLEMENTATION.md` must contain one `Repository Evidence` row per
614
+ touched repository, attributing branch or PR state, validation, delivery state, and evidence.
615
+ Explicit `not applicable` or `not authorized` boundaries are valid records; placeholders and
616
+ `not recorded` may remain explicit for a branch/PR or later delivery stage that is outside scope.
617
+ Validation and its evidence source must be recorded before Review. Status inspects Git read-only
618
+ and never creates branches, commits, pushes, pull requests, releases, or deployments in any
619
+ repository.
620
+
562
621
  ## Existing Work And Repository History
563
622
 
564
623
  Use `task adopt` or `epic adopt` when bringing pre-existing work under current gates. Adoption records the current authority envelope and marks inferred pre-adoption evidence as untrusted until it is refreshed.
@@ -11,16 +11,16 @@ Use it with GitHub Copilot, Claude Code, OpenAI Codex, or Cursor.
11
11
  From the root of an existing Git repository:
12
12
 
13
13
  ```bash
14
- uvx --from project-workflow==0.2.0 project init --agent codex
14
+ uvx --from project-workflow==0.3.0 project init --agent codex
15
15
  ```
16
16
 
17
17
  Choose the mode that matches your agent:
18
18
 
19
19
  ```bash
20
- uvx --from project-workflow==0.2.0 project init --agent github-copilot
21
- uvx --from project-workflow==0.2.0 project init --agent claude-code
22
- uvx --from project-workflow==0.2.0 project init --agent codex
23
- uvx --from project-workflow==0.2.0 project init --agent cursor
20
+ uvx --from project-workflow==0.3.0 project init --agent github-copilot
21
+ uvx --from project-workflow==0.3.0 project init --agent claude-code
22
+ uvx --from project-workflow==0.3.0 project init --agent codex
23
+ uvx --from project-workflow==0.3.0 project init --agent cursor
24
24
  ```
25
25
 
26
26
  Then tell the agent what you want in ordinary language:
@@ -47,6 +47,31 @@ The initialized agent instructions and skills tell the agent how to create the r
47
47
 
48
48
  Project-workflow is not a replacement for Jira, Linear, or another planning system. It is the execution layer beside the code: the place where agents can reliably read the agreed outcome, current status, proof obligations, and next action.
49
49
 
50
+ ## See Operational Status And The Next Action
51
+
52
+ Run status when arriving at a repository or deciding what to do next:
53
+
54
+ ```bash
55
+ ./.project-workflow/cli/workflow status
56
+ ./.project-workflow/cli/workflow status --id TASK-001
57
+ ./.project-workflow/cli/workflow status --repository next
58
+ ./.project-workflow/cli/workflow status --strict
59
+ ./.project-workflow/cli/workflow status --format json
60
+ ```
61
+
62
+ Status is a read-only projection over the manifest, Git, trackers, requirements, implementation and QA records, Epic acceptance, structured evidence, Doctor findings, and repository-local delivery receipts. It reports one sourced primary action plus stable secondary actions. `--id <WORK-ID>` focuses active work; `--repository <ID>` focuses one registered workspace repository; `--strict` makes visible Doctor warnings blocking; `--format json` emits schema version 1 with the same conclusions as the human report.
63
+
64
+ Use the related commands for their narrower jobs:
65
+
66
+ - `project status` explains current operational truth and the next safe action; it never runs that action.
67
+ - `project doctor` diagnoses workflow structure and compatibility. Use `--show-accepted` to audit hidden historical warnings.
68
+ - `project upgrade` applies managed-asset and repository-schema changes after review; status only recommends it when appropriate.
69
+ - task, Fix, and Epic lifecycle commands perform transitions and enforce their existing gates.
70
+ - QA/review records acceptance evidence; a passing Doctor result does not prove implementation or delivery.
71
+ - Git, release, publication, and deployment remain separate stages. A `Complete` row, clean branch, tag, URL, test, or prose statement cannot substitute for the source required by a later stage.
72
+
73
+ When the repository cannot prove a claim, status says `unknown` or `not-recorded`. It does not make live service calls, accept warnings, approve requirements, repair files, merge branches, publish releases, or verify deployments.
74
+
50
75
  ## How Collaboration Works
51
76
 
52
77
  Project-workflow is human-directed and agent-operated.
@@ -274,7 +299,7 @@ PATH="/opt/homebrew/bin:$PATH" uvx --version
274
299
  Run the canonical init command from the repository root:
275
300
 
276
301
  ```bash
277
- uvx --from project-workflow==0.2.0 project init
302
+ uvx --from project-workflow==0.3.0 project init
278
303
  ```
279
304
 
280
305
  Without `--agent`, the default mode is `github-copilot`. Pass an explicit mode when the repository uses another agent.
@@ -397,7 +422,7 @@ project-workflow package, so this works even when the repository's local helper
397
422
  yet contain the upgrade command:
398
423
 
399
424
  ```bash
400
- uvx --from project-workflow==0.2.0 \
425
+ uvx --from project-workflow==0.3.0 \
401
426
  project upgrade --agent codex
402
427
  ```
403
428
 
@@ -410,7 +435,7 @@ Agents and other non-interactive callers use the same canonical command with `--
410
435
  owner has authorized the upgrade:
411
436
 
412
437
  ```bash
413
- uvx --from project-workflow==0.2.0 \
438
+ uvx --from project-workflow==0.3.0 \
414
439
  project upgrade --agent codex --yes
415
440
  ```
416
441
 
@@ -423,10 +448,10 @@ Automation can retain an explicitly separated, non-mutating plan and fingerprint
423
448
  commands must use the same package source and version:
424
449
 
425
450
  ```bash
426
- uvx --from project-workflow==0.2.0 \
451
+ uvx --from project-workflow==0.3.0 \
427
452
  project upgrade --agent codex --plan --format json
428
453
 
429
- uvx --from project-workflow==0.2.0 \
454
+ uvx --from project-workflow==0.3.0 \
430
455
  project upgrade --agent codex \
431
456
  --apply \
432
457
  --plan-fingerprint sha256:<REVIEWED_PLAN_FINGERPRINT>
@@ -534,6 +559,40 @@ For one task, force a configured namespace with:
534
559
  ./.project-workflow/cli/workflow task init --title "Responsive account view" --prefix UI --update-tracker
535
560
  ```
536
561
 
562
+ ## Parent Workspaces With Independent Repositories
563
+
564
+ A parent repository can own the only live Project Workflow state while work spans nested,
565
+ independently versioned Git repositories. Declare the registry in the existing
566
+ `.project-workflow/config.json`; do not create child trackers or a second workspace config:
567
+
568
+ ```json
569
+ {
570
+ "workspace": {
571
+ "authority_repository": "workspace",
572
+ "repositories": [
573
+ {"id": "workspace", "path": ".", "role": "control"},
574
+ {"id": "next", "path": "next", "role": "implementation"},
575
+ {"id": "email", "path": "email", "role": "implementation"}
576
+ ]
577
+ }
578
+ }
579
+ ```
580
+
581
+ Run workflow commands from the parent authority root. Every path must be relative, remain inside
582
+ that root, exist, and resolve to a unique independent Git worktree. The authority repository must
583
+ be the parent path `.` and the only repository with role `control`. Doctor reports a blocking
584
+ authority conflict if a registered non-authority repository contains a competing
585
+ `.project-workflow` directory.
586
+
587
+ Workspace tasks record `Primary repository` and `Repositories touched` in `REQUIREMENTS.md`.
588
+ Before Review or Complete, `IMPLEMENTATION.md` must contain one `Repository Evidence` row per
589
+ touched repository, attributing branch or PR state, validation, delivery state, and evidence.
590
+ Explicit `not applicable` or `not authorized` boundaries are valid records; placeholders and
591
+ `not recorded` may remain explicit for a branch/PR or later delivery stage that is outside scope.
592
+ Validation and its evidence source must be recorded before Review. Status inspects Git read-only
593
+ and never creates branches, commits, pushes, pull requests, releases, or deployments in any
594
+ repository.
595
+
537
596
  ## Existing Work And Repository History
538
597
 
539
598
  Use `task adopt` or `epic adopt` when bringing pre-existing work under current gates. Adoption records the current authority envelope and marks inferred pre-adoption evidence as untrusted until it is refreshed.
@@ -1,3 +1,3 @@
1
1
  """Authoritative project-workflow package version."""
2
2
 
3
- __version__ = "0.2.0"
3
+ __version__ = "0.3.0"