@rsaglobaltech/specgate 0.19.1 → 0.21.0
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 +164 -4
- package/README.md +31 -31
- package/bin/specgate.ts +26 -20
- package/dist/bin/specgate.js +16 -11
- package/dist/bin/specgate.js.map +1 -1
- package/dist/packages/core/src/application/AddRequirementUseCase.js +11 -1
- package/dist/packages/core/src/application/AddRequirementUseCase.js.map +1 -1
- package/dist/packages/core/src/application/ArchiveChangeUseCase.js +7 -2
- package/dist/packages/core/src/application/ArchiveChangeUseCase.js.map +1 -1
- package/dist/packages/core/src/application/ValidateProjectUseCase.js +9 -3
- package/dist/packages/core/src/application/ValidateProjectUseCase.js.map +1 -1
- package/dist/packages/core/src/domain/ArchivePlan.js.map +1 -1
- package/dist/packages/core/src/domain/ChangeTemplates.js +19 -0
- package/dist/packages/core/src/domain/ChangeTemplates.js.map +1 -1
- package/dist/packages/core/src/domain/DeltaSpec.js +14 -7
- package/dist/packages/core/src/domain/DeltaSpec.js.map +1 -1
- package/dist/packages/core/src/domain/DerivedMatrix.js +2 -2
- package/dist/packages/core/src/domain/DerivedMatrix.js.map +1 -1
- package/dist/packages/core/src/domain/Diagnostic.js.map +1 -1
- package/dist/packages/core/src/domain/DoneVerification.js +12 -4
- package/dist/packages/core/src/domain/DoneVerification.js.map +1 -1
- package/dist/packages/core/src/domain/DraftChecklist.js +1 -1
- package/dist/packages/core/src/domain/DraftChecklist.js.map +1 -1
- package/dist/packages/core/src/domain/GherkinQuality.js +5 -2
- package/dist/packages/core/src/domain/GherkinQuality.js.map +1 -1
- package/dist/packages/core/src/domain/HarnessConfig.js +1 -0
- package/dist/packages/core/src/domain/HarnessConfig.js.map +1 -1
- package/dist/packages/core/src/domain/HarnessEvents.js +129 -0
- package/dist/packages/core/src/domain/HarnessEvents.js.map +1 -0
- package/dist/packages/core/src/domain/HarnessRun.js.map +1 -1
- package/dist/packages/core/src/domain/Language.js +5 -2
- package/dist/packages/core/src/domain/Language.js.map +1 -1
- package/dist/packages/core/src/domain/PackContribution.js.map +1 -1
- package/dist/packages/core/src/domain/PackDelta.js +5 -2
- package/dist/packages/core/src/domain/PackDelta.js.map +1 -1
- package/dist/packages/core/src/domain/PackSpec.js +16 -2
- package/dist/packages/core/src/domain/PackSpec.js.map +1 -1
- package/dist/packages/core/src/domain/QuotedText.js +36 -0
- package/dist/packages/core/src/domain/QuotedText.js.map +1 -0
- package/dist/packages/core/src/domain/RequirementPlan.js.map +1 -1
- package/dist/packages/core/src/domain/SpecParser.js +2 -9
- package/dist/packages/core/src/domain/SpecParser.js.map +1 -1
- package/dist/packages/core/src/domain/TraceabilityFormat.js.map +1 -1
- package/dist/packages/core/src/domain/TraceabilityMatrix.js +3 -3
- package/dist/packages/core/src/domain/TraceabilityMatrix.js.map +1 -1
- package/dist/packages/core/src/domain/YamlLite.js +3 -0
- package/dist/packages/core/src/domain/YamlLite.js.map +1 -1
- package/dist/packages/core/src/infrastructure/ChangeWorkspace.js.map +1 -1
- package/dist/packages/core/src/infrastructure/ConsoleReporter.js.map +1 -1
- package/dist/packages/core/src/infrastructure/DiskLanguageRepository.js +1 -0
- package/dist/packages/core/src/infrastructure/DiskLanguageRepository.js.map +1 -1
- package/dist/packages/core/src/infrastructure/DiskPackDeltaRepository.js +3 -1
- package/dist/packages/core/src/infrastructure/DiskPackDeltaRepository.js.map +1 -1
- package/dist/packages/core/src/infrastructure/DiskPackRepository.js +0 -2
- package/dist/packages/core/src/infrastructure/DiskPackRepository.js.map +1 -1
- package/dist/packages/core/src/infrastructure/DiskRequirementGraphRepository.js.map +1 -1
- package/dist/packages/core/src/infrastructure/GitContributionStager.js +0 -4
- package/dist/packages/core/src/infrastructure/GitContributionStager.js.map +1 -1
- package/dist/packages/core/src/infrastructure/GitMergeDriver.js +0 -3
- package/dist/packages/core/src/infrastructure/GitMergeDriver.js.map +1 -1
- package/dist/packages/core/src/infrastructure/HarnessConfigFile.js +16 -13
- package/dist/packages/core/src/infrastructure/HarnessConfigFile.js.map +1 -1
- package/dist/packages/core/src/infrastructure/PackChangeDeposit.js.map +1 -1
- package/dist/packages/core/src/infrastructure/RemotePackResolver.js +0 -7
- package/dist/packages/core/src/infrastructure/RemotePackResolver.js.map +1 -1
- package/dist/packages/core/src/infrastructure/SpecopsConfigFile.js.map +1 -1
- package/dist/packages/core/test/unit/declared-artifacts.test.js +6 -2
- package/dist/packages/core/test/unit/declared-artifacts.test.js.map +1 -1
- package/dist/packages/core/test/unit/derived-matrix.test.js +3 -0
- package/dist/packages/core/test/unit/derived-matrix.test.js.map +1 -1
- package/dist/packages/core/test/unit/done-verification.test.js +3 -0
- package/dist/packages/core/test/unit/done-verification.test.js.map +1 -1
- package/dist/packages/core/test/unit/matrix-dependencies.test.js.map +1 -1
- package/dist/packages/core/test/unit/reconciliation.test.js.map +1 -1
- package/dist/packages/core/test/unit/requirement-readiness.test.js +2 -2
- package/dist/packages/core/test/unit/requirement-readiness.test.js.map +1 -1
- package/dist/packages/core/test/unit/resume-state.test.js +4 -1
- package/dist/packages/core/test/unit/resume-state.test.js.map +1 -1
- package/dist/packages/core/test/unit/run-budget.test.js +3 -0
- package/dist/packages/core/test/unit/run-budget.test.js.map +1 -1
- package/dist/packages/core/test/unit/untouched-delta.test.js +52 -0
- package/dist/packages/core/test/unit/untouched-delta.test.js.map +1 -0
- package/dist/packages/core/test/unit/validate-project.test.js +6 -2
- package/dist/packages/core/test/unit/validate-project.test.js.map +1 -1
- package/dist/packages/mcp-spec-driven/src/server.js +4 -3
- package/dist/packages/mcp-spec-driven/src/server.js.map +1 -1
- package/dist/packages/mcp-spec-driven/src/tools.js.map +1 -1
- package/dist/scripts/add.js +10 -0
- package/dist/scripts/add.js.map +1 -0
- package/dist/scripts/agents/commands.js +49 -37
- package/dist/scripts/agents/commands.js.map +1 -1
- package/dist/scripts/agents/detect.js.map +1 -1
- package/dist/scripts/agents/init.js.map +1 -1
- package/dist/scripts/alm/cli.js +2 -2
- package/dist/scripts/alm/cli.js.map +1 -1
- package/dist/scripts/alm/core.js +1 -0
- package/dist/scripts/alm/core.js.map +1 -1
- package/dist/scripts/apply.js +9 -0
- package/dist/scripts/apply.js.map +1 -0
- package/dist/scripts/archive.js +9 -0
- package/dist/scripts/archive.js.map +1 -0
- package/dist/scripts/change/archive.js.map +1 -1
- package/dist/scripts/change/artifacts.js.map +1 -1
- package/dist/scripts/change/delta.js +0 -8
- package/dist/scripts/change/delta.js.map +1 -1
- package/dist/scripts/change/instructions.js +9 -11
- package/dist/scripts/change/instructions.js.map +1 -1
- package/dist/scripts/cli/commands/alm/PullCommand.js +4 -2
- package/dist/scripts/cli/commands/alm/PullCommand.js.map +1 -1
- package/dist/scripts/cli/commands/change/ChangeCommand.js +91 -17
- package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
- package/dist/scripts/cli/commands/config/ConfigSetCommand.js +20 -11
- package/dist/scripts/cli/commands/config/ConfigSetCommand.js.map +1 -1
- package/dist/scripts/cli/commands/harness/RunCommand.js +243 -34
- package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
- package/dist/scripts/cli/commands/mcp/McpInstallCommand.js +1 -0
- package/dist/scripts/cli/commands/mcp/McpInstallCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/BundlePackCommand.js +2 -1
- package/dist/scripts/cli/commands/pack/BundlePackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/ExpandDomainPackCommand.js +32 -17
- package/dist/scripts/cli/commands/pack/ExpandDomainPackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/InferPackCommand.js +8 -5
- package/dist/scripts/cli/commands/pack/InferPackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/LintPackCommand.js +36 -44
- package/dist/scripts/cli/commands/pack/LintPackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/pack-args.js.map +1 -1
- package/dist/scripts/cli/commands/project/AddCommand.js +75 -0
- package/dist/scripts/cli/commands/project/AddCommand.js.map +1 -0
- package/dist/scripts/cli/commands/project/AdoptCommand.js +4 -2
- package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/Forja.js +104 -0
- package/dist/scripts/cli/commands/project/Forja.js.map +1 -0
- package/dist/scripts/cli/commands/project/InitFromPackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/InitProjectCommand.js +55 -2
- package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/OnboardCommand.js +40 -4
- package/dist/scripts/cli/commands/project/OnboardCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/UpdateCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/WizardCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/CheckCommand.js +96 -17
- package/dist/scripts/cli/commands/quality/CheckCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/DoctorCommand.js +8 -4
- package/dist/scripts/cli/commands/quality/DoctorCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/FixCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/LicenseCheckCommand.js +3 -1
- package/dist/scripts/cli/commands/quality/LicenseCheckCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/ReportCommand.js +8 -3
- package/dist/scripts/cli/commands/quality/ReportCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +39 -30
- package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/VerifyCommand.js +3 -2
- package/dist/scripts/cli/commands/quality/VerifyCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/DoneCommand.js +212 -80
- package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/DraftCommand.js +56 -33
- package/dist/scripts/cli/commands/spec/DraftCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/ExploreCommand.js +224 -0
- package/dist/scripts/cli/commands/spec/ExploreCommand.js.map +1 -0
- package/dist/scripts/cli/commands/spec/MatrixCommand.js +35 -5
- package/dist/scripts/cli/commands/spec/MatrixCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/NewCommand.js +4 -4
- package/dist/scripts/cli/commands/spec/NewCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/PetCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/PlanCommand.js +8 -3
- package/dist/scripts/cli/commands/spec/PlanCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/ReqCommand.js +8 -9
- package/dist/scripts/cli/commands/spec/ReqCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/StatusCommand.js +121 -23
- package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/StudioCommand.js +76 -4
- package/dist/scripts/cli/commands/spec/StudioCommand.js.map +1 -1
- package/dist/scripts/cli/commands/specops/ContributeCommand.js +6 -2
- package/dist/scripts/cli/commands/specops/ContributeCommand.js.map +1 -1
- package/dist/scripts/cli/commands/specops/DiffCommand.js +19 -5
- package/dist/scripts/cli/commands/specops/DiffCommand.js.map +1 -1
- package/dist/scripts/cli/commands/specops/SyncCommand.js +4 -2
- package/dist/scripts/cli/commands/specops/SyncCommand.js.map +1 -1
- package/dist/scripts/docs/build-site.js +81 -1
- package/dist/scripts/docs/build-site.js.map +1 -1
- package/dist/scripts/docs/components.js +6 -1
- package/dist/scripts/docs/components.js.map +1 -1
- package/dist/scripts/docs/icons.js +0 -6
- package/dist/scripts/docs/icons.js.map +1 -1
- package/dist/scripts/docs/journey-storyboard.js +23 -20
- package/dist/scripts/docs/journey-storyboard.js.map +1 -1
- package/dist/scripts/docs/nav.js +136 -22
- package/dist/scripts/docs/nav.js.map +1 -1
- package/dist/scripts/docs/record-terminal.js +1 -1
- package/dist/scripts/docs/record-terminal.js.map +1 -1
- package/dist/scripts/docs/terminal-storyboard.js +24 -21
- package/dist/scripts/docs/terminal-storyboard.js.map +1 -1
- package/dist/scripts/draft/brief-setup.js +9 -8
- package/dist/scripts/draft/brief-setup.js.map +1 -1
- package/dist/scripts/draft/confined-agent.js +3 -2
- package/dist/scripts/draft/confined-agent.js.map +1 -1
- package/dist/scripts/draft/drafting-guide.js +7 -6
- package/dist/scripts/draft/drafting-guide.js.map +1 -1
- package/dist/scripts/explore.js +10 -0
- package/dist/scripts/explore.js.map +1 -0
- package/dist/scripts/gen_mcp_tools.js +15 -7
- package/dist/scripts/gen_mcp_tools.js.map +1 -1
- package/dist/scripts/harness/events.js +202 -0
- package/dist/scripts/harness/events.js.map +1 -0
- package/dist/scripts/harness/init.js +6 -2
- package/dist/scripts/harness/init.js.map +1 -1
- package/dist/scripts/harness/run.js +2 -1
- package/dist/scripts/harness/run.js.map +1 -1
- package/dist/scripts/lib/agent.js.map +1 -1
- package/dist/scripts/lib/base-ids.js +179 -0
- package/dist/scripts/lib/base-ids.js.map +1 -0
- package/dist/scripts/lib/capability-specs.js.map +1 -1
- package/dist/scripts/lib/diagnostics.js +0 -10
- package/dist/scripts/lib/diagnostics.js.map +1 -1
- package/dist/scripts/lib/harness-events.js +74 -0
- package/dist/scripts/lib/harness-events.js.map +1 -0
- package/dist/scripts/lib/in-flight.js +191 -0
- package/dist/scripts/lib/in-flight.js.map +1 -0
- package/dist/scripts/lib/live-model.js +145 -0
- package/dist/scripts/lib/live-model.js.map +1 -0
- package/dist/scripts/lib/live-page.js +89 -0
- package/dist/scripts/lib/live-page.js.map +1 -0
- package/dist/scripts/lib/monorepo-fanout.js.map +1 -1
- package/dist/scripts/lib/placeholders.js.map +1 -1
- package/dist/scripts/lib/project-root.js.map +1 -1
- package/dist/scripts/lib/run-with-deadline.js +6 -1
- package/dist/scripts/lib/run-with-deadline.js.map +1 -1
- package/dist/scripts/lib/surface.js +109 -24
- package/dist/scripts/lib/surface.js.map +1 -1
- package/dist/scripts/lib/tour.js +149 -0
- package/dist/scripts/lib/tour.js.map +1 -0
- package/dist/scripts/propose.js +21 -0
- package/dist/scripts/propose.js.map +1 -0
- package/dist/scripts/schema/cli.js +1 -1
- package/dist/scripts/schema/cli.js.map +1 -1
- package/dist/scripts/schema/registry.js +1 -0
- package/dist/scripts/schema/registry.js.map +1 -1
- package/dist/scripts/specops/add.js +2 -1
- package/dist/scripts/specops/add.js.map +1 -1
- package/dist/scripts/specops/against_lock.js +22 -25
- package/dist/scripts/specops/against_lock.js.map +1 -1
- package/dist/scripts/specops/as_change.js.map +1 -1
- package/dist/scripts/specops/lock.js +0 -5
- package/dist/scripts/specops/lock.js.map +1 -1
- package/dist/scripts/specops/manifest.js +0 -8
- package/dist/scripts/specops/manifest.js.map +1 -1
- package/dist/scripts/specops/remove.js +2 -1
- package/dist/scripts/specops/remove.js.map +1 -1
- package/dist/scripts/specops/verify.js.map +1 -1
- package/package.json +1 -1
- package/templates/adopt/spec.md.tpl +1 -1
- package/templates/adopt/traceability.md.tpl +1 -1
- package/templates/base/AGENTS.md.tpl +12 -6
- package/templates/harness/prompt-prefix.md.tpl +1 -1
|
@@ -38,7 +38,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
38
38
|
};
|
|
39
39
|
})();
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
-
exports.bare = bare;
|
|
42
41
|
exports.checkAgainstLock = checkAgainstLock;
|
|
43
42
|
exports.checkPackAgainstProject = checkPackAgainstProject;
|
|
44
43
|
const fs = __importStar(require("node:fs"));
|
|
@@ -48,11 +47,15 @@ const diagnostics_1 = require("../lib/diagnostics");
|
|
|
48
47
|
const DiskLockfileRepository_1 = require("../../packages/core/src/infrastructure/DiskLockfileRepository");
|
|
49
48
|
const DiskDomainPackRepository_1 = require("../../packages/core/src/infrastructure/DiskDomainPackRepository");
|
|
50
49
|
const CheckAgainstLockUseCase_1 = require("../../packages/core/src/application/CheckAgainstLockUseCase");
|
|
51
|
-
/**
|
|
52
|
-
function
|
|
53
|
-
|
|
54
|
-
.
|
|
55
|
-
|
|
50
|
+
/** The use case's plain findings, as the diagnostics the CLI prints. */
|
|
51
|
+
function toDiagnostic(d) {
|
|
52
|
+
if (d.severity === "error") {
|
|
53
|
+
return (0, diagnostics_1.error)(d.code, d.message, { target: d.target, fix: d.fix });
|
|
54
|
+
}
|
|
55
|
+
if (d.severity === "warning") {
|
|
56
|
+
return (0, diagnostics_1.warning)(d.code, d.message, { target: d.target, fix: d.fix });
|
|
57
|
+
}
|
|
58
|
+
return (0, diagnostics_1.info)(d.code, d.message, { target: d.target, fix: d.fix });
|
|
56
59
|
}
|
|
57
60
|
/**
|
|
58
61
|
* Run the gate for every pack in the lockfile using the Clean Architecture Use Case.
|
|
@@ -63,38 +66,32 @@ function checkAgainstLock(projectDir, opts) {
|
|
|
63
66
|
? (0, TraceabilityFormat_1.parseTraceabilityRows)(fs.readFileSync(traceabilityFile, "utf8"))
|
|
64
67
|
: { mode: "rich", rows: [] };
|
|
65
68
|
const isLegacy = matrix.mode !== "rich";
|
|
69
|
+
// A rich matrix's rows are the ten-column shape the use case reads by name;
|
|
70
|
+
// the parser's union also covers the legacy shape, which never reaches here.
|
|
66
71
|
const rows = isLegacy ? null : matrix.rows;
|
|
67
72
|
const lockRepo = new DiskLockfileRepository_1.DiskLockfileRepository(projectDir);
|
|
68
73
|
const packRepo = new DiskDomainPackRepository_1.DiskDomainPackRepository();
|
|
69
74
|
const useCase = new CheckAgainstLockUseCase_1.CheckAgainstLockUseCase(lockRepo, packRepo);
|
|
70
75
|
const result = useCase.execute(rows, isLegacy, opts);
|
|
71
76
|
// Convert to full diagnostics
|
|
72
|
-
const diagnostics = result.diagnostics.map(
|
|
73
|
-
if (d.severity === "error") {
|
|
74
|
-
return (0, diagnostics_1.error)(d.code, d.message, { target: d.target, fix: d.fix });
|
|
75
|
-
}
|
|
76
|
-
if (d.severity === "warning") {
|
|
77
|
-
return (0, diagnostics_1.warning)(d.code, d.message, { target: d.target, fix: d.fix });
|
|
78
|
-
}
|
|
79
|
-
return (0, diagnostics_1.info)(d.code, d.message, { target: d.target, fix: d.fix });
|
|
80
|
-
});
|
|
77
|
+
const diagnostics = result.diagnostics.map(toDiagnostic);
|
|
81
78
|
return { checked: result.checked, diagnostics };
|
|
82
79
|
}
|
|
83
80
|
const DomainPack_1 = require("../../packages/core/src/domain/DomainPack");
|
|
81
|
+
/**
|
|
82
|
+
* Check one pack model against matrix rows already in hand — no lockfile, no
|
|
83
|
+
* fetch. Neither repository is consulted on this path, so each is a stub of
|
|
84
|
+
* the one method a constructor could reach.
|
|
85
|
+
*/
|
|
84
86
|
function checkPackAgainstProject(pack, entry, matrixRows) {
|
|
85
87
|
const domainPack = new DomainPack_1.DomainPack(entry.pack_id || "", pack, entry.version || "");
|
|
86
88
|
const lockRepo = { readLock: () => null };
|
|
87
|
-
const packRepo = {
|
|
89
|
+
const packRepo = {
|
|
90
|
+
resolveRemotePack: () => ({ packRoot: "", commit: "" }),
|
|
91
|
+
};
|
|
88
92
|
const useCase = new CheckAgainstLockUseCase_1.CheckAgainstLockUseCase(lockRepo, packRepo);
|
|
93
|
+
// The method is private to the use case; this seam is how the tests reach it.
|
|
89
94
|
const rawDiags = useCase.checkPackAgainstMatrix(domainPack, entry, matrixRows);
|
|
90
|
-
return rawDiags.map(
|
|
91
|
-
if (d.severity === "error") {
|
|
92
|
-
return (0, diagnostics_1.error)(d.code, d.message, { target: d.target, fix: d.fix });
|
|
93
|
-
}
|
|
94
|
-
if (d.severity === "warning") {
|
|
95
|
-
return (0, diagnostics_1.warning)(d.code, d.message, { target: d.target, fix: d.fix });
|
|
96
|
-
}
|
|
97
|
-
return (0, diagnostics_1.info)(d.code, d.message, { target: d.target, fix: d.fix });
|
|
98
|
-
});
|
|
95
|
+
return rawDiags.map(toDiagnostic);
|
|
99
96
|
}
|
|
100
97
|
//# sourceMappingURL=against_lock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"against_lock.js","sourceRoot":"","sources":["../../../scripts/specops/against_lock.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"against_lock.js","sourceRoot":"","sources":["../../../scripts/specops/against_lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"as_change.js","sourceRoot":"","sources":["../../../scripts/specops/as_change.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;
|
|
1
|
+
{"version":3,"file":"as_change.js","sourceRoot":"","sources":["../../../scripts/specops/as_change.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAkDH,kCAiBC;AAMD,8CAQC;AA/ED,0GAAwF;AACxF,4GAIwE;AACxE,wEAA2E;AAmB3E,sEAUkD;AAThD,6GAAA,gBAAgB,OAAA;AAChB,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,mHAAA,sBAAsB,OAAA;AACtB,wGAAA,WAAW,OAAA;AACX,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AAKb,0GAGwE;AAFtE,wHAAA,aAAa,OAAA;AACb,2HAAA,gBAAgB,OAAA;AAGlB;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,WAA0B,EAC1B,WAAmB,EACnB,MAAc,EACd,IAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAA,uCAAa,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,MAAM,OAAO,GAAG,IAAA,uCAAa,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,IAAA,2BAAe,EACpB,OAAO,EACP,OAAO,EACP,MAAM,EACN,IAAA,gCAAO,EAAC,OAAO,CAAC,UAAU,CAAC,EAC3B,0CAAgB,EAChB,OAAO,CACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,UAAkB,EAClB,KAAgB,EAChB,aAAqB,EACrB,OAAgD,EAChD,IAAyB;IAEzB,OAAO,IAAA,2CAAW,EAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,IAAA,gCAAO,EAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;AAC3F,CAAC"}
|
|
@@ -7,11 +7,6 @@ exports.writeLock = writeLock;
|
|
|
7
7
|
exports.newLock = newLock;
|
|
8
8
|
const DiskLockfileRepository_1 = require("../../packages/core/src/infrastructure/DiskLockfileRepository");
|
|
9
9
|
const Lockfile_1 = require("../../packages/core/src/domain/Lockfile");
|
|
10
|
-
/**
|
|
11
|
-
* Lock schema properties:
|
|
12
|
-
* "specops_version"
|
|
13
|
-
* "pack_id"
|
|
14
|
-
*/
|
|
15
10
|
exports.LOCK_FILENAME = Lockfile_1.Lockfile.FILENAME;
|
|
16
11
|
exports.SPECOPS_SCHEMA_VERSION = Lockfile_1.Lockfile.CURRENT_SCHEMA_VERSION;
|
|
17
12
|
function readLock(projectDir) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../scripts/specops/lock.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../scripts/specops/lock.ts"],"names":[],"mappings":";;;AAmBA,4BAIC;AAED,0CAOC;AAMD,8BAWC;AAED,0BAEC;AArDD,0GAAuG;AACvG,sEAA8E;AAejE,QAAA,aAAa,GAAG,mBAAQ,CAAC,QAAQ,CAAC;AAClC,QAAA,sBAAsB,GAAG,mBAAQ,CAAC,sBAAsB,CAAC;AAEtE,SAAgB,QAAQ,CAAC,UAAkB;IACzC,MAAM,IAAI,GAAG,IAAI,+CAAsB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAED,SAAgB,eAAe,CAAC,QAAyB,EAAE,KAAgB;IACzE,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,IAAI,mBAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACzF,CAAC,CAAC,mBAAQ,CAAC,WAAW,EAAE,CAAC;IAE3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC;AAMD,SAAgB,SAAS,CACvB,UAAkB,EAClB,QAAyB,EACzB,UAAwB,EAAE;IAE1B,MAAM,IAAI,GAAG,IAAI,+CAAsB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,IAAI,mBAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACzF,CAAC,CAAC,mBAAQ,CAAC,WAAW,EAAE,CAAC;IAE3B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,OAAO,CAAC,eAAwB;IAC9C,OAAO,mBAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;AACxD,CAAC"}
|
|
@@ -39,7 +39,6 @@ exports.baselineDir = baselineDir;
|
|
|
39
39
|
exports.sha256 = sha256;
|
|
40
40
|
exports.newManifest = newManifest;
|
|
41
41
|
exports.readManifest = readManifest;
|
|
42
|
-
exports.writeManifest = writeManifest;
|
|
43
42
|
exports.readBaseline = readBaseline;
|
|
44
43
|
exports.snapshotBaseline = snapshotBaseline;
|
|
45
44
|
const DiskManifestRepository_1 = require("../../packages/core/src/infrastructure/DiskManifestRepository");
|
|
@@ -66,13 +65,6 @@ function readManifest(projectDir) {
|
|
|
66
65
|
const manifest = repo.readManifest();
|
|
67
66
|
return manifest ? manifest.toJSON() : null;
|
|
68
67
|
}
|
|
69
|
-
function writeManifest(projectDir, manifestJson, options = {}) {
|
|
70
|
-
const repo = new DiskManifestRepository_1.DiskManifestRepository(projectDir);
|
|
71
|
-
const manifest = manifestJson
|
|
72
|
-
? new SpecopsManifest_1.SpecopsManifest(manifestJson.specops_manifest_version, manifestJson.packs || {})
|
|
73
|
-
: SpecopsManifest_1.SpecopsManifest.createEmpty();
|
|
74
|
-
return repo.writeManifest(manifest, options);
|
|
75
|
-
}
|
|
76
68
|
function readBaseline(projectDir, packId, rel) {
|
|
77
69
|
const repo = new DiskManifestRepository_1.DiskManifestRepository(projectDir);
|
|
78
70
|
return repo.readBaseline(packId, rel);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../scripts/specops/manifest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../scripts/specops/manifest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,oCAEC;AAED,kCAEC;AAED,wBAEC;AAQD,kCAEC;AAMD,oCAIC;AAED,oCAGC;AAED,4CAiBC;AAnED,0GAAuG;AACvG,oFAIwD;AACxD,gDAAkC;AAErB,QAAA,WAAW,GAAG,iCAAe,CAAC,OAAO,CAAC;AACtC,QAAA,gBAAgB,GAAG,iCAAe,CAAC,gBAAgB,CAAC;AACpD,QAAA,iBAAiB,GAAG,iCAAe,CAAC,QAAQ,CAAC;AAC7C,QAAA,gBAAgB,GAAG,iCAAe,CAAC,wBAAwB,CAAC;AAEzE,SAAgB,YAAY,CAAC,UAAkB;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAW,EAAE,yBAAiB,CAAC,CAAC;AAC/D,CAAC;AAED,SAAgB,WAAW,CAAC,UAAkB,EAAE,MAAc;IAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAW,EAAE,wBAAgB,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,MAAM,CAAC,OAAe;IACpC,OAAO,iCAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC;AAQD,SAAgB,WAAW;IACzB,OAAO,iCAAe,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;AAChD,CAAC;AAMD,SAAgB,YAAY,CAAC,UAAkB;IAC7C,MAAM,IAAI,GAAG,IAAI,+CAAsB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACrC,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,SAAgB,YAAY,CAAC,UAAkB,EAAE,MAAc,EAAE,GAAW;IAC1E,MAAM,IAAI,GAAG,IAAI,+CAAsB,CAAC,UAAU,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,gBAAgB,CAC9B,UAAkB,EAClB,MAAc,EACd,OAAoD,EACpD,OAAgC,EAAE,EAClC,UAAwB,EAAE;IAE1B,MAAM,IAAI,GAAG,IAAI,+CAAsB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAEvE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,iCAAe,CAAC,WAAW,EAAE,CAAC;QACtE,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAG,IAAI,CAAC,OAAkB,IAAI,EAAE,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.RemoveCommand = void 0;
|
|
14
14
|
exports.parseArgs = parseArgs;
|
|
15
15
|
const project_root_1 = require("../lib/project-root");
|
|
16
|
+
const diagnostics_1 = require("../lib/diagnostics");
|
|
16
17
|
const DiskLockfileRepository_1 = require("../../packages/core/src/infrastructure/DiskLockfileRepository");
|
|
17
18
|
const RemovePackUseCase_1 = require("../../packages/core/src/application/RemovePackUseCase");
|
|
18
19
|
const Lockfile_1 = require("../../packages/core/src/domain/Lockfile");
|
|
@@ -68,7 +69,7 @@ class RemoveCommand extends command_1.BaseCommand {
|
|
|
68
69
|
projectDir = (0, project_root_1.resolveProjectDir)(opts.projectDir, { requireSentinel: true });
|
|
69
70
|
}
|
|
70
71
|
catch (err) {
|
|
71
|
-
process.stderr.write(`${err
|
|
72
|
+
process.stderr.write(`${(0, diagnostics_1.errorMessage)(err)}\n`);
|
|
72
73
|
process.exit(2);
|
|
73
74
|
}
|
|
74
75
|
const repo = new DiskLockfileRepository_1.DiskLockfileRepository(projectDir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../scripts/specops/remove.ts"],"names":[],"mappings":";;AACA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../scripts/specops/remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../scripts/specops/verify.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBH,8CAeC;AAMD,gDAUC;
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../scripts/specops/verify.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> Adopted into Spec-Driven Development on an existing codebase (brownfield).
|
|
4
4
|
> `specgate new "<title>"` adds the next `REQ-NNN`: a draft section below and
|
|
5
5
|
> a tagged scenario under `features/` — rewrite both. A test that mentions the
|
|
6
|
-
> id is linked to it; `specgate
|
|
6
|
+
> id is linked to it; `specgate apply REQ-NNN` closes it once the gate passes.
|
|
7
7
|
> Existing behaviour is retro-filled requirement by requirement — start with
|
|
8
8
|
> the ones your team is actively changing.
|
|
9
9
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Every requirement in `spec.md` maps to a scenario, its feature file, and the
|
|
4
4
|
artifacts that implement and verify it. `specgate plan` lists
|
|
5
|
-
what is still missing; `specgate
|
|
5
|
+
what is still missing; `specgate apply REQ-NNN` flips a row to
|
|
6
6
|
Implemented.
|
|
7
7
|
|
|
8
8
|
| Requirement | Scenario ID | Feature file | Use Case | Command/Query | Aggregate | Event | Technical artifact | Test artifact | Status |
|
|
@@ -8,20 +8,26 @@ This project uses spec-driven development with `specgate`. `spec.md`,
|
|
|
8
8
|
|
|
9
9
|
## Work
|
|
10
10
|
|
|
11
|
+
The loop is propose → test → apply → archive:
|
|
12
|
+
|
|
11
13
|
1. `specgate status` — what is left, and the next requirement.
|
|
12
|
-
2.
|
|
14
|
+
2. New behaviour: `specgate propose <change-id>`, then write its delta.
|
|
15
|
+
3. Write the test first and name the requirement in it (`REQ-007`, and its
|
|
13
16
|
scenario `SCN-007a` when there is one). That mention is the link.
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
4. Implement until `specgate check` passes: specs, links, coverage, tests.
|
|
18
|
+
5. `specgate apply REQ-007` — refused unless the gate passes.
|
|
19
|
+
6. `specgate archive <change-id>` — only once every requirement in it is
|
|
20
|
+
applied, and only when the person reviewing the change says so.
|
|
16
21
|
|
|
17
22
|
Each step in detail: the `/specgate:*` commands, or
|
|
18
23
|
`specgate change instructions <artifact> --json`.
|
|
19
24
|
|
|
20
25
|
## From a plan or brief
|
|
21
26
|
|
|
22
|
-
`specgate
|
|
23
|
-
<module>` opens it and writes `DRAFTING.md` —
|
|
24
|
-
"Ready to review". Never archive a draft
|
|
27
|
+
`specgate propose --from-brief` names the next module of `docs/brief.md`;
|
|
28
|
+
`specgate propose --from-brief <module>` opens it and writes `DRAFTING.md` —
|
|
29
|
+
follow it, then re-run until "Ready to review". Never archive a draft
|
|
30
|
+
yourself: a person reviews it, and it is archived after it is applied.
|
|
25
31
|
|
|
26
32
|
## Never
|
|
27
33
|
|
|
@@ -20,7 +20,7 @@ from a domain pack:
|
|
|
20
20
|
stop and say so in your final message. Editing a scenario so your code
|
|
21
21
|
passes is the one failure mode that makes this whole exercise worthless.
|
|
22
22
|
- `docs/specs/**` — spec.md, the traceability matrix, domain model, use cases,
|
|
23
|
-
commands, events, aggregates, ADRs. `specgate
|
|
23
|
+
commands, events, aggregates, ADRs. `specgate apply` updates the matrix; you do
|
|
24
24
|
not.
|
|
25
25
|
- `AI_RULES.md`, `spec.md`, `.specops.lock`, `.specops/**`.
|
|
26
26
|
|