@ivorycanvas/qamap 0.3.5 → 0.4.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +19 -14
  3. package/dist/behavior-intent.d.ts +6 -0
  4. package/dist/behavior-intent.js +172 -0
  5. package/dist/behavior-intent.js.map +1 -0
  6. package/dist/behavior-manifest.d.ts +6 -0
  7. package/dist/behavior-manifest.js +221 -0
  8. package/dist/behavior-manifest.js.map +1 -0
  9. package/dist/behavior.d.ts +143 -0
  10. package/dist/behavior.js +458 -0
  11. package/dist/behavior.js.map +1 -0
  12. package/dist/change-intent.d.ts +71 -0
  13. package/dist/change-intent.js +744 -0
  14. package/dist/change-intent.js.map +1 -0
  15. package/dist/cli.js +6 -5
  16. package/dist/cli.js.map +1 -1
  17. package/dist/e2e.d.ts +16 -1
  18. package/dist/e2e.js +286 -23
  19. package/dist/e2e.js.map +1 -1
  20. package/dist/index.d.ts +9 -1
  21. package/dist/index.js +4 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/qa.d.ts +1 -0
  24. package/dist/qa.js +73 -1
  25. package/dist/qa.js.map +1 -1
  26. package/dist/terminal.js +1 -1
  27. package/dist/terminal.js.map +1 -1
  28. package/dist/version.d.ts +1 -1
  29. package/dist/version.js +1 -1
  30. package/docs/adoption.md +11 -10
  31. package/docs/agent-format.md +9 -7
  32. package/docs/agent-skill.md +5 -2
  33. package/docs/architecture.md +131 -0
  34. package/docs/benchmarking.md +20 -3
  35. package/docs/commands.md +13 -7
  36. package/docs/e2e-output-examples.md +22 -8
  37. package/docs/quickstart-demo.md +9 -2
  38. package/docs/release-validation.md +32 -6
  39. package/docs/releasing.md +13 -0
  40. package/docs/roadmap.md +20 -10
  41. package/package.json +4 -2
  42. package/schema/qamap-agent.schema.json +42 -1
  43. package/schema/qamap-behavior.schema.json +307 -0
  44. package/skills/qamap-pr-qa/SKILL.md +16 -11
package/dist/index.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  export { buildAgentQaSection, formatAgentInitReport, initAgentSetup } from "./agent-init.js";
2
+ export { analyzeBehaviorGraph, behaviorEdgeKinds, behaviorEvidenceKinds, behaviorGraphSchemaVersion, behaviorGraphSchemaUrl, behaviorNodeKinds, behaviorSurfaceKinds, createBehaviorEdge, createBehaviorNodeId, createInferredFlowBehaviorAdapter, mergeBehaviorGraphFragments, } from "./behavior.js";
3
+ export { createManifestBehaviorAdapter } from "./behavior-manifest.js";
4
+ export { createChangeIntentBehaviorAdapter } from "./behavior-intent.js";
5
+ export { analyzeChangeIntents } from "./change-intent.js";
2
6
  export { defaultConfig, loadConfig, writeDefaultConfig } from "./config.js";
3
7
  export { detectDlxCommand, generateAgentContext } from "./context.js";
4
8
  export { buildDomainLanguageSummary } from "./domain-language.js";
@@ -18,11 +22,15 @@ export { scanProject } from "./scanner.js";
18
22
  export { collectTestSuiteInventory, evaluateFlowCoverageEvidence, summarizeTestSuiteInventory } from "./test-evidence.js";
19
23
  export { formatMarkdownTestPlan, generateTestPlan } from "./test-plan.js";
20
24
  export { formatMarkdownVerifyReport, formatVerifyReport, verifyChange } from "./verify.js";
25
+ export type { BehaviorAdapterConfidence, BehaviorAdapterDetection, BehaviorAdapterRun, BehaviorAnalysisContext, BehaviorAnalyzerAdapter, BehaviorAttributeValue, BehaviorChangedFile, BehaviorConfidence, BehaviorDiagnostic, BehaviorDiagnosticSeverity, BehaviorEdge, BehaviorEdgeKind, BehaviorEvidence, BehaviorEvidenceKind, BehaviorGraph, BehaviorGraphFragment, BehaviorGraphSummary, BehaviorImpact, BehaviorImpactKind, BehaviorNode, BehaviorNodeKind, BehaviorSurfaceKind, InferredBehaviorCoverage, InferredBehaviorEntrypoint, InferredBehaviorFlow, InferredBehaviorSelector, InferredFlowAdapterOptions, } from "./behavior.js";
26
+ export type { ManifestBehaviorAdapterOptions } from "./behavior-manifest.js";
27
+ export type { ChangeIntentBehaviorAdapterOptions } from "./behavior-intent.js";
28
+ export type { BehaviorLifecycleStage, BehaviorLifecycleStageKind, ChangeIntent, ChangeIntentAnalysis, ChangeIntentAnalysisOptions, ChangeIntentCommit, ChangeIntentConfidence, ChangeIntentEvidence, ChangeIntentEvidenceKind, IntentQaScenario, IntentQaScenarioKind, IntentQaScenarioPriority, } from "./change-intent.js";
21
29
  export type { CoverageEvidence, CoverageEvidenceConfidence, CoverageEvidenceStatus, FlowCoverageInput, TestSuiteEvidenceFile, TestSuiteInventory, TestSuiteSummary, } from "./test-evidence.js";
22
30
  export type { DoctorArea, DoctorPriority, DoctorResult } from "./doctor.js";
23
31
  export type { DomainLanguageConfidence, DomainLanguageSource, DomainLanguageSummary, DomainLanguageTerm, DomainScenarioSuggestion, } from "./domain-language.js";
24
32
  export type { DomainDefinition, DomainManifest, DomainScenarioDefinition, MatchedDomain, } from "./domains.js";
25
- export type { E2eCoveragePriority, E2eCoverageTarget, E2eBootstrapPlan, E2eBootstrapStep, E2eBootstrapStepCategory, E2eBootstrapStepStatus, E2eEntrypoint, E2eEntrypointConfidence, E2eEntrypointKind, E2eFixtureReadiness, E2eFixtureReadinessStatus, E2eFlow, E2eSelector, E2eSelectorKind, E2eSetupHint, E2eSetupHintConfidence, E2eSetupHintKind, E2eValidationMatrix, E2eValidationMatrixCategory, E2eValidationMatrixRow, E2eValidationMatrixStatus, E2eDraftFile, E2eDraftOptions, E2eDraftResult, E2ePlanOptions, E2ePlanResult, E2eProjectProfile, E2eProjectType, E2eRunnerName, E2eRunnerRecommendation, E2eRunnerSetupProposal, E2eRunnerSetupStatus, E2eSetupOptions, E2eSetupResult, } from "./e2e.js";
33
+ export type { E2eCoveragePriority, E2eCoverageTarget, E2eBootstrapPlan, E2eBootstrapStep, E2eBootstrapStepCategory, E2eBootstrapStepStatus, E2eEntrypoint, E2eEntrypointConfidence, E2eEntrypointKind, E2eFixtureReadiness, E2eFixtureReadinessStatus, E2eFlow, E2eFlowKind, E2eSelector, E2eSelectorKind, E2eSetupHint, E2eSetupHintConfidence, E2eSetupHintKind, E2eValidationMatrix, E2eValidationMatrixCategory, E2eValidationMatrixRow, E2eValidationMatrixStatus, E2eDraftFile, E2eDraftOptions, E2eDraftResult, E2ePlanOptions, E2ePlanResult, E2eProjectProfile, E2eProjectType, E2eRunnerName, E2eRunnerRecommendation, E2eRunnerSetupProposal, E2eRunnerSetupStatus, E2eSetupOptions, E2eSetupResult, } from "./e2e.js";
26
34
  export type { EvalCheck, EvalCheckStatus, EvalOptions, EvalRating, EvalResult } from "./eval.js";
27
35
  export type { CoreFlowDefinition, CoreFlowManifest, CoreFlowPriority, MatchedCoreFlow, } from "./flows.js";
28
36
  export type { GitHubActionMode, GitHubActionOptions, GitHubActionResult } from "./github.js";
package/dist/index.js CHANGED
@@ -1,4 +1,8 @@
1
1
  export { buildAgentQaSection, formatAgentInitReport, initAgentSetup } from "./agent-init.js";
2
+ export { analyzeBehaviorGraph, behaviorEdgeKinds, behaviorEvidenceKinds, behaviorGraphSchemaVersion, behaviorGraphSchemaUrl, behaviorNodeKinds, behaviorSurfaceKinds, createBehaviorEdge, createBehaviorNodeId, createInferredFlowBehaviorAdapter, mergeBehaviorGraphFragments, } from "./behavior.js";
3
+ export { createManifestBehaviorAdapter } from "./behavior-manifest.js";
4
+ export { createChangeIntentBehaviorAdapter } from "./behavior-intent.js";
5
+ export { analyzeChangeIntents } from "./change-intent.js";
2
6
  export { defaultConfig, loadConfig, writeDefaultConfig } from "./config.js";
3
7
  export { detectDlxCommand, generateAgentContext } from "./context.js";
4
8
  export { buildDomainLanguageSummary } from "./domain-language.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAChG,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACd,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,6BAA6B,EAC7B,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kCAAkC,EAClC,gCAAgC,EAChC,8BAA8B,EAC9B,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kCAAkC,EAClC,kCAAkC,EAClC,+BAA+B,EAC/B,2BAA2B,EAC3B,uCAAuC,EACvC,uCAAuC,EACvC,oCAAoC,EACpC,0CAA0C,EAC1C,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAC1H,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,iCAAiC,EACjC,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAChG,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACd,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,6BAA6B,EAC7B,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kCAAkC,EAClC,gCAAgC,EAChC,8BAA8B,EAC9B,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kCAAkC,EAClC,kCAAkC,EAClC,+BAA+B,EAC/B,2BAA2B,EAC3B,uCAAuC,EACvC,uCAAuC,EACvC,oCAAoC,EACpC,0CAA0C,EAC1C,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAC1H,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
package/dist/qa.d.ts CHANGED
@@ -18,6 +18,7 @@ export interface QaDraftResult {
18
18
  testSuite: E2eDraftResult["plan"]["testSuite"];
19
19
  bootstrap: E2eDraftResult["plan"]["bootstrap"];
20
20
  runnerSetup: E2eDraftResult["plan"]["runnerSetup"];
21
+ changeAnalysis: E2eDraftResult["plan"]["changeAnalysis"];
21
22
  readiness: E2eDraftReadinessSummary;
22
23
  flows: QaDraftFlow[];
23
24
  missingEvidence: QaDraftMissingEvidence[];
package/dist/qa.js CHANGED
@@ -26,6 +26,7 @@ export async function generateQaDraft(rootInput, options = {}) {
26
26
  testSuite: draft.plan.testSuite,
27
27
  bootstrap: draft.plan.bootstrap,
28
28
  runnerSetup: draft.plan.runnerSetup,
29
+ changeAnalysis: draft.plan.changeAnalysis,
29
30
  readiness: draft.readinessSummary,
30
31
  flows,
31
32
  missingEvidence,
@@ -56,6 +57,22 @@ export function formatAgentQaDraft(result) {
56
57
  manifest: result.manifestPath ?? null,
57
58
  readiness: { score: result.readiness.score, level: result.readiness.level },
58
59
  testSuite: { present: result.testSuite.hasTestSuite, files: result.testSuite.testFileCount },
60
+ intents: result.changeAnalysis.intents.slice(0, 3).map((intent) => ({
61
+ title: truncateForAgent(intent.title, 100),
62
+ confidence: intent.confidence,
63
+ reviewRequired: intent.reviewRequired,
64
+ evidence: intent.evidence.slice(0, 4).map((item) => truncateForAgent(item.value, 100)),
65
+ lifecycle: intent.lifecycle.slice(0, 8).map((stage) => ({
66
+ phase: stage.kind,
67
+ label: truncateForAgent(stage.label, 120),
68
+ })),
69
+ scenarios: intent.scenarios.slice(0, 4).map((scenario) => ({
70
+ priority: scenario.priority,
71
+ kind: scenario.kind,
72
+ title: truncateForAgent(scenario.title, 100),
73
+ assertions: scenario.assertions.slice(0, 3).map((assertion) => truncateForAgent(assertion, 120)),
74
+ })),
75
+ })),
59
76
  firstDraftCommand: !result.testSuite.hasTestSuite && needsGeneratedDraft(result)
60
77
  ? firstDraftCreateCommand(result)
61
78
  : undefined,
@@ -94,6 +111,20 @@ export function formatMarkdownQaDraft(result) {
94
111
  lines.push("");
95
112
  lines.push("## At a Glance");
96
113
  lines.push("");
114
+ const primaryIntent = result.changeAnalysis.intents[0];
115
+ if (primaryIntent) {
116
+ lines.push(`- Change intent: ${escapeMarkdownInline(primaryIntent.title)} [${primaryIntent.confidence}]`);
117
+ const lifecycle = summarizeIntentLifecycle(primaryIntent.lifecycle);
118
+ if (lifecycle) {
119
+ lines.push(`- Behavior lifecycle: ${escapeMarkdownInline(lifecycle)}`);
120
+ }
121
+ if (primaryIntent.reviewRequired) {
122
+ lines.push("- Intent confidence: human review is required before treating generated scenarios as regression policy.");
123
+ }
124
+ }
125
+ else {
126
+ lines.push("- Change intent: not inferred; heuristic flow suggestions remain review-only.");
127
+ }
97
128
  if (result.flows.length === 0) {
98
129
  lines.push("- Affected behavior: no changed flow candidate was generated from this diff.");
99
130
  }
@@ -136,11 +167,12 @@ export function formatMarkdownQaDraft(result) {
136
167
  lines.push(`- Base: \`${escapeMarkdownInline(result.base)}\``);
137
168
  lines.push(`- Head: \`${escapeMarkdownInline(result.head)}\``);
138
169
  lines.push(`- Project: ${formatProjectType(result.project)}`);
139
- lines.push(`- Recommended runner: ${formatRunnerName(result.runner)}`);
170
+ lines.push(`- Automation adapter: ${formatRunnerName(result.runner)}`);
140
171
  lines.push(`- Manifest: ${result.manifestPath ? `\`${escapeMarkdownInline(result.manifestPath)}\`` : "not found; using repo signals and PR diff only"}`);
141
172
  lines.push(`- Stage: ${formatDraftReadinessStage(result.readiness)}`);
142
173
  lines.push(`- Draft flows: ${result.flows.length}`);
143
174
  lines.push("");
175
+ appendQaChangeIntentMarkdown(lines, result);
144
176
  if (!result.testSuite.hasTestSuite && needsGeneratedDraft(result)) {
145
177
  lines.push("## First E2E Draft Bootstrap");
146
178
  lines.push("");
@@ -246,6 +278,43 @@ export function formatMarkdownQaDraft(result) {
246
278
  lines.push("");
247
279
  return lines.join("\n");
248
280
  }
281
+ function appendQaChangeIntentMarkdown(lines, result) {
282
+ lines.push("## Change Intent Evidence");
283
+ lines.push("");
284
+ if (result.changeAnalysis.intents.length === 0) {
285
+ lines.push("No behavior-bearing commit intent was found. QAMap did not promote inferred names into trusted QA scenarios.");
286
+ lines.push("");
287
+ return;
288
+ }
289
+ for (const intent of result.changeAnalysis.intents.slice(0, 3)) {
290
+ lines.push(`### ${escapeMarkdownInline(intent.title)}`);
291
+ lines.push("");
292
+ lines.push(`- Confidence: ${intent.confidence}${intent.reviewRequired ? "; review required" : ""}`);
293
+ for (const commit of intent.commits.slice(0, 5)) {
294
+ lines.push(`- Evidence: \`${commit.sha.slice(0, 12)}\` ${escapeMarkdownInline(commit.subject)}`);
295
+ }
296
+ lines.push("- Lifecycle:");
297
+ for (const stage of intent.lifecycle.slice(0, 10)) {
298
+ lines.push(` - ${stage.kind}: ${escapeMarkdownInline(stage.label)}`);
299
+ }
300
+ lines.push("- QA scenarios:");
301
+ for (const scenario of intent.scenarios.slice(0, 4)) {
302
+ lines.push(` - [${scenario.priority}] ${escapeMarkdownInline(scenario.title)}`);
303
+ for (const assertion of scenario.assertions.slice(0, 2)) {
304
+ lines.push(` - Assert: ${escapeMarkdownInline(assertion)}`);
305
+ }
306
+ }
307
+ lines.push("");
308
+ }
309
+ }
310
+ function summarizeIntentLifecycle(lifecycle) {
311
+ const preferredPhases = ["trigger", "condition", "state-change", "side-effect", "observable-outcome"];
312
+ const selected = preferredPhases
313
+ .map((phase) => lifecycle.find((stage) => stage.kind === phase))
314
+ .filter((stage) => Boolean(stage));
315
+ const fallback = selected.length > 0 ? selected : lifecycle.slice(0, 5);
316
+ return fallback.map((stage) => `${stage.kind}: ${stage.label}`).join(" -> ");
317
+ }
249
318
  function nextStepCommand(result) {
250
319
  if (!result.testSuite.hasTestSuite && needsGeneratedDraft(result)) {
251
320
  return firstDraftCreateCommand(result);
@@ -468,6 +537,9 @@ function formatDraftSource(source) {
468
537
  if (source === "domain-language") {
469
538
  return "domain-language";
470
539
  }
540
+ if (source === "change-intent") {
541
+ return "commit-and-diff-intent";
542
+ }
471
543
  if (source === "core-flow") {
472
544
  return "core-flow";
473
545
  }
package/dist/qa.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"qa.js","sourceRoot":"","sources":["../src/qa.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAWvE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA0DlD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,UAA0B,EAAE;IACnF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE;QACzC,GAAG,OAAO;QACV,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE1D,OAAO;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO;SACjB;QACD,IAAI;QACJ,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;QACrB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;QAChC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB;QACjD,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;QAC/B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;QAC/B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;QACnC,SAAS,EAAE,KAAK,CAAC,gBAAgB;QACjC,KAAK;QACL,eAAe;QACf,WAAW,EAAE,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC;QAC5D,YAAY,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC;QAC9D,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB;KAChD,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAS,gBAAgB,CAAC,KAAa,EAAE,SAAS,GAAG,GAAG;IACtD,OAAO,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAqB;IACtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,eAAe;SAC5C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC;SAC9C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACzH,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK;SAC7C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;SAC5C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvG,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE;QACxC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;QACrC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;QAC3E,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE;QAC5F,iBAAiB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,IAAI,mBAAmB,CAAC,MAAM,CAAC;YAC9E,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,SAAS;QACb,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1D,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,QAAQ,EAAE,IAAI,CAAC,cAAc;YAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAC9B,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3C,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc;gBAC9C,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC;gBACxD,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa;gBAC5C,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;gBAClD,CAAC,CAAC,SAAS;YACb,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACrF,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC5F,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5G,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;SACzE,CAAC,CAAC;QACH,gBAAgB;QAChB,wBAAwB,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,MAAM;QACzG,iBAAiB;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9F,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KAC/C,CAAC;IACF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,6GAA6G,CAAC,CAAC;IAC1H,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC7F,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvG,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,KAAK,CAAC,IAAI,CAAC,wBAAwB,UAAU,GAAG,SAAS,EAAE,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,0BAA0B,oBAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,qBAAqB,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,WAAW,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CACR,6BAA6B,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3I,CAAC;QACJ,CAAC;aAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,wBAAwB,sBAAsB,CAAC,WAAW,CAAC,gBAAgB,CAAC,iDAAiD,CAAC,CAAC;QAC5I,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,uBAAuB,oBAAoB,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,oBAAoB,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAC7H,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,qBAAqB,oBAAoB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,6GAA6G,CAAC,CAAC;IAC5H,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CACR,yBAAyB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAClJ,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,aAAa,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,aAAa,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,cAAc,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,yBAAyB,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,gDAAgD,EAAE,CAAC,CAAC;IACzJ,KAAK,CAAC,IAAI,CAAC,YAAY,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtE,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,mJAAmJ,CACpJ,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,+BAA+B,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,uBAAuB,oBAAoB,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7F,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,wBAAwB,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1H,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC9C,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC,SAAS,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC;QACvD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,sBAAsB,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,qIAAqI,CAAC,CAAC;QAClJ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;IACjI,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,KAAK,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACrE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,qBAAqB,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvL,KAAK,CAAC,IAAI,CAAC,uBAAuB,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC1F,KAAK,CAAC,IAAI,CAAC,0BAA0B,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtH,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,YAAY,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CACR,iCAAiC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxI,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,SAAS,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC,kGAAkG,CAAC,CAAC;QACvK,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjF,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,mBAAmB,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,0BAA0B,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,2HAA2H,CAAC,CAAC;IAC1I,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxK,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,sEAAsE,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,SAAS,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB;IAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;IAC7C,OAAO,SAAS,CAAC,CAAC,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC;AAC3E,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAiB;IAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1D,4FAA4F,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC5G,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG;QACf,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACzE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACvB,cAAc;KACf,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAqB;IACpD,IAAI,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC;IACzC,CAAC;IACD,OAAO,4BAA4B,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAkB;IAC7C,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,SAAS;QACrB,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,SAAS,EAAE,IAAI,CAAC,IAAI;QACpB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;QACrC,WAAW,EAAE,IAAI,CAAC,aAAa;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;QAC3C,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;QAC3C,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;QACvC,qBAAqB,EAAE,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QAClG,gBAAgB;QAChB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAkB;IAC1C,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,IAAI,gBAAgB,KAAK,wBAAwB,EAAE,CAAC;QAClD,OAAO,CAAC,gGAAgG,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,gBAAgB,KAAK,eAAe,EAAE,CAAC;QACzC,OAAO,CAAC,+GAA+G,CAAC,CAAC;IAC3H,CAAC;IACD,IAAI,gBAAgB,KAAK,eAAe,EAAE,CAAC;QACzC,OAAO,CAAC,wHAAwH,CAAC,CAAC;IACpI,CAAC;IACD,IAAI,gBAAgB,KAAK,oBAAoB,EAAE,CAAC;QAC9C,OAAO,CAAC,uGAAuG,CAAC,CAAC;IACnH,CAAC;IACD,OAAO;QACL,IAAI,CAAC,eAAe;QACpB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,kCAAkC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,SAAS;QAChG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,mBAAmB,IAAI,CAAC,mBAAmB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC,CAAC,SAAS;QAC7J,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,iBAAiB,IAAI,CAAC,qBAAqB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS;KACpJ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAqB;IACjD,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,UAAU,GAAG,qBAAqB,CACtC,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACjF,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,IAAI,EAAE,EAAE,CAAC;YACnD,IAAI,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,2BAA2B;gBAClC,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnG,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAkB,EAAE,OAAe;IAClE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpG,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,OAAO,OAAO,GAAG,aAAa,CAAC,MAAM,IAAI,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAkB,EAAE,IAAwB;IAC7E,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA+B;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAqB,EACrB,KAAoB,EACpB,eAAyC;IAEzC,MAAM,SAAS,GAAG;QAChB,KAAK,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,MAAM;YACpC,CAAC,CAAC,kCAAkC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC5F,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,gBAAgB;gBAC1B,CAAC,CAAC,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,2CAA2C,GAAG;gBACtJ,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;oBAChB,CAAC,CAAC,oCAAoC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBACrG,CAAC,CAAC,8DAA8D;QAClE,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc;YACnC,CAAC,CAAC,iCAAiC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE;YACxE,CAAC,CAAC,+DAA+D;KACpE,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IAChF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,sCAAsC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;WACzH,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,iBAAiB,EAAE,CAAC;QACtB,SAAS,CAAC,IAAI,CAAC,yBAAyB,iBAAiB,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzF,SAAS,CAAC,IAAI,CAAC,0HAA0H,CAAC,CAAC;IAC7I,CAAC;IAED,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAqB,EACrB,KAAoB,EACpB,eAAyC;IAEzC,MAAM,OAAO,GAAG;QACd,gGAAgG;QAChG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,mEAAmE,CAAC,CAAC,CAAC,SAAS;QAC9F,KAAK,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,MAAM;YACpC,CAAC,CAAC,kCAAkC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC;YAClI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,gBAAgB;gBAC1B,CAAC,CAAC,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,6GAA6G;gBACzK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;oBAChB,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,yEAAyE;oBAC3G,CAAC,CAAC,SAAS;QACf,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC,CAAC,SAAS;QACrH,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC1C,CAAC,CAAC,gHAAgH;YAClH,CAAC,CAAC,SAAS;KACd,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,OAAO,iDAAiD,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,IAAI,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,wBAAwB,CAAC;IAClC,CAAC;IACD,IAAI,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAqB;IAChD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAwB;IACtD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACtC,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,OAAO,sCAAsC,CAAC;IAChD,CAAC;IACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,OAAO,qCAAqC,CAAC;IAC/C,CAAC;IACD,OAAO,iCAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAiB;IAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,CAAC,4FAA4F,CAAC,CAAC;IACxG,CAAC;IACD,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,OAAO;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI;QACrB,UAAU,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA8B;IACvD,IAAI,MAAM,KAAK,uBAAuB,EAAE,CAAC;QACvC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAsC;IAClE,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACpC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAoB;IAC7C,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAqB;IAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,MAAgB;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"qa.js","sourceRoot":"","sources":["../src/qa.ts"],"names":[],"mappings":"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"}
package/dist/terminal.js CHANGED
@@ -36,7 +36,7 @@ function colorizeLine(line) {
36
36
  return `${DIM}${line}${RESET}`;
37
37
  }
38
38
  let output = line;
39
- output = output.replace(/^(- (?:Affected|Do next|Blocking(?: \d+)?|Base|Head|Project|Recommended runner|Manifest|Stage|Draft flows)):/, `${BOLD}$1${RESET}:`);
39
+ output = output.replace(/^(- (?:Affected|Change intent|Behavior lifecycle|Do next|Blocking(?: \d+)?|Base|Head|Project|Automation adapter|Recommended runner|Manifest|Stage|Draft flows)):/, `${BOLD}$1${RESET}:`);
40
40
  output = output.replace(/\[(required|missing|error)\]/g, `${RED}[$1]${RESET}`);
41
41
  output = output.replace(/\[(recommended|warning|skipped)\]/g, `${YELLOW}[$1]${RESET}`);
42
42
  output = output.replace(/\[(covered|ready|created|updated|pass)\]/g, `${GREEN}[$1]${RESET}`);
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export declare const TOOL_NAME = "QAMap";
2
- export declare const VERSION = "0.3.5";
2
+ export declare const VERSION = "0.4.0";
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export const TOOL_NAME = "QAMap";
2
- export const VERSION = "0.3.5";
2
+ export const VERSION = "0.4.0";
3
3
  //# sourceMappingURL=version.js.map
package/docs/adoption.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Adopting QAMap
2
2
 
3
- QAMap works best when teams treat it as the local QA pass for AI-assisted PRs, not as a replacement for review or security tooling.
3
+ QAMap works best when teams treat it as the local QA design pass for any PR, not as a replacement for review or security tooling.
4
4
 
5
5
  ## First Run
6
6
 
@@ -16,7 +16,7 @@ For coding agents, request the compact machine-readable summary instead:
16
16
  pnpm dlx @ivorycanvas/qamap qa . --base origin/main --head HEAD --format agent
17
17
  ```
18
18
 
19
- When the qa output looks useful, preview and then write the draft E2E files:
19
+ First confirm the inferred commit intent, lifecycle, confidence, and runner-independent QA scenarios. When that judgment looks useful, preview and then write the adapter-specific draft files:
20
20
 
21
21
  ```sh
22
22
  pnpm dlx @ivorycanvas/qamap e2e draft . --base origin/main --head HEAD --dry-run
@@ -58,8 +58,8 @@ Start advisory, then tighten the gate once the findings are understood.
58
58
 
59
59
  | Phase | Command | Goal |
60
60
  | --- | --- | --- |
61
- | 1. PR QA draft | `qamap qa . --base origin/main --head HEAD` | Get the affected flow, suggested E2E/checklist draft, missing evidence, and PR checklist for a branch. |
62
- | 2. Agent handoff | `qamap qa . --base origin/main --head HEAD --format agent` | Give coding agents the same decision content as compact JSON instead of a long report. |
61
+ | 1. PR QA design | `qamap qa . --base origin/main --head HEAD` | Get commit-backed intent, behavior lifecycle, QA scenarios, affected flows, and missing evidence. |
62
+ | 2. Agent handoff | `qamap qa . --base origin/main --head HEAD --format agent` | Give coding agents the same intent and scenario evidence as compact JSON instead of a long report. |
63
63
  | 3. E2E preview | `qamap e2e draft . --base origin/main --head HEAD --dry-run` | Preview generated draft paths, readiness, action items, and blockers before writing files. |
64
64
  | 4. E2E apply | `qamap e2e draft . --base origin/main --head HEAD` | Write draft files once the preview looks useful enough to review. |
65
65
  | 5. QA memory | `qamap manifest init .` (from the default branch) | Create `.qamap/manifest.yaml` so future PR recommendations reuse reviewed team QA language. |
@@ -188,11 +188,13 @@ On the guardrails side, QAMap is not trying to replace the larger security ecosy
188
188
 
189
189
  ## Why This Is Different From Recorders And Generators
190
190
 
191
- Recorders such as browser or mobile test studios are useful when you already know the flow to exercise. QAMap starts one step earlier: it asks what the PR changed, which repo-owned QA memory applies, and what test artifact should exist before merge.
191
+ Recorders such as browser or mobile test studios are useful when you already know the flow to exercise. QAMap starts one step earlier: it asks what the PR commits intended to change, which lifecycle and risk axes follow from the diff, which repo-owned QA memory applies, and what test artifact should exist before merge.
192
192
 
193
193
  A good QAMap result should answer:
194
194
 
195
- - which product flow changed
195
+ - which commit-backed behavior intent changed, with confidence and review requirements
196
+ - which trigger, condition, action, state change, side effect, and observable outcome form its lifecycle
197
+ - which primary, failure, boundary, and state-transition QA scenarios follow from that lifecycle
196
198
  - which manifest domain, flow, and checks caused the recommendation
197
199
  - which draft test file was generated or previewed
198
200
  - which success, failure, edge, contract, or visual cases the draft covers
@@ -201,7 +203,7 @@ A good QAMap result should answer:
201
203
 
202
204
  That is the product bet: one human correction to the repo-local manifest should improve future PR recommendations without another LLM prompt.
203
205
 
204
- You do not need a manifest to start. Without one, QAMap uses the PR diff, package signals, routes, selectors, runner config, and existing tests. Add a manifest only when the team wants durable QA language that improves future recommendations.
206
+ You do not need a manifest to start. Without one, QAMap uses commit subjects and bodies, the PR diff, package signals, routes, selectors, runner config, and existing tests. Add a manifest only when the team wants durable QA language that improves future recommendations.
205
207
 
206
208
  ## What QAMap Is For
207
209
 
@@ -211,9 +213,9 @@ QAMap is intentionally small:
211
213
  - static by default: it does not execute scanned project code
212
214
  - no-token by default: it does not call an LLM API
213
215
  - verification-focused: it tells reviewers what evidence is missing, not how to style code
214
- - PR QA skill output: `qamap qa` turns a branch into a PR-ready affected-flow summary, suggested E2E/checklist draft, missing evidence list, and copyable checklist
216
+ - PR QA skill output: `qamap qa` turns a branch into change intent, behavior lifecycle, QA scenarios, affected-flow evidence, optional automation drafts, and a copyable checklist
215
217
  - packaged agent skill: `skills/qamap-pr-qa/SKILL.md` gives coding agents a compact PR QA workflow for running QAMap before handoff
216
- - domain-aware E2E drafting: it turns branch changes into flow language, draft specs, readiness summaries, and action items
218
+ - intent-aware E2E drafting: it derives runner-independent QA first, then compiles the selected path into Playwright, Maestro, or manual artifacts
217
219
  - repo-local verification base: shared manifests can be committed, while generated run history stays ignored by default
218
220
  - context-aware baseline generation: manifest init can use repo-local context, ADRs, goals, agent instructions, harness files, skills, and runbooks as advisory bootstrap signals
219
221
  - harness/skill role hints: instruction-derived context is classified as agent skill, harness config, workflow lifecycle, verification rubric, safety policy, release policy, or test runner context
@@ -225,4 +227,3 @@ It is built for teams using AI coding agents, MCP-powered tools, or any workflow
225
227
 
226
228
  For PR verification, QAMap treats the repository itself as the working base: committed manifests hold durable team language, ignored local history holds generated run observations, and the current branch diff supplies what changed now.
227
229
 
228
-
@@ -1,6 +1,6 @@
1
1
  # Agent Format Contract
2
2
 
3
- `qamap qa --format agent` prints one line of JSON (~2–4KB) designed to be pasted into a coding agent's context instead of the full markdown report. This page is the contract for that output: what the fields mean, what an agent may rely on, and how the format is allowed to change.
3
+ `qamap qa --format agent` prints one compact line of JSON designed to be pasted into a coding agent's context instead of the full markdown report. Small heuristic changes are usually 2–4KB; evidence-rich intent lifecycles can be larger. This page is the contract for that output: what the fields mean, what an agent may rely on, and how the format is allowed to change.
4
4
 
5
5
  ```sh
6
6
  qamap qa . --base origin/main --head HEAD --format agent
@@ -19,10 +19,11 @@ qamap qa . --base origin/main --head HEAD --format agent
19
19
  The intended loop for a coding agent:
20
20
 
21
21
  1. Run the command above and parse stdout as JSON.
22
- 2. If `readiness.level` is `blocked` or `needs-work`, treat generated drafts as review-only; `requiredBootstrap` lists what unlocks the next stage.
23
- 3. Use `flows[].changedFiles`, `flows[].evidence`, and `flows[].reviewQuestion` to understand why the flow was selected. Use `steps`, `selectors`, and `successSignal` to write or review tests; `runnable` says how much to trust the generated draft.
24
- 4. Surface `requiredEvidence` in the PR description, and paste `prChecklist` items into the PR body.
25
- 5. Run `commands` to validate.
22
+ 2. Read `intents` first. Confirm its commit evidence, confidence, lifecycle, and QA scenarios before treating runner-specific output as correct. When `reviewRequired` is true, ask a human to confirm the intent.
23
+ 3. If `readiness.level` is `blocked` or `needs-work`, treat generated drafts as review-only; `requiredBootstrap` lists what unlocks the next stage.
24
+ 4. Use `flows[].changedFiles`, `flows[].evidence`, and `flows[].reviewQuestion` to understand why the flow was selected. Use `steps`, `selectors`, and `successSignal` to write or review tests; `runnable` says how much to trust the generated draft.
25
+ 5. Surface `requiredEvidence` in the PR description, and paste `prChecklist` items into the PR body.
26
+ 6. Run `commands` to validate.
26
27
 
27
28
  ## Fields
28
29
 
@@ -31,10 +32,11 @@ The intended loop for a coding agent:
31
32
  | `schema` | object | `{ name: "qamap.qa", version: 1 }` — check before parsing. |
32
33
  | `base`, `head` | string | Git refs the diff was computed from. |
33
34
  | `project` | string | Detected project type (for example `web`, `react-native`, `node`, `unknown`). |
34
- | `runner` | string | Recommended E2E runner: `maestro`, `playwright`, or `manual`. |
35
+ | `runner` | string | Automation output adapter selected after QA intent analysis: `maestro`, `playwright`, or `manual`. |
35
36
  | `manifest` | string \| null | Verification manifest path in use, or `null` when the run used repo signals and the PR diff only. |
36
37
  | `readiness` | object | `score` (0–100) and `level` (`ready` \| `near-runnable` \| `needs-work` \| `blocked`). Human reports render the same value as a four-stage journey; the machine value is stable. |
37
38
  | `testSuite` | object | `present` (boolean) and `files` (number of detected test files). |
39
+ | `intents` | array | Evidence-backed change intents (capped). Each includes `title`, `confidence`, `reviewRequired`, commit/diff `evidence`, ordered `lifecycle` phases, and runner-independent QA `scenarios` with assertions. Empty when commit and diff evidence cannot support a behavior intent. |
38
40
  | `firstDraftCommand` | string? | One command that creates the first E2E draft. Present only when the repository has no test suite and the diff reaches a product journey. |
39
41
  | `flows` | array | Affected user flows, most relevant first (capped). Each has `title`, `source`, `draft`, optional `runnable`, `entry`, and `verificationMode`, plus `changedFiles`, `reviewQuestion`, `successSignal`, `steps`, `selectors`, and short `evidence` reasons. Test-only changes expose `existingEvidence`; configuration, docs, generated artifacts, and changed tests use `verificationMode`, keep `draft` only as a fallback artifact path, and omit `firstDraftCommand` rather than inventing a required product journey. |
40
42
  | `requiredEvidence` | array | Required-priority QA evidence still missing, capped at 8: `flow`, `kind`, `title`. |
@@ -48,5 +50,5 @@ List fields are capped to keep the payload small; caps may grow within version 1
48
50
  ## Example
49
51
 
50
52
  ```json
51
- {"schema":{"name":"qamap.qa","version":1},"base":"main","head":"HEAD","project":"web","runner":"playwright","manifest":null,"readiness":{"score":51,"level":"needs-work"},"testSuite":{"present":false,"files":0},"firstDraftCommand":"qamap e2e setup . --runner playwright","flows":[{"title":"Checkout Submit","source":"domain-language","draft":"tests/e2e/checkout-submit.spec.ts","runnable":"near-runnable","entry":"route: /checkout (high)","changedFiles":["src/pages/checkout/index.tsx"],"reviewQuestion":"Can a reviewer confirm that Checkout Submit still works from this entrypoint and this outcome is verified: visible text Order confirmed appears?","successSignal":"visible text Order confirmed appears","steps":["Fill Email with realistic data.","Submit Submit using Checkout Submit."],"selectors":["web-test-id: checkout-submit"],"evidence":["Primary entrypoint inferred as route /checkout."]}],"requiredEvidence":[{"flow":"Checkout Submit","kind":"runner","title":"Configure Playwright execution"}],"recommendedEvidenceCount":2,"requiredBootstrap":[{"title":"Configure Playwright before making drafts required","action":"Run qamap e2e setup . --runner playwright."}],"prChecklist":["Review the generated draft path: tests/e2e/checkout-submit.spec.ts."],"commands":["npm run build"]}
53
+ {"schema":{"name":"qamap.qa","version":1},"base":"main","head":"HEAD","project":"web","runner":"playwright","manifest":null,"readiness":{"score":51,"level":"needs-work"},"testSuite":{"present":false,"files":0},"intents":[{"title":"Submit checkout and persist the confirmed order","confidence":"high","reviewRequired":false,"evidence":["feat: submit checkout and persist the confirmed order"],"lifecycle":[{"phase":"trigger","label":"Submit checkout."},{"phase":"side-effect","label":"Create the order."},{"phase":"observable-outcome","label":"Show order confirmation."}],"scenarios":[{"priority":"critical","kind":"primary","title":"Submit checkout and persist the confirmed order","assertions":["Verify order confirmation is visible."]}]}],"firstDraftCommand":"qamap e2e setup . --runner playwright","flows":[{"title":"Submit checkout and persist the confirmed order","source":"commit-and-diff-intent","draft":"tests/e2e/submit-checkout-and-persist-the-confirmed-order.spec.ts","runnable":"near-runnable","entry":"route: /checkout (high)","changedFiles":["src/pages/checkout/index.tsx"],"reviewQuestion":"Can a reviewer confirm that the changed checkout lifecycle is verified?","successSignal":"visible text Order confirmed appears","steps":["Submit checkout.","Create the order.","Verify order confirmation is visible."],"selectors":["web-test-id: checkout-submit"],"evidence":["Commit and diff evidence support this change intent."]}],"requiredEvidence":[],"recommendedEvidenceCount":2,"requiredBootstrap":[],"prChecklist":["Review the generated intent-backed draft."],"commands":["npm run build"]}
52
54
  ```
@@ -68,10 +68,13 @@ If your agent supports symlinked skills, point its skill directory at `skills/qa
68
68
 
69
69
  ## What The Agent Should Do With The Output
70
70
 
71
- Use the `PR Comment Draft` section as review context:
71
+ Use `Change Intent Evidence` and the `PR Comment Draft` as review context:
72
72
 
73
+ - commit-backed intent, confidence, and whether human review is required
74
+ - ordered behavior lifecycle
75
+ - primary, failure, boundary, and state-transition QA scenarios
73
76
  - affected flow
74
- - recommended runner
77
+ - automation adapter selected after QA design
75
78
  - draft E2E or checklist path
76
79
  - missing fixture, selector, assertion, runner, or validation evidence
77
80
  - PR checklist items
@@ -0,0 +1,131 @@
1
+ # Architecture
2
+
3
+ QAMap is moving from deterministic PR-to-draft heuristics toward a local, change-aware QA engine. The core must remain useful without cloud services, source upload, or LLM calls.
4
+
5
+ The target pipeline is:
6
+
7
+ ```txt
8
+ commit range + base/head diff
9
+ -> change intent analysis
10
+ -> analyzer adapters
11
+ -> behavior graph
12
+ -> behavior lifecycle + impact selection
13
+ -> runner-independent QA scenarios
14
+ -> Playwright / Maestro / manual adapter
15
+ -> explicit local execution
16
+ -> normalized evidence and verdict
17
+ ```
18
+
19
+ The repository, not a model session, is the source of truth. Commit subjects and bodies provide author intent, source code supplies observable structure, and `.qamap/manifest.yaml` supplies reviewed product intent that commits and code alone cannot prove.
20
+
21
+ ## Change Intent
22
+
23
+ `src/change-intent.ts` reads behavior-bearing commits in the selected base/head range and joins related `feat`, `fix`, `hotfix`, `perf`, and supporting `refactor` commits through normalized domain terms. Added diff symbols provide independent evidence for triggers, conditions, state changes, side effects, and observable outcomes.
24
+
25
+ Each intent contains:
26
+
27
+ - the original commit evidence and source scope;
28
+ - an explicit confidence and `reviewRequired` flag;
29
+ - an ordered behavior lifecycle;
30
+ - runner-independent primary, failure, boundary, and state-transition QA scenarios.
31
+
32
+ One richly evidenced squash commit can reach high confidence. A title without connected diff evidence cannot. Working-tree-only inference is always low confidence and review-required. Release, docs, style, CI, and test-only commits do not become product intents.
33
+
34
+ The analysis is deterministic and local. It does not execute repository code, contact GitHub, upload source, or call an LLM.
35
+
36
+ ## Behavior Graph
37
+
38
+ `src/behavior.ts` defines the framework-neutral intermediate representation. A graph contains stable nodes, typed edges, confidence, evidence, and direct or propagated change impact.
39
+
40
+ Generated graphs identify the shipped contract through `schema/qamap-behavior.schema.json` and `schemaVersion: 1`. The schema URL and node, edge, surface, and evidence enums are exported from the package so adapters and consumers can reject unsupported shapes deterministically.
41
+
42
+ Initial node kinds cover:
43
+
44
+ - domains and flows;
45
+ - routes, screens, endpoints, commands, and artifact surfaces;
46
+ - actions, states, effects, contracts, and assertions;
47
+ - fixtures, locators, and source files.
48
+
49
+ Initial edges describe containment, entrypoints, ordering, expected outcomes, fixture use, locators, implementation sources, and diff impact.
50
+
51
+ Every inferred node must retain provenance. A node without a commit, source, diff, selector, fixture, test, manifest, or named inference reason should not influence a QA verdict.
52
+
53
+ Node and edge ids are content-derived and stable. Re-running analysis against the same repository state must produce the same graph identity even when report timestamps differ.
54
+
55
+ ## Compatibility Adapter
56
+
57
+ The first graph integration uses `qamap.inferred-flow-compat`. It translates the existing E2E flow observations into the new graph so the IR can be introduced without changing existing CLI recommendations.
58
+
59
+ This adapter is a migration bridge, not the final analysis architecture. Framework adapters should gradually emit graph fragments directly, after which draft generation will consume the graph instead of the graph consuming completed drafts.
60
+
61
+ `qamap.change-intent` is the first direct product adapter. It emits intent contracts, lifecycle actions/states/effects, scenario assertions, source links, and commit provenance before an automation runner is selected.
62
+
63
+ ## Analyzer Adapters
64
+
65
+ An analyzer adapter has two operations:
66
+
67
+ ```ts
68
+ interface BehaviorAnalyzerAdapter {
69
+ id: string;
70
+ version: string;
71
+ detect(context): Detection;
72
+ analyze(context): BehaviorGraphFragment;
73
+ }
74
+ ```
75
+
76
+ Detection must be evidence-based and may decline a repository. Analysis failures are isolated and reported as diagnostics so one optional adapter cannot erase useful output from the others.
77
+
78
+ Adapters should be layered:
79
+
80
+ 1. language adapters provide symbols, imports, calls, and schemas;
81
+ 2. framework adapters provide routes, screens, handlers, and lifecycle conventions;
82
+ 3. repository adapters provide manifests, tests, fixtures, and local policy;
83
+ 4. executor adapters compile selected scenarios for an existing runner.
84
+
85
+ Support is reported by capability rather than a single yes/no framework badge:
86
+
87
+ | Level | Contract |
88
+ | --- | --- |
89
+ | Deep | Behavior impact, deterministic scenarios, and local execution are supported. |
90
+ | Structural | Routes, contracts, existing tests, and validation commands are understood. |
91
+ | Generic | Diff and dependency evidence are available; QAMap does not invent a product journey. |
92
+
93
+ TypeScript-based web stacks are the first deep-analysis target because the existing import, route, selector, and fixture signals already provide a useful base. Vue, Nuxt, and SvelteKit should reuse the common web behavior model rather than fork the QA pipeline. Mobile, API, Python, Go, and JVM support should enter through the same adapter contract.
94
+
95
+ ## Manifest Boundary
96
+
97
+ The generated graph is local cache material and should not be committed in full. The verification manifest stores only durable, reviewed knowledge:
98
+
99
+ - important flows and criticality;
100
+ - expected and forbidden outcomes;
101
+ - auth, permission, fixture, and environment requirements;
102
+ - stable anchors and invariants;
103
+ - accepted corrections and suppressions.
104
+
105
+ This keeps first-run setup light while allowing one human correction to improve later PRs deterministically.
106
+
107
+ ## Execution Boundary
108
+
109
+ `qamap qa` remains static and read-only. It must not execute scanned project code.
110
+
111
+ Future execution belongs to an explicit `qamap verify` mode with a visible execution plan. The intended safeguards are:
112
+
113
+ - generated tests live in an operating-system temporary directory by default;
114
+ - target repository files are not modified unless a separate write command is requested;
115
+ - commands, environment variables, network access, and time limits are policy controlled;
116
+ - existing mocks and fixtures are preferred over fabricated data;
117
+ - missing setup becomes `not verifiable`, never a false pass;
118
+ - source code and evidence remain local and no LLM is called.
119
+
120
+ Playwright, Maestro, and other tools are executor implementations. They are not the product-level recommendation shown first to users.
121
+
122
+ ## Migration Order
123
+
124
+ 1. Derive change intent and runner-independent QA scenarios from commit and diff evidence.
125
+ 2. Move route, screen, endpoint, selector, fixture, and contract discovery into graph-producing adapters.
126
+ 3. Compare base and head graphs to select affected behavior rather than relying on file categories alone.
127
+ 4. Compile selected graph paths through Playwright, Maestro, or manual adapters.
128
+ 5. Add explicit, temporary execution and normalized evidence.
129
+ 6. Add manifest accept, reject, and repair commands so reviewed outcomes improve later analysis.
130
+
131
+ Version `0.4.0` establishes the commit-to-intent-to-scenario slice for synthetic web and mobile lifecycle changes. The next minor is reserved for a policy-controlled scenario execution and normalized evidence slice; compatible analyzer and adapter improvements remain patch releases during `0.x` development.