@seanmars/tospec 0.24.0 → 0.26.0-beta
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 +241 -0
- package/README.md +10 -6
- package/assets/dashboard/lib/derive.js +11 -5
- package/assets/dashboard/lib/store.js +4 -2
- package/assets/dashboard/views/change.js +5 -3
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +42 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +213 -100
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dashboard.d.ts +9 -0
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +77 -21
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/decision.d.ts +38 -1
- package/dist/commands/decision.d.ts.map +1 -1
- package/dist/commands/decision.js +303 -27
- package/dist/commands/decision.js.map +1 -1
- package/dist/commands/metrics.d.ts +3 -4
- package/dist/commands/metrics.d.ts.map +1 -1
- package/dist/commands/metrics.js +3 -5
- package/dist/commands/metrics.js.map +1 -1
- package/dist/commands/shared-output.d.ts +24 -0
- package/dist/commands/shared-output.d.ts.map +1 -1
- package/dist/commands/shared-output.js +21 -2
- package/dist/commands/shared-output.js.map +1 -1
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +12 -9
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/validate.d.ts +19 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +243 -64
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/workflow/instructions.d.ts +7 -1
- package/dist/commands/workflow/instructions.d.ts.map +1 -1
- package/dist/commands/workflow/instructions.js +299 -81
- package/dist/commands/workflow/instructions.js.map +1 -1
- package/dist/commands/workflow/new-change.d.ts.map +1 -1
- package/dist/commands/workflow/new-change.js +26 -17
- package/dist/commands/workflow/new-change.js.map +1 -1
- package/dist/commands/workflow/prompt-escape.d.ts +25 -0
- package/dist/commands/workflow/prompt-escape.d.ts.map +1 -0
- package/dist/commands/workflow/prompt-escape.js +62 -0
- package/dist/commands/workflow/prompt-escape.js.map +1 -0
- package/dist/commands/workflow/schemas.d.ts.map +1 -1
- package/dist/commands/workflow/schemas.js +34 -16
- package/dist/commands/workflow/schemas.js.map +1 -1
- package/dist/commands/workflow/shared.d.ts +46 -10
- package/dist/commands/workflow/shared.d.ts.map +1 -1
- package/dist/commands/workflow/shared.js +66 -30
- package/dist/commands/workflow/shared.js.map +1 -1
- package/dist/commands/workflow/status.d.ts +5 -2
- package/dist/commands/workflow/status.d.ts.map +1 -1
- package/dist/commands/workflow/status.js +62 -28
- package/dist/commands/workflow/status.js.map +1 -1
- package/dist/core/archive.d.ts +38 -0
- package/dist/core/archive.d.ts.map +1 -1
- package/dist/core/archive.js +492 -75
- package/dist/core/archive.js.map +1 -1
- package/dist/core/artifact-graph/index.d.ts +2 -2
- package/dist/core/artifact-graph/index.d.ts.map +1 -1
- package/dist/core/artifact-graph/index.js +2 -2
- package/dist/core/artifact-graph/index.js.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.d.ts +8 -0
- package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.js +58 -36
- package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
- package/dist/core/artifact-graph/resolver.d.ts +39 -12
- package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
- package/dist/core/artifact-graph/resolver.js +82 -36
- package/dist/core/artifact-graph/resolver.js.map +1 -1
- package/dist/core/artifact-graph/schema.d.ts +24 -0
- package/dist/core/artifact-graph/schema.d.ts.map +1 -1
- package/dist/core/artifact-graph/schema.js +32 -1
- package/dist/core/artifact-graph/schema.js.map +1 -1
- package/dist/core/artifact-graph/stub-detection.d.ts +10 -2
- package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -1
- package/dist/core/artifact-graph/stub-detection.js +18 -11
- package/dist/core/artifact-graph/stub-detection.js.map +1 -1
- package/dist/core/artifact-graph/types.d.ts +2 -2
- package/dist/core/artifact-graph/types.d.ts.map +1 -1
- package/dist/core/artifact-graph/types.js +10 -1
- package/dist/core/artifact-graph/types.js.map +1 -1
- package/dist/core/change-metadata/schema.d.ts.map +1 -1
- package/dist/core/change-metadata/schema.js +18 -4
- package/dist/core/change-metadata/schema.js.map +1 -1
- package/dist/core/change-presenter.d.ts.map +1 -1
- package/dist/core/change-presenter.js +13 -8
- package/dist/core/change-presenter.js.map +1 -1
- package/dist/core/change-status-policy.d.ts.map +1 -1
- package/dist/core/change-status-policy.js +3 -1
- package/dist/core/change-status-policy.js.map +1 -1
- package/dist/core/codex-metrics.d.ts +1 -1
- package/dist/core/codex-metrics.js +1 -1
- package/dist/core/config-schema.d.ts +8 -0
- package/dist/core/config-schema.d.ts.map +1 -1
- package/dist/core/config-schema.js +10 -0
- package/dist/core/config-schema.js.map +1 -1
- package/dist/core/dashboard-activity.d.ts +4 -4
- package/dist/core/dashboard-activity.js +4 -4
- package/dist/core/dashboard-data.d.ts +11 -5
- package/dist/core/dashboard-data.d.ts.map +1 -1
- package/dist/core/dashboard-data.js +54 -28
- package/dist/core/dashboard-data.js.map +1 -1
- package/dist/core/dashboard-hub.d.ts +3 -3
- package/dist/core/dashboard-hub.d.ts.map +1 -1
- package/dist/core/dashboard-hub.js +16 -4
- package/dist/core/dashboard-hub.js.map +1 -1
- package/dist/core/dashboard-routes.d.ts +2 -1
- package/dist/core/dashboard-routes.d.ts.map +1 -1
- package/dist/core/dashboard-routes.js +102 -33
- package/dist/core/dashboard-routes.js.map +1 -1
- package/dist/core/global-config.d.ts +71 -2
- package/dist/core/global-config.d.ts.map +1 -1
- package/dist/core/global-config.js +149 -4
- package/dist/core/global-config.js.map +1 -1
- package/dist/core/id.d.ts +9 -0
- package/dist/core/id.d.ts.map +1 -1
- package/dist/core/id.js +37 -0
- package/dist/core/id.js.map +1 -1
- package/dist/core/init.d.ts +9 -2
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +116 -33
- package/dist/core/init.js.map +1 -1
- package/dist/core/list.d.ts.map +1 -1
- package/dist/core/list.js +69 -45
- package/dist/core/list.js.map +1 -1
- package/dist/core/local-server.d.ts +9 -2
- package/dist/core/local-server.d.ts.map +1 -1
- package/dist/core/local-server.js +24 -4
- package/dist/core/local-server.js.map +1 -1
- package/dist/core/markdown-render.d.ts.map +1 -1
- package/dist/core/markdown-render.js +7 -2
- package/dist/core/markdown-render.js.map +1 -1
- package/dist/core/migrate.d.ts +24 -2
- package/dist/core/migrate.d.ts.map +1 -1
- package/dist/core/migrate.js +335 -59
- package/dist/core/migrate.js.map +1 -1
- package/dist/core/parsers/change-parser.d.ts +20 -1
- package/dist/core/parsers/change-parser.d.ts.map +1 -1
- package/dist/core/parsers/change-parser.js +76 -73
- package/dist/core/parsers/change-parser.js.map +1 -1
- package/dist/core/parsers/markdown-parser.d.ts +24 -0
- package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
- package/dist/core/parsers/markdown-parser.js +65 -10
- package/dist/core/parsers/markdown-parser.js.map +1 -1
- package/dist/core/parsers/requirement-blocks.d.ts +127 -6
- package/dist/core/parsers/requirement-blocks.d.ts.map +1 -1
- package/dist/core/parsers/requirement-blocks.js +349 -56
- package/dist/core/parsers/requirement-blocks.js.map +1 -1
- package/dist/core/parsers/requirement-text.d.ts +25 -1
- package/dist/core/parsers/requirement-text.d.ts.map +1 -1
- package/dist/core/parsers/requirement-text.js +62 -6
- package/dist/core/parsers/requirement-text.js.map +1 -1
- package/dist/core/parsers/spec-structure.d.ts.map +1 -1
- package/dist/core/parsers/spec-structure.js +36 -24
- package/dist/core/parsers/spec-structure.js.map +1 -1
- package/dist/core/project-config.d.ts +9 -2
- package/dist/core/project-config.d.ts.map +1 -1
- package/dist/core/project-config.js +30 -7
- package/dist/core/project-config.js.map +1 -1
- package/dist/core/project-layout.d.ts +26 -0
- package/dist/core/project-layout.d.ts.map +1 -1
- package/dist/core/project-layout.js +51 -1
- package/dist/core/project-layout.js.map +1 -1
- package/dist/core/schema-names.d.ts +17 -0
- package/dist/core/schema-names.d.ts.map +1 -1
- package/dist/core/schema-names.js +24 -0
- package/dist/core/schema-names.js.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 +12 -0
- package/dist/core/shared/rules-generation.d.ts.map +1 -1
- package/dist/core/shared/rules-generation.js +26 -2
- package/dist/core/shared/rules-generation.js.map +1 -1
- package/dist/core/shared/skill-generation.d.ts +7 -0
- package/dist/core/shared/skill-generation.d.ts.map +1 -1
- package/dist/core/shared/skill-generation.js +19 -0
- package/dist/core/shared/skill-generation.js.map +1 -1
- package/dist/core/shared/tool-detection.d.ts +10 -1
- package/dist/core/shared/tool-detection.d.ts.map +1 -1
- package/dist/core/shared/tool-detection.js +37 -6
- 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 +23 -1
- package/dist/core/spec-presenter.js.map +1 -1
- package/dist/core/specs-apply.d.ts +98 -1
- package/dist/core/specs-apply.d.ts.map +1 -1
- package/dist/core/specs-apply.js +426 -63
- package/dist/core/specs-apply.js.map +1 -1
- package/dist/core/templates/fragments/change-diff.d.ts +37 -0
- package/dist/core/templates/fragments/change-diff.d.ts.map +1 -0
- package/dist/core/templates/fragments/change-diff.js +37 -0
- package/dist/core/templates/fragments/change-diff.js.map +1 -0
- package/dist/core/templates/fragments/sync-fail.d.ts +8 -0
- package/dist/core/templates/fragments/sync-fail.d.ts.map +1 -0
- package/dist/core/templates/fragments/sync-fail.js +8 -0
- package/dist/core/templates/fragments/sync-fail.js.map +1 -0
- package/dist/core/templates/fragments/validate.d.ts +14 -1
- package/dist/core/templates/fragments/validate.d.ts.map +1 -1
- package/dist/core/templates/fragments/validate.js +14 -1
- package/dist/core/templates/fragments/validate.js.map +1 -1
- package/dist/core/templates/fragments/verify.d.ts +2 -2
- package/dist/core/templates/fragments/verify.d.ts.map +1 -1
- package/dist/core/templates/fragments/verify.js +8 -5
- package/dist/core/templates/fragments/verify.js.map +1 -1
- package/dist/core/templates/workflows/apply.d.ts +1 -1
- package/dist/core/templates/workflows/apply.d.ts.map +1 -1
- package/dist/core/templates/workflows/apply.js +29 -10
- 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 +27 -9
- package/dist/core/templates/workflows/archive.js.map +1 -1
- package/dist/core/templates/workflows/decision.d.ts.map +1 -1
- package/dist/core/templates/workflows/decision.js +10 -4
- package/dist/core/templates/workflows/decision.js.map +1 -1
- package/dist/core/templates/workflows/explore.d.ts +2 -2
- package/dist/core/templates/workflows/explore.d.ts.map +1 -1
- package/dist/core/templates/workflows/explore.js +7 -3
- package/dist/core/templates/workflows/explore.js.map +1 -1
- package/dist/core/templates/workflows/grill.d.ts +2 -2
- package/dist/core/templates/workflows/grill.d.ts.map +1 -1
- package/dist/core/templates/workflows/grill.js +5 -4
- package/dist/core/templates/workflows/grill.js.map +1 -1
- package/dist/core/templates/workflows/issue.d.ts.map +1 -1
- package/dist/core/templates/workflows/issue.js +9 -3
- package/dist/core/templates/workflows/issue.js.map +1 -1
- package/dist/core/templates/workflows/propose.d.ts.map +1 -1
- package/dist/core/templates/workflows/propose.js +4 -1
- package/dist/core/templates/workflows/propose.js.map +1 -1
- package/dist/core/templates/workflows/sync.d.ts.map +1 -1
- package/dist/core/templates/workflows/sync.js +25 -11
- package/dist/core/templates/workflows/sync.js.map +1 -1
- package/dist/core/templates/workflows/update.d.ts.map +1 -1
- package/dist/core/templates/workflows/update.js +17 -10
- package/dist/core/templates/workflows/update.js.map +1 -1
- package/dist/core/update.d.ts +5 -0
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +66 -29
- package/dist/core/update.js.map +1 -1
- package/dist/core/validation/constants.d.ts +7 -1
- package/dist/core/validation/constants.d.ts.map +1 -1
- package/dist/core/validation/constants.js +16 -2
- package/dist/core/validation/constants.js.map +1 -1
- package/dist/core/validation/purpose-placeholder.d.ts.map +1 -1
- package/dist/core/validation/purpose-placeholder.js +35 -11
- package/dist/core/validation/purpose-placeholder.js.map +1 -1
- package/dist/core/validation/section-validator.d.ts +7 -0
- package/dist/core/validation/section-validator.d.ts.map +1 -1
- package/dist/core/validation/section-validator.js +22 -2
- package/dist/core/validation/section-validator.js.map +1 -1
- package/dist/core/validation/sister-changes.d.ts +93 -0
- package/dist/core/validation/sister-changes.d.ts.map +1 -0
- package/dist/core/validation/sister-changes.js +180 -0
- package/dist/core/validation/sister-changes.js.map +1 -0
- package/dist/core/validation/task-markers.d.ts +9 -0
- package/dist/core/validation/task-markers.d.ts.map +1 -0
- package/dist/core/validation/task-markers.js +71 -0
- package/dist/core/validation/task-markers.js.map +1 -0
- package/dist/core/validation/types.d.ts +58 -0
- package/dist/core/validation/types.d.ts.map +1 -1
- package/dist/core/validation/types.js +22 -0
- package/dist/core/validation/types.js.map +1 -1
- package/dist/core/validation/validator.d.ts +79 -2
- package/dist/core/validation/validator.d.ts.map +1 -1
- package/dist/core/validation/validator.js +565 -84
- package/dist/core/validation/validator.js.map +1 -1
- package/dist/utils/change-metadata.d.ts +62 -5
- package/dist/utils/change-metadata.d.ts.map +1 -1
- package/dist/utils/change-metadata.js +193 -31
- package/dist/utils/change-metadata.js.map +1 -1
- package/dist/utils/change-utils.d.ts +21 -0
- package/dist/utils/change-utils.d.ts.map +1 -1
- package/dist/utils/change-utils.js +168 -53
- package/dist/utils/change-utils.js.map +1 -1
- package/dist/utils/command-line.d.ts +11 -0
- package/dist/utils/command-line.d.ts.map +1 -0
- package/dist/utils/command-line.js +43 -0
- package/dist/utils/command-line.js.map +1 -0
- package/dist/utils/display-width.d.ts +10 -0
- package/dist/utils/display-width.d.ts.map +1 -0
- package/dist/utils/display-width.js +15 -0
- package/dist/utils/display-width.js.map +1 -0
- package/dist/utils/file-system.d.ts +16 -0
- package/dist/utils/file-system.d.ts.map +1 -1
- package/dist/utils/file-system.js +49 -2
- package/dist/utils/file-system.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +11 -5
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/interactive.d.ts.map +1 -1
- package/dist/utils/interactive.js +3 -1
- package/dist/utils/interactive.js.map +1 -1
- package/dist/utils/item-discovery.d.ts +3 -2
- package/dist/utils/item-discovery.d.ts.map +1 -1
- package/dist/utils/item-discovery.js +34 -16
- package/dist/utils/item-discovery.js.map +1 -1
- package/dist/utils/link.d.ts +0 -1
- package/dist/utils/link.d.ts.map +1 -1
- package/dist/utils/link.js +0 -1
- package/dist/utils/link.js.map +1 -1
- package/dist/utils/match.d.ts.map +1 -1
- package/dist/utils/match.js +10 -1
- package/dist/utils/match.js.map +1 -1
- package/dist/utils/option-flags.d.ts +9 -0
- package/dist/utils/option-flags.d.ts.map +1 -0
- package/dist/utils/option-flags.js +12 -0
- package/dist/utils/option-flags.js.map +1 -0
- package/dist/utils/sentence.d.ts +9 -0
- package/dist/utils/sentence.d.ts.map +1 -0
- package/dist/utils/sentence.js +12 -0
- package/dist/utils/sentence.js.map +1 -0
- package/dist/utils/spec-files.d.ts +84 -1
- package/dist/utils/spec-files.d.ts.map +1 -1
- package/dist/utils/spec-files.js +192 -3
- package/dist/utils/spec-files.js.map +1 -1
- package/dist/utils/task-progress.d.ts.map +1 -1
- package/dist/utils/task-progress.js +32 -9
- package/dist/utils/task-progress.js.map +1 -1
- package/dist/utils/timestamp.d.ts +27 -0
- package/dist/utils/timestamp.d.ts.map +1 -1
- package/dist/utils/timestamp.js +37 -0
- package/dist/utils/timestamp.js.map +1 -1
- package/package.json +4 -1
- package/schemas/decision/templates/decision.md +2 -2
- package/schemas/issue/schema.yaml +12 -6
- package/schemas/issue/templates/task.md +1 -1
- package/schemas/sdd/schema.yaml +21 -10
- package/schemas/sdd/templates/proposal.md +1 -1
|
@@ -6,19 +6,24 @@
|
|
|
6
6
|
* `decision new` writes that file from the `decision` schema's template (title /
|
|
7
7
|
* status / date pre-filled) and appends a row to the ledger
|
|
8
8
|
* `tospec/decisions/index.md`, seeded from `index.md` on first use; the agent
|
|
9
|
-
* fills the prose sections. `
|
|
9
|
+
* fills the prose sections. `--change` also lists the file in an active
|
|
10
|
+
* change's `.tospec.yaml`. `decision status` moves a record's status, in the
|
|
11
|
+
* file and the ledger together. `decision list` derives a live view from disk.
|
|
10
12
|
*/
|
|
11
|
-
import { Option } from 'commander';
|
|
13
|
+
import { Argument, Option } from 'commander';
|
|
12
14
|
import path from 'path';
|
|
13
15
|
import * as fs from 'fs';
|
|
14
|
-
import { resolveRootForCommand, toRootOutput, } from '../core/root-selection.js';
|
|
16
|
+
import { resolveRootForCommand, RootSelectionError, toRootOutput, } from '../core/root-selection.js';
|
|
17
|
+
import { validateChangeExists } from './workflow/shared.js';
|
|
18
|
+
import { appendChangeDecision, METADATA_FILENAME, readChangeMetadata, } from '../utils/change-metadata.js';
|
|
15
19
|
import { loadTemplate } from '../core/artifact-graph/index.js';
|
|
16
|
-
import { MarkdownParser, findSection } from '../core/parsers/markdown-parser.js';
|
|
17
|
-
import { completeRootStructure,
|
|
20
|
+
import { MarkdownParser, findSection, headingLevel, } from '../core/parsers/markdown-parser.js';
|
|
21
|
+
import { completeRootStructure, validateNewChangeName } from '../utils/change-utils.js';
|
|
22
|
+
import { findLayoutPathNotDirectory } from '../core/project-layout.js';
|
|
18
23
|
import { formatTimestamp } from '../utils/timestamp.js';
|
|
19
24
|
import { DEFAULT_SCHEMA, DECISION_SCHEMA_NAME } from '../core/schema-names.js';
|
|
20
|
-
import { emitSuccess, emitFailure } from './shared-output.js';
|
|
21
|
-
import { stripBom } from '../core/parsers/requirement-text.js';
|
|
25
|
+
import { emitSuccess, emitFailure, asErrorMessage, formatLabeled, } from './shared-output.js';
|
|
26
|
+
import { stripBom, stripClosingHashes, toSingleLine } from '../core/parsers/requirement-text.js';
|
|
22
27
|
const DECISION_STATUSES = ['proposed', 'accepted', 'superseded'];
|
|
23
28
|
// Re-exported for callers that reached it here; defined in core/schema-names so
|
|
24
29
|
// workflow/shared.ts no longer has to import this command module.
|
|
@@ -32,16 +37,47 @@ export const DECISION_LIST_FAILURE_PAYLOAD = {
|
|
|
32
37
|
decisions: null,
|
|
33
38
|
root: null,
|
|
34
39
|
};
|
|
40
|
+
export const DECISION_STATUS_FAILURE_PAYLOAD = {
|
|
41
|
+
decision: null,
|
|
42
|
+
root: null,
|
|
43
|
+
};
|
|
35
44
|
const SCHEMA_NAME = DECISION_SCHEMA_NAME;
|
|
36
45
|
const DECISIONS_SUBDIR = path.join('tospec', 'decisions');
|
|
37
46
|
// Aligns with the project-wide CLI timestamp (formatTimestamp): yyyyMMdd_HHmmss.
|
|
38
47
|
const TIMESTAMP_RE = /^\d{8}_\d{6}$/;
|
|
39
48
|
const TIMESTAMP_PARTS_RE = /^(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2})$/;
|
|
40
49
|
const FILE_RE = /^(\d{8}_\d{6})-(.+)\.md$/;
|
|
41
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Whether `name` is a decision record's bare filename: the shape `decision new`
|
|
52
|
+
* writes and `decision list` reads. Rules out `index.md`, stray files and any
|
|
53
|
+
* value carrying a directory part.
|
|
54
|
+
*/
|
|
55
|
+
export function isDecisionFileName(name) {
|
|
56
|
+
// Both separators on every platform: `.+` in FILE_RE would let a topic
|
|
57
|
+
// carry `../`, and a `\` written on POSIX still means a path on Windows.
|
|
58
|
+
return !/[\\/]/.test(name) && FILE_RE.test(name);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* A change's `decisions:` values that are not a decision record filename, and
|
|
62
|
+
* those that are but name no file under `tospec/decisions/`. One rule set for
|
|
63
|
+
* `new change --decisions`, which refuses them, and validate, which reports a
|
|
64
|
+
* value written into `.tospec.yaml` by hand. Shape first: existence alone
|
|
65
|
+
* admitted `index.md`, `.gitkeep` and `../config.yaml`.
|
|
66
|
+
*/
|
|
67
|
+
export function findDecisionReferenceProblems(projectRoot, decisions) {
|
|
68
|
+
const decisionsDir = path.join(projectRoot, DECISIONS_SUBDIR);
|
|
69
|
+
const notRecords = decisions.filter((file) => !isDecisionFileName(file));
|
|
70
|
+
const missing = decisions.filter((file) => isDecisionFileName(file) && !fs.existsSync(path.join(decisionsDir, file)));
|
|
71
|
+
return { notRecords, missing };
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Title = the H1 heading; falls back to the topic derived from the filename.
|
|
75
|
+
* Without its closing `#` run, as CommonMark reads `# Use X ##`: kept, `decision
|
|
76
|
+
* list`, the index row reindex adds and the dashboard showed `Use X ##`.
|
|
77
|
+
*/
|
|
42
78
|
function parseTitle(sections, fallback) {
|
|
43
79
|
const h1 = sections.find((s) => s.level === 1);
|
|
44
|
-
return h1
|
|
80
|
+
return (h1 && stripClosingHashes(h1.title)) || fallback;
|
|
45
81
|
}
|
|
46
82
|
/** Status = the first ASCII-word bullet under `Status` (the `Date:` bullet follows it). */
|
|
47
83
|
function parseStatus(sections) {
|
|
@@ -118,7 +154,16 @@ function stampToHuman(stamp) {
|
|
|
118
154
|
}
|
|
119
155
|
/** Collapse newlines and escape pipes so a value can't break the index table. */
|
|
120
156
|
function indexCell(text) {
|
|
121
|
-
return text
|
|
157
|
+
return toSingleLine(text).replace(/\|/g, '\\|');
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* The cells of a trimmed `| a | b |` row. Splits only on an unescaped `|`, the
|
|
161
|
+
* inverse of `indexCell`: a plain split cut `A \| B` in two, so the row counted
|
|
162
|
+
* one cell too many and every reader skipped it. Cells keep their `\|` and
|
|
163
|
+
* padding, so joining them back with `|` reproduces the row.
|
|
164
|
+
*/
|
|
165
|
+
function indexRowCells(trimmed) {
|
|
166
|
+
return trimmed.slice(1, -1).split(/(?<!\\)\|/);
|
|
122
167
|
}
|
|
123
168
|
/** Seeds `tospec/decisions/index.md` from the schema template on first use. */
|
|
124
169
|
function ensureIndex(decisionsDir, projectRoot) {
|
|
@@ -157,7 +202,7 @@ function upgradeIndexColumns(lines, decisionsDir) {
|
|
|
157
202
|
return INDEX_HEADER;
|
|
158
203
|
if (/^[|\s-]+$/.test(trimmed))
|
|
159
204
|
return INDEX_SEPARATOR;
|
|
160
|
-
const cells = trimmed
|
|
205
|
+
const cells = indexRowCells(trimmed);
|
|
161
206
|
if (cells.length !== 4)
|
|
162
207
|
return line;
|
|
163
208
|
const fileMatch = /\]\(([^)]+)\)/.exec(cells[3]);
|
|
@@ -183,7 +228,7 @@ function refreshIndexStatuses(lines, decisionsDir) {
|
|
|
183
228
|
return line;
|
|
184
229
|
if (/^[|\s-]+$/.test(trimmed))
|
|
185
230
|
return line;
|
|
186
|
-
const cells = trimmed
|
|
231
|
+
const cells = indexRowCells(trimmed);
|
|
187
232
|
if (cells.length !== 5)
|
|
188
233
|
return line;
|
|
189
234
|
const fileMatch = /\]\(([^)]+)\)/.exec(cells[4]);
|
|
@@ -263,7 +308,7 @@ function indexRowTimestamp(line) {
|
|
|
263
308
|
return null;
|
|
264
309
|
if (/^[|\s-]+$/.test(trimmed))
|
|
265
310
|
return null;
|
|
266
|
-
const cells = trimmed
|
|
311
|
+
const cells = indexRowCells(trimmed);
|
|
267
312
|
if (cells.length !== 5)
|
|
268
313
|
return null;
|
|
269
314
|
return cells[0].trim();
|
|
@@ -348,6 +393,70 @@ export function reindexDecisionIndex(decisionsDir) {
|
|
|
348
393
|
}
|
|
349
394
|
return { statusesRefreshed, rowsAdded: missing.map((entry) => entry.file), danglingRows };
|
|
350
395
|
}
|
|
396
|
+
/**
|
|
397
|
+
* The directory of the active change `--change` names, checked before the ADR
|
|
398
|
+
* is written so a refused link leaves no orphan record behind. Its metadata is
|
|
399
|
+
* read here too: a `.tospec.yaml` that does not read cannot be appended to.
|
|
400
|
+
*
|
|
401
|
+
* An archived change is refused by name rather than as "not found": its
|
|
402
|
+
* metadata was frozen when archive copied the links into its ticket, so a link
|
|
403
|
+
* added now would reach no reader. The ADR's own `## Related Changes` section
|
|
404
|
+
* is where that link can live.
|
|
405
|
+
*/
|
|
406
|
+
async function resolveLinkedChange(root, name) {
|
|
407
|
+
const archived = findArchivedChange(root.changesDir, name);
|
|
408
|
+
if (archived && !fs.existsSync(path.join(root.changesDir, name))) {
|
|
409
|
+
throw new RootSelectionError(`Change '${name}' is archived (${archived}); an archived change's decisions are no longer read.`, 'decision_change_archived', {
|
|
410
|
+
target: 'decision.change',
|
|
411
|
+
fix: `Run tospec decision new without --change, and list ${archived} under the decision's ## Related Changes section instead.`,
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
try {
|
|
415
|
+
await validateChangeExists(name, root.path, root.changesDir);
|
|
416
|
+
}
|
|
417
|
+
catch (error) {
|
|
418
|
+
throw new RootSelectionError(asErrorMessage(error), 'decision_change_not_found', {
|
|
419
|
+
target: 'decision.change',
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
const changeDir = path.join(root.changesDir, name);
|
|
423
|
+
readChangeMetadata(changeDir, root.path);
|
|
424
|
+
return changeDir;
|
|
425
|
+
}
|
|
426
|
+
/** The newest `<stamp>-<name>` directory under `changes/archive/`, if any. */
|
|
427
|
+
function findArchivedChange(changesDir, name) {
|
|
428
|
+
let entries;
|
|
429
|
+
try {
|
|
430
|
+
entries = fs.readdirSync(path.join(changesDir, 'archive'));
|
|
431
|
+
}
|
|
432
|
+
catch {
|
|
433
|
+
return undefined;
|
|
434
|
+
}
|
|
435
|
+
// Stamps sort by time, so the last match is the newest archive of the name.
|
|
436
|
+
return entries
|
|
437
|
+
.filter((entry) => entry.endsWith(`-${name}`) && TIMESTAMP_RE.test(entry.slice(0, -name.length - 1)))
|
|
438
|
+
.sort()
|
|
439
|
+
.at(-1);
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* The one wording of the dangling-row warning, shared by human and JSON mode so
|
|
443
|
+
* the two cannot drift. Reindex keeps these rows, so the fix is a choice only the
|
|
444
|
+
* user can make: whether the file's deletion was meant. Naming "remove the row"
|
|
445
|
+
* alone read as the expected cleanup and would erase the record of a file lost
|
|
446
|
+
* by accident; naming "restore" alone left an intentional deletion with no exit.
|
|
447
|
+
*/
|
|
448
|
+
function danglingRowsWarning(ledger, rows, reindexed) {
|
|
449
|
+
return {
|
|
450
|
+
severity: 'warning',
|
|
451
|
+
code: 'decision_index_dangling',
|
|
452
|
+
message: `${rows.length} row(s) in ${ledger} link to a decision file that no longer exists: ${rows.join(', ')}.`,
|
|
453
|
+
target: ledger,
|
|
454
|
+
fix: `If the deletion was intentional, remove those rows from ${ledger} by hand; otherwise restore the file. ` +
|
|
455
|
+
(reindexed
|
|
456
|
+
? '`--reindex` never deletes a row: the ledger is a historical record.'
|
|
457
|
+
: '`tospec decision list --reindex` reports them too, and never deletes a row: the ledger is a historical record.'),
|
|
458
|
+
};
|
|
459
|
+
}
|
|
351
460
|
export async function decisionNewCommand(topic, options) {
|
|
352
461
|
// Root first, as `new change` does: an argument failure still happened
|
|
353
462
|
// somewhere, and `root: null` could not say where.
|
|
@@ -369,7 +478,7 @@ export async function decisionNewCommand(topic, options) {
|
|
|
369
478
|
const root = resolvedRoot;
|
|
370
479
|
if (!topic)
|
|
371
480
|
throw new Error('Missing required argument <topic>');
|
|
372
|
-
const nameValidation =
|
|
481
|
+
const nameValidation = validateNewChangeName(topic, 'Topic');
|
|
373
482
|
if (!nameValidation.valid) {
|
|
374
483
|
throw new Error(`Invalid topic '${topic}': ${nameValidation.error}`);
|
|
375
484
|
}
|
|
@@ -384,10 +493,13 @@ export async function decisionNewCommand(topic, options) {
|
|
|
384
493
|
if (!isRealTimestamp(stamp)) {
|
|
385
494
|
throw new Error(`Invalid --date '${stamp}'. That is not a real date and time.`);
|
|
386
495
|
}
|
|
496
|
+
const linkedChangeDir = options.change !== undefined ? await resolveLinkedChange(root, options.change) : undefined;
|
|
387
497
|
const decisionsDir = path.join(root.path, DECISIONS_SUBDIR);
|
|
388
498
|
const fileName = `${stamp}-${topic}.md`;
|
|
389
499
|
const filePath = path.join(decisionsDir, fileName);
|
|
390
|
-
|
|
500
|
+
// Folded before anything uses it, so the `# ` heading, the JSON and the
|
|
501
|
+
// ledger row all carry the same one-line title.
|
|
502
|
+
const title = toSingleLine(options.title ?? topic);
|
|
391
503
|
const summary = options.summary ?? title;
|
|
392
504
|
const template = loadTemplate(SCHEMA_NAME, 'decision.md', root.path);
|
|
393
505
|
const content = renderDecision(template, title, stamp, status);
|
|
@@ -396,6 +508,11 @@ export async function decisionNewCommand(topic, options) {
|
|
|
396
508
|
// one — a `tospec/` with only `changes/` — and creating just `decisions/`
|
|
397
509
|
// inside it would leave a half-root that every other command resolves as
|
|
398
510
|
// a project. Directories only; no config.yaml is written here.
|
|
511
|
+
// Before completeRootStructure creates anything, for the same reason it
|
|
512
|
+
// checks its own directories first.
|
|
513
|
+
const occupied = findLayoutPathNotDirectory(root.path, decisionsDir);
|
|
514
|
+
if (occupied)
|
|
515
|
+
throw occupied;
|
|
399
516
|
await completeRootStructure(root.path, DEFAULT_SCHEMA);
|
|
400
517
|
fs.mkdirSync(decisionsDir, { recursive: true });
|
|
401
518
|
if (options.force) {
|
|
@@ -418,8 +535,23 @@ export async function decisionNewCommand(topic, options) {
|
|
|
418
535
|
// Unconditional: a --force that rewrote the file has to carry its new title
|
|
419
536
|
// and summary into the ledger.
|
|
420
537
|
writeIndexRow(indexPath, stampToHuman(stamp), status, title, summary, fileName);
|
|
538
|
+
// Last, after the record exists: the link must never name a file that is
|
|
539
|
+
// not there. A rerun with --force finds the name already listed.
|
|
540
|
+
if (linkedChangeDir)
|
|
541
|
+
appendChangeDecision(linkedChangeDir, fileName);
|
|
421
542
|
const payload = {
|
|
422
|
-
decision: {
|
|
543
|
+
decision: {
|
|
544
|
+
topic,
|
|
545
|
+
title,
|
|
546
|
+
date: stamp,
|
|
547
|
+
status,
|
|
548
|
+
summary,
|
|
549
|
+
path: filePath,
|
|
550
|
+
indexPath,
|
|
551
|
+
...(linkedChangeDir
|
|
552
|
+
? { change: options.change, metadataPath: path.join(linkedChangeDir, METADATA_FILENAME) }
|
|
553
|
+
: {}),
|
|
554
|
+
},
|
|
423
555
|
root: toRootOutput(root),
|
|
424
556
|
};
|
|
425
557
|
if (options.json) {
|
|
@@ -429,6 +561,9 @@ export async function decisionNewCommand(topic, options) {
|
|
|
429
561
|
console.log(`Created decision '${topic}' at ${filePath}`);
|
|
430
562
|
console.log(`Status: ${status}`);
|
|
431
563
|
console.log(`Indexed in ${indexPath}`);
|
|
564
|
+
if (payload.decision.metadataPath) {
|
|
565
|
+
console.log(`Linked to change '${options.change}' in ${payload.decision.metadataPath}`);
|
|
566
|
+
}
|
|
432
567
|
console.log('Next: fill in Context / Decision / Impact / Alternatives / Follow-up in the file above.');
|
|
433
568
|
}
|
|
434
569
|
catch (error) {
|
|
@@ -439,6 +574,123 @@ export async function decisionNewCommand(topic, options) {
|
|
|
439
574
|
throw error;
|
|
440
575
|
}
|
|
441
576
|
}
|
|
577
|
+
/**
|
|
578
|
+
* `content` with its Status bullet set to `status`, or null when it has no
|
|
579
|
+
* bullet `parseStatus` would read. Only the status word changes: the rest of
|
|
580
|
+
* the line (a successor named after `superseded`, say) is the author's.
|
|
581
|
+
*
|
|
582
|
+
* Checked by reading the result back with `parseStatus`, not by matching the
|
|
583
|
+
* parser line for line: a fence or an indented first bullet can make a line
|
|
584
|
+
* scan and the section reader disagree, and writing a file `decision list`
|
|
585
|
+
* reads differently would break the one promise this command makes.
|
|
586
|
+
*/
|
|
587
|
+
function setDecisionFileStatus(content, status) {
|
|
588
|
+
const bom = content.startsWith('') ? '' : '';
|
|
589
|
+
const eol = content.includes('\r\n') ? '\r\n' : '\n';
|
|
590
|
+
const lines = content.slice(bom.length).split(/\r?\n/);
|
|
591
|
+
const section = findSection(new MarkdownParser(content).getSections(), 'Status');
|
|
592
|
+
if (!section)
|
|
593
|
+
return null;
|
|
594
|
+
// `section.line` is the heading's 1-based number, so the index of the line after it.
|
|
595
|
+
for (let i = section.line; i < lines.length; i++) {
|
|
596
|
+
const level = headingLevel(lines[i]);
|
|
597
|
+
if (level !== null && level <= section.level)
|
|
598
|
+
break;
|
|
599
|
+
const bullet = /^(-\s+)[A-Za-z]+/.exec(lines[i]);
|
|
600
|
+
if (!bullet)
|
|
601
|
+
continue;
|
|
602
|
+
lines[i] = bullet[1] + status + lines[i].slice(bullet[0].length);
|
|
603
|
+
const next = bom + lines.join(eol);
|
|
604
|
+
return parseStatus(new MarkdownParser(next).getSections()) === status ? next : null;
|
|
605
|
+
}
|
|
606
|
+
return null;
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* `tospec decision status <file> <status>` — the one way to move a recorded
|
|
610
|
+
* decision through its lifecycle. Before it, a status could only be set at
|
|
611
|
+
* `decision new`; an auto-recorded `proposed` ADR stayed `proposed` forever,
|
|
612
|
+
* and propose / explore read only `accepted` ones, so the decision was never
|
|
613
|
+
* read again.
|
|
614
|
+
*
|
|
615
|
+
* The file is written first and the ledger is then rebuilt from it, the same
|
|
616
|
+
* pass `decision list --reindex` runs, so `index.md` carries what the file
|
|
617
|
+
* says rather than a second copy of the argument.
|
|
618
|
+
*/
|
|
619
|
+
export async function decisionStatusCommand(file, status, options) {
|
|
620
|
+
let resolvedRoot = null;
|
|
621
|
+
const failurePayload = () => ({
|
|
622
|
+
decision: null,
|
|
623
|
+
root: resolvedRoot ? toRootOutput(resolvedRoot) : null,
|
|
624
|
+
});
|
|
625
|
+
try {
|
|
626
|
+
resolvedRoot = await resolveRootForCommand(options, {
|
|
627
|
+
json: options.json,
|
|
628
|
+
allowImplicitRoot: false,
|
|
629
|
+
failurePayload: failurePayload(),
|
|
630
|
+
});
|
|
631
|
+
if (!resolvedRoot)
|
|
632
|
+
return;
|
|
633
|
+
const root = resolvedRoot;
|
|
634
|
+
if (!file)
|
|
635
|
+
throw new Error('Missing required argument <file>');
|
|
636
|
+
if (!isDecisionFileName(file)) {
|
|
637
|
+
throw new Error(`Not a decision record filename: ${file}. ` +
|
|
638
|
+
'Pass the bare <yyyyMMdd_HHmmss>-<topic>.md filename under tospec/decisions/, without a directory part; ' +
|
|
639
|
+
'run tospec decision list to see them.');
|
|
640
|
+
}
|
|
641
|
+
if (!status || !DECISION_STATUSES.includes(status)) {
|
|
642
|
+
throw new Error(`Invalid status '${status ?? ''}'. Use one of: ${DECISION_STATUSES.join(', ')}`);
|
|
643
|
+
}
|
|
644
|
+
const decisionsDir = path.join(root.path, DECISIONS_SUBDIR);
|
|
645
|
+
const filePath = path.join(decisionsDir, file);
|
|
646
|
+
let content;
|
|
647
|
+
try {
|
|
648
|
+
content = fs.readFileSync(filePath, 'utf-8');
|
|
649
|
+
}
|
|
650
|
+
catch (error) {
|
|
651
|
+
if (error.code === 'ENOENT') {
|
|
652
|
+
throw new Error(`No such decision record in tospec/decisions/: ${file}. Run tospec decision list to see them.`);
|
|
653
|
+
}
|
|
654
|
+
throw error;
|
|
655
|
+
}
|
|
656
|
+
const previousStatus = parseStatus(new MarkdownParser(content).getSections());
|
|
657
|
+
const changed = previousStatus !== status;
|
|
658
|
+
if (changed) {
|
|
659
|
+
const next = setDecisionFileStatus(content, status);
|
|
660
|
+
if (next === null) {
|
|
661
|
+
throw new Error(`${file} has no status bullet under ## Status to rewrite. ` +
|
|
662
|
+
'Restore the "- <status>" line the template starts that section with, then rerun.');
|
|
663
|
+
}
|
|
664
|
+
fs.writeFileSync(filePath, next, 'utf-8');
|
|
665
|
+
}
|
|
666
|
+
// Even when the file already said so: the ledger may be the stale half,
|
|
667
|
+
// which is the case a hand edit without `--reindex` leaves.
|
|
668
|
+
const indexPath = ensureIndex(decisionsDir, root.path);
|
|
669
|
+
reindexDecisionIndex(decisionsDir);
|
|
670
|
+
const payload = {
|
|
671
|
+
decision: { file, path: filePath, status, previousStatus, changed, indexPath },
|
|
672
|
+
root: toRootOutput(root),
|
|
673
|
+
};
|
|
674
|
+
if (options.json) {
|
|
675
|
+
emitSuccess({ decision: payload.decision }, payload.root);
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
678
|
+
console.log(changed
|
|
679
|
+
? `Status of ${file}: ${previousStatus} -> ${status}`
|
|
680
|
+
: `${file} is already ${status}.`);
|
|
681
|
+
console.log(`Indexed in ${indexPath}`);
|
|
682
|
+
if (changed && status === 'superseded') {
|
|
683
|
+
console.log('Next: name the decision that replaces it in the file\'s Status section.');
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
catch (error) {
|
|
687
|
+
if (options.json) {
|
|
688
|
+
emitFailure(true, failurePayload(), error, 'decision_error');
|
|
689
|
+
return;
|
|
690
|
+
}
|
|
691
|
+
throw error;
|
|
692
|
+
}
|
|
693
|
+
}
|
|
442
694
|
export async function decisionListCommand(options) {
|
|
443
695
|
try {
|
|
444
696
|
// No implicit root, like `list` / `status --all` / `validate --all`: a batch
|
|
@@ -482,6 +734,13 @@ export async function decisionListCommand(options) {
|
|
|
482
734
|
// Newest first; tie-break by topic for stability.
|
|
483
735
|
entries.sort((a, b) => b.date.localeCompare(a.date) || a.topic.localeCompare(b.topic));
|
|
484
736
|
}
|
|
737
|
+
// Posix separators throughout: `DECISIONS_SUBDIR` is a `path.join`, so on
|
|
738
|
+
// Windows appending `/index.md` printed `tospec\decisions/index.md`.
|
|
739
|
+
const ledger = `${DECISIONS_SUBDIR.split(path.sep).join('/')}/index.md`;
|
|
740
|
+
const hasDangling = reindexed.danglingRows.length > 0;
|
|
741
|
+
const danglingWarning = hasDangling
|
|
742
|
+
? danglingRowsWarning(ledger, reindexed.danglingRows, Boolean(options.reindex))
|
|
743
|
+
: null;
|
|
485
744
|
if (options.json) {
|
|
486
745
|
emitSuccess({
|
|
487
746
|
decisions: entries,
|
|
@@ -497,16 +756,16 @@ export async function decisionListCommand(options) {
|
|
|
497
756
|
// that reads as "checked, nothing to do"; only the drift this
|
|
498
757
|
// query actually looked for is reported, and only when there is
|
|
499
758
|
// some.
|
|
500
|
-
|
|
759
|
+
hasDangling
|
|
501
760
|
? { danglingRows: reindexed.danglingRows }
|
|
502
761
|
: {}),
|
|
762
|
+
// A success envelope may carry warnings (exit 0, see
|
|
763
|
+
// docs/agent-contract.md): `danglingRows` names the rows, but only a
|
|
764
|
+
// `status[]` entry carries the `fix` an agent relays to the user.
|
|
765
|
+
...(danglingWarning ? { status: [danglingWarning] } : {}),
|
|
503
766
|
}, toRootOutput(root));
|
|
504
767
|
return;
|
|
505
768
|
}
|
|
506
|
-
// Posix separators throughout: `DECISIONS_SUBDIR` is a `path.join`, so on
|
|
507
|
-
// Windows appending `/index.md` printed `tospec\decisions/index.md`.
|
|
508
|
-
const ledger = `${DECISIONS_SUBDIR.split(path.sep).join('/')}/index.md`;
|
|
509
|
-
const hasDangling = reindexed.danglingRows.length > 0;
|
|
510
769
|
if (options.reindex) {
|
|
511
770
|
const done = [];
|
|
512
771
|
if (reindexed.statusesRefreshed > 0) {
|
|
@@ -525,14 +784,16 @@ export async function decisionListCommand(options) {
|
|
|
525
784
|
console.log(`${ledger} is already in sync with the decision files.`);
|
|
526
785
|
}
|
|
527
786
|
else {
|
|
528
|
-
|
|
787
|
+
// A period, not a colon: the warning that explains it is on stderr, so
|
|
788
|
+
// a piped stdout would end on a colon leading nowhere.
|
|
789
|
+
console.log(`${ledger}: no status cell or row needed rewriting, but it is not clean.`);
|
|
529
790
|
}
|
|
530
791
|
}
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
792
|
+
// Stderr, as every other human-mode diagnostic: on stdout a piped table
|
|
793
|
+
// carried the warning's lines as if they were rows.
|
|
794
|
+
if (danglingWarning) {
|
|
795
|
+
console.error(formatLabeled('Warning', danglingWarning.message));
|
|
796
|
+
console.error(formatLabeled('Fix', danglingWarning.fix));
|
|
536
797
|
}
|
|
537
798
|
if (entries.length === 0) {
|
|
538
799
|
console.log(options.status && totalEntries > 0
|
|
@@ -570,6 +831,7 @@ export function registerDecisionCommand(program) {
|
|
|
570
831
|
.option('--date <yyyyMMdd_HHmmss>', 'Decision timestamp (defaults to now, project format)')
|
|
571
832
|
.option('--status <status>', `Status: ${DECISION_STATUSES.join(' | ')} (default: proposed)`)
|
|
572
833
|
.option('--force', 'Overwrite if the decision file already exists')
|
|
834
|
+
.option('--change <name>', "Also list the new file in this active change's .tospec.yaml decisions:")
|
|
573
835
|
.option('--json', 'Output as JSON')
|
|
574
836
|
.action(async (topic, options) => {
|
|
575
837
|
try {
|
|
@@ -582,6 +844,20 @@ export function registerDecisionCommand(program) {
|
|
|
582
844
|
emitFailure(false, {}, error, 'decision_error');
|
|
583
845
|
}
|
|
584
846
|
});
|
|
847
|
+
decisionCmd
|
|
848
|
+
.command('status')
|
|
849
|
+
.description("Set a decision's status in its file and in decisions/index.md")
|
|
850
|
+
.argument('<file>', 'Decision filename, <yyyyMMdd_HHmmss>-<topic>.md')
|
|
851
|
+
.addArgument(new Argument('<status>', 'New status').choices(DECISION_STATUSES))
|
|
852
|
+
.option('--json', 'Output as JSON')
|
|
853
|
+
.action(async (file, status, options) => {
|
|
854
|
+
try {
|
|
855
|
+
await decisionStatusCommand(file, status, options);
|
|
856
|
+
}
|
|
857
|
+
catch (error) {
|
|
858
|
+
emitFailure(false, {}, error, 'decision_error');
|
|
859
|
+
}
|
|
860
|
+
});
|
|
585
861
|
decisionCmd
|
|
586
862
|
.command('list')
|
|
587
863
|
.description('List decisions as an index table')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision.js","sourceRoot":"","sources":["../../src/commands/decision.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decision.js","sourceRoot":"","sources":["../../src/commands/decision.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
*
|
|
6
6
|
* The two carry different confidence — Claude Code's attribution is read
|
|
7
7
|
* directly, Codex's is inferred — so they are never summed into one figure;
|
|
8
|
-
* every row, chart and statistic carries a `source
|
|
8
|
+
* every row, chart and statistic carries a `source`.
|
|
9
9
|
*
|
|
10
|
-
* The page is the only output
|
|
11
|
-
* tospec/decisions/20260730_205609-metrics-web-only-output.md.
|
|
10
|
+
* The page is the only output.
|
|
12
11
|
*
|
|
13
12
|
* The server is deliberately short-lived and unmanaged: it binds a fixed base
|
|
14
13
|
* port and advances on collision, so none of the dashboard's registry, pid-file
|
|
@@ -106,7 +105,7 @@ export declare function buildTimeSeries(runs: SkillRun[]): TimeSeries;
|
|
|
106
105
|
* Pure: both sources' caches plus a query into the report the page renders. The
|
|
107
106
|
* two are built and filtered independently, merging only into one sorted `runs`
|
|
108
107
|
* list and one `skills` list, which `aggregateRuns` keeps apart by
|
|
109
|
-
* `(skill, source)` — never summed
|
|
108
|
+
* `(skill, source)` — never summed.
|
|
110
109
|
*/
|
|
111
110
|
export declare function reportFrom(claudeCache: TranscriptCache, codexCache: CodexSessionScan, query: ReportQuery, capturedAt?: string): MetricsReport;
|
|
112
111
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/commands/metrics.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/commands/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,OAAO,EAQL,KAAK,aAAa,EAClB,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAYlC,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB,EAAE,uBAAuB;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAUD,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,UAAU,eAAe;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAiCD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3E,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,aAAa,CAAC;IAC1B,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,4EAA4E;IAC5E,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAsDD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAU,CAkC5D;AAkDD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,WAAW,EAClB,UAAU,GAAE,MAAiC,GAC5C,aAAa,CA2Cf;AAsGD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B7D;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAmBtB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkB7D"}
|