codex-workflow-v2 2.0.0-alpha.7.2.1 → 2.0.0-beta.2

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 (39) hide show
  1. package/README.md +24 -5
  2. package/dist/src/alpha6/milestone.d.ts +27 -0
  3. package/dist/src/alpha6/milestone.js +152 -1
  4. package/dist/src/alpha6/milestone.js.map +1 -1
  5. package/dist/src/beta1/project-transaction.d.ts +52 -0
  6. package/dist/src/beta1/project-transaction.js +297 -0
  7. package/dist/src/beta1/project-transaction.js.map +1 -0
  8. package/dist/src/cli.js +239 -4
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/contracts.d.ts +20 -0
  11. package/dist/src/diagnostics.d.ts +11 -0
  12. package/dist/src/diagnostics.js +54 -0
  13. package/dist/src/diagnostics.js.map +1 -1
  14. package/dist/src/git.js +2 -5
  15. package/dist/src/git.js.map +1 -1
  16. package/dist/src/reviewer.d.ts +4 -0
  17. package/dist/src/reviewer.js +24 -7
  18. package/dist/src/reviewer.js.map +1 -1
  19. package/dist/src/version.d.ts +1 -1
  20. package/dist/src/version.js +1 -1
  21. package/dist/src/version.js.map +1 -1
  22. package/dist/src/workflow.d.ts +28 -1
  23. package/dist/src/workflow.js +658 -54
  24. package/dist/src/workflow.js.map +1 -1
  25. package/docs/autonomy-guardrails.md +11 -3
  26. package/docs/beta1-stabilization-brief.md +165 -0
  27. package/docs/beta2-initial-assembly-navigation-brief.md +616 -0
  28. package/docs/delegated-approval.md +4 -3
  29. package/docs/development-flow.md +23 -6
  30. package/docs/project-memory.md +7 -5
  31. package/docs/release.md +16 -2
  32. package/docs/split-required-recovery.md +54 -0
  33. package/docs/stable-release-defect-register.md +597 -0
  34. package/docs/updating-existing-project.md +2 -0
  35. package/package.json +2 -2
  36. package/plugins/codex-workflow-gateway/references/protocol.md +62 -3
  37. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +53 -2
  38. package/references/state-machine.md +4 -1
  39. package/schemas/task.schema.json +3 -1
package/README.md CHANGED
@@ -36,7 +36,7 @@ cross-machine synchronization are not part of its contract.
36
36
  Node.js 22 or newer is required. Consumers pin the exact package version:
37
37
 
38
38
  ```bash
39
- npm install --save-dev --save-exact codex-workflow-v2@2.0.0-alpha.7.2.1
39
+ npm install --save-dev --save-exact codex-workflow-v2@2.0.0-beta.2
40
40
  npx codex-workflow gateway handshake --repo .
41
41
  npx codex-workflow doctor --repo .
42
42
  ```
@@ -91,6 +91,12 @@ codex-workflow task step-complete --repo . --id TASK-... --step STEP-001 \
91
91
  `task step-complete` runs configured checks, creates the workflow-owned atomic commit, and
92
92
  either records completion immediately or leaves the Step non-terminal for `task step-review`
93
93
  when the current Plan Risk Audit marks it for strict review.
94
+ When `next` includes `gitMutationPolicy`, obtain bounded permission to write Git metadata
95
+ before the first call of that exact transition. For `task start`, the policy applies only when
96
+ you invoke `--workspace-owner local`; for `task step-complete`, `task merge`, and
97
+ `task sync-base`, the advertised transition itself is Git-writing.
98
+ For `task step-review`, keep `--actor` equal to the exact C1 claimant or required actor from
99
+ `next`; the independent reviewer runs inside Core and is not passed as `--actor`.
94
100
 
95
101
  The Plan Risk Audit is mandatory for every new alpha.7 Task before execution authorization,
96
102
  including a positive `approved` decision for a Plan with no guarded Steps. The audit sidecar
@@ -101,13 +107,16 @@ the hostile `counterexample`, expected safe result, and an exact executable evid
101
107
  `split-required` and `stop-escalate` block authorization. Historical alpha.6 audit sidecars
102
108
  remain readable for strict-review recovery, but newly recorded audits must use proof obligations.
103
109
 
104
- `task review-launch` starts the strict read-only reviewer after submission. If a completed Step changes approved project
110
+ `task review-launch` starts the strict read-only reviewer after submission and atomically records
111
+ the returned review. If C1 handoff is active, keep `--actor` equal to the current claimant or
112
+ required actor from `next`; the reviewer identity remains internal to the compound route. If a completed Step changes approved project
105
113
  knowledge, reconcile and approve the map, then run `task knowledge-rebind --repo . --id
106
114
  TASK-... --expected-revision ...`. The rebind changes no Step definition, preserves runtime
107
115
  status and evidence, supersedes execution authorization, and requires `task authorize`
108
116
  before another Step or submission. Use `next` after transitions.
109
117
 
110
- When `next.contextRefresh` offers a delegated content-only option, the coordinator may use:
118
+ When repository `next` returns top-level `action: task context-refresh` with an exact delegated
119
+ option, the coordinator must use that atomic action instead of standalone reconcile:
111
120
 
112
121
  ```bash
113
122
  codex-workflow task context-refresh --repo . --id TASK-... \
@@ -115,7 +124,9 @@ codex-workflow task context-refresh --repo . --id TASK-... \
115
124
  --actor agent:deputy --delegation-grant DGR-...
116
125
  ```
117
126
 
118
- New/removed sources, category/authority changes, gaps, or conflicts are never auto-approved.
127
+ The only permitted source-set expansion is an exact Plan-declared supporting source under the
128
+ active Milestone Autonomy Grant. Removed, undeclared, canonical, category/authority-changing,
129
+ gap-changing, or conflicting sources are never auto-approved.
119
130
 
120
131
  ## Alpha.7 sidecars
121
132
 
@@ -142,6 +153,9 @@ historical remediation event. An identical retry is idempotent. After recovery,
142
153
  the three-attempt hard stop remains in force and `next` permits only
143
154
  `split-required` or `stop-escalate`, never a fourth implementation run.
144
155
 
156
+ For a terminal split, use the [canonical replacement recovery](docs/split-required-recovery.md).
157
+ It atomically preserves the historical Task while creating and linking a new required Task.
158
+
145
159
  ## Delegated approval
146
160
 
147
161
  Delegation never makes an agent a human actor. A user first approves an exact grant policy;
@@ -164,6 +178,9 @@ not extend this allow-list. A separate Milestone Autonomy Contract may authorize
164
178
  evolution and the `project_memory.approve` half of an atomic, content-only Task context refresh
165
179
  for the same Milestone. It cannot approve Project Memory as a standalone operation. Outcome,
166
180
  success signal, acceptance, checks, discovery, and base branch remain cryptographically fixed.
181
+ Pass `--delegation-grant` only when the same `next` response exposes an exact eligible
182
+ `delegatedApprovalOptions` entry for that transition. Ordinary C1 handoff, claim, run,
183
+ step-complete, step-review, merge, and sync-base do not inherit a Milestone approval grant.
167
184
  Adoption apply and semantic scope changes stay human-only. Revocation is immediate for future
168
185
  uses. The original human path remains available and unchanged.
169
186
 
@@ -208,7 +225,9 @@ For legacy schema 2 projects:
208
225
 
209
226
  See [development flow](docs/development-flow.md), [autonomy guardrails](docs/autonomy-guardrails.md), [delegated approval](docs/delegated-approval.md), [updating an existing project](docs/updating-existing-project.md), [project memory](docs/project-memory.md),
210
227
  [accepted decisions](docs/decisions.md), [validation report](docs/validation-report.md), and
211
- [release policy](docs/release.md).
228
+ [release policy](docs/release.md). Open stable-release defects, downstream E2E fixtures, and
229
+ alpha regressions that must not recur are tracked in the
230
+ [stable release defect register](docs/stable-release-defect-register.md).
212
231
 
213
232
  ## Russian PDF documentation
214
233
 
@@ -6,6 +6,10 @@ interface MembershipIntegrityOptions {
6
6
  allowRepairableRequiredCancelled?: boolean;
7
7
  allowRepairableReverseOrphans?: boolean;
8
8
  }
9
+ export interface MilestoneInitialAssemblyAssessment {
10
+ eligible: boolean;
11
+ orphanTaskIds: string[];
12
+ }
9
13
  export interface NormalizedMilestonePlan {
10
14
  outcome: string;
11
15
  successSignal: string;
@@ -28,10 +32,33 @@ export interface PreparedMilestoneScopeChange {
28
32
  authorizationMode: 'human' | 'milestone-autonomy';
29
33
  autonomyContractEventHash: string | null;
30
34
  }
35
+ export interface PreparedMilestoneScopeChangeBundle {
36
+ state: MilestoneState;
37
+ stateContent: string;
38
+ planContent: string;
39
+ sidecarContent: string;
40
+ }
41
+ /**
42
+ * Produces the exact three-file Milestone commit without writing it. Beta transactions use this
43
+ * to couple a scope change to Task/Discovery changes under one outer recovery journal.
44
+ */
45
+ export declare function prepareMilestoneScopeChangeBundle(options: {
46
+ store: FileStateStore;
47
+ milestone: MilestoneState;
48
+ prepared: PreparedMilestoneScopeChange;
49
+ now: Date;
50
+ readTask: ReadTask;
51
+ }): PreparedMilestoneScopeChangeBundle;
31
52
  export declare function normalizeMilestonePlan(plan: MilestonePlanInput): NormalizedMilestonePlan;
32
53
  export declare function readMilestoneWithIntegrity(store: FileStateStore, projectId: string, milestoneId: string, readTask: ReadTask, listTasks?: ListTasks): MilestoneState;
33
54
  export declare function readMilestoneForScopeChange(store: FileStateStore, projectId: string, milestoneId: string, readTask: ReadTask, listTasks?: ListTasks): MilestoneState;
34
55
  export declare function listMilestonesWithIntegrity(store: FileStateStore, projectId: string, readTask: ReadTask, listTasks?: ListTasks): MilestoneState[];
56
+ export declare function assessMilestoneInitialAssembly(options: {
57
+ store: FileStateStore;
58
+ projectId: string;
59
+ milestone: MilestoneState;
60
+ listTasks?: ListTasks;
61
+ }): MilestoneInitialAssemblyAssessment;
35
62
  export declare function assertMilestoneMembershipIntegrity(milestone: MilestoneState, readTask: ReadTask, options?: MembershipIntegrityOptions, listTasks?: ListTasks): void;
36
63
  export declare function assertMilestoneScopeChangeStatusAllowed(milestone: MilestoneState): void;
37
64
  export declare function prepareMilestoneScopeChangeCandidate(options: {
@@ -2,6 +2,7 @@ import { existsSync, lstatSync, readFileSync, realpathSync, readdirSync, rmSync
2
2
  import path from 'node:path';
3
3
  import { WorkflowError } from '../errors.js';
4
4
  import { createEntityId } from '../ulid.js';
5
+ import { readMilestoneAutonomyEvents } from '../alpha7/autonomy.js';
5
6
  import { createJournalSnapshotFromContent, captureJournalTargetSnapshot, listMilestoneTransactionJournals, readJournalSnapshotContent, removeMilestoneTransactionJournal, resolveMilestoneTransactionTargetPath, updateMilestoneTransactionJournalPhase, writeMilestoneTransactionJournal, } from './journal.js';
6
7
  import { assertHash64, assertNoSymlinkPathComponents, canonicalJsonStringify, computeSidecarEventHash, prepareSidecarAppend, sha256Hex, } from './store-sidecars.js';
7
8
  const SCOPE_CHANGE_SIDECAR = 'scope-change-events.jsonl';
@@ -12,6 +13,60 @@ const SCOPE_CHANGE_ALLOWED_STATUSES = new Set([
12
13
  'active',
13
14
  'blocked',
14
15
  ]);
16
+ /**
17
+ * Produces the exact three-file Milestone commit without writing it. Beta transactions use this
18
+ * to couple a scope change to Task/Discovery changes under one outer recovery journal.
19
+ */
20
+ export function prepareMilestoneScopeChangeBundle(options) {
21
+ const { store, milestone, prepared, now, readTask } = options;
22
+ const planContent = renderMilestonePlanArtifact(prepared.normalizedPlan);
23
+ const planHash = sha256Hex(planContent);
24
+ if (planHash !== prepared.candidatePlanHash) {
25
+ throw new WorkflowError('TRANSITION_BLOCKED', 'Milestone scope change candidate drifted before bundle preparation.', {
26
+ expectedPlanHash: prepared.candidatePlanHash,
27
+ actualPlanHash: planHash,
28
+ });
29
+ }
30
+ const currentEvents = readMilestoneScopeChangeEvents(store, milestone.projectId, milestone.id);
31
+ const sidecar = prepareSidecarAppend(currentEvents, createMilestoneScopeChangeEvent({
32
+ milestone,
33
+ normalizedPlan: prepared.normalizedPlan,
34
+ actor: prepared.actor,
35
+ now,
36
+ previousEventHash: currentEvents.at(-1)?.eventHash ?? null,
37
+ candidatePlanHash: planHash,
38
+ candidateMembershipRevision: prepared.candidateMembershipRevision,
39
+ confirmationCodeBindingHash: prepared.confirmationCodeBindingHash,
40
+ authorizationMode: prepared.authorizationMode,
41
+ autonomyContractEventHash: prepared.autonomyContractEventHash,
42
+ }), { validateEvent: (candidate) => validateMilestoneScopeChangeEvent(candidate, milestone.id) });
43
+ const state = {
44
+ ...milestone,
45
+ revision: milestone.revision + 1,
46
+ updatedAt: now.toISOString(),
47
+ status: 'awaiting_execution_authorization',
48
+ outcome: prepared.normalizedPlan.outcome,
49
+ successSignal: prepared.normalizedPlan.successSignal,
50
+ acceptance: prepared.normalizedPlan.acceptance,
51
+ taskIds: prepared.normalizedPlan.taskIds,
52
+ memberships: prepared.normalizedPlan.memberships,
53
+ checks: prepared.normalizedPlan.checks,
54
+ membershipRevision: prepared.candidateMembershipRevision,
55
+ authorizations: prepared.authorizations,
56
+ planHash,
57
+ resultHash: null,
58
+ evidenceHash: null,
59
+ acceptedHead: null,
60
+ cancellationReason: null,
61
+ };
62
+ assertMilestoneMembershipIntegrity(state, readTask);
63
+ return {
64
+ state,
65
+ stateContent: `${JSON.stringify(state, null, 2)}\n`,
66
+ planContent,
67
+ sidecarContent: sidecar.content,
68
+ };
69
+ }
15
70
  export function normalizeMilestonePlan(plan) {
16
71
  return {
17
72
  outcome: plan.outcome.trim(),
@@ -29,6 +84,14 @@ export function readMilestoneWithIntegrity(store, projectId, milestoneId, readTa
29
84
  recoverMilestoneScopeChangeTransactions(store, projectId, milestoneId, readTask);
30
85
  const milestone = store.readMilestone(projectId, milestoneId);
31
86
  assertMilestonePlanAgreement(store, milestone);
87
+ const initialAssembly = assessMilestoneInitialAssembly({
88
+ store,
89
+ projectId,
90
+ milestone,
91
+ ...(listTasks ? { listTasks } : {}),
92
+ });
93
+ if (initialAssembly.eligible)
94
+ return milestone;
32
95
  assertMilestoneMembershipIntegrity(milestone, readTask, {}, listTasks);
33
96
  return milestone;
34
97
  }
@@ -36,6 +99,14 @@ export function readMilestoneForScopeChange(store, projectId, milestoneId, readT
36
99
  recoverMilestoneScopeChangeTransactions(store, projectId, milestoneId, readTask);
37
100
  const milestone = store.readMilestone(projectId, milestoneId);
38
101
  assertMilestonePlanAgreement(store, milestone);
102
+ const initialAssembly = assessMilestoneInitialAssembly({
103
+ store,
104
+ projectId,
105
+ milestone,
106
+ ...(listTasks ? { listTasks } : {}),
107
+ });
108
+ if (initialAssembly.eligible)
109
+ return milestone;
39
110
  assertMilestoneMembershipIntegrity(milestone, readTask, { allowRepairableRequiredCancelled: true, allowRepairableReverseOrphans: true }, listTasks);
40
111
  return milestone;
41
112
  }
@@ -48,6 +119,37 @@ export function listMilestonesWithIntegrity(store, projectId, readTask, listTask
48
119
  .map((entry) => readMilestoneWithIntegrity(store, projectId, entry.name, readTask, listTasks))
49
120
  .sort((left, right) => left.createdAt.localeCompare(right.createdAt) || left.id.localeCompare(right.id));
50
121
  }
122
+ export function assessMilestoneInitialAssembly(options) {
123
+ const { milestone, listTasks } = options;
124
+ if (!listTasks)
125
+ return { eligible: false, orphanTaskIds: [] };
126
+ if (milestone.status !== 'planning'
127
+ || milestone.planHash !== null
128
+ || milestone.membershipRevision !== 0
129
+ || milestone.memberships.length !== 0
130
+ || milestone.taskIds.length !== 0
131
+ || milestone.successSignal !== ''
132
+ || milestone.checks.length !== 0
133
+ || milestone.authorizations.length !== 0
134
+ || milestone.resultHash !== null
135
+ || milestone.evidenceHash !== null
136
+ || milestone.acceptedHead !== null
137
+ || milestone.cancellationReason !== null) {
138
+ return { eligible: false, orphanTaskIds: [] };
139
+ }
140
+ const reverseOrphans = listTasks().filter((task) => task.milestoneId === milestone.id);
141
+ if (hasActiveMilestoneScopeChangeTransaction(options.store, options.projectId, milestone.id)) {
142
+ return { eligible: false, orphanTaskIds: reverseOrphans.map((task) => task.id) };
143
+ }
144
+ if (readMilestoneScopeChangeEvents(options.store, options.projectId, milestone.id).length > 0) {
145
+ return { eligible: false, orphanTaskIds: reverseOrphans.map((task) => task.id) };
146
+ }
147
+ if (hasMilestoneAutonomyAuthority(options.store, options.projectId, milestone.id)) {
148
+ return { eligible: false, orphanTaskIds: reverseOrphans.map((task) => task.id) };
149
+ }
150
+ const eligible = reverseOrphans.every((task) => isPristineInitialAssemblyTask(task));
151
+ return { eligible, orphanTaskIds: reverseOrphans.map((task) => task.id) };
152
+ }
51
153
  export function assertMilestoneMembershipIntegrity(milestone, readTask, options = {}, listTasks) {
52
154
  if (!Number.isInteger(milestone.membershipRevision) || milestone.membershipRevision < 0) {
53
155
  throw new WorkflowError('STATE_CORRUPT', `Milestone ${milestone.id} has invalid membershipRevision.`, {
@@ -115,6 +217,45 @@ export function assertMilestoneMembershipIntegrity(milestone, readTask, options
115
217
  }
116
218
  }
117
219
  }
220
+ function hasActiveMilestoneScopeChangeTransaction(store, projectId, milestoneId) {
221
+ const milestoneRoot = resolveAlpha6MilestoneRoot(store, projectId, milestoneId);
222
+ return listMilestoneTransactionJournals(milestoneRoot, { expectedMilestoneId: milestoneId })
223
+ .some((journal) => journal.phase === 'prepared' || journal.phase === 'applying');
224
+ }
225
+ function hasMilestoneAutonomyAuthority(store, projectId, milestoneId) {
226
+ return readMilestoneAutonomyEvents(store, projectId, milestoneId).length > 0;
227
+ }
228
+ function isPristineInitialAssemblyTask(task) {
229
+ return task.status === 'planning'
230
+ && task.workspaceOwner === null
231
+ && task.taskBranch === null
232
+ && task.baseCommit === null
233
+ && task.planHash === null
234
+ && task.planObjective === null
235
+ && task.resultHash === null
236
+ && task.evidenceHash === null
237
+ && task.knowledgeImpact === null
238
+ && task.knowledgeImpactReason === null
239
+ && task.knowledgeTargets.length === 0
240
+ && task.knowledgeMapRevision === null
241
+ && task.knowledgeMapHash === null
242
+ && task.graphUse === null
243
+ && task.steps.length === 0
244
+ && task.authorizations.length === 0
245
+ && task.knowledgeRebinds.length === 0
246
+ && task.review.status === 'pending'
247
+ && task.review.reviewer === ''
248
+ && task.review.recordedAt === null
249
+ && task.review.headCommit === null
250
+ && task.review.briefHash === null
251
+ && task.review.planHash === null
252
+ && task.review.evidenceHash === null
253
+ && task.review.summary === ''
254
+ && task.review.findings.length === 0
255
+ && task.blockReason === null
256
+ && task.mergedCommit === null
257
+ && task.systemCommits.length === 0;
258
+ }
118
259
  export function assertMilestoneScopeChangeStatusAllowed(milestone) {
119
260
  if (!SCOPE_CHANGE_ALLOWED_STATUSES.has(milestone.status)) {
120
261
  throw new WorkflowError('TRANSITION_BLOCKED', `Milestone ${milestone.id} cannot change scope while ${milestone.status}.`, {
@@ -352,7 +493,17 @@ function assertMilestonePlanAgreement(store, milestone) {
352
493
  if (milestone.planHash === null)
353
494
  return;
354
495
  const milestoneRoot = store.milestoneRoot(milestone.projectId, milestone.id);
355
- const currentPlanHash = store.hashArtifact(milestoneRoot, 'plan.json');
496
+ let currentPlanHash;
497
+ try {
498
+ currentPlanHash = store.hashArtifact(milestoneRoot, 'plan.json');
499
+ }
500
+ catch (error) {
501
+ throw new WorkflowError('STATE_CORRUPT', `Milestone ${milestone.id} declares a planHash but plan.json is unavailable.`, {
502
+ milestoneId: milestone.id,
503
+ expectedPlanHash: milestone.planHash,
504
+ cause: error instanceof Error ? error.message : String(error),
505
+ });
506
+ }
356
507
  if (currentPlanHash !== milestone.planHash) {
357
508
  throw new WorkflowError('STATE_CORRUPT', `Milestone ${milestone.id} planHash does not match plan.json.`, {
358
509
  expectedPlanHash: milestone.planHash,
@@ -1 +1 @@
1
- {"version":3,"file":"milestone.js","sourceRoot":"","sources":["../../../src/alpha6/milestone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"milestone.js","sourceRoot":"","sources":["../../../src/alpha6/milestone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ type TransactionPhase = 'prepared' | 'applying' | 'applied' | 'rolled_back';
2
+ interface Snapshot {
3
+ exists: boolean;
4
+ contentHash: string | null;
5
+ contentBase64: string | null;
6
+ }
7
+ interface JournalTarget {
8
+ path: string;
9
+ preimage: Snapshot;
10
+ staged: Snapshot;
11
+ }
12
+ interface ProjectTransactionJournal {
13
+ schemaVersion: 1;
14
+ transactionId: string;
15
+ kind: string;
16
+ projectId: string;
17
+ phase: TransactionPhase;
18
+ recoveryMode: 'roll-forward' | 'roll-back';
19
+ ownerPid: number;
20
+ ownerHostname: string;
21
+ targets: JournalTarget[];
22
+ preparedAt: string;
23
+ updatedAt: string;
24
+ }
25
+ export interface ProjectTransactionTarget {
26
+ path: string;
27
+ content: string | null;
28
+ }
29
+ export interface ProjectTransactionOptions {
30
+ projectRoot: string;
31
+ projectId: string;
32
+ transactionId: string;
33
+ kind: string;
34
+ targets: ProjectTransactionTarget[];
35
+ now: Date;
36
+ validate?: () => void;
37
+ afterTargetWrite?: (index: number, target: ProjectTransactionTarget) => void;
38
+ }
39
+ export declare function applyProjectTransaction(options: ProjectTransactionOptions): void;
40
+ export declare function recoverProjectTransactions(projectRoot: string, projectId: string): string[];
41
+ export declare function runRollbackProjectTransaction<T>(options: {
42
+ projectRoot: string;
43
+ projectId: string;
44
+ transactionId: string;
45
+ kind: string;
46
+ targetPaths: string[];
47
+ now: Date;
48
+ mutate: () => T;
49
+ validate?: (result: T) => void;
50
+ }): T;
51
+ export declare function listProjectTransactions(projectRoot: string, projectId: string): Array<Pick<ProjectTransactionJournal, 'transactionId' | 'kind' | 'phase' | 'preparedAt'>>;
52
+ export {};