@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.
- package/README.md +2 -1
- package/assets/agents/oat-phase-implementer.md +104 -3
- package/assets/agents/oat-reviewer.md +20 -5
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/reference/cli-reference.md +15 -7
- package/assets/docs/reference/oat-directory-structure.md +2 -0
- package/assets/docs/reference/project-artifacts.md +72 -1
- package/assets/docs/reference/project-state-machine.md +55 -6
- package/assets/docs/skills/brainstorm.md +3 -1
- package/assets/docs/skills/index.md +13 -9
- package/assets/docs/workflows/advanced/autonomy.md +12 -2
- package/assets/docs/workflows/advanced/dispatch-ceiling.md +2 -2
- package/assets/docs/workflows/advanced/workflow-gates.md +25 -7
- package/assets/docs/workflows/approvals-and-automation.md +25 -9
- package/assets/docs/workflows/choose-workflow.md +24 -8
- package/assets/docs/workflows/ideas/index.md +1 -1
- package/assets/docs/workflows/ideas/lifecycle.md +3 -2
- package/assets/docs/workflows/projects/closeout/closeout-skills.md +83 -5
- package/assets/docs/workflows/projects/closeout/pr-flow.md +9 -1
- package/assets/docs/workflows/projects/execution/execution-skills.md +27 -2
- package/assets/docs/workflows/projects/execution/implementation-execution.md +15 -0
- package/assets/docs/workflows/projects/execution/picking-up-projects.md +20 -1
- package/assets/docs/workflows/projects/lifecycle.md +172 -9
- package/assets/docs/workflows/projects/planning/hill-checkpoints.md +18 -1
- package/assets/docs/workflows/projects/planning/planning-skills.md +13 -10
- package/assets/docs/workflows/projects/planning/starting-projects.md +138 -20
- package/assets/docs/workflows/projects/reviews/index.md +36 -2
- package/assets/docs/workflows/projects/reviews/review-flavors.md +7 -3
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-brainstorm/SKILL.md +58 -9
- package/assets/skills/oat-brainstorm/references/destinations.md +12 -4
- package/assets/skills/oat-docs/SKILL.md +13 -4
- package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
- package/assets/skills/oat-project-autonomous/SKILL.md +20 -8
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +156 -122
- package/assets/skills/oat-project-brief/SKILL.md +592 -0
- package/assets/skills/oat-project-brief/references/brief-contract.md +743 -0
- package/assets/skills/oat-project-brief/references/docs/autonomy-contract.md +412 -0
- package/assets/skills/oat-project-brief/references/docs/gate-approval-record.md +93 -0
- package/assets/skills/oat-project-capture/SKILL.md +2 -2
- package/assets/skills/oat-project-complete/SKILL.md +16 -2
- package/assets/skills/oat-project-discover/SKILL.md +4 -2
- package/assets/skills/oat-project-dispatch-subagents/SKILL.md +9 -1
- package/assets/skills/oat-project-document/SKILL.md +17 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +156 -122
- package/assets/skills/oat-project-goal/SKILL.md +697 -0
- package/assets/skills/oat-project-goal/references/docs/autonomy-contract.md +412 -0
- package/assets/skills/oat-project-goal/references/docs/gate-approval-record.md +93 -0
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +107 -0
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +156 -122
- package/assets/skills/oat-project-implement/references/docs/gate-approval-record.md +13 -0
- package/assets/skills/oat-project-implement/references/phase-execution.md +173 -1
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +124 -3
- package/assets/skills/oat-project-import-plan/SKILL.md +5 -1
- package/assets/skills/oat-project-lite/SKILL.md +4 -1
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +156 -122
- package/assets/skills/oat-project-new/SKILL.md +5 -1
- package/assets/skills/oat-project-next/SKILL.md +71 -14
- package/assets/skills/oat-project-next/references/docs/gate-approval-record.md +13 -0
- package/assets/skills/oat-project-plan/SKILL.md +24 -3
- package/assets/skills/oat-project-plan-writing/SKILL.md +8 -4
- package/assets/skills/oat-project-pr-final/SKILL.md +65 -3
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +156 -122
- package/assets/skills/oat-project-pr-progress/SKILL.md +125 -4
- package/assets/skills/oat-project-progress/SKILL.md +63 -8
- package/assets/skills/oat-project-progress/references/docs/gate-approval-record.md +13 -0
- package/assets/skills/oat-project-promote-spec-driven/SKILL.md +2 -2
- package/assets/skills/oat-project-quick-start/SKILL.md +65 -1
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +156 -122
- package/assets/skills/oat-project-quick-start/references/docs/gate-approval-record.md +13 -0
- package/assets/skills/oat-project-reconcile/SKILL.md +94 -3
- package/assets/skills/oat-project-review-provide/SKILL.md +397 -12
- package/assets/skills/oat-project-review-receive/SKILL.md +155 -1
- package/assets/skills/oat-project-revise/SKILL.md +51 -4
- package/assets/skills/oat-project-summary/SKILL.md +150 -2
- package/assets/skills/oat-wave-execute/SKILL.md +3 -2
- package/assets/templates/implementation-brief.md +165 -0
- package/assets/templates/plan-brief.md +140 -0
- package/assets/templates/plan.md +1 -1
- package/assets/templates/state.md +8 -2
- package/dist/commands/project/closeout-check/closeout-invariant.d.ts +119 -3
- package/dist/commands/project/closeout-check/closeout-invariant.d.ts.map +1 -1
- package/dist/commands/project/closeout-check/closeout-invariant.js +454 -2
- package/dist/commands/project/closeout-check/index.d.ts +21 -3
- package/dist/commands/project/closeout-check/index.d.ts.map +1 -1
- package/dist/commands/project/closeout-check/index.js +190 -4
- package/dist/commands/project/complete-state/index.d.ts +2 -1
- package/dist/commands/project/complete-state/index.d.ts.map +1 -1
- package/dist/commands/project/complete-state/index.js +7 -1
- package/dist/commands/project/delivery/check.d.ts +66 -0
- package/dist/commands/project/delivery/check.d.ts.map +1 -0
- package/dist/commands/project/delivery/check.js +232 -0
- package/dist/commands/project/delivery/evidence.d.ts +171 -0
- package/dist/commands/project/delivery/evidence.d.ts.map +1 -0
- package/dist/commands/project/delivery/evidence.js +902 -0
- package/dist/commands/project/delivery/index.d.ts +7 -0
- package/dist/commands/project/delivery/index.d.ts.map +1 -0
- package/dist/commands/project/delivery/index.js +13 -0
- package/dist/commands/project/delivery/refresh.d.ts +110 -0
- package/dist/commands/project/delivery/refresh.d.ts.map +1 -0
- package/dist/commands/project/delivery/refresh.js +441 -0
- package/dist/commands/project/index.d.ts.map +1 -1
- package/dist/commands/project/index.js +2 -0
- package/dist/commands/project/log/append.d.ts +6 -0
- package/dist/commands/project/log/append.d.ts.map +1 -1
- package/dist/commands/project/log/append.js +6 -1
- package/dist/commands/project/new/scaffold.d.ts +1 -1
- package/dist/commands/project/new/scaffold.d.ts.map +1 -1
- package/dist/commands/project/new/scaffold.js +81 -7
- package/dist/commands/project/promote/promote.d.ts +46 -1
- package/dist/commands/project/promote/promote.d.ts.map +1 -1
- package/dist/commands/project/promote/promote.js +646 -5
- package/dist/commands/project/validate-plan/frontmatter.d.ts +12 -0
- package/dist/commands/project/validate-plan/frontmatter.d.ts.map +1 -0
- package/dist/commands/project/validate-plan/frontmatter.js +27 -0
- package/dist/commands/project/validate-plan/index.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/index.js +62 -18
- package/dist/commands/project/validate-plan/profiles.d.ts +69 -0
- package/dist/commands/project/validate-plan/profiles.d.ts.map +1 -0
- package/dist/commands/project/validate-plan/profiles.js +420 -0
- package/dist/commands/project/validate-plan/validate-plan.d.ts +3 -19
- package/dist/commands/project/validate-plan/validate-plan.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/validate-plan.js +5 -82
- package/dist/commands/shared/frontmatter.d.ts +1 -1
- package/dist/commands/shared/frontmatter.d.ts.map +1 -1
- package/dist/commands/shared/frontmatter.js +2 -0
- package/dist/commands/state/generate.d.ts.map +1 -1
- package/dist/commands/state/generate.js +82 -2
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +4 -0
- package/package.json +2 -2
|
@@ -1,28 +1,12 @@
|
|
|
1
|
-
export type FrontmatterResult
|
|
2
|
-
|
|
3
|
-
data: Record<string, unknown>;
|
|
4
|
-
} | {
|
|
5
|
-
kind: 'no-frontmatter';
|
|
6
|
-
data: Record<string, unknown>;
|
|
7
|
-
} | {
|
|
8
|
-
kind: 'invalid';
|
|
9
|
-
message: string;
|
|
10
|
-
};
|
|
11
|
-
export declare function parseFrontmatterFromContent(content: string): FrontmatterResult;
|
|
1
|
+
export { parseFrontmatterFromContent, type FrontmatterResult, } from './frontmatter.js';
|
|
2
|
+
export { extractPhaseIds, resolvePlanProfile, validateLitePlan, validatePlanForProfile, type LitePlanValidationResult, type PlanProfile, type ValidationContext, type ValidationIssue, } from './profiles.js';
|
|
12
3
|
export type ValidationResult = {
|
|
13
4
|
valid: true;
|
|
14
5
|
} | {
|
|
15
6
|
valid: false;
|
|
16
7
|
errors: string[];
|
|
17
8
|
};
|
|
18
|
-
export type LitePlanValidationResult = {
|
|
19
|
-
ok: true;
|
|
20
|
-
} | {
|
|
21
|
-
ok: false;
|
|
22
|
-
code: 'lite-multi-phase' | 'lite-parallel-groups' | 'lite-criterion-without-command';
|
|
23
|
-
message: string;
|
|
24
|
-
};
|
|
25
|
-
export declare function validateLitePlan(planContent: string, workflowMode: string | null | undefined): LitePlanValidationResult;
|
|
26
9
|
export declare function validateParallelGroups(groups: unknown, phaseIds: readonly string[]): ValidationResult;
|
|
10
|
+
/** Task-profile phase ids: unique task-heading phase ids, sorted. */
|
|
27
11
|
export declare function extractPhaseIdsFromPlan(planContent: string): string[];
|
|
28
12
|
//# sourceMappingURL=validate-plan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-plan.d.ts","sourceRoot":"","sources":["../../../../src/commands/project/validate-plan/validate-plan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate-plan.d.ts","sourceRoot":"","sources":["../../../../src/commands/project/validate-plan/validate-plan.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GACxB;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACf;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,gBAAgB,CAgDlB;AAED,qEAAqE;AACrE,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAErE"}
|
|
@@ -1,79 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
const match = content.match(FRONTMATTER_PATTERN);
|
|
5
|
-
if (!match?.[1]) {
|
|
6
|
-
return { kind: 'no-frontmatter', data: {} };
|
|
7
|
-
}
|
|
8
|
-
try {
|
|
9
|
-
const parsed = YAML.parse(match[1]);
|
|
10
|
-
if (parsed !== null &&
|
|
11
|
-
typeof parsed === 'object' &&
|
|
12
|
-
!Array.isArray(parsed)) {
|
|
13
|
-
return { kind: 'ok', data: parsed };
|
|
14
|
-
}
|
|
15
|
-
return {
|
|
16
|
-
kind: 'invalid',
|
|
17
|
-
message: 'Frontmatter did not parse as an object',
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
catch (err) {
|
|
21
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
22
|
-
return {
|
|
23
|
-
kind: 'invalid',
|
|
24
|
-
message: `Malformed YAML in frontmatter: ${message}`,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function validationCriteria(planContent) {
|
|
29
|
-
const heading = /^## Validation Criteria[ \t]*$/m.exec(planContent);
|
|
30
|
-
if (!heading)
|
|
31
|
-
return null;
|
|
32
|
-
const bodyStart = heading.index + heading[0].length;
|
|
33
|
-
const remaining = planContent.slice(bodyStart);
|
|
34
|
-
const nextHeading = /^##\s+/m.exec(remaining);
|
|
35
|
-
const body = remaining.slice(0, nextHeading?.index ?? remaining.length);
|
|
36
|
-
return body
|
|
37
|
-
.split('\n')
|
|
38
|
-
.filter((line) => /^\s*-\s+/.test(line))
|
|
39
|
-
.map((line) => line.replace(/^\s*-\s+(?:\[[ xX]\]\s*)?/, '').trim());
|
|
40
|
-
}
|
|
41
|
-
export function validateLitePlan(planContent, workflowMode) {
|
|
42
|
-
if (workflowMode !== 'lite') {
|
|
43
|
-
return { ok: true };
|
|
44
|
-
}
|
|
45
|
-
const phaseCount = planContent.match(/^## Phase\b.*$/gm)?.length ?? 0;
|
|
46
|
-
if (phaseCount !== 1) {
|
|
47
|
-
return {
|
|
48
|
-
ok: false,
|
|
49
|
-
code: 'lite-multi-phase',
|
|
50
|
-
message: `Lite plans must contain exactly one phase; found ${phaseCount}.`,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
const frontmatter = parseFrontmatterFromContent(planContent);
|
|
54
|
-
const groups = frontmatter.kind === 'invalid'
|
|
55
|
-
? undefined
|
|
56
|
-
: frontmatter.data['oat_plan_parallel_groups'];
|
|
57
|
-
if (groups !== undefined &&
|
|
58
|
-
groups !== null &&
|
|
59
|
-
!(Array.isArray(groups) && groups.length === 0)) {
|
|
60
|
-
return {
|
|
61
|
-
ok: false,
|
|
62
|
-
code: 'lite-parallel-groups',
|
|
63
|
-
message: 'Lite plans must declare no parallel groups.',
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
const criteria = validationCriteria(planContent);
|
|
67
|
-
const invalidCriterion = criteria?.find((criterion) => !criterion.startsWith('manual:') && !/`[^`\n]+`/.test(criterion));
|
|
68
|
-
if (!criteria || criteria.length === 0 || invalidCriterion !== undefined) {
|
|
69
|
-
return {
|
|
70
|
-
ok: false,
|
|
71
|
-
code: 'lite-criterion-without-command',
|
|
72
|
-
message: 'Every lite Validation Criteria bullet must name a command in backticks or start with manual: after the bullet marker.',
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
return { ok: true };
|
|
76
|
-
}
|
|
1
|
+
import { extractPhaseIds } from './profiles.js';
|
|
2
|
+
export { parseFrontmatterFromContent, } from './frontmatter.js';
|
|
3
|
+
export { extractPhaseIds, resolvePlanProfile, validateLitePlan, validatePlanForProfile, } from './profiles.js';
|
|
77
4
|
export function validateParallelGroups(groups, phaseIds) {
|
|
78
5
|
// Missing or empty → valid (sequential execution, no parallelism declared)
|
|
79
6
|
if (groups === undefined || groups === null) {
|
|
@@ -116,11 +43,7 @@ export function validateParallelGroups(groups, phaseIds) {
|
|
|
116
43
|
}
|
|
117
44
|
return errors.length > 0 ? { valid: false, errors } : { valid: true };
|
|
118
45
|
}
|
|
46
|
+
/** Task-profile phase ids: unique task-heading phase ids, sorted. */
|
|
119
47
|
export function extractPhaseIdsFromPlan(planContent) {
|
|
120
|
-
|
|
121
|
-
const ids = matches.map((m) => {
|
|
122
|
-
const parts = m.split(' ');
|
|
123
|
-
return parts[2].split('-')[0];
|
|
124
|
-
});
|
|
125
|
-
return Array.from(new Set(ids)).sort();
|
|
48
|
+
return extractPhaseIds(planContent, 'task');
|
|
126
49
|
}
|
|
@@ -24,7 +24,7 @@ export declare const SKILL_GATE_OVERRIDE_SOURCE = "state.md:oat_skill_gate_overr
|
|
|
24
24
|
* `skills.test.ts` pins this constant against the live `oat_gateable: true`
|
|
25
25
|
* declarations so the two cannot drift apart.
|
|
26
26
|
*/
|
|
27
|
-
export declare const GATE_AWARE_SKILLS: readonly ['oat-project-implement', 'oat-project-import-plan', 'oat-project-lite', 'oat-project-plan', 'oat-project-quick-start'];
|
|
27
|
+
export declare const GATE_AWARE_SKILLS: readonly ['oat-project-brief', 'oat-project-goal', 'oat-project-implement', 'oat-project-import-plan', 'oat-project-lite', 'oat-project-plan', 'oat-project-quick-start'];
|
|
28
28
|
export type SkillGateOverrideValue = typeof SKILL_GATE_OVERRIDE_DISABLED;
|
|
29
29
|
export interface ProjectSkillGateOverrides {
|
|
30
30
|
/** False when the key is absent entirely: absence means follow configuration. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/frontmatter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/frontmatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,8 @@ export const SKILL_GATE_OVERRIDE_SOURCE = `state.md:${SKILL_GATE_OVERRIDE_FIELD}
|
|
|
69
69
|
* declarations so the two cannot drift apart.
|
|
70
70
|
*/
|
|
71
71
|
export const GATE_AWARE_SKILLS = [
|
|
72
|
+
'oat-project-brief',
|
|
73
|
+
'oat-project-goal',
|
|
72
74
|
'oat-project-implement',
|
|
73
75
|
'oat-project-import-plan',
|
|
74
76
|
'oat-project-lite',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/state/generate.ts"],"names":[],"mappings":"AAQA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/state/generate.ts"],"names":[],"mappings":"AAQA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAoB9E,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AA0ID,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAC/B,OAAO,CAET;AA8rBD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAkF9B"}
|
|
@@ -11,7 +11,7 @@ import { resolveProjectsRoot } from '../shared/oat-paths.js';
|
|
|
11
11
|
import { resolveScopeRoot } from '../shared/project-scope.js';
|
|
12
12
|
import { readOatLocalConfig } from '../../config/oat-config.js';
|
|
13
13
|
import { ensureDir, fileExists } from '../../fs/io.js';
|
|
14
|
-
import { evaluateQuickPlanReadiness, quickPlanNotReadyReason, } from '@open-agent-toolkit/control-plane';
|
|
14
|
+
import { BRIEF_MODES, evaluateQuickPlanReadiness, quickPlanNotReadyReason, } from '@open-agent-toolkit/control-plane';
|
|
15
15
|
import YAML from 'yaml';
|
|
16
16
|
const defaultGit = {
|
|
17
17
|
isGitRepo(root) {
|
|
@@ -238,6 +238,34 @@ function calculateStaleness(knowledge, git, repoRoot, today) {
|
|
|
238
238
|
}
|
|
239
239
|
return result;
|
|
240
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* True when the frontmatter workflow mode belongs to the brief mode family.
|
|
243
|
+
* The dashboard keeps the raw frontmatter string, so it checks membership
|
|
244
|
+
* against the control plane's registry rather than a local list.
|
|
245
|
+
*/
|
|
246
|
+
function isBriefWorkflow(workflowMode) {
|
|
247
|
+
return BRIEF_MODES.includes(workflowMode);
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Printed for brief projects in the implement phase, where the router's
|
|
251
|
+
* brief-unit guard applies. The dashboard reads `state.md` frontmatter only
|
|
252
|
+
* and never phase-unit progress, so it cannot apply that guard at
|
|
253
|
+
* `implement:complete`/`pr_open`.
|
|
254
|
+
*/
|
|
255
|
+
const BRIEF_ROUTER_AUTHORITY_NOTE = '> Brief projects count progress in phase-units, which this dashboard does not read. ' +
|
|
256
|
+
'`oat project status` and `oat-project-next` use the control-plane router, which is the ' +
|
|
257
|
+
'authority for the brief-unit guard: an unaccepted phase-unit sends the project back to ' +
|
|
258
|
+
'`oat-project-implement` before any finalization step.';
|
|
259
|
+
/**
|
|
260
|
+
* Printed for goal projects in the implement phase. Goal routing reads
|
|
261
|
+
* milestone membership, recovery records, gate carriers, the delivery
|
|
262
|
+
* registry and phase-unit progress, none of which this dashboard reads.
|
|
263
|
+
*/
|
|
264
|
+
const GOAL_ROUTER_AUTHORITY_NOTE = '> Goal projects route by milestone status, recovery records, gate carriers, the delivery ' +
|
|
265
|
+
'registry and phase-units, which this dashboard does not read. `oat project status` and ' +
|
|
266
|
+
'`oat-project-next` use the control-plane router, which is the authority for goal milestone ' +
|
|
267
|
+
'routing: it scopes implementation to the active milestone and sends review, delivery and ' +
|
|
268
|
+
'recovery work to its owner.';
|
|
241
269
|
function computeNextStep(project, hasProjects, state) {
|
|
242
270
|
if (project.status === 'not set') {
|
|
243
271
|
if (project.lastPausedProject) {
|
|
@@ -283,11 +311,17 @@ function computeNextStep(project, hasProjects, state) {
|
|
|
283
311
|
// projects whose state.md still lists `spec` in oat_hill_checkpoints route
|
|
284
312
|
// to oat-project-design here so they finish through the consolidated flow
|
|
285
313
|
// rather than being pushed back at the deprecated standalone skill.
|
|
314
|
+
// Brief modes own their plan phase through the brief entry skill, as the
|
|
315
|
+
// router's mode-aware current-phase lookup does.
|
|
286
316
|
const phaseSkillMap = {
|
|
287
317
|
discovery: 'oat-project-discover',
|
|
288
318
|
spec: 'oat-project-design',
|
|
289
319
|
design: 'oat-project-design',
|
|
290
|
-
plan: '
|
|
320
|
+
plan: state.workflowMode === 'goal'
|
|
321
|
+
? 'oat-project-goal'
|
|
322
|
+
: isBriefWorkflow(state.workflowMode)
|
|
323
|
+
? 'oat-project-brief'
|
|
324
|
+
: 'oat-project-plan',
|
|
291
325
|
implement: 'oat-project-implement',
|
|
292
326
|
};
|
|
293
327
|
return {
|
|
@@ -366,6 +400,41 @@ function computeNextStep(project, hasProjects, state) {
|
|
|
366
400
|
step: 'oat-project-lite',
|
|
367
401
|
reason: 'Continue lite planning',
|
|
368
402
|
},
|
|
403
|
+
// Brief routes mirror the router's BRIEF_ROUTES. Parity with
|
|
404
|
+
// `recommendSkill` is bounded to these plan-phase states and
|
|
405
|
+
// `implement:in_progress` (generate.test.ts pins it): this dashboard has no
|
|
406
|
+
// phase-unit progress, so at `implement:complete`/`pr_open` a brief follows
|
|
407
|
+
// the shared post-implementation map below and the router, reached through
|
|
408
|
+
// `oat project status` and `oat-project-next`, is the authority for the
|
|
409
|
+
// brief-unit guard. The dashboard prints a note saying so.
|
|
410
|
+
'brief:plan:in_progress': {
|
|
411
|
+
step: 'oat-project-brief',
|
|
412
|
+
reason: 'Continue the project brief',
|
|
413
|
+
},
|
|
414
|
+
'brief:plan:complete': {
|
|
415
|
+
step: 'oat-project-implement',
|
|
416
|
+
reason: 'Start implementation from the approved brief',
|
|
417
|
+
},
|
|
418
|
+
'brief:implement:in_progress': {
|
|
419
|
+
step: 'oat-project-implement',
|
|
420
|
+
reason: 'Continue implementation',
|
|
421
|
+
},
|
|
422
|
+
// Goal plan rows mirror the router's GOAL_ROUTES: the goal entry skill
|
|
423
|
+
// owns the brief, its milestones and milestone activation. Parity is
|
|
424
|
+
// bounded like brief's; in the implement phase the router's goal priority
|
|
425
|
+
// block is the authority and the dashboard prints a note saying so.
|
|
426
|
+
'goal:plan:in_progress': {
|
|
427
|
+
step: 'oat-project-goal',
|
|
428
|
+
reason: 'Continue the goal brief and its milestones',
|
|
429
|
+
},
|
|
430
|
+
'goal:plan:complete': {
|
|
431
|
+
step: 'oat-project-goal',
|
|
432
|
+
reason: 'Align and activate the first milestone',
|
|
433
|
+
},
|
|
434
|
+
'goal:implement:in_progress': {
|
|
435
|
+
step: 'oat-project-implement',
|
|
436
|
+
reason: 'Continue implementation',
|
|
437
|
+
},
|
|
369
438
|
};
|
|
370
439
|
if (routeMap[key])
|
|
371
440
|
return routeMap[key];
|
|
@@ -563,6 +632,15 @@ function buildDashboardMarkdown(project, state, knowledge, staleness, nextStep,
|
|
|
563
632
|
lines.push('');
|
|
564
633
|
lines.push(`**${nextStep.step}** - ${nextStep.reason}`);
|
|
565
634
|
lines.push('');
|
|
635
|
+
if (project.status === 'active' &&
|
|
636
|
+
state &&
|
|
637
|
+
state.phase === 'implement' &&
|
|
638
|
+
isBriefWorkflow(state.workflowMode)) {
|
|
639
|
+
lines.push(state.workflowMode === 'goal'
|
|
640
|
+
? GOAL_ROUTER_AUTHORITY_NOTE
|
|
641
|
+
: BRIEF_ROUTER_AUTHORITY_NOTE);
|
|
642
|
+
lines.push('');
|
|
643
|
+
}
|
|
566
644
|
lines.push('## Quick Commands');
|
|
567
645
|
lines.push('');
|
|
568
646
|
lines.push('- `oat-project-progress` - Check current status');
|
|
@@ -571,6 +649,8 @@ function buildDashboardMarkdown(project, state, knowledge, staleness, nextStep,
|
|
|
571
649
|
lines.push('- `oat-project-quick-start` - Create a quick workflow project');
|
|
572
650
|
lines.push('- `oat-project-import-plan` - Import an external provider plan');
|
|
573
651
|
lines.push('- `oat-project-lite` - Create a lite workflow project');
|
|
652
|
+
lines.push('- `oat-project-brief` - Create a brief workflow project');
|
|
653
|
+
lines.push('- `oat-project-goal` - Create a goal workflow project');
|
|
574
654
|
lines.push('- `oat project open <name>` - Open or resume a project');
|
|
575
655
|
lines.push('- `oat project pause [name]` - Pause active or named project');
|
|
576
656
|
lines.push('- `oat-project-complete` - Mark project complete');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack-manifest.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/shared/pack-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,GACf,CAAC;AAEF,eAAO,MAAM,UAAU,4GASiB,CAAC;AAEzC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;
|
|
1
|
+
{"version":3,"file":"pack-manifest.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/shared/pack-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,GACf,CAAC;AAEF,eAAO,MAAM,UAAU,4GASiB,CAAC;AAEzC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAsID,eAAO,MAAM,aAAa,EAAE,SAAS,cAAc,EA6LlD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CAMhE;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,aAAa,GACnB,SAAS,mBAAmB,EAAE,CAGhC;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAC9C,MAAM,EAAE,CAQV;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAIlE;AAoJD,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,SAAS,cAAc,EAAkB,GAClD,IAAI,CAiEN"}
|
|
@@ -77,6 +77,7 @@ const WORKFLOW_SKILL_NAMES = [
|
|
|
77
77
|
'oat-cursor-cloud-projects',
|
|
78
78
|
'oat-explainer-kit',
|
|
79
79
|
'oat-project-autonomous',
|
|
80
|
+
'oat-project-brief',
|
|
80
81
|
'oat-project-capture',
|
|
81
82
|
'oat-project-clear-active',
|
|
82
83
|
'oat-project-complete',
|
|
@@ -85,6 +86,7 @@ const WORKFLOW_SKILL_NAMES = [
|
|
|
85
86
|
'oat-project-dispatch-subagents',
|
|
86
87
|
'oat-project-discover',
|
|
87
88
|
'oat-project-document',
|
|
89
|
+
'oat-project-goal',
|
|
88
90
|
'oat-project-implement',
|
|
89
91
|
'oat-project-import-plan',
|
|
90
92
|
'oat-project-lite',
|
|
@@ -193,7 +195,9 @@ export const PACK_MANIFEST = [
|
|
|
193
195
|
'design.md',
|
|
194
196
|
'plan.md',
|
|
195
197
|
'plan-lite.md',
|
|
198
|
+
'plan-brief.md',
|
|
196
199
|
'implementation.md',
|
|
200
|
+
'implementation-brief.md',
|
|
197
201
|
'summary.md',
|
|
198
202
|
'project-log.md',
|
|
199
203
|
'project-retro.md',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-agent-toolkit/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.20",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Open Agent Toolkit CLI",
|
|
6
6
|
"homepage": "https://github.com/voxmedia/open-agent-toolkit/tree/main/packages/cli",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"ora": "^9.0.0",
|
|
36
36
|
"yaml": "2.8.2",
|
|
37
37
|
"zod": "^3.25.76",
|
|
38
|
-
"@open-agent-toolkit/control-plane": "0.3.
|
|
38
|
+
"@open-agent-toolkit/control-plane": "0.3.20"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "^22.10.0",
|