@open-agent-toolkit/cli 0.3.18 → 0.3.20

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 (132) hide show
  1. package/README.md +2 -1
  2. package/assets/agents/oat-phase-implementer.md +104 -3
  3. package/assets/agents/oat-reviewer.md +20 -5
  4. package/assets/bundle-metadata.json +1 -1
  5. package/assets/docs/reference/cli-reference.md +15 -7
  6. package/assets/docs/reference/oat-directory-structure.md +2 -0
  7. package/assets/docs/reference/project-artifacts.md +72 -1
  8. package/assets/docs/reference/project-state-machine.md +55 -6
  9. package/assets/docs/skills/brainstorm.md +3 -1
  10. package/assets/docs/skills/index.md +13 -9
  11. package/assets/docs/workflows/advanced/autonomy.md +12 -2
  12. package/assets/docs/workflows/advanced/dispatch-ceiling.md +2 -2
  13. package/assets/docs/workflows/advanced/workflow-gates.md +25 -7
  14. package/assets/docs/workflows/approvals-and-automation.md +25 -9
  15. package/assets/docs/workflows/choose-workflow.md +24 -8
  16. package/assets/docs/workflows/ideas/index.md +1 -1
  17. package/assets/docs/workflows/ideas/lifecycle.md +3 -2
  18. package/assets/docs/workflows/projects/closeout/closeout-skills.md +83 -5
  19. package/assets/docs/workflows/projects/closeout/pr-flow.md +9 -1
  20. package/assets/docs/workflows/projects/execution/execution-skills.md +27 -2
  21. package/assets/docs/workflows/projects/execution/implementation-execution.md +15 -0
  22. package/assets/docs/workflows/projects/execution/picking-up-projects.md +20 -1
  23. package/assets/docs/workflows/projects/lifecycle.md +172 -9
  24. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +18 -1
  25. package/assets/docs/workflows/projects/planning/planning-skills.md +13 -10
  26. package/assets/docs/workflows/projects/planning/starting-projects.md +138 -20
  27. package/assets/docs/workflows/projects/reviews/index.md +36 -2
  28. package/assets/docs/workflows/projects/reviews/review-flavors.md +7 -3
  29. package/assets/public-package-versions.json +4 -4
  30. package/assets/skills/oat-brainstorm/SKILL.md +58 -9
  31. package/assets/skills/oat-brainstorm/references/destinations.md +12 -4
  32. package/assets/skills/oat-docs/SKILL.md +13 -4
  33. package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
  34. package/assets/skills/oat-project-autonomous/SKILL.md +20 -8
  35. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +156 -122
  36. package/assets/skills/oat-project-brief/SKILL.md +592 -0
  37. package/assets/skills/oat-project-brief/references/brief-contract.md +743 -0
  38. package/assets/skills/oat-project-brief/references/docs/autonomy-contract.md +412 -0
  39. package/assets/skills/oat-project-brief/references/docs/gate-approval-record.md +93 -0
  40. package/assets/skills/oat-project-capture/SKILL.md +2 -2
  41. package/assets/skills/oat-project-complete/SKILL.md +16 -2
  42. package/assets/skills/oat-project-discover/SKILL.md +4 -2
  43. package/assets/skills/oat-project-dispatch-subagents/SKILL.md +9 -1
  44. package/assets/skills/oat-project-document/SKILL.md +17 -1
  45. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +156 -122
  46. package/assets/skills/oat-project-goal/SKILL.md +697 -0
  47. package/assets/skills/oat-project-goal/references/docs/autonomy-contract.md +412 -0
  48. package/assets/skills/oat-project-goal/references/docs/gate-approval-record.md +93 -0
  49. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  50. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +107 -0
  51. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +156 -122
  52. package/assets/skills/oat-project-implement/references/docs/gate-approval-record.md +13 -0
  53. package/assets/skills/oat-project-implement/references/phase-execution.md +173 -1
  54. package/assets/skills/oat-project-implement/references/plan-and-resume.md +124 -3
  55. package/assets/skills/oat-project-import-plan/SKILL.md +5 -1
  56. package/assets/skills/oat-project-lite/SKILL.md +4 -1
  57. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +156 -122
  58. package/assets/skills/oat-project-new/SKILL.md +5 -1
  59. package/assets/skills/oat-project-next/SKILL.md +71 -14
  60. package/assets/skills/oat-project-next/references/docs/gate-approval-record.md +13 -0
  61. package/assets/skills/oat-project-plan/SKILL.md +24 -3
  62. package/assets/skills/oat-project-plan-writing/SKILL.md +8 -4
  63. package/assets/skills/oat-project-pr-final/SKILL.md +65 -3
  64. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +156 -122
  65. package/assets/skills/oat-project-pr-progress/SKILL.md +125 -4
  66. package/assets/skills/oat-project-progress/SKILL.md +63 -8
  67. package/assets/skills/oat-project-progress/references/docs/gate-approval-record.md +13 -0
  68. package/assets/skills/oat-project-promote-spec-driven/SKILL.md +2 -2
  69. package/assets/skills/oat-project-quick-start/SKILL.md +65 -1
  70. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +156 -122
  71. package/assets/skills/oat-project-quick-start/references/docs/gate-approval-record.md +13 -0
  72. package/assets/skills/oat-project-reconcile/SKILL.md +94 -3
  73. package/assets/skills/oat-project-review-provide/SKILL.md +397 -12
  74. package/assets/skills/oat-project-review-receive/SKILL.md +155 -1
  75. package/assets/skills/oat-project-revise/SKILL.md +51 -4
  76. package/assets/skills/oat-project-summary/SKILL.md +150 -2
  77. package/assets/skills/oat-wave-execute/SKILL.md +3 -2
  78. package/assets/templates/implementation-brief.md +165 -0
  79. package/assets/templates/plan-brief.md +140 -0
  80. package/assets/templates/plan.md +1 -1
  81. package/assets/templates/state.md +8 -2
  82. package/dist/commands/project/closeout-check/closeout-invariant.d.ts +119 -3
  83. package/dist/commands/project/closeout-check/closeout-invariant.d.ts.map +1 -1
  84. package/dist/commands/project/closeout-check/closeout-invariant.js +454 -2
  85. package/dist/commands/project/closeout-check/index.d.ts +21 -3
  86. package/dist/commands/project/closeout-check/index.d.ts.map +1 -1
  87. package/dist/commands/project/closeout-check/index.js +190 -4
  88. package/dist/commands/project/complete-state/index.d.ts +2 -1
  89. package/dist/commands/project/complete-state/index.d.ts.map +1 -1
  90. package/dist/commands/project/complete-state/index.js +7 -1
  91. package/dist/commands/project/delivery/check.d.ts +66 -0
  92. package/dist/commands/project/delivery/check.d.ts.map +1 -0
  93. package/dist/commands/project/delivery/check.js +232 -0
  94. package/dist/commands/project/delivery/evidence.d.ts +171 -0
  95. package/dist/commands/project/delivery/evidence.d.ts.map +1 -0
  96. package/dist/commands/project/delivery/evidence.js +902 -0
  97. package/dist/commands/project/delivery/index.d.ts +7 -0
  98. package/dist/commands/project/delivery/index.d.ts.map +1 -0
  99. package/dist/commands/project/delivery/index.js +13 -0
  100. package/dist/commands/project/delivery/refresh.d.ts +110 -0
  101. package/dist/commands/project/delivery/refresh.d.ts.map +1 -0
  102. package/dist/commands/project/delivery/refresh.js +441 -0
  103. package/dist/commands/project/index.d.ts.map +1 -1
  104. package/dist/commands/project/index.js +2 -0
  105. package/dist/commands/project/log/append.d.ts +6 -0
  106. package/dist/commands/project/log/append.d.ts.map +1 -1
  107. package/dist/commands/project/log/append.js +6 -1
  108. package/dist/commands/project/new/scaffold.d.ts +1 -1
  109. package/dist/commands/project/new/scaffold.d.ts.map +1 -1
  110. package/dist/commands/project/new/scaffold.js +81 -7
  111. package/dist/commands/project/promote/promote.d.ts +46 -1
  112. package/dist/commands/project/promote/promote.d.ts.map +1 -1
  113. package/dist/commands/project/promote/promote.js +646 -5
  114. package/dist/commands/project/validate-plan/frontmatter.d.ts +12 -0
  115. package/dist/commands/project/validate-plan/frontmatter.d.ts.map +1 -0
  116. package/dist/commands/project/validate-plan/frontmatter.js +27 -0
  117. package/dist/commands/project/validate-plan/index.d.ts.map +1 -1
  118. package/dist/commands/project/validate-plan/index.js +62 -18
  119. package/dist/commands/project/validate-plan/profiles.d.ts +69 -0
  120. package/dist/commands/project/validate-plan/profiles.d.ts.map +1 -0
  121. package/dist/commands/project/validate-plan/profiles.js +420 -0
  122. package/dist/commands/project/validate-plan/validate-plan.d.ts +3 -19
  123. package/dist/commands/project/validate-plan/validate-plan.d.ts.map +1 -1
  124. package/dist/commands/project/validate-plan/validate-plan.js +5 -82
  125. package/dist/commands/shared/frontmatter.d.ts +1 -1
  126. package/dist/commands/shared/frontmatter.d.ts.map +1 -1
  127. package/dist/commands/shared/frontmatter.js +2 -0
  128. package/dist/commands/state/generate.d.ts.map +1 -1
  129. package/dist/commands/state/generate.js +82 -2
  130. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
  131. package/dist/commands/tools/shared/pack-manifest.js +4 -0
  132. package/package.json +2 -2
@@ -0,0 +1,171 @@
1
+ import type { GitRunner } from '../../project/sync/git.js';
2
+ import { type GoalDelivery, type MilestoneGateCarrier, type ReviewStatus } from '@open-agent-toolkit/control-plane';
3
+ /**
4
+ * The shared delivery-evidence evaluator (design "Delivery registry and
5
+ * closeout boundary", bookkeeping-successor freshness, A2). `delivery
6
+ * refresh`, `delivery check` and the closeout boundary all derive freshness
7
+ * here; nothing else compares revisions.
8
+ *
9
+ * Evidence keeps the revision actually reviewed. Evidence reviewed at R covers
10
+ * a published head H when R = H, or when R is an ancestor of H and every
11
+ * intervening commit — merge-introduced changes included — changes only
12
+ * permitted bookkeeping. Each commit is inspected on its own, so a substantive
13
+ * change followed by its revert is never a bookkeeping successor. Missing
14
+ * objects, failed inspection, unknown paths and disallowed edits fail closed.
15
+ */
16
+ /** Where the evidence lives: the project and the review artifacts it records. */
17
+ export interface EvidenceScope {
18
+ /** Absolute repository root; every Git command runs here. */
19
+ repoRoot: string;
20
+ /** Repository-relative POSIX path of the project directory. */
21
+ projectDir: string;
22
+ /**
23
+ * Project-relative review artifacts belonging to the evidence being
24
+ * recorded or archived (`reviews/…`). Each also permits its archived
25
+ * counterpart (`reviews/archived/<name>`), so receive's archival move is
26
+ * bookkeeping.
27
+ */
28
+ evidenceArtifacts: readonly string[];
29
+ /**
30
+ * Each delivery's OWN review artifacts: the artifacts its own Reviews rows
31
+ * record (Scope cell = the delivery ID or its milestone), keyed by delivery
32
+ * ID and kept apart from the shared allowlist above. Never derived from the
33
+ * registry's `integrated_review.artifact`, which is the very pointer a
34
+ * judged commit may rewrite. Only a new artifact from this set may replace a
35
+ * delivery's review identity or member revisions, so a sharing sibling's
36
+ * artifact (admitted by the allowlist as bookkeeping) or an artifact no
37
+ * Reviews row records never unlocks them. A delivery with no entry unlocks
38
+ * nothing.
39
+ */
40
+ ownEvidenceArtifacts?: ReadonlyMap<string, readonly string[]>;
41
+ }
42
+ export type FreshnessFailureCode = 'missing-revision' | 'missing-object' | 'not-ancestor' | 'inspection-failed' | 'disallowed-path' | 'substantive-change' | 'base-changed';
43
+ export type SuccessorResult = {
44
+ fresh: true;
45
+ code: 'identical' | 'bookkeeping-successor';
46
+ reason: string;
47
+ /** Every commit inspected between the reviewed and published heads. */
48
+ inspected: string[];
49
+ } | {
50
+ fresh: false;
51
+ code: FreshnessFailureCode;
52
+ reason: string;
53
+ commit?: string;
54
+ path?: string;
55
+ };
56
+ /**
57
+ * Whether `published` covers evidence reviewed at `reviewed` under the
58
+ * bookkeeping-successor contract.
59
+ */
60
+ export declare function evaluateSuccessor(git: GitRunner, scope: EvidenceScope, reviewed: string | null | undefined, published: string | null | undefined): Promise<SuccessorResult>;
61
+ export type BookkeepingPathKind = 'state' | 'plan' | 'implementation' | 'project-log' | 'summary' | 'review-artifact';
62
+ /**
63
+ * The bookkeeping kind of a repository-relative path, or `null` when the
64
+ * path is outside the allowlist: this project's `state.md`, `plan.md`,
65
+ * `implementation.md`, `project-log.md`, `summary.md`, and the exact review
66
+ * artifacts of the evidence being recorded or archived (including those of
67
+ * deliveries that share its member pull request).
68
+ */
69
+ export declare function classifyPath(scope: EvidenceScope, repoPath: string): BookkeepingPathKind | null;
70
+ /**
71
+ * Whether `after` only adds entries to the project log `before`. `oat project
72
+ * log append` writes at the end of the log, or, once the log carries its
73
+ * end-of-run synthesis section, immediately before that section; every byte
74
+ * of the previous log is kept either way. Insertion anywhere else, a change to
75
+ * an existing entry, or a change to the synthesis section is a rewrite.
76
+ */
77
+ export declare function isProjectLogAppend(before: string, after: string): boolean;
78
+ export interface CarrierExpectation {
79
+ /** The subject kind the carrier must bind. */
80
+ kind: 'plan' | 'code';
81
+ /** The ordered phase set the carrier's resolution must apply to. */
82
+ scope: readonly string[];
83
+ /**
84
+ * `exact` (default): the carrier binds exactly `scope`, as a milestone's
85
+ * scoped closeout records it. `covers`: the carrier binds at least every
86
+ * phase of `scope`, as a delivery's milestone carrier does after a later
87
+ * correction phase joined its milestone.
88
+ */
89
+ match?: 'exact' | 'covers';
90
+ /** Whether the project override currently disables the carrier's gate. */
91
+ overrideDisabled?: boolean | null;
92
+ /** The current resolution, when the caller resolved configuration. */
93
+ resolution?: string | null;
94
+ /** The current configuration fingerprint, when the caller computed one. */
95
+ configFingerprint?: string | null;
96
+ }
97
+ export interface CarrierEvaluation {
98
+ /** The recorded gate outcome, independent of freshness. */
99
+ outcome: 'allowed' | 'blocked' | 'missing' | 'invalid';
100
+ freshness: 'fresh' | 'stale';
101
+ reason: string | null;
102
+ }
103
+ /**
104
+ * Evaluate one gate carrier (A2). The outcome is the recorded status; the
105
+ * freshness asks whether that resolution still applies: a `no_gate` or
106
+ * `project_disabled` carrier has no reviewed revision and is bound by its
107
+ * subject, so a changed configuration, override or subject makes it stale and
108
+ * a fabricated `reviewed_head` makes it invalid. A configured code carrier
109
+ * keeps its actual reviewed revision and must cover every published head as
110
+ * a bookkeeping successor. A plan carrier binds the approved brief and
111
+ * membership at activation, so implementation commits never stale it.
112
+ */
113
+ export declare function evaluateGateCarrier(carrier: MilestoneGateCarrier | null, expected: CarrierExpectation, successor?: {
114
+ git: GitRunner;
115
+ scope: EvidenceScope;
116
+ publishedHeads: readonly (string | null)[];
117
+ }): Promise<CarrierEvaluation>;
118
+ export interface ReviewEvaluation {
119
+ artifact: string | null;
120
+ /** The recorded disposition or Reviews-row status, as stored. */
121
+ disposition: string | null;
122
+ fresh: boolean;
123
+ reason: string | null;
124
+ /** Every published head is covered by the reviewed revision. */
125
+ members: {
126
+ member: number;
127
+ fresh: boolean;
128
+ reason: string | null;
129
+ }[];
130
+ }
131
+ /**
132
+ * Evaluate a registered delivery's integrated review against its observed
133
+ * members (A2): each member's reviewed revision must cover its observed head
134
+ * as a bookkeeping successor, and a member base change invalidates the
135
+ * evidence independently. The review must bind every phase of
136
+ * `requiredScope`. Historical deliveries are judged against their own
137
+ * observed revisions, never the branch's latest head.
138
+ */
139
+ export declare function evaluateDeliveryReview(git: GitRunner, scope: EvidenceScope, delivery: GoalDelivery, requiredScope: readonly string[]): Promise<ReviewEvaluation>;
140
+ /**
141
+ * Review artifacts a delivery's evidence records, for the bookkeeping
142
+ * allowlist. `sharing` lists the deliveries that share one of its member pull
143
+ * requests (terminal deliveries registered from one head branch, brief
144
+ * contract 12.7 "Shared members"): their review artifacts are recorded on the
145
+ * same member head, so they are bookkeeping for this delivery as well. Each
146
+ * delivery is still judged on its own frozen scope and bound revisions.
147
+ */
148
+ export declare function deliveryEvidenceArtifacts(delivery: GoalDelivery, reviewRowArtifacts?: readonly string[], sharing?: readonly GoalDelivery[]): string[];
149
+ /** Code review rows whose Scope cell names a label (the bare id or `<id>: …`). */
150
+ export declare function reviewRowsFor(reviews: readonly ReviewStatus[], labels: readonly string[]): ReviewStatus[];
151
+ /** The project facts the evidence scope of a delivery is built from. */
152
+ export interface DeliveryEvidenceProject {
153
+ repoRoot: string;
154
+ projectDir: string;
155
+ state: {
156
+ reviews: readonly ReviewStatus[];
157
+ };
158
+ }
159
+ /**
160
+ * The one evidence scope for a registered delivery, shared by `delivery
161
+ * check`, `delivery refresh` and the closeout boundary: the review rows
162
+ * labelled with the delivery, its milestone and every delivery sharing one of
163
+ * its member pull requests, plus their integrated-review artifacts.
164
+ */
165
+ export declare function deliveryEvidenceScope(project: DeliveryEvidenceProject, deliveries: readonly GoalDelivery[], delivery: GoalDelivery): EvidenceScope;
166
+ /**
167
+ * The other registered deliveries that share at least one member pull request
168
+ * URL with `delivery` (brief contract 12.7 "Shared members").
169
+ */
170
+ export declare function deliveriesSharingMembers(deliveries: readonly GoalDelivery[], delivery: GoalDelivery): GoalDelivery[];
171
+ //# sourceMappingURL=evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../../../src/commands/project/delivery/evidence.ts"],"names":[],"mappings":"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"}