@rsaglobaltech/specgate 0.20.0 → 0.22.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 +208 -0
- package/README.md +31 -31
- package/bin/specgate.ts +25 -19
- package/dist/bin/specgate.js +15 -10
- 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/BriefCards.js +320 -0
- package/dist/packages/core/src/domain/BriefCards.js.map +1 -0
- 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 +3 -3
- package/dist/packages/core/src/domain/DoneVerification.js.map +1 -1
- package/dist/packages/core/src/domain/DraftChecklist.js +6 -2
- 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/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 +41 -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/TicketText.js +337 -0
- package/dist/packages/core/src/domain/TicketText.js.map +1 -0
- 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 +7 -3
- 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 +7 -13
- package/dist/packages/core/src/infrastructure/HarnessConfigFile.js.map +1 -1
- package/dist/packages/core/src/infrastructure/IdsAcrossBranches.js +48 -0
- package/dist/packages/core/src/infrastructure/IdsAcrossBranches.js.map +1 -0
- 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/agents/commands.js +52 -38
- package/dist/scripts/agents/commands.js.map +1 -1
- package/dist/scripts/agents/contract-file.js +44 -0
- package/dist/scripts/agents/contract-file.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 +16 -5
- 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/alm/port.js +1 -1
- package/dist/scripts/alm/port.js.map +1 -1
- package/dist/scripts/alm/providers/http-client.js +46 -3
- package/dist/scripts/alm/providers/http-client.js.map +1 -1
- package/dist/scripts/alm/providers/jira.js +108 -32
- package/dist/scripts/alm/providers/jira.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/PrCommand.js +198 -0
- package/dist/scripts/cli/commands/alm/PrCommand.js.map +1 -0
- 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 +119 -19
- package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
- package/dist/scripts/cli/commands/change/TicketCommand.js +657 -0
- package/dist/scripts/cli/commands/change/TicketCommand.js.map +1 -0
- package/dist/scripts/cli/commands/config/ConfigSetCommand.js +1 -1
- package/dist/scripts/cli/commands/config/ConfigSetCommand.js.map +1 -1
- package/dist/scripts/cli/commands/harness/RunCommand.js +225 -35
- 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.map +1 -1
- package/dist/scripts/cli/commands/project/AdoptCommand.js +62 -2
- package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/InitFromPackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/InitProjectCommand.js +2 -1
- 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 +4 -0
- 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 +86 -10
- 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 +182 -77
- package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/DraftCommand.js +292 -56
- 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 +105 -26
- 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.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 +56 -47
- package/dist/scripts/docs/journey-storyboard.js.map +1 -1
- package/dist/scripts/docs/nav.js +5 -0
- package/dist/scripts/docs/nav.js.map +1 -1
- package/dist/scripts/docs/record-journey.js +93 -30
- package/dist/scripts/docs/record-journey.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-check.js +34 -0
- package/dist/scripts/draft/brief-check.js.map +1 -0
- package/dist/scripts/draft/brief-setup.js +190 -24
- package/dist/scripts/draft/brief-setup.js.map +1 -1
- package/dist/scripts/draft/confined-agent.js +1 -0
- package/dist/scripts/draft/confined-agent.js.map +1 -1
- package/dist/scripts/draft/drafting-guide.js +49 -6
- package/dist/scripts/draft/drafting-guide.js.map +1 -1
- package/dist/scripts/draft/ticket-guide.js +129 -0
- package/dist/scripts/draft/ticket-guide.js.map +1 -0
- 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 +95 -30
- package/dist/scripts/lib/surface.js.map +1 -1
- package/dist/scripts/lib/ticket-keys.js +140 -0
- package/dist/scripts/lib/ticket-keys.js.map +1 -0
- package/dist/scripts/lib/tour.js +149 -0
- package/dist/scripts/lib/tour.js.map +1 -0
- package/dist/scripts/propose.js +27 -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/dist/scripts/vcs/github-pr.js +88 -0
- package/dist/scripts/vcs/github-pr.js.map +1 -0
- 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 +14 -7
- package/templates/harness/prompt-prefix.md.tpl +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArchiveChangeUseCase.js","sourceRoot":"","sources":["../../../../../packages/core/src/application/ArchiveChangeUseCase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ArchiveChangeUseCase.js","sourceRoot":"","sources":["../../../../../packages/core/src/application/ArchiveChangeUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.POST_DRAFT_STATUS = exports.ALLOWED_STATUS = exports.RICH_HEADER = exports.LEGACY_HEADER = exports.ValidateProjectUseCase = void 0;
|
|
4
4
|
const ValidationReport_1 = require("../domain/ValidationReport");
|
|
5
5
|
const SpecSections_1 = require("../domain/SpecSections");
|
|
6
|
+
const QuotedText_1 = require("../domain/QuotedText");
|
|
6
7
|
const DerivedMatrix_1 = require("../domain/DerivedMatrix");
|
|
7
8
|
const TraceabilityFormat_1 = require("../domain/TraceabilityFormat");
|
|
8
9
|
Object.defineProperty(exports, "ALLOWED_STATUS", { enumerable: true, get: function () { return TraceabilityFormat_1.ALLOWED_STATUS; } });
|
|
@@ -109,7 +110,7 @@ class ValidateProjectUseCase {
|
|
|
109
110
|
target: status,
|
|
110
111
|
fixLines: [
|
|
111
112
|
`Allowed statuses: ${[...TraceabilityFormat_1.ALLOWED_STATUS].join(" · ")}`,
|
|
112
|
-
"Use `specgate
|
|
113
|
+
"Use `specgate apply <REQ-id>` to flip a row to Implemented safely.",
|
|
113
114
|
],
|
|
114
115
|
});
|
|
115
116
|
}
|
|
@@ -131,7 +132,7 @@ class ValidateProjectUseCase {
|
|
|
131
132
|
target: requirementId,
|
|
132
133
|
fixLines: [
|
|
133
134
|
"Answer the question that blocks it (the `Answer` column of its change's questions.md),",
|
|
134
|
-
'remove `status="Needs Clarification"` from its `specgate:trace`, write its test, then run `
|
|
135
|
+
'remove `status="Needs Clarification"` from its `specgate:trace`, write its test, then run `specgate apply`.',
|
|
135
136
|
],
|
|
136
137
|
});
|
|
137
138
|
}
|
|
@@ -150,7 +151,12 @@ class ValidateProjectUseCase {
|
|
|
150
151
|
}
|
|
151
152
|
}
|
|
152
153
|
if (strictTdd && mode === "rich" && typeof opts.specContent === "string") {
|
|
153
|
-
|
|
154
|
+
// A requirement the spec *declares* — a heading or a requirement table
|
|
155
|
+
// row, outside fenced examples — owes a row. An id a sentence, a scenario
|
|
156
|
+
// or a code span merely mentions does not (ADR-0036): demanding one made
|
|
157
|
+
// authors reword specs around the gate.
|
|
158
|
+
const declaredIds = (0, SpecSections_1.requirementSections)((0, QuotedText_1.withoutFences)(opts.specContent)).filter((id) => /^REQ-\d+$/.test(id));
|
|
159
|
+
for (const reqId of new Set(declaredIds)) {
|
|
154
160
|
if (!requirements.has(reqId)) {
|
|
155
161
|
report.addError("strict_tdd_violation", `[TDD-3] Requirement ${reqId} found in spec.md but has no row in traceability.md`, { target: "TDD-3" });
|
|
156
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidateProjectUseCase.js","sourceRoot":"","sources":["../../../../../packages/core/src/application/ValidateProjectUseCase.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAE9D,yDAA6D;AAC7D,2DAA0D;AAC1D,qEASsC;
|
|
1
|
+
{"version":3,"file":"ValidateProjectUseCase.js","sourceRoot":"","sources":["../../../../../packages/core/src/application/ValidateProjectUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArchivePlan.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/ArchivePlan.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ArchivePlan.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/ArchivePlan.ts"],"names":[],"mappings":";;;AAgCA,MAAa,WAAW;IACf,MAAM,GAAqB,EAAE,CAAC;IAC9B,OAAO,GAAsB,EAAE,CAAC;IAChC,IAAI,CAAiB;IACrB,MAAM,GAAsB;QACjC,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;KAChB,CAAC;IAEK,UAAU,CAAU;IACpB,WAAW,GAAiB,EAAE,CAAC;IAC/B,QAAQ,GAAiB,EAAE,CAAC;IAEnC,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;IACtE,CAAC;CACF;AAvBD,kCAuBC"}
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The brief's body, read as cards, and the rules over it. (ADR-0038)
|
|
4
|
+
*
|
|
5
|
+
* A module of the brief is written as Example Mapping writes a story: the
|
|
6
|
+
* rules, the examples that prove them ("the one where…"), and the questions
|
|
7
|
+
* still open. Each card becomes something Specgate already has — a rule a
|
|
8
|
+
* requirement, an example a scenario, a question a `questions.md` row — so
|
|
9
|
+
* the person reviewing a draft reads it against cards they wrote.
|
|
10
|
+
*
|
|
11
|
+
* ## Module: courses
|
|
12
|
+
* Rules
|
|
13
|
+
* - A course holds at most 12 students.
|
|
14
|
+
* Examples
|
|
15
|
+
* - The one where Ana joins "Spanish A2", which has 11 students.
|
|
16
|
+
* Questions
|
|
17
|
+
* - Can a student be in two courses at once?
|
|
18
|
+
*
|
|
19
|
+
* B2 to B11 are decidable, like the D-rules over a draft: they say what the
|
|
20
|
+
* brief does not say, never whether a rule is right. B1 — the front matter's
|
|
21
|
+
* shapes — lives with the rest of the front matter's checks
|
|
22
|
+
* (`scripts/draft/brief-setup.ts`). Pure: the caller hands the text in.
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.TECHNICAL = exports.VAGUE = exports.withoutComments = void 0;
|
|
26
|
+
exports.isPlaceholder = isPlaceholder;
|
|
27
|
+
exports.readBriefBody = readBriefBody;
|
|
28
|
+
exports.moduleKey = moduleKey;
|
|
29
|
+
exports.moduleSection = moduleSection;
|
|
30
|
+
exports.briefNonGoals = briefNonGoals;
|
|
31
|
+
exports.cardValues = cardValues;
|
|
32
|
+
exports.checkBriefBody = checkBriefBody;
|
|
33
|
+
const Diagnostic_1 = require("./Diagnostic");
|
|
34
|
+
const DraftChecklist_1 = require("./DraftChecklist");
|
|
35
|
+
const QuotedText_1 = require("./QuotedText");
|
|
36
|
+
Object.defineProperty(exports, "withoutComments", { enumerable: true, get: function () { return QuotedText_1.withoutComments; } });
|
|
37
|
+
const FRONT = /^---\r?\n[\s\S]*?\r?\n---[ \t]*(?:\r?\n|$)/;
|
|
38
|
+
const MODULE_HEADING = /^##\s+Module:\s*(.+?)\s*#*\s*$/i;
|
|
39
|
+
const CARD_HEADING = /^(?:#{3,6}\s+)?\**(rules|examples|questions|reglas|ejemplos|preguntas)\**\s*:?\s*$/i;
|
|
40
|
+
const KIND = {
|
|
41
|
+
rules: "rules",
|
|
42
|
+
reglas: "rules",
|
|
43
|
+
examples: "examples",
|
|
44
|
+
ejemplos: "examples",
|
|
45
|
+
questions: "questions",
|
|
46
|
+
preguntas: "questions",
|
|
47
|
+
};
|
|
48
|
+
/** `<your product>`, `<a rule>`: a template's blank, never filled in. */
|
|
49
|
+
function isPlaceholder(text) {
|
|
50
|
+
return /^<[^<>]+>[.:]?$/.test(text.trim());
|
|
51
|
+
}
|
|
52
|
+
/** Whether a line says something: not blank, a heading, a comment or a blank to fill. */
|
|
53
|
+
function says(line) {
|
|
54
|
+
const t = line.trim().replace(/^[-*]\s+/, "");
|
|
55
|
+
return (t.length > 0 &&
|
|
56
|
+
!/^#{1,6}\s/.test(line.trim()) &&
|
|
57
|
+
!isPlaceholder(t) &&
|
|
58
|
+
!CARD_HEADING.test(line.trim()));
|
|
59
|
+
}
|
|
60
|
+
/** The body: its text, and each `## Module:` section with its cards. */
|
|
61
|
+
function readBriefBody(brief) {
|
|
62
|
+
const src = String(brief || "").replace(/\r\n/g, "\n");
|
|
63
|
+
const fm = FRONT.exec(src);
|
|
64
|
+
const offset = fm ? fm[0].split("\n").length - 1 : 0;
|
|
65
|
+
const text = fm ? src.slice(fm[0].length) : src;
|
|
66
|
+
const lines = (0, QuotedText_1.withoutComments)(text).split("\n");
|
|
67
|
+
const raw = text.split("\n");
|
|
68
|
+
const modules = [];
|
|
69
|
+
let i = 0;
|
|
70
|
+
while (i < lines.length) {
|
|
71
|
+
const head = MODULE_HEADING.exec(lines[i]);
|
|
72
|
+
if (!head) {
|
|
73
|
+
i += 1;
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
const start = i;
|
|
77
|
+
let end = i + 1;
|
|
78
|
+
while (end < lines.length && !/^##\s/.test(lines[end]))
|
|
79
|
+
end += 1;
|
|
80
|
+
const cards = { rules: [], examples: [], questions: [] };
|
|
81
|
+
const prose = [];
|
|
82
|
+
let kind = null;
|
|
83
|
+
let last = null;
|
|
84
|
+
for (let j = start + 1; j < end; j += 1) {
|
|
85
|
+
const line = lines[j];
|
|
86
|
+
const heading = CARD_HEADING.exec(line.trim());
|
|
87
|
+
if (heading) {
|
|
88
|
+
kind = KIND[heading[1].toLowerCase()];
|
|
89
|
+
last = null;
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
const item = /^\s*[-*]\s+(.*)$/.exec(line);
|
|
93
|
+
if (kind && item) {
|
|
94
|
+
const list = cards[kind];
|
|
95
|
+
list.push({ text: item[1].trim(), line: offset + j + 1 });
|
|
96
|
+
last = { list, at: list.length - 1 };
|
|
97
|
+
}
|
|
98
|
+
else if (kind && last && /^\s{2,}\S/.test(line)) {
|
|
99
|
+
// A card that wraps onto an indented line is still one card.
|
|
100
|
+
const card = last.list[last.at];
|
|
101
|
+
last.list[last.at] = { ...card, text: `${card.text} ${line.trim()}` };
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
if (line.trim() === "")
|
|
105
|
+
last = null;
|
|
106
|
+
else if (!kind)
|
|
107
|
+
prose.push(line);
|
|
108
|
+
else {
|
|
109
|
+
kind = null;
|
|
110
|
+
last = null;
|
|
111
|
+
prose.push(line);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const filled = (list) => list.filter((c) => !isPlaceholder(c.text));
|
|
116
|
+
modules.push({
|
|
117
|
+
name: head[1].trim(),
|
|
118
|
+
line: offset + start + 1,
|
|
119
|
+
source: raw.slice(start, end).join("\n").trimEnd(),
|
|
120
|
+
prose: prose.join("\n").trim(),
|
|
121
|
+
rules: filled(cards.rules),
|
|
122
|
+
examples: filled(cards.examples),
|
|
123
|
+
questions: filled(cards.questions),
|
|
124
|
+
});
|
|
125
|
+
i = end;
|
|
126
|
+
}
|
|
127
|
+
return { text, modules };
|
|
128
|
+
}
|
|
129
|
+
/** `Courses`, `live classes` → `courses`, `live-classes`: how `modules:` spells them. */
|
|
130
|
+
function moduleKey(name) {
|
|
131
|
+
return name
|
|
132
|
+
.toLowerCase()
|
|
133
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
134
|
+
.replace(/^-|-$/g, "");
|
|
135
|
+
}
|
|
136
|
+
/** The section of the brief for a module of `modules:`, if it has one. */
|
|
137
|
+
function moduleSection(brief, module) {
|
|
138
|
+
return readBriefBody(brief).modules.find((m) => moduleKey(m.name) === module);
|
|
139
|
+
}
|
|
140
|
+
/** `non_goals: [payments, video calls]` → its items, in order. */
|
|
141
|
+
function briefNonGoals(brief) {
|
|
142
|
+
const fm = FRONT.exec(String(brief || "").replace(/\r\n/g, "\n"));
|
|
143
|
+
if (!fm)
|
|
144
|
+
return [];
|
|
145
|
+
const m = /^non_goals:[ \t]*\[([^\]]*)\]/m.exec(fm[0]);
|
|
146
|
+
return m
|
|
147
|
+
? m[1]
|
|
148
|
+
.split(",")
|
|
149
|
+
.map((s) => s.trim().replace(/^["']|["']$/g, ""))
|
|
150
|
+
.filter((s) => s && !isPlaceholder(s))
|
|
151
|
+
: [];
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* The values a module's cards state — numbers and double-quoted labels —
|
|
155
|
+
* in the order they appear. A draft that uses these passes D6 by
|
|
156
|
+
* construction: they are the brief's own words.
|
|
157
|
+
*/
|
|
158
|
+
function cardValues(section) {
|
|
159
|
+
const out = [];
|
|
160
|
+
const add = (v) => {
|
|
161
|
+
if (!out.includes(v))
|
|
162
|
+
out.push(v);
|
|
163
|
+
};
|
|
164
|
+
for (const c of [...section.rules, ...section.examples]) {
|
|
165
|
+
for (const q of c.text.matchAll(/"([^"\n]+)"|“([^”\n]+)”/g))
|
|
166
|
+
add(`"${q[1] ?? q[2]}"`);
|
|
167
|
+
const bare = (0, QuotedText_1.withoutQuoted)(c.text);
|
|
168
|
+
for (const n of bare.matchAll(/(?<![\w.])\d+(?:[.,]\d+)*(?![\w])/g))
|
|
169
|
+
add(n[0]);
|
|
170
|
+
}
|
|
171
|
+
return out;
|
|
172
|
+
}
|
|
173
|
+
// ── The rules ─────────────────────────────────────────────────────────────────
|
|
174
|
+
/**
|
|
175
|
+
* Words a test cannot check. English and Spanish: Specgate's pilots wrote
|
|
176
|
+
* briefs in both. German since tickets (ADR-0039): enterprise boards are
|
|
177
|
+
* often written in it.
|
|
178
|
+
*/
|
|
179
|
+
exports.VAGUE = /(?<![\p{L}])(fast|quick(?:ly)?|easy|easily|simple|user[- ]friendly|intuitive(?:ly)?|secure(?:ly)?|robust|flexible|efficient(?:ly)?|appropriate(?:ly)?|adequate(?:ly)?|seamless(?:ly)?|as needed|as soon as possible|asap|etc\.?|and so on|tbd|r[aá]pid[oa]s?|r[aá]pidamente|f[aá]cil(?:es|mente)?|sencill[oa]s?|intuitiv[oa]s?|amigable|robust[oa]s?|eficiente(?:s|mente)?|adecuad[oa]s?|lo antes posible|etc[eé]tera|por definir|schnell(?:e[nrs]?)?|z[uü]gig|einfach(?:e[nrs]?)?|benutzerfreundlich(?:e[nrs]?)?|intuitiv(?:e[nrs]?)?|flexibel|effizient(?:e[nrs]?)?|angemessen(?:e[nrs]?)?|nahtlos|zeitnah|m[oö]glichst bald|usw\.?)(?![\p{L}])/iu;
|
|
180
|
+
/** Frameworks, databases, libraries: how, in a brief about what. */
|
|
181
|
+
exports.TECHNICAL = /\b(postgres(?:ql)?|mysql|mariadb|mongo(?:db)?|redis|sqlite|oracle db|dynamodb|elasticsearch|firebase|supabase|kafka|rabbitmq|react|angular|vue(?:\.js)?|svelte|next\.js|nuxt|django|flask|fastapi|rails|laravel|spring(?: boot)?|express(?:\.js)?|nest(?:js)?|quarkus|flutter|react native|docker|kubernetes|k8s|aws|lambda|s3|azure|gcp|graphql|prisma|hibernate|typeorm)\b/i;
|
|
182
|
+
/** A rule's condition, when it opens the sentence — EARS's "When …", "If …, then …". */
|
|
183
|
+
const OPENS_WITH_CONDITION = /^(when|whenever|if|while|where|once|after|before|unless|during|cuando|si|mientras|salvo|una vez|antes de|despu[eé]s de|durante)\b/i;
|
|
184
|
+
/** A condition placed after the obligation: "Joining is refused if the course is full". */
|
|
185
|
+
const LATE_CONDITION = /\s(if|when|whenever|unless|while|once|cuando|si|mientras|salvo que)\s/i;
|
|
186
|
+
const MAX_RULES = 7;
|
|
187
|
+
const MAX_QUESTIONS = 3;
|
|
188
|
+
const nameRe = (name) => new RegExp(`(?<![\\p{L}])${name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}`, "iu");
|
|
189
|
+
/**
|
|
190
|
+
* Rules B2 to B11 over a brief. Errors stop a draft: what it would get wrong.
|
|
191
|
+
* Warnings are for the person: wording a test cannot check.
|
|
192
|
+
*/
|
|
193
|
+
function checkBriefBody(brief) {
|
|
194
|
+
const out = [];
|
|
195
|
+
const body = readBriefBody(brief);
|
|
196
|
+
const listed = (0, DraftChecklist_1.briefModules)(brief);
|
|
197
|
+
const plain = (0, QuotedText_1.withoutComments)(body.text);
|
|
198
|
+
// B2 — the body says something.
|
|
199
|
+
if (!plain.split("\n").some(says)) {
|
|
200
|
+
out.push((0, Diagnostic_1.error)("B2_empty_brief", "The brief below the front matter says nothing yet.", {
|
|
201
|
+
fix: "Write why the product exists and, per module, its rules, examples and questions — or paste your notes as they are.",
|
|
202
|
+
}));
|
|
203
|
+
if (body.modules.length === 0)
|
|
204
|
+
return out;
|
|
205
|
+
}
|
|
206
|
+
// B3 — sections and `modules:` agree, once the brief has sections.
|
|
207
|
+
if (body.modules.length === 0) {
|
|
208
|
+
if (listed.length > 0) {
|
|
209
|
+
out.push((0, Diagnostic_1.info)("B3_no_sections", "The brief has no `## Module:` sections: each draft reads the whole brief.", {
|
|
210
|
+
fix: `Add one per module — \`## Module: ${listed[0]}\` with Rules, Examples and Questions — so each draft reads only its own.`,
|
|
211
|
+
}));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
// A `<module>` still to name is the front matter's finding, not a mismatch.
|
|
216
|
+
const named = listed.filter((m) => !isPlaceholder(m));
|
|
217
|
+
const sections = body.modules.filter((m) => !isPlaceholder(m.name));
|
|
218
|
+
const keys = sections.map((m) => moduleKey(m.name));
|
|
219
|
+
for (const m of named.filter((x) => !keys.includes(x))) {
|
|
220
|
+
out.push((0, Diagnostic_1.error)("B3_no_section", `The module ${m} has no section.`, {
|
|
221
|
+
target: m,
|
|
222
|
+
fix: `Add \`## Module: ${m}\` with its Rules, Examples and Questions.`,
|
|
223
|
+
}));
|
|
224
|
+
}
|
|
225
|
+
for (const s of sections.filter((x) => !named.includes(moduleKey(x.name)))) {
|
|
226
|
+
out.push((0, Diagnostic_1.error)("B3_unknown_module", `The section "Module: ${s.name}" names no module of \`modules:\`.`, {
|
|
227
|
+
target: s.name,
|
|
228
|
+
line: s.line,
|
|
229
|
+
fix: `Add ${moduleKey(s.name)} to \`modules:\`, or rename the section to one of ${named.join(", ") || "the listed modules"}.`,
|
|
230
|
+
}));
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
const actors = [...(0, DraftChecklist_1.actorSurfaces)(brief).keys()];
|
|
234
|
+
const nonGoals = briefNonGoals(brief);
|
|
235
|
+
for (const s of body.modules) {
|
|
236
|
+
const target = moduleKey(s.name) || s.name;
|
|
237
|
+
const at = { target, line: s.line };
|
|
238
|
+
const cards = s.rules.length + s.examples.length + s.questions.length;
|
|
239
|
+
// B2 — a module section says something.
|
|
240
|
+
if (cards === 0 && !s.prose.split("\n").some(says)) {
|
|
241
|
+
out.push((0, Diagnostic_1.error)("B2_empty_module", `The ${target} section is still empty.`, {
|
|
242
|
+
...at,
|
|
243
|
+
fix: 'Write its Rules (one sentence each), an Example per rule ("The one where…") and any Questions.',
|
|
244
|
+
}));
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
// B4 — rules, and examples that prove them.
|
|
248
|
+
if (s.rules.length === 0) {
|
|
249
|
+
out.push((0, Diagnostic_1.error)("B4_no_rule", `The ${target} section has no rule.`, {
|
|
250
|
+
...at,
|
|
251
|
+
fix: 'Under "Rules", one line per thing that must hold: "A course holds at most 12 students."',
|
|
252
|
+
}));
|
|
253
|
+
}
|
|
254
|
+
else if (s.examples.length === 0) {
|
|
255
|
+
out.push((0, Diagnostic_1.error)("B4_no_example", `The ${target} section has rules and no example.`, {
|
|
256
|
+
...at,
|
|
257
|
+
fix: 'Under "Examples", at least one per rule, with its values: "The one where Ana joins a course with 11 students."',
|
|
258
|
+
}));
|
|
259
|
+
}
|
|
260
|
+
// B8 — small enough to review.
|
|
261
|
+
if (s.rules.length > MAX_RULES || s.questions.length > MAX_QUESTIONS) {
|
|
262
|
+
out.push((0, Diagnostic_1.warning)("B8_too_big", `The ${target} section has ${s.rules.length} rules and ${s.questions.length} questions.`, {
|
|
263
|
+
...at,
|
|
264
|
+
fix: `Split it into two modules — at most ${MAX_RULES} rules and ${MAX_QUESTIONS} open questions each — or answer some questions first.`,
|
|
265
|
+
}));
|
|
266
|
+
}
|
|
267
|
+
for (const r of s.rules) {
|
|
268
|
+
const where = { target, line: r.line };
|
|
269
|
+
const bare = (0, QuotedText_1.withoutQuoted)(r.text);
|
|
270
|
+
const vague = exports.VAGUE.exec(bare);
|
|
271
|
+
if (vague) {
|
|
272
|
+
out.push((0, Diagnostic_1.warning)("B5_vague", `"${r.text}" says "${vague[1]}", which no test can check.`, {
|
|
273
|
+
...where,
|
|
274
|
+
fix: 'Say what it means in values: "in under 2 seconds", "with one tap", or move it to Questions.',
|
|
275
|
+
}));
|
|
276
|
+
}
|
|
277
|
+
if ((0, DraftChecklist_1.unmeasured)(bare)) {
|
|
278
|
+
out.push((0, Diagnostic_1.warning)("B6_unmeasured", `"${r.text}" promises a quantity and states no number.`, {
|
|
279
|
+
...where,
|
|
280
|
+
fix: 'Give the number and its unit: "within 2 seconds", "for 500 students at once".',
|
|
281
|
+
}));
|
|
282
|
+
}
|
|
283
|
+
const tech = exports.TECHNICAL.exec(bare);
|
|
284
|
+
if (tech) {
|
|
285
|
+
out.push((0, Diagnostic_1.warning)("B7_technical", `"${r.text}" names ${tech[1]}: how, not what.`, {
|
|
286
|
+
...where,
|
|
287
|
+
fix: "Say what the business needs; the stack is chosen in the design, not the brief.",
|
|
288
|
+
}));
|
|
289
|
+
}
|
|
290
|
+
if (!OPENS_WITH_CONDITION.test(bare.trim()) && LATE_CONDITION.test(` ${bare} `)) {
|
|
291
|
+
out.push((0, Diagnostic_1.warning)("B11_condition_last", `"${r.text}" puts its condition after what must happen.`, {
|
|
292
|
+
...where,
|
|
293
|
+
fix: 'Open with the condition (EARS): "When the course is full, joining is refused."',
|
|
294
|
+
}));
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
// B10 — what the product will not do stays out.
|
|
298
|
+
for (const c of [...s.rules, ...s.examples]) {
|
|
299
|
+
const goal = nonGoals.find((g) => nameRe(g).test(c.text));
|
|
300
|
+
if (goal) {
|
|
301
|
+
out.push((0, Diagnostic_1.warning)("B10_non_goal", `"${c.text}" names ${goal}, which non_goals rules out.`, {
|
|
302
|
+
target,
|
|
303
|
+
line: c.line,
|
|
304
|
+
fix: `Take it out, or take ${goal} off \`non_goals\` if it is in scope after all.`,
|
|
305
|
+
}));
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
// B9 — every declared actor appears in the brief.
|
|
310
|
+
for (const a of actors.filter((x) => !isPlaceholder(x))) {
|
|
311
|
+
if (!nameRe(a).test(plain)) {
|
|
312
|
+
out.push((0, Diagnostic_1.warning)("B9_actor_unnamed", `The actor ${a} is declared and the brief never mentions them.`, {
|
|
313
|
+
target: a,
|
|
314
|
+
fix: "Say in a rule or an example what they do — or take them off `actors:`.",
|
|
315
|
+
}));
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
return out;
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=BriefCards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BriefCards.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/BriefCards.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,9 @@ exports.templateProposal = templateProposal;
|
|
|
16
16
|
exports.templateTasks = templateTasks;
|
|
17
17
|
exports.templateDesign = templateDesign;
|
|
18
18
|
exports.templateDelta = templateDelta;
|
|
19
|
+
exports.isUntouchedDelta = isUntouchedDelta;
|
|
19
20
|
exports.templateValueDriftDelta = templateValueDriftDelta;
|
|
21
|
+
const Language_1 = require("./Language");
|
|
20
22
|
const SpecParser_1 = require("./SpecParser");
|
|
21
23
|
function templateProposal(changeId) {
|
|
22
24
|
return `# Proposal: ${changeId}
|
|
@@ -89,6 +91,23 @@ ${t.systemShall(t.observableBehaviour)}
|
|
|
89
91
|
<!-- specgate:trace uc=UC-000 feature=features/<area>/<name>.feature -->
|
|
90
92
|
`;
|
|
91
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* True when a delta is still the skeleton `change new` (or `propose`, or a
|
|
96
|
+
* draft) wrote: nothing in it is the author's yet. The in-flight view skips
|
|
97
|
+
* such a change rather than judging placeholders nobody has replaced
|
|
98
|
+
* (ADR-0035) — the change is not written yet, not wrong.
|
|
99
|
+
*
|
|
100
|
+
* Any project language matches, and only the whole file: one replaced
|
|
101
|
+
* placeholder makes it real content, judged like any other.
|
|
102
|
+
*/
|
|
103
|
+
function isUntouchedDelta(content, capability) {
|
|
104
|
+
const id = /^### Requirement: (\S+) — /m.exec(content);
|
|
105
|
+
if (!id)
|
|
106
|
+
return false;
|
|
107
|
+
const normal = (t) => t.replace(/\r\n/g, "\n").trim();
|
|
108
|
+
const text = normal(content);
|
|
109
|
+
return Object.values(Language_1.PHRASES).some((t) => normal(templateDelta(capability, id[1], t)) === text);
|
|
110
|
+
}
|
|
92
111
|
/**
|
|
93
112
|
* Route 2 of the three-way resolution for a declared-value divergence
|
|
94
113
|
* (§8.6 → §11): "update the spec". Routes 1 ("fix the code") and 3 ("retire
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangeTemplates.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/ChangeTemplates.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAKH,4CAqBC;AAED,sCAYC;AAED,wCAiBC;AAED,sCAiBC;AAoBD,0DAsBC;
|
|
1
|
+
{"version":3,"file":"ChangeTemplates.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/ChangeTemplates.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAKH,4CAqBC;AAED,sCAYC;AAED,wCAiBC;AAED,sCAiBC;AAWD,4CAMC;AAoBD,0DAsBC;AAvID,yCAA8C;AAC9C,6CAAiD;AAEjD,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,eAAe,QAAQ;;;;;;;;;;;;;;;;;;;CAmB/B,CAAC;AACF,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO;;;;;;;;;;CAUR,CAAC;AACF,CAAC;AAED,SAAgB,cAAc,CAAC,QAAgB;IAC7C,OAAO,aAAa,QAAQ;;;;;;;;;;;;;;;CAe7B,CAAC;AACF,CAAC;AAED,SAAgB,aAAa,CAAC,UAAkB,EAAE,KAAa,EAAE,CAAU;IACzE,OAAO,aAAa,UAAU;;;;mBAIb,KAAK,MAAM,CAAC,CAAC,SAAS;;EAEvC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC;;iBAErB,CAAC,CAAC,YAAY;;UAErB,CAAC,CAAC,YAAY;SACf,CAAC,CAAC,MAAM;SACR,CAAC,CAAC,OAAO;;;CAGjB,CAAC;AACF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAAC,OAAe,EAAE,UAAkB;IAClE,MAAM,EAAE,GAAG,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAClG,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,uBAAuB,CACrC,UAAkB,EAClB,GAAQ,EACR,OAAe,EACf,QAAgB,EAChB,QAAgB;IAEhB,MAAM,OAAO,GAAG;QACd,GAAG,GAAG;QACN,KAAK,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE;QACvD,IAAI,EACF,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;YAC1B,mDAAmD,OAAO,WAAW,QAAQ,MAAM;YACnF,wBAAwB,QAAQ,sDAAsD;YACtF,wDAAwD;KAC3D,CAAC;IACF,OAAO,aAAa,UAAU;;;;EAI9B,IAAA,8BAAiB,EAAC,OAAO,CAAC;CAC3B,CAAC;AACF,CAAC;AAED,0EAA0E;AAC7D,QAAA,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IAC1D,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE;IAC5B,MAAM,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC;IACtD,KAAK,EAAE,CAAC,SAAiB,EAAE,CAAU,EAAE,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;CACtF,CAAC"}
|
|
@@ -45,6 +45,8 @@ class DeltaSpec {
|
|
|
45
45
|
diags.push((0, Diagnostic_1.error)("delta_unknown_section", `Unknown delta section: "## ${unknown.heading}".`, {
|
|
46
46
|
file,
|
|
47
47
|
line: unknown.line,
|
|
48
|
+
// Null only for requirements above the first heading; the envelope
|
|
49
|
+
// has always carried that null through as it is.
|
|
48
50
|
target: unknown.heading,
|
|
49
51
|
fix: `Use one of: ${exports.VALID_SECTIONS.join(", ")}.`,
|
|
50
52
|
}));
|
|
@@ -88,9 +90,12 @@ class DeltaSpec {
|
|
|
88
90
|
fix: "Add a `#### Scenario:` block with GIVEN / WHEN / THEN steps.",
|
|
89
91
|
}));
|
|
90
92
|
}
|
|
93
|
+
// A scenario is named with its requirement: a scenario title alone does
|
|
94
|
+
// not say where to look in a delta of twenty requirements.
|
|
95
|
+
const of = req.id ? ` of ${req.id}` : "";
|
|
91
96
|
for (const sc of req.scenarios || []) {
|
|
92
97
|
if (!sc.steps || sc.steps.length === 0) {
|
|
93
|
-
diags.push((0, Diagnostic_1.error)("scenario_without_steps", `Scenario "${sc.name}" has no steps.`, {
|
|
98
|
+
diags.push((0, Diagnostic_1.error)("scenario_without_steps", `Scenario "${sc.name}"${of} has no steps.`, {
|
|
94
99
|
file,
|
|
95
100
|
line: sc.line,
|
|
96
101
|
target: sc.name,
|
|
@@ -108,7 +113,7 @@ class DeltaSpec {
|
|
|
108
113
|
// tickets with placeholder scenarios. `alm pull` writes deltas in
|
|
109
114
|
// precisely this state on purpose, so the gate has to be the thing
|
|
110
115
|
// that keeps them from being archived.
|
|
111
|
-
diags.push((0, Diagnostic_1.error)("scenario_steps_unwritten", `Scenario "${sc.name}" has placeholder steps, so it asserts nothing.`, {
|
|
116
|
+
diags.push((0, Diagnostic_1.error)("scenario_steps_unwritten", `Scenario "${sc.name}"${of} has placeholder steps, so it asserts nothing.`, {
|
|
112
117
|
file,
|
|
113
118
|
line: sc.line,
|
|
114
119
|
target: sc.name,
|
|
@@ -116,7 +121,7 @@ class DeltaSpec {
|
|
|
116
121
|
}));
|
|
117
122
|
}
|
|
118
123
|
else if (!sc.steps.some((s) => exports.GHERKIN_STEP.test(s))) {
|
|
119
|
-
diags.push((0, Diagnostic_1.warning)("scenario_not_gherkin", `Scenario "${sc.name}" has no GIVEN/WHEN/THEN step, so it cannot generate a .feature.`, {
|
|
124
|
+
diags.push((0, Diagnostic_1.warning)("scenario_not_gherkin", `Scenario "${sc.name}"${of} has no GIVEN/WHEN/THEN step, so it cannot generate a .feature.`, {
|
|
120
125
|
file,
|
|
121
126
|
line: sc.line,
|
|
122
127
|
target: sc.name,
|
|
@@ -149,7 +154,9 @@ class DeltaSpec {
|
|
|
149
154
|
}
|
|
150
155
|
for (const req of [...delta.modified, ...delta.removed]) {
|
|
151
156
|
if (!existing.has((0, SpecParser_1.requirementKey)(req))) {
|
|
152
|
-
diags.push((0, Diagnostic_1.error)("unknown_requirement",
|
|
157
|
+
diags.push((0, Diagnostic_1.error)("unknown_requirement",
|
|
158
|
+
// Non-null: `parseDelta` sets `op` on every requirement it buckets.
|
|
159
|
+
`${req.op.toUpperCase()} requirement "${req.heading}" does not exist in the capability spec.`, {
|
|
153
160
|
file,
|
|
154
161
|
line: req.line,
|
|
155
162
|
target: (0, SpecParser_1.requirementKey)(req),
|
|
@@ -195,15 +202,15 @@ class DeltaSpec {
|
|
|
195
202
|
applied.added.push(key);
|
|
196
203
|
}
|
|
197
204
|
}
|
|
198
|
-
const order = spec.requirements
|
|
199
|
-
.map((r) => (0, SpecParser_1.requirementKey)(r))
|
|
200
|
-
.filter((k) => byKey.has(k));
|
|
205
|
+
const order = spec.requirements.map((r) => (0, SpecParser_1.requirementKey)(r)).filter((k) => byKey.has(k));
|
|
201
206
|
for (const key of byKey.keys()) {
|
|
202
207
|
if (!order.includes(key))
|
|
203
208
|
order.push(key);
|
|
204
209
|
}
|
|
210
|
+
// Non-null: `order` holds only keys `byKey` has.
|
|
205
211
|
spec.requirements = order.map((k) => byKey.get(k));
|
|
206
212
|
return {
|
|
213
|
+
// Parsed, so every block is one string by now — what the renderer reads.
|
|
207
214
|
markdown: (0, SpecParser_1.renderSpec)(spec),
|
|
208
215
|
spec,
|
|
209
216
|
applied,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeltaSpec.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/DeltaSpec.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"DeltaSpec.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/DeltaSpec.ts"],"names":[],"mappings":"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"}
|