@jamesaphoenix/tx-test-utils 0.12.0 → 0.13.0

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.
package/README.md CHANGED
@@ -33,7 +33,7 @@ Most users should start with just the first two.
33
33
  tx init --codex # or: --claude, or plain tx init
34
34
  tx add "Write auth PRD" --json
35
35
  tx add "Implement auth flow" --json
36
- tx block <implement-task-id> <prd-task-id>
36
+ tx dep block <implement-task-id> <prd-task-id>
37
37
  tx ready
38
38
  tx show <prd-task-id>
39
39
  tx done <prd-task-id>
@@ -51,12 +51,16 @@ This proves the basic loop:
51
51
  ### Day 2: Spec-Driven Development
52
52
 
53
53
  ```bash
54
- tx doc add prd auth-flow --title "Auth Flow"
54
+ tx doc add prd auth-flow-prd --title "Auth Flow PRD"
55
+ tx doc add design auth-flow-design --title "Auth Flow Design"
56
+ tx doc link auth-flow-prd auth-flow-design
55
57
  # add or update tests with [INV-*], _INV_*, @spec, or .tx/spec-tests.yml
56
58
  tx spec discover
57
- tx spec status --doc auth-flow
59
+ tx spec status --doc auth-flow-design
60
+ tx decompose auth-flow-design --dry-run
61
+ tx decompose auth-flow-design
58
62
  vitest run --reporter=json | tx spec batch --from vitest
59
- tx spec complete --doc auth-flow --by you
63
+ tx spec complete --doc auth-flow-design --by you
60
64
  ```
61
65
 
62
66
  Use the spec primitives like this:
@@ -65,6 +69,16 @@ Use the spec primitives like this:
65
69
  - `tx spec status`: human-readable blocker view for one scope
66
70
  - `tx spec health`: repo rollup, not part of the minimum day-1 loop
67
71
 
72
+ ### Human-in-Loop Example
73
+
74
+ ```bash
75
+ task=$(tx ready --limit 1 --json | jq -r '.[0].id')
76
+ codex "Read AGENTS.md. For task $task: run tx show $task, make sure a paired PRD/design doc is linked, then decompose the work into tx subtasks and dependency edges."
77
+ echo "Review tx show $task, tx dep tree $task, and the linked PRD/DD docs, then press Enter to continue..."
78
+ read
79
+ codex "Read AGENTS.md. For task $task: execute the approved ready work from the linked PRD/DD docs and keep tx updated."
80
+ ```
81
+
68
82
  ## The Six Layers
69
83
 
70
84
  ### 1. Task Management
@@ -76,7 +90,7 @@ Core queue and persistence:
76
90
  - `tx ready`
77
91
  - `tx show`
78
92
  - `tx done`
79
- - `tx block`
93
+ - `tx dep block`
80
94
  - `tx sync`
81
95
 
82
96
  ### 2. Spec-Driven Development
@@ -84,6 +98,7 @@ Core queue and persistence:
84
98
  Docs-first intent and closure:
85
99
 
86
100
  - `tx doc`
101
+ - `tx decompose`
87
102
  - `tx spec`
88
103
  - `tx decision`
89
104
 
@@ -98,18 +113,18 @@ Durable knowledge and prompt context:
98
113
 
99
114
  Controls for agents with more freedom:
100
115
 
101
- - `tx label`
102
- - `tx guard`
103
- - `tx verify`
104
- - `tx reflect`
105
- - `tx gate`
116
+ - `tx auto label`
117
+ - `tx auto guard`
118
+ - `tx auto verify`
119
+ - `tx auto reflect`
120
+ - `tx auto gate`
106
121
 
107
122
  ### 5. Coordination
108
123
 
109
124
  Multi-worker and multi-actor primitives:
110
125
 
111
126
  - `tx claim`
112
- - `tx send` / `tx inbox`
127
+ - `tx msg send` / `tx msg inbox`
113
128
  - `tx group-context`
114
129
 
115
130
  ### 6. Observability
@@ -118,7 +133,7 @@ Operational visibility once the earlier layers are in place:
118
133
 
119
134
  - `tx trace`
120
135
  - `tx spec health`
121
- - `tx stats`
136
+ - `tx diag stats`
122
137
  - dashboard
123
138
 
124
139
  ## Interfaces
@@ -56,7 +56,7 @@ export interface SharedTestLayer<L> {
56
56
  * ```
57
57
  */
58
58
  export declare const createSharedTestLayer: () => Promise<{
59
- layer: Layer.Layer<import("@jamesaphoenix/tx-core").MigrationService | import("@jamesaphoenix/tx-core").SqliteClient | import("@jamesaphoenix/tx-core").TaskRepository | import("@jamesaphoenix/tx-core").DependencyRepository | import("@jamesaphoenix/tx-core").LearningRepository | import("@jamesaphoenix/tx-core").FileLearningRepository | import("@jamesaphoenix/tx-core").AttemptRepository | import("@jamesaphoenix/tx-core").RunRepository | import("@jamesaphoenix/tx-core").AnchorRepository | import("@jamesaphoenix/tx-core").EdgeRepository | import("@jamesaphoenix/tx-core").DeduplicationRepository | import("@jamesaphoenix/tx-core").CandidateRepository | import("@jamesaphoenix/tx-core").TrackedProjectRepository | import("@jamesaphoenix/tx-core").WorkerRepository | import("@jamesaphoenix/tx-core").ClaimRepository | import("@jamesaphoenix/tx-core").ProcessRegistryRepository | import("@jamesaphoenix/tx-core").OrchestratorStateRepository | import("@jamesaphoenix/tx-core").GuardRepository | import("@jamesaphoenix/tx-core").PinRepository | import("@jamesaphoenix/tx-core").TaskService | import("@jamesaphoenix/tx-core").DependencyService | import("@jamesaphoenix/tx-core").ClaimService | import("@jamesaphoenix/tx-core").ReadyService | import("@jamesaphoenix/tx-core").HierarchyService | import("@jamesaphoenix/tx-core").EdgeService | typeof import("@jamesaphoenix/tx-core").GraphExpansionService | import("@jamesaphoenix/tx-core").FeedbackTrackerService | import("@jamesaphoenix/tx-core").DiversifierService | import("@jamesaphoenix/tx-core").RetrieverService | import("@jamesaphoenix/tx-core").LearningService | import("@jamesaphoenix/tx-core").FileLearningService | import("@jamesaphoenix/tx-core").AttemptService | import("@jamesaphoenix/tx-core").AnchorVerificationService | import("@jamesaphoenix/tx-core").AnchorService | import("@jamesaphoenix/tx-core").DeduplicationService | import("@jamesaphoenix/tx-core").StreamService | import("@jamesaphoenix/tx-core").DocRepository | import("@jamesaphoenix/tx-core").SyncService | import("@jamesaphoenix/tx-core").SwarmVerificationService | import("@jamesaphoenix/tx-core").PromotionService | import("@jamesaphoenix/tx-core").WorkerService | import("@jamesaphoenix/tx-core").RunHeartbeatService | import("@jamesaphoenix/tx-core").ProcessRegistryService | import("@jamesaphoenix/tx-core").OrchestratorService | import("@jamesaphoenix/tx-core").DaemonService | import("@jamesaphoenix/tx-core").TracingService | import("@jamesaphoenix/tx-core").CompactionRepository | import("@jamesaphoenix/tx-core").CompactionService | import("@jamesaphoenix/tx-core").ValidationService | import("@jamesaphoenix/tx-core").MessageRepository | import("@jamesaphoenix/tx-core").MessageService | import("@jamesaphoenix/tx-core").DocService | import("@jamesaphoenix/tx-core").MemoryDocumentRepository | import("@jamesaphoenix/tx-core").MemoryLinkRepository | import("@jamesaphoenix/tx-core").MemoryPropertyRepository | import("@jamesaphoenix/tx-core").MemorySourceRepository | import("@jamesaphoenix/tx-core").MemoryService | import("@jamesaphoenix/tx-core").MemoryRetrieverService | import("@jamesaphoenix/tx-core").PinService | import("@jamesaphoenix/tx-core").LabelRepository | import("@jamesaphoenix/tx-core").GuardService | import("@jamesaphoenix/tx-core").VerifyService | import("@jamesaphoenix/tx-core").ReflectService | import("@jamesaphoenix/tx-core").SpecTraceRepository | import("@jamesaphoenix/tx-core").SpecTraceService | import("@jamesaphoenix/tx-core/layer").DecisionRepository | import("@jamesaphoenix/tx-core").DecisionService, import("@jamesaphoenix/tx-core").DatabaseError, never>;
59
+ layer: Layer.Layer<import("@jamesaphoenix/tx-core").MigrationService | import("@jamesaphoenix/tx-core").SqliteClient | import("@jamesaphoenix/tx-core").TaskRepository | import("@jamesaphoenix/tx-core").DependencyRepository | import("@jamesaphoenix/tx-core").LearningRepository | import("@jamesaphoenix/tx-core").FileLearningRepository | import("@jamesaphoenix/tx-core").AttemptRepository | import("@jamesaphoenix/tx-core").RunRepository | import("@jamesaphoenix/tx-core").AnchorRepository | import("@jamesaphoenix/tx-core").EdgeRepository | import("@jamesaphoenix/tx-core").DeduplicationRepository | import("@jamesaphoenix/tx-core").CandidateRepository | import("@jamesaphoenix/tx-core").TrackedProjectRepository | import("@jamesaphoenix/tx-core").WorkerRepository | import("@jamesaphoenix/tx-core").ClaimRepository | import("@jamesaphoenix/tx-core").ProcessRegistryRepository | import("@jamesaphoenix/tx-core").OrchestratorStateRepository | import("@jamesaphoenix/tx-core").GuardRepository | import("@jamesaphoenix/tx-core").PinRepository | import("@jamesaphoenix/tx-core").DocRepository | import("@jamesaphoenix/tx-core").TaskService | import("@jamesaphoenix/tx-core").DependencyService | import("@jamesaphoenix/tx-core").ClaimService | import("@jamesaphoenix/tx-core").ReadyService | import("@jamesaphoenix/tx-core").HierarchyService | import("@jamesaphoenix/tx-core").EdgeService | typeof import("@jamesaphoenix/tx-core").GraphExpansionService | import("@jamesaphoenix/tx-core").FeedbackTrackerService | import("@jamesaphoenix/tx-core").DiversifierService | import("@jamesaphoenix/tx-core").RetrieverService | import("@jamesaphoenix/tx-core").LearningService | import("@jamesaphoenix/tx-core").FileLearningService | import("@jamesaphoenix/tx-core").AttemptService | import("@jamesaphoenix/tx-core").AnchorVerificationService | import("@jamesaphoenix/tx-core").AnchorService | import("@jamesaphoenix/tx-core").DeduplicationService | import("@jamesaphoenix/tx-core").StreamService | import("@jamesaphoenix/tx-core").SyncService | import("@jamesaphoenix/tx-core").SwarmVerificationService | import("@jamesaphoenix/tx-core").PromotionService | import("@jamesaphoenix/tx-core").WorkerService | import("@jamesaphoenix/tx-core").RunHeartbeatService | import("@jamesaphoenix/tx-core").ProcessRegistryService | import("@jamesaphoenix/tx-core").OrchestratorService | import("@jamesaphoenix/tx-core").DaemonService | import("@jamesaphoenix/tx-core").TracingService | import("@jamesaphoenix/tx-core").CompactionRepository | import("@jamesaphoenix/tx-core").CompactionService | import("@jamesaphoenix/tx-core").ValidationService | import("@jamesaphoenix/tx-core").MessageRepository | import("@jamesaphoenix/tx-core").MessageService | import("@jamesaphoenix/tx-core").DocService | import("@jamesaphoenix/tx-core").MemoryDocumentRepository | import("@jamesaphoenix/tx-core").MemoryLinkRepository | import("@jamesaphoenix/tx-core").MemoryPropertyRepository | import("@jamesaphoenix/tx-core").MemorySourceRepository | import("@jamesaphoenix/tx-core").MemoryService | import("@jamesaphoenix/tx-core").MemoryRetrieverService | import("@jamesaphoenix/tx-core").PinService | import("@jamesaphoenix/tx-core").LabelRepository | import("@jamesaphoenix/tx-core").GuardService | import("@jamesaphoenix/tx-core").VerifyService | import("@jamesaphoenix/tx-core").ReflectService | import("@jamesaphoenix/tx-core").SpecTraceRepository | import("@jamesaphoenix/tx-core").SpecTraceService | import("@jamesaphoenix/tx-core/layer").DecisionRepository | import("@jamesaphoenix/tx-core").DecisionService | import("@jamesaphoenix/tx-core").DomainEventRepository | import("@jamesaphoenix/tx-core").SupervisionRepository | import("@jamesaphoenix/tx-core").DocReviewRepository | import("@jamesaphoenix/tx-core").DomainEventService | import("@jamesaphoenix/tx-core").SupervisionService | import("@jamesaphoenix/tx-core").DocReviewService | import("@jamesaphoenix/tx-core").ReviewRuntime, import("@jamesaphoenix/tx-core").DatabaseError, never>;
60
60
  reset: () => Promise<void>;
61
61
  close: () => Promise<void>;
62
62
  getDb: () => Database;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jamesaphoenix/tx-test-utils",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "Test utilities, factories, fixtures, and helpers for tx monorepo",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",