@seanmars/tospec 0.19.0-beta.6 → 0.19.0-beta.8
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/CHANGELOG.md +137 -0
- package/assets/dashboard/app.js +3 -3
- package/assets/rules/tospec/decision.md +3 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +205 -36
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +151 -23
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dashboard.d.ts +34 -9
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +213 -21
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/decision.d.ts +11 -0
- package/dist/commands/decision.d.ts.map +1 -1
- package/dist/commands/decision.js +182 -20
- package/dist/commands/decision.js.map +1 -1
- package/dist/commands/shared-output.d.ts +12 -0
- package/dist/commands/shared-output.d.ts.map +1 -1
- package/dist/commands/shared-output.js +50 -1
- package/dist/commands/shared-output.js.map +1 -1
- package/dist/commands/show.d.ts +10 -0
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +23 -4
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/validate.d.ts +41 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +95 -17
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/workflow/index.d.ts +5 -5
- package/dist/commands/workflow/index.d.ts.map +1 -1
- package/dist/commands/workflow/index.js +5 -5
- package/dist/commands/workflow/index.js.map +1 -1
- package/dist/commands/workflow/instructions.d.ts +23 -0
- package/dist/commands/workflow/instructions.d.ts.map +1 -1
- package/dist/commands/workflow/instructions.js +84 -16
- package/dist/commands/workflow/instructions.js.map +1 -1
- package/dist/commands/workflow/new-change.d.ts +2 -0
- package/dist/commands/workflow/new-change.d.ts.map +1 -1
- package/dist/commands/workflow/new-change.js +32 -4
- package/dist/commands/workflow/new-change.js.map +1 -1
- package/dist/commands/workflow/schemas.d.ts +2 -0
- package/dist/commands/workflow/schemas.d.ts.map +1 -1
- package/dist/commands/workflow/schemas.js +38 -1
- package/dist/commands/workflow/schemas.js.map +1 -1
- package/dist/commands/workflow/shared.d.ts +34 -2
- package/dist/commands/workflow/shared.d.ts.map +1 -1
- package/dist/commands/workflow/shared.js +37 -3
- package/dist/commands/workflow/shared.js.map +1 -1
- package/dist/commands/workflow/status.d.ts +14 -0
- package/dist/commands/workflow/status.d.ts.map +1 -1
- package/dist/commands/workflow/status.js +65 -8
- package/dist/commands/workflow/status.js.map +1 -1
- package/dist/commands/workflow/templates.d.ts +7 -0
- package/dist/commands/workflow/templates.d.ts.map +1 -1
- package/dist/commands/workflow/templates.js +13 -0
- package/dist/commands/workflow/templates.js.map +1 -1
- package/dist/core/archive.d.ts +14 -0
- package/dist/core/archive.d.ts.map +1 -1
- package/dist/core/archive.js +169 -18
- package/dist/core/archive.js.map +1 -1
- package/dist/core/artifact-graph/graph.d.ts +13 -3
- package/dist/core/artifact-graph/graph.d.ts.map +1 -1
- package/dist/core/artifact-graph/graph.js +16 -6
- package/dist/core/artifact-graph/graph.js.map +1 -1
- package/dist/core/artifact-graph/index.d.ts +1 -1
- package/dist/core/artifact-graph/index.d.ts.map +1 -1
- package/dist/core/artifact-graph/index.js +1 -1
- package/dist/core/artifact-graph/index.js.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.d.ts +74 -3
- package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.js +79 -31
- package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
- package/dist/core/artifact-graph/resolver.d.ts +26 -0
- package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
- package/dist/core/artifact-graph/resolver.js +44 -4
- package/dist/core/artifact-graph/resolver.js.map +1 -1
- package/dist/core/artifact-graph/stub-detection.d.ts +20 -0
- package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -0
- package/dist/core/artifact-graph/stub-detection.js +42 -0
- package/dist/core/artifact-graph/stub-detection.js.map +1 -0
- package/dist/core/change-presenter.d.ts +16 -0
- package/dist/core/change-presenter.d.ts.map +1 -1
- package/dist/core/change-presenter.js +68 -9
- package/dist/core/change-presenter.js.map +1 -1
- package/dist/core/change-status-policy.d.ts +12 -1
- package/dist/core/change-status-policy.d.ts.map +1 -1
- package/dist/core/change-status-policy.js +33 -1
- package/dist/core/change-status-policy.js.map +1 -1
- package/dist/core/codex-residue.js +1 -1
- package/dist/core/config-schema.d.ts +1 -12
- package/dist/core/config-schema.d.ts.map +1 -1
- package/dist/core/config-schema.js +27 -1
- package/dist/core/config-schema.js.map +1 -1
- package/dist/core/config.d.ts +37 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +37 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/dashboard-activity.js +2 -2
- package/dist/core/dashboard-activity.js.map +1 -1
- package/dist/core/dashboard-data.d.ts +5 -0
- package/dist/core/dashboard-data.d.ts.map +1 -1
- package/dist/core/dashboard-data.js +15 -8
- package/dist/core/dashboard-data.js.map +1 -1
- package/dist/core/init.d.ts +22 -0
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +107 -45
- package/dist/core/init.js.map +1 -1
- package/dist/core/list.d.ts +1 -1
- package/dist/core/list.d.ts.map +1 -1
- package/dist/core/list.js +68 -17
- package/dist/core/list.js.map +1 -1
- package/dist/core/markdown-render.d.ts +33 -0
- package/dist/core/markdown-render.d.ts.map +1 -0
- package/dist/core/markdown-render.js +103 -0
- package/dist/core/markdown-render.js.map +1 -0
- package/dist/core/migrate.d.ts +20 -6
- package/dist/core/migrate.d.ts.map +1 -1
- package/dist/core/migrate.js +102 -6
- package/dist/core/migrate.js.map +1 -1
- package/dist/core/parsers/change-parser.js +1 -1
- package/dist/core/parsers/change-parser.js.map +1 -1
- package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
- package/dist/core/parsers/markdown-parser.js +16 -0
- package/dist/core/parsers/markdown-parser.js.map +1 -1
- package/dist/core/parsers/requirement-blocks.js +32 -9
- package/dist/core/parsers/requirement-blocks.js.map +1 -1
- package/dist/core/root-selection.d.ts +11 -1
- package/dist/core/root-selection.d.ts.map +1 -1
- package/dist/core/root-selection.js +4 -2
- package/dist/core/root-selection.js.map +1 -1
- package/dist/core/rules.d.ts +6 -1
- package/dist/core/rules.d.ts.map +1 -1
- package/dist/core/rules.js +24 -2
- package/dist/core/rules.js.map +1 -1
- package/dist/core/schemas/base.schema.d.ts +3 -0
- package/dist/core/schemas/base.schema.d.ts.map +1 -1
- package/dist/core/schemas/base.schema.js +22 -0
- package/dist/core/schemas/base.schema.js.map +1 -1
- package/dist/core/schemas/change.schema.d.ts +8 -0
- package/dist/core/schemas/change.schema.d.ts.map +1 -1
- package/dist/core/schemas/spec.schema.d.ts +2 -0
- package/dist/core/schemas/spec.schema.d.ts.map +1 -1
- package/dist/core/shared/index.d.ts +1 -1
- package/dist/core/shared/index.d.ts.map +1 -1
- package/dist/core/shared/index.js +1 -1
- package/dist/core/shared/index.js.map +1 -1
- package/dist/core/shared/rules-generation.d.ts +27 -6
- package/dist/core/shared/rules-generation.d.ts.map +1 -1
- package/dist/core/shared/rules-generation.js +115 -44
- package/dist/core/shared/rules-generation.js.map +1 -1
- package/dist/core/shared/tool-detection.d.ts +19 -0
- package/dist/core/shared/tool-detection.d.ts.map +1 -1
- package/dist/core/shared/tool-detection.js +30 -2
- package/dist/core/shared/tool-detection.js.map +1 -1
- package/dist/core/spec-presenter.d.ts.map +1 -1
- package/dist/core/spec-presenter.js +5 -0
- package/dist/core/spec-presenter.js.map +1 -1
- package/dist/core/specs-apply.d.ts +15 -1
- package/dist/core/specs-apply.d.ts.map +1 -1
- package/dist/core/specs-apply.js +33 -11
- package/dist/core/specs-apply.js.map +1 -1
- package/dist/core/templates/workflows/apply.js +1 -1
- package/dist/core/templates/workflows/apply.js.map +1 -1
- package/dist/core/templates/workflows/archive.d.ts.map +1 -1
- package/dist/core/templates/workflows/archive.js +4 -2
- package/dist/core/templates/workflows/archive.js.map +1 -1
- package/dist/core/templates/workflows/decision.js +1 -1
- package/dist/core/templates/workflows/issue.d.ts.map +1 -1
- package/dist/core/templates/workflows/issue.js +3 -0
- package/dist/core/templates/workflows/issue.js.map +1 -1
- package/dist/core/update.d.ts +26 -0
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +111 -23
- package/dist/core/update.js.map +1 -1
- package/dist/core/validation/constants.d.ts +1 -1
- package/dist/core/validation/constants.d.ts.map +1 -1
- package/dist/core/validation/constants.js +6 -1
- package/dist/core/validation/constants.js.map +1 -1
- package/dist/core/validation/section-validator.d.ts.map +1 -1
- package/dist/core/validation/section-validator.js +21 -3
- package/dist/core/validation/section-validator.js.map +1 -1
- package/dist/core/validation/validator.d.ts +17 -4
- package/dist/core/validation/validator.d.ts.map +1 -1
- package/dist/core/validation/validator.js +120 -34
- package/dist/core/validation/validator.js.map +1 -1
- package/dist/utils/change-utils.d.ts +31 -2
- package/dist/utils/change-utils.d.ts.map +1 -1
- package/dist/utils/change-utils.js +127 -37
- package/dist/utils/change-utils.js.map +1 -1
- package/dist/utils/file-system.d.ts +1 -1
- package/dist/utils/file-system.js +1 -1
- package/dist/utils/item-discovery.d.ts +20 -5
- package/dist/utils/item-discovery.d.ts.map +1 -1
- package/dist/utils/item-discovery.js +28 -9
- package/dist/utils/item-discovery.js.map +1 -1
- package/dist/utils/spec-files.d.ts +12 -0
- package/dist/utils/spec-files.d.ts.map +1 -1
- package/dist/utils/spec-files.js +34 -0
- package/dist/utils/spec-files.js.map +1 -1
- package/dist/utils/task-progress.js +1 -1
- package/package.json +1 -1
- package/schemas/decision/templates/decision.md +3 -1
- package/schemas/decision/templates/index.md +2 -2
- package/schemas/issue/schema.yaml +4 -2
- package/schemas/issue/templates/spec.md +20 -2
- package/schemas/sdd/schema.yaml +4 -0
- package/schemas/sdd/templates/spec.md +20 -2
- /package/assets/rules/tospec/{single-sourc-of-truth.md → single-source-of-truth.md} +0 -0
|
@@ -10,6 +10,19 @@ interface ExecuteOptions {
|
|
|
10
10
|
interactive?: boolean;
|
|
11
11
|
concurrency?: string;
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* The one null-shape every `validate --json` failure carries.
|
|
15
|
+
*
|
|
16
|
+
* `items` and `summary` are both keys of the success payload, so both have to
|
|
17
|
+
* appear nulled on every failure path. Spelled once because they did not:
|
|
18
|
+
* `validate nope` omitted `summary`, the no-root path omitted `root`, and an
|
|
19
|
+
* agent reading `result.summary.totals` got `undefined` from one failure and
|
|
20
|
+
* `null` from another.
|
|
21
|
+
*/
|
|
22
|
+
export declare const VALIDATE_FAILURE_PAYLOAD: {
|
|
23
|
+
readonly items: null;
|
|
24
|
+
readonly summary: null;
|
|
25
|
+
};
|
|
13
26
|
export declare class ValidateCommand {
|
|
14
27
|
execute(itemName: string | undefined, options?: ExecuteOptions): Promise<void>;
|
|
15
28
|
private normalizeType;
|
|
@@ -22,10 +35,37 @@ export declare class ValidateCommand {
|
|
|
22
35
|
*/
|
|
23
36
|
private listChangeIds;
|
|
24
37
|
private runInteractiveSelector;
|
|
25
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Nothing named and no terminal to ask in.
|
|
40
|
+
*
|
|
41
|
+
* The JSON branch exists because this path used to print prose and exit 1,
|
|
42
|
+
* leaving stdout empty for a caller that passed `--json` — the one thing the
|
|
43
|
+
* envelope contract forbids. `show` already answered the identical situation
|
|
44
|
+
* with a `no_item_specified` document; this is the same answer, so an agent
|
|
45
|
+
* handling one handles the other.
|
|
46
|
+
*/
|
|
47
|
+
private reportNothingToValidate;
|
|
26
48
|
private validateDirectItem;
|
|
27
49
|
private validateByType;
|
|
28
50
|
private printReport;
|
|
51
|
+
/**
|
|
52
|
+
* Derives hints from what actually failed rather than the item type alone —
|
|
53
|
+
* every failing change used to get the same three delta hints, so a change
|
|
54
|
+
* whose only problem was e.g. a missing design.md section was told to check
|
|
55
|
+
* its delta headers instead.
|
|
56
|
+
*
|
|
57
|
+
* These three hints are about delta *content* (headers, scenarios, parsing),
|
|
58
|
+
* so they apply to an issue reported against a delta file itself: the delta
|
|
59
|
+
* validator reports those under `<capability>/spec.md`, relative to the
|
|
60
|
+
* change's specs/ dir. Three neighbouring shapes deliberately do not qualify,
|
|
61
|
+
* and the leading slash is what excludes the first two:
|
|
62
|
+
* - a misnamed file in a capability folder (`auth/extra.md`) and a delta at
|
|
63
|
+
* the specs/ root (`spec.md`) are placement errors; each message already
|
|
64
|
+
* names the exact path to rename to, so the generic bullets would be
|
|
65
|
+
* advice for a different failure;
|
|
66
|
+
* - the whole-change `file` sentinel ("No deltas found") already embeds
|
|
67
|
+
* these same three tips via `enrichTopLevelError`.
|
|
68
|
+
*/
|
|
29
69
|
private printNextSteps;
|
|
30
70
|
private runBulkValidation;
|
|
31
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AA8BrF,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;aAAK,KAAK;aAAQ,OAAO;CAAiB,CAAC;AAUhF,qBAAa,eAAe;IACpB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CvF;IAED,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;YACW,aAAa;YAKb,sBAAsB;IA8BpC;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;YAyBjB,kBAAkB;YA8ClB,cAAc;IAoB5B,OAAO,CAAC,WAAW;IAoCnB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,cAAc;YAyBR,iBAAiB;CA8IhC;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA2DjH;AAiCD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7D,OAAO,CAAC,gBAAgB,CAAC,CA2B3B;AAuCD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBjG;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAQxH;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,SAAK,GAAG,MAAM,CAG3E"}
|
|
@@ -4,6 +4,7 @@ import { Validator } from '../core/validation/validator.js';
|
|
|
4
4
|
import { validateSections } from '../core/validation/section-validator.js';
|
|
5
5
|
import { resolveSchema, getSchemaDir } from '../core/artifact-graph/resolver.js';
|
|
6
6
|
import { resolveArtifactOutputs } from '../core/artifact-graph/outputs.js';
|
|
7
|
+
import { isStubArtifactFile } from '../core/artifact-graph/stub-detection.js';
|
|
7
8
|
import { METADATA_FILENAME, readSkipSpecsMarker, resolveSchemaForChange, } from '../utils/change-metadata.js';
|
|
8
9
|
import { FileSystemUtils } from '../utils/file-system.js';
|
|
9
10
|
import { findSpecFiles } from '../utils/spec-files.js';
|
|
@@ -15,6 +16,16 @@ import { getAvailableChanges } from './workflow/shared.js';
|
|
|
15
16
|
import { nearestMatches } from '../utils/match.js';
|
|
16
17
|
import { resolveTaskFiles } from '../utils/task-progress.js';
|
|
17
18
|
import { findTaskNumberingIssues, } from '../core/validation/task-numbering.js';
|
|
19
|
+
/**
|
|
20
|
+
* The one null-shape every `validate --json` failure carries.
|
|
21
|
+
*
|
|
22
|
+
* `items` and `summary` are both keys of the success payload, so both have to
|
|
23
|
+
* appear nulled on every failure path. Spelled once because they did not:
|
|
24
|
+
* `validate nope` omitted `summary`, the no-root path omitted `root`, and an
|
|
25
|
+
* agent reading `result.summary.totals` got `undefined` from one failure and
|
|
26
|
+
* `null` from another.
|
|
27
|
+
*/
|
|
28
|
+
export const VALIDATE_FAILURE_PAYLOAD = { items: null, summary: null };
|
|
18
29
|
export class ValidateCommand {
|
|
19
30
|
async execute(itemName, options = {}) {
|
|
20
31
|
// A bulk run is the one shape that can succeed vacuously: with an implicit
|
|
@@ -27,7 +38,7 @@ export class ValidateCommand {
|
|
|
27
38
|
const root = await resolveRootForCommand(options, {
|
|
28
39
|
json: options.json,
|
|
29
40
|
...(isBulk
|
|
30
|
-
? { allowImplicitRoot: false, failurePayload: {
|
|
41
|
+
? { allowImplicitRoot: false, failurePayload: { ...VALIDATE_FAILURE_PAYLOAD, root: null } }
|
|
31
42
|
: {}),
|
|
32
43
|
});
|
|
33
44
|
if (!root) {
|
|
@@ -48,8 +59,7 @@ export class ValidateCommand {
|
|
|
48
59
|
await this.runInteractiveSelector(root, { strict: !!options.strict, json: !!options.json, concurrency: options.concurrency });
|
|
49
60
|
return;
|
|
50
61
|
}
|
|
51
|
-
this.
|
|
52
|
-
process.exitCode = 1;
|
|
62
|
+
this.reportNothingToValidate(root, !!options.json);
|
|
53
63
|
return;
|
|
54
64
|
}
|
|
55
65
|
// Direct item validation with type detection or override
|
|
@@ -105,13 +115,36 @@ export class ValidateCommand {
|
|
|
105
115
|
const picked = await select({ message: 'Pick an item', choices: items });
|
|
106
116
|
await this.validateByType(root, picked.type, picked.id, opts);
|
|
107
117
|
}
|
|
108
|
-
|
|
118
|
+
/**
|
|
119
|
+
* Nothing named and no terminal to ask in.
|
|
120
|
+
*
|
|
121
|
+
* The JSON branch exists because this path used to print prose and exit 1,
|
|
122
|
+
* leaving stdout empty for a caller that passed `--json` — the one thing the
|
|
123
|
+
* envelope contract forbids. `show` already answered the identical situation
|
|
124
|
+
* with a `no_item_specified` document; this is the same answer, so an agent
|
|
125
|
+
* handling one handles the other.
|
|
126
|
+
*/
|
|
127
|
+
reportNothingToValidate(root, json) {
|
|
128
|
+
const fix = [
|
|
129
|
+
'tospec validate --all',
|
|
130
|
+
'tospec validate --changes',
|
|
131
|
+
'tospec validate --specs',
|
|
132
|
+
'tospec validate <item-name>',
|
|
133
|
+
];
|
|
134
|
+
if (json) {
|
|
135
|
+
emitFailureStatus({ ...VALIDATE_FAILURE_PAYLOAD, root: toRootOutput(root) }, {
|
|
136
|
+
severity: 'error',
|
|
137
|
+
code: 'no_item_specified',
|
|
138
|
+
message: 'Nothing to validate.',
|
|
139
|
+
fix: fix.join('\n'),
|
|
140
|
+
});
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
109
143
|
console.error('Nothing to validate. Try one of:');
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
console.error(` ${'tospec validate --specs'}`);
|
|
113
|
-
console.error(` ${'tospec validate <item-name>'}`);
|
|
144
|
+
for (const line of fix)
|
|
145
|
+
console.error(` ${line}`);
|
|
114
146
|
console.error('Or run in an interactive terminal.');
|
|
147
|
+
process.exitCode = 1;
|
|
115
148
|
}
|
|
116
149
|
async validateDirectItem(root, itemName, opts) {
|
|
117
150
|
const [changes, specs] = await Promise.all([this.listChangeIds(root), getSpecIds(root.path)]);
|
|
@@ -124,7 +157,7 @@ export class ValidateCommand {
|
|
|
124
157
|
? `Unknown item '${itemName}'. Did you mean: ${suggestions.join(', ')}?`
|
|
125
158
|
: `Unknown item '${itemName}'.`;
|
|
126
159
|
if (opts.json) {
|
|
127
|
-
emitFailureStatus({
|
|
160
|
+
emitFailureStatus({ ...VALIDATE_FAILURE_PAYLOAD, root: toRootOutput(root) }, { severity: 'error', code: 'unknown_item', message });
|
|
128
161
|
}
|
|
129
162
|
else {
|
|
130
163
|
console.error(message);
|
|
@@ -134,7 +167,7 @@ export class ValidateCommand {
|
|
|
134
167
|
}
|
|
135
168
|
if (!opts.typeOverride && isChange && isSpec) {
|
|
136
169
|
if (opts.json) {
|
|
137
|
-
emitFailureStatus({
|
|
170
|
+
emitFailureStatus({ ...VALIDATE_FAILURE_PAYLOAD, root: toRootOutput(root) }, {
|
|
138
171
|
severity: 'error',
|
|
139
172
|
code: 'ambiguous_item',
|
|
140
173
|
message: `Ambiguous item '${itemName}' matches both a change and a spec.`,
|
|
@@ -198,21 +231,50 @@ export class ValidateCommand {
|
|
|
198
231
|
}
|
|
199
232
|
// Still failure-only: a passing item has no next step to take.
|
|
200
233
|
if (!report.valid) {
|
|
201
|
-
this.printNextSteps(type, id, root);
|
|
234
|
+
this.printNextSteps(type, id, root, report.issues);
|
|
202
235
|
}
|
|
203
236
|
}
|
|
204
|
-
|
|
237
|
+
/**
|
|
238
|
+
* Derives hints from what actually failed rather than the item type alone —
|
|
239
|
+
* every failing change used to get the same three delta hints, so a change
|
|
240
|
+
* whose only problem was e.g. a missing design.md section was told to check
|
|
241
|
+
* its delta headers instead.
|
|
242
|
+
*
|
|
243
|
+
* These three hints are about delta *content* (headers, scenarios, parsing),
|
|
244
|
+
* so they apply to an issue reported against a delta file itself: the delta
|
|
245
|
+
* validator reports those under `<capability>/spec.md`, relative to the
|
|
246
|
+
* change's specs/ dir. Three neighbouring shapes deliberately do not qualify,
|
|
247
|
+
* and the leading slash is what excludes the first two:
|
|
248
|
+
* - a misnamed file in a capability folder (`auth/extra.md`) and a delta at
|
|
249
|
+
* the specs/ root (`spec.md`) are placement errors; each message already
|
|
250
|
+
* names the exact path to rename to, so the generic bullets would be
|
|
251
|
+
* advice for a different failure;
|
|
252
|
+
* - the whole-change `file` sentinel ("No deltas found") already embeds
|
|
253
|
+
* these same three tips via `enrichTopLevelError`.
|
|
254
|
+
*/
|
|
255
|
+
printNextSteps(type, id, root, issues) {
|
|
205
256
|
const bullets = [];
|
|
206
257
|
if (type === 'change') {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
258
|
+
const hasDeltaIssue = issues.some((issue) => issue.path.endsWith('/spec.md'));
|
|
259
|
+
if (hasDeltaIssue) {
|
|
260
|
+
bullets.push('- Ensure change has deltas in specs/: use headers ## ADDED/MODIFIED/REMOVED/RENAMED Requirements');
|
|
261
|
+
bullets.push('- Each requirement MUST include at least one #### Scenario: block');
|
|
262
|
+
bullets.push(`- Debug parsed deltas: ${`tospec show ${id} --json --deltas-only`}`);
|
|
263
|
+
}
|
|
264
|
+
const hasMissingSection = issues.some((issue) => issue.message.startsWith('Missing required section'));
|
|
265
|
+
if (hasMissingSection) {
|
|
266
|
+
bullets.push('- Add the missing section(s) named above — each message names the template to copy from');
|
|
267
|
+
}
|
|
210
268
|
}
|
|
211
269
|
else {
|
|
212
270
|
bullets.push('- Ensure spec includes ## Purpose and ## Requirements sections');
|
|
213
271
|
bullets.push('- Each requirement MUST include at least one #### Scenario: block');
|
|
214
272
|
bullets.push('- Re-run with --json to see structured report');
|
|
215
273
|
}
|
|
274
|
+
// No specific hint applies: printing the old generic three bullets would
|
|
275
|
+
// be advice for a different failure, so print nothing instead.
|
|
276
|
+
if (bullets.length === 0)
|
|
277
|
+
return;
|
|
216
278
|
console.error('Next steps:');
|
|
217
279
|
bullets.forEach(b => console.error(` ${b}`));
|
|
218
280
|
}
|
|
@@ -368,10 +430,26 @@ export async function validateArtifactSections(projectRoot, changeDir) {
|
|
|
368
430
|
}
|
|
369
431
|
const schemaDir = getSchemaDir(schemaName, projectRoot);
|
|
370
432
|
for (const artifact of schema.artifacts) {
|
|
371
|
-
if (!artifact.validation)
|
|
372
|
-
continue;
|
|
373
433
|
for (const file of resolveArtifactOutputs(changeDir, artifact.generates)) {
|
|
374
434
|
const relPath = FileSystemUtils.toPosixPath(path.relative(changeDir, file));
|
|
435
|
+
// Round 4 report 4. `status` already computed this and reported `stub`;
|
|
436
|
+
// validate did not check it at all, so the command CI and agents run as
|
|
437
|
+
// the last gate before archive called a change whose proposal, design and
|
|
438
|
+
// tasks were verbatim templates "valid". Runs before the section rules
|
|
439
|
+
// because a template satisfies them by construction — it is where every
|
|
440
|
+
// required heading came from. WARNING, so the default verdict is
|
|
441
|
+
// unchanged and `--strict` is what refuses it, matching how this codebase
|
|
442
|
+
// grades every other "written but not finished" finding.
|
|
443
|
+
if (isStubArtifactFile(file, schemaName, artifact.template, projectRoot)) {
|
|
444
|
+
issues.push({
|
|
445
|
+
level: 'WARNING',
|
|
446
|
+
path: relPath,
|
|
447
|
+
message: `Artifact "${artifact.id}" is still the unfilled template. Run tospec instructions ${artifact.id} --change <name> --json, then replace the file's contents.`,
|
|
448
|
+
});
|
|
449
|
+
continue;
|
|
450
|
+
}
|
|
451
|
+
if (!artifact.validation)
|
|
452
|
+
continue;
|
|
375
453
|
let content;
|
|
376
454
|
try {
|
|
377
455
|
content = await fs.readFile(file, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Commands for the artifact-driven workflow: status, instructions, templates, schemas, new change.
|
|
5
5
|
*/
|
|
6
|
-
export { statusCommand, BATCH_STATUS_FAILURE_PAYLOAD } from './status.js';
|
|
6
|
+
export { statusCommand, BATCH_STATUS_FAILURE_PAYLOAD, STATUS_FAILURE_PAYLOAD } from './status.js';
|
|
7
7
|
export type { StatusOptions } from './status.js';
|
|
8
|
-
export { instructionsCommand, applyInstructionsCommand } from './instructions.js';
|
|
8
|
+
export { instructionsCommand, applyInstructionsCommand, INSTRUCTIONS_FAILURE_PAYLOAD, APPLY_ARGUMENT, } from './instructions.js';
|
|
9
9
|
export type { InstructionsOptions } from './instructions.js';
|
|
10
|
-
export { templatesCommand } from './templates.js';
|
|
10
|
+
export { templatesCommand, TEMPLATES_FAILURE_PAYLOAD } from './templates.js';
|
|
11
11
|
export type { TemplatesOptions } from './templates.js';
|
|
12
|
-
export { schemasCommand } from './schemas.js';
|
|
12
|
+
export { schemasCommand, SCHEMAS_FAILURE_PAYLOAD } from './schemas.js';
|
|
13
13
|
export type { SchemasOptions } from './schemas.js';
|
|
14
|
-
export { newChangeCommand } from './new-change.js';
|
|
14
|
+
export { newChangeCommand, NEW_CHANGE_FAILURE_PAYLOAD } from './new-change.js';
|
|
15
15
|
export type { NewChangeOptions } from './new-change.js';
|
|
16
16
|
export { DEFAULT_SCHEMA } from './shared.js';
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClG,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC/E,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Commands for the artifact-driven workflow: status, instructions, templates, schemas, new change.
|
|
5
5
|
*/
|
|
6
|
-
export { statusCommand, BATCH_STATUS_FAILURE_PAYLOAD } from './status.js';
|
|
7
|
-
export { instructionsCommand, applyInstructionsCommand } from './instructions.js';
|
|
8
|
-
export { templatesCommand } from './templates.js';
|
|
9
|
-
export { schemasCommand } from './schemas.js';
|
|
10
|
-
export { newChangeCommand } from './new-change.js';
|
|
6
|
+
export { statusCommand, BATCH_STATUS_FAILURE_PAYLOAD, STATUS_FAILURE_PAYLOAD } from './status.js';
|
|
7
|
+
export { instructionsCommand, applyInstructionsCommand, INSTRUCTIONS_FAILURE_PAYLOAD, APPLY_ARGUMENT, } from './instructions.js';
|
|
8
|
+
export { templatesCommand, TEMPLATES_FAILURE_PAYLOAD } from './templates.js';
|
|
9
|
+
export { schemasCommand, SCHEMAS_FAILURE_PAYLOAD } from './schemas.js';
|
|
10
|
+
export { newChangeCommand, NEW_CHANGE_FAILURE_PAYLOAD } from './new-change.js';
|
|
11
11
|
export { DEFAULT_SCHEMA } from './shared.js';
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGlG,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -7,6 +7,29 @@
|
|
|
7
7
|
import { type ArtifactInstructions } from '../../core/artifact-graph/index.js';
|
|
8
8
|
import { type PlanningHome } from '../../core/planning-home.js';
|
|
9
9
|
import { type ApplyInstructions } from './shared.js';
|
|
10
|
+
/**
|
|
11
|
+
* The `--json` null-shape.
|
|
12
|
+
*
|
|
13
|
+
* This command's success payload is flat — `instruction`, `state`, `tasks` and
|
|
14
|
+
* the rest sit at the top level, and the skill templates read them from there —
|
|
15
|
+
* so there is no wrapper key to null. The shape therefore nulls `instruction`,
|
|
16
|
+
* which both success shapes (artifact and apply) actually carry; the previous
|
|
17
|
+
* `instructions: null` named a key that appeared in neither, so the rule
|
|
18
|
+
* "a failure payload mirrors its success payload with the data keys nulled"
|
|
19
|
+
* could not be checked against anything.
|
|
20
|
+
*
|
|
21
|
+
* Exported so the commander-level shape table and this command's own catch
|
|
22
|
+
* block cannot drift apart — they did, and only one of them carried `root`.
|
|
23
|
+
*/
|
|
24
|
+
export declare const INSTRUCTIONS_FAILURE_PAYLOAD: Record<string, unknown>;
|
|
25
|
+
/**
|
|
26
|
+
* The one argument this command accepts that is not a schema artifact: it asks
|
|
27
|
+
* for the apply phase rather than a document to write.
|
|
28
|
+
*
|
|
29
|
+
* Exported so the CLI's dispatch and the "valid arguments" list read the same
|
|
30
|
+
* value — they did not, and the list left `apply` out (round 4 report 13).
|
|
31
|
+
*/
|
|
32
|
+
export declare const APPLY_ARGUMENT = "apply";
|
|
10
33
|
export interface InstructionsOptions {
|
|
11
34
|
change?: string;
|
|
12
35
|
schema?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/instructions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAQrC,OAAO,
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/instructions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAOrB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAGhE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA8Df;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CA6HlG;AAmCD,MAAM,WAAW,gCAAgC;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,iBAAiB,CAAC,CAiH5B;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC/F;AAED,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAoDhF"}
|
|
@@ -11,9 +11,38 @@ import { getChangeDir, resolveCurrentPlanningHomeSync, } from '../../core/planni
|
|
|
11
11
|
import { resolveRootForCommand, toPlanningHome, toRootOutput, } from '../../core/root-selection.js';
|
|
12
12
|
import { readProjectConfig } from '../../core/project-config.js';
|
|
13
13
|
import { parseTasksFromContent } from '../../utils/task-progress.js';
|
|
14
|
-
import { validateChangeExists, validateSchemaExists, } from './shared.js';
|
|
14
|
+
import { validateChangeExists, validateSchemaExists, assertChangeSchema, } from './shared.js';
|
|
15
15
|
import { emitSuccess } from '../shared-output.js';
|
|
16
16
|
// -----------------------------------------------------------------------------
|
|
17
|
+
// Types
|
|
18
|
+
// -----------------------------------------------------------------------------
|
|
19
|
+
/**
|
|
20
|
+
* The `--json` null-shape.
|
|
21
|
+
*
|
|
22
|
+
* This command's success payload is flat — `instruction`, `state`, `tasks` and
|
|
23
|
+
* the rest sit at the top level, and the skill templates read them from there —
|
|
24
|
+
* so there is no wrapper key to null. The shape therefore nulls `instruction`,
|
|
25
|
+
* which both success shapes (artifact and apply) actually carry; the previous
|
|
26
|
+
* `instructions: null` named a key that appeared in neither, so the rule
|
|
27
|
+
* "a failure payload mirrors its success payload with the data keys nulled"
|
|
28
|
+
* could not be checked against anything.
|
|
29
|
+
*
|
|
30
|
+
* Exported so the commander-level shape table and this command's own catch
|
|
31
|
+
* block cannot drift apart — they did, and only one of them carried `root`.
|
|
32
|
+
*/
|
|
33
|
+
export const INSTRUCTIONS_FAILURE_PAYLOAD = {
|
|
34
|
+
instruction: null,
|
|
35
|
+
root: null,
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* The one argument this command accepts that is not a schema artifact: it asks
|
|
39
|
+
* for the apply phase rather than a document to write.
|
|
40
|
+
*
|
|
41
|
+
* Exported so the CLI's dispatch and the "valid arguments" list read the same
|
|
42
|
+
* value — they did not, and the list left `apply` out (round 4 report 13).
|
|
43
|
+
*/
|
|
44
|
+
export const APPLY_ARGUMENT = 'apply';
|
|
45
|
+
// -----------------------------------------------------------------------------
|
|
17
46
|
// Artifact Instructions Command
|
|
18
47
|
// -----------------------------------------------------------------------------
|
|
19
48
|
export async function instructionsCommand(artifactId, options) {
|
|
@@ -23,24 +52,29 @@ export async function instructionsCommand(artifactId, options) {
|
|
|
23
52
|
}
|
|
24
53
|
const planningHome = toPlanningHome(root);
|
|
25
54
|
const projectRoot = root.path;
|
|
26
|
-
|
|
27
|
-
//
|
|
55
|
+
// Validate the schema before resolving the change (round 4 report 15): after
|
|
56
|
+
// it, the guard never fired in an empty project, so the caller was told to
|
|
57
|
+
// create a change first and only then learned the schema was never usable.
|
|
28
58
|
if (options.schema) {
|
|
29
59
|
validateSchemaExists(options.schema, projectRoot);
|
|
60
|
+
assertChangeSchema(options.schema);
|
|
30
61
|
}
|
|
62
|
+
const changeName = await validateChangeExists(options.change, projectRoot, root.changesDir, { newChangeHint: 'tospec new change <name>' });
|
|
31
63
|
// loadChangeContext will auto-detect schema from metadata if not provided
|
|
32
64
|
const context = loadChangeContext(projectRoot, changeName, options.schema, {
|
|
33
65
|
changeDir: getChangeDir(planningHome, changeName),
|
|
34
66
|
planningHome,
|
|
35
67
|
});
|
|
68
|
+
// Round 4 report 13. The list came from the schema's artifacts alone, so it
|
|
69
|
+
// omitted `apply` — the one argument this command accepts that is not an
|
|
70
|
+
// artifact, and the one a reader who mistyped is most likely to have wanted.
|
|
71
|
+
const validArgumentList = () => [...context.graph.getAllArtifacts().map((a) => a.id), APPLY_ARGUMENT].join('\n ');
|
|
36
72
|
if (!artifactId) {
|
|
37
|
-
|
|
38
|
-
throw new Error(`Missing required argument <artifact>. Valid artifacts:\n ${validIds.join('\n ')}`);
|
|
73
|
+
throw new Error(`Missing required argument <artifact>. Valid arguments:\n ${validArgumentList()}`);
|
|
39
74
|
}
|
|
40
75
|
const artifact = context.graph.getArtifact(artifactId);
|
|
41
76
|
if (!artifact) {
|
|
42
|
-
|
|
43
|
-
throw new Error(`Artifact '${artifactId}' not found in schema '${context.schemaName}'. Valid artifacts:\n ${validIds.join('\n ')}`);
|
|
77
|
+
throw new Error(`Artifact '${artifactId}' not found in schema '${context.schemaName}'. Valid arguments:\n ${validArgumentList()}`);
|
|
44
78
|
}
|
|
45
79
|
// readProjectConfig never throws: missing/unparseable configs are null.
|
|
46
80
|
const projectConfig = readProjectConfig(root.path);
|
|
@@ -55,7 +89,7 @@ export async function instructionsCommand(artifactId, options) {
|
|
|
55
89
|
printInstructionsText(instructions, isBlocked);
|
|
56
90
|
}
|
|
57
91
|
export function printInstructionsText(instructions, isBlocked) {
|
|
58
|
-
const { artifactId, changeName, schemaName, changeDir, resolvedOutputPath, description, instruction, context, rules, template, dependencies, unlocks, } = instructions;
|
|
92
|
+
const { artifactId, changeName, schemaName, changeDir, resolvedOutputPath, description, instruction, context, rules, template, validation, dependencies, unlocks, } = instructions;
|
|
59
93
|
// Opening tag
|
|
60
94
|
console.log(`<artifact id="${artifactId}" change="${changeName}" schema="${schemaName}">`);
|
|
61
95
|
console.log();
|
|
@@ -126,11 +160,22 @@ export function printInstructionsText(instructions, isBlocked) {
|
|
|
126
160
|
console.log(template.trim());
|
|
127
161
|
console.log('</template>');
|
|
128
162
|
console.log();
|
|
129
|
-
//
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
163
|
+
// The schema's own acceptance criteria, rendered only when it declares some.
|
|
164
|
+
// This block used to be a fixed placeholder, so the one thing an agent needed
|
|
165
|
+
// in order not to fail validation was the one thing the brief left out — and
|
|
166
|
+
// an empty block claimed the artifact had no criteria at all. Printed like
|
|
167
|
+
// <project_context> and <rules>: present when there is something to say.
|
|
168
|
+
if (validation) {
|
|
169
|
+
console.log('<success_criteria>');
|
|
170
|
+
if (validation.requiredSections.length > 0) {
|
|
171
|
+
console.log(`Required sections: ${validation.requiredSections.map((s) => `## ${s}`).join(', ')}`);
|
|
172
|
+
}
|
|
173
|
+
for (const [section, minLength] of Object.entries(validation.minSectionLength)) {
|
|
174
|
+
console.log(`Section "${section}" must be at least ${minLength} characters.`);
|
|
175
|
+
}
|
|
176
|
+
console.log('</success_criteria>');
|
|
177
|
+
console.log();
|
|
178
|
+
}
|
|
134
179
|
// Unlocks
|
|
135
180
|
if (unlocks.length > 0) {
|
|
136
181
|
console.log('<unlocks>');
|
|
@@ -163,7 +208,12 @@ function planningSkillFor(schemaName) {
|
|
|
163
208
|
*/
|
|
164
209
|
function parseTasksFile(content) {
|
|
165
210
|
return parseTasksFromContent(content).map((task, i) => ({
|
|
166
|
-
|
|
211
|
+
// The number the task carries in the file ("1.2"), not this array's index.
|
|
212
|
+
// They diverge the moment a slice starts at 2.1 or a task is deleted, and
|
|
213
|
+
// the id is the field a caller would naturally quote back to the user —
|
|
214
|
+
// while the real numbering sat buried at the head of `description`.
|
|
215
|
+
// Falls back to the ordinal for a task written without one.
|
|
216
|
+
id: /^(\d+(?:\.\d+)*)\s/.exec(task.text)?.[1] ?? `${i + 1}`,
|
|
167
217
|
description: task.text,
|
|
168
218
|
done: task.done,
|
|
169
219
|
}));
|
|
@@ -253,6 +303,20 @@ export async function generateApplyInstructions(projectRoot, changeName, schemaN
|
|
|
253
303
|
state = 'ready';
|
|
254
304
|
instruction = schemaInstruction?.trim() ?? 'Read context files, work through pending tasks, mark complete as you go.\nPause if you hit blockers or need clarification.';
|
|
255
305
|
}
|
|
306
|
+
// Schema artifacts that do not exist yet but that `apply.requires` does not
|
|
307
|
+
// insist on. Reported, not blocking: sdd's apply requires only `tasks`, so a
|
|
308
|
+
// change missing proposal/design/specs still reaches `state: "ready"` — while
|
|
309
|
+
// the instruction it is handed says things like "test only the seam design.md
|
|
310
|
+
// chose". Naming the absent files is what stops that reading as a reference to
|
|
311
|
+
// something the agent simply failed to find.
|
|
312
|
+
const missingContext = schema.artifacts
|
|
313
|
+
.filter((artifact) => !contextFiles[artifact.id] && !missingArtifacts.includes(artifact.id))
|
|
314
|
+
.map((artifact) => artifact.id);
|
|
315
|
+
if (missingContext.length > 0 && state !== 'blocked') {
|
|
316
|
+
instruction += `
|
|
317
|
+
|
|
318
|
+
Not present in this change: ${missingContext.join(', ')}. Ignore any part of the above that refers to them.`;
|
|
319
|
+
}
|
|
256
320
|
return {
|
|
257
321
|
changeName,
|
|
258
322
|
changeDir,
|
|
@@ -262,6 +326,7 @@ export async function generateApplyInstructions(projectRoot, changeName, schemaN
|
|
|
262
326
|
tasks,
|
|
263
327
|
state,
|
|
264
328
|
missingArtifacts: missingArtifacts.length > 0 ? missingArtifacts : undefined,
|
|
329
|
+
missingContext: missingContext.length > 0 ? missingContext : undefined,
|
|
265
330
|
instruction,
|
|
266
331
|
};
|
|
267
332
|
}
|
|
@@ -272,11 +337,14 @@ export async function applyInstructionsCommand(options) {
|
|
|
272
337
|
}
|
|
273
338
|
const planningHome = toPlanningHome(root);
|
|
274
339
|
const projectRoot = root.path;
|
|
275
|
-
|
|
276
|
-
//
|
|
340
|
+
// Validate the schema before resolving the change (round 4 report 15): after
|
|
341
|
+
// it, the guard never fired in an empty project, so the caller was told to
|
|
342
|
+
// create a change first and only then learned the schema was never usable.
|
|
277
343
|
if (options.schema) {
|
|
278
344
|
validateSchemaExists(options.schema, projectRoot);
|
|
345
|
+
assertChangeSchema(options.schema);
|
|
279
346
|
}
|
|
347
|
+
const changeName = await validateChangeExists(options.change, projectRoot, root.changesDir, { newChangeHint: 'tospec new change <name>' });
|
|
280
348
|
// generateApplyInstructions uses loadChangeContext which auto-detects schema
|
|
281
349
|
const instructions = await generateApplyInstructions(projectRoot, changeName, options.schema, {
|
|
282
350
|
planningHome,
|