@nextcommerce/campaigns-os 1.61.0 → 1.62.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 (127) hide show
  1. package/AGENTS.md +2 -1
  2. package/CHANGELOG.md +118 -0
  3. package/README.md +86 -438
  4. package/agents/claude/CLAUDE.md +9 -4
  5. package/agents/codex/AGENTS.md +8 -4
  6. package/agents/copilot/copilot-instructions.md +8 -4
  7. package/agents/cursor/campaigns-os.mdc +10 -4
  8. package/campaign-spec/README.md +7 -0
  9. package/campaign-spec/dist/analytics-vendors.d.ts +40 -0
  10. package/campaign-spec/dist/analytics-vendors.js +44 -0
  11. package/campaign-spec/dist/checkout-flow.d.ts +18 -0
  12. package/campaign-spec/dist/checkout-flow.js +28 -0
  13. package/campaign-spec/dist/index.d.ts +4 -2
  14. package/campaign-spec/dist/index.js +5 -1
  15. package/campaign-spec/dist/rules/analytics-contract-shape.d.ts +8 -0
  16. package/campaign-spec/dist/rules/analytics-contract-shape.js +39 -0
  17. package/campaign-spec/dist/rules/campaign-currencies.d.ts +29 -0
  18. package/campaign-spec/dist/rules/campaign-currencies.js +130 -0
  19. package/campaign-spec/dist/rules/checkout-path-has-packages.d.ts +31 -0
  20. package/campaign-spec/dist/rules/checkout-path-has-packages.js +79 -0
  21. package/campaign-spec/dist/rules/index.d.ts +2 -0
  22. package/campaign-spec/dist/rules/index.js +6 -0
  23. package/campaign-spec/dist/types.d.ts +43 -9
  24. package/compatibility.json +1 -1
  25. package/contracts/commerce-surface-catalog.json +59 -53
  26. package/contracts/effects.v1.json +549 -165
  27. package/contracts/fixtures/runtime-recipe/accept/current.json +3 -0
  28. package/contracts/fixtures/runtime-recipe/accept/minimal.json +3 -0
  29. package/contracts/fixtures/runtime-recipe/dist-states.json +1 -1
  30. package/contracts/fixtures/runtime-recipe/reject/advisory-enforcement.json +3 -0
  31. package/contracts/fixtures/runtime-recipe/reject/allowlist-without-hosts.json +3 -0
  32. package/contracts/fixtures/runtime-recipe/reject/committed-output-claim.json +3 -0
  33. package/contracts/fixtures/runtime-recipe/reject/engines-disagreement-warns.json +3 -0
  34. package/contracts/fixtures/runtime-recipe/reject/lifecycle-scripts-enabled.json +3 -0
  35. package/contracts/fixtures/runtime-recipe/reject/unknown-kind.json +3 -0
  36. package/contracts/fixtures/runtime-recipe/reject/unknown-network-policy.json +3 -0
  37. package/contracts/fixtures/runtime-recipe/reject/unknown-output-check.json +3 -0
  38. package/contracts/fixtures/runtime-recipe/reject/unknown-revision.json +3 -0
  39. package/contracts/fixtures/runtime-recipe/reject/unknown-step-id.json +3 -0
  40. package/contracts/fixtures/runtime-recipe/reject/unperformable-check-skipped.json +3 -0
  41. package/contracts/fixtures/runtime-recipe/reject/unpinned-lockfile.json +3 -0
  42. package/contracts/release-ledger.json +999 -0
  43. package/contracts/runtime-recipe.campaigns-os-node-v1.json +3 -0
  44. package/contracts/supported-surface.json +8 -8
  45. package/contracts/template-brand-contract.shared-commerce.v0.json +23 -1
  46. package/docs/build-packet.md +430 -37
  47. package/docs/campaign-standardization-report.md +4 -4
  48. package/docs/campaigns-os-build-flow.md +54 -3
  49. package/docs/campaignspec-authoring-examples.md +29 -4
  50. package/docs/design-source-package.md +18 -6
  51. package/docs/effects.md +17 -9
  52. package/docs/local-setup.md +1 -1
  53. package/docs/orientation-contract-reference.md +1 -1
  54. package/docs/polish-evidence.md +2 -0
  55. package/docs/progress-snapshots.md +7 -4
  56. package/docs/qa-and-test-orders.md +147 -1
  57. package/docs/readback.md +40 -5
  58. package/docs/runtime-readiness.md +6 -3
  59. package/docs/sdk-storage-compatibility.md +1 -1
  60. package/docs/skills-revision.md +10 -10
  61. package/package.json +1 -1
  62. package/schemas/campaign-runtime-build-context.v0.schema.json +9 -0
  63. package/schemas/campaign-runtime-build-packet.v0.schema.json +9 -0
  64. package/schemas/campaign-spec.v4.schema.json +19 -3
  65. package/schemas/campaign-spec.v5.schema.json +19 -3
  66. package/schemas/campaigns-os-readback.v2.schema.json +62 -1
  67. package/skills/campaign-lifecycle-orientation/SKILL.md +3 -3
  68. package/skills/campaign-readback-classification/SKILL.md +3 -3
  69. package/skills/campaign-run-evidence/SKILL.md +3 -3
  70. package/skills/contribution-intake/SKILL.md +3 -3
  71. package/skills/next-campaigns-build/SKILL.md +4 -3
  72. package/skills/next-campaigns-os/SKILL.md +6 -4
  73. package/skills/next-campaigns-os-setup/SKILL.md +5 -3
  74. package/skills/next-campaigns-polish/SKILL.md +5 -4
  75. package/skills/next-campaigns-qa/SKILL.md +7 -4
  76. package/skills/next-campaigns-sdk-bump/SKILL.md +42 -9
  77. package/skills.json +11 -11
  78. package/src/brand-theme.mjs +2 -1
  79. package/src/build-brief.mjs +4 -1
  80. package/src/campaign-workspace.mjs +288 -15
  81. package/src/change-scope.mjs +284 -0
  82. package/src/cli.mjs +308 -86
  83. package/src/commercial-journey.mjs +16 -3
  84. package/src/commercial-parity.mjs +15 -7
  85. package/src/content-residue.mjs +4 -2
  86. package/src/design-source-package.mjs +36 -0
  87. package/src/design-source-publication.mjs +9 -6
  88. package/src/directory-lock.mjs +73 -19
  89. package/src/doctor/checks.mjs +79 -7
  90. package/src/doctor/ci.mjs +75 -10
  91. package/src/doctor/inspect.mjs +23 -6
  92. package/src/doctor/next-step.mjs +7 -0
  93. package/src/doctor-sidecar.mjs +3 -2
  94. package/src/evidence-debt.mjs +47 -7
  95. package/src/finding-cause.mjs +12 -11
  96. package/src/input-refresh.mjs +339 -32
  97. package/src/invocation.mjs +7 -1
  98. package/src/live-campaign-refs.mjs +7 -2
  99. package/src/local-preview-policy.mjs +35 -2
  100. package/src/page-kit-analytics-vendors.mjs +132 -0
  101. package/src/polish-browser.mjs +3 -1
  102. package/src/polish-readability.mjs +221 -9
  103. package/src/polish-visual.mjs +9 -2
  104. package/src/progress-node.mjs +3 -2
  105. package/src/qa-analytics-parity.mjs +17 -1
  106. package/src/qa-browser.mjs +40 -4
  107. package/src/qa-commercial-parity.mjs +50 -3
  108. package/src/qa-node.mjs +196 -16
  109. package/src/qa-publish.mjs +9 -8
  110. package/src/qa-sidecar.mjs +16 -4
  111. package/src/qa-vendor-beacons.mjs +232 -0
  112. package/src/qa-vendor-endpoints.mjs +306 -0
  113. package/src/qc-accept.mjs +29 -1
  114. package/src/qc-check-registry.mjs +5 -1
  115. package/src/qc-results.mjs +73 -26
  116. package/src/readback.mjs +58 -10
  117. package/src/route-identity.mjs +10 -0
  118. package/src/run-record.mjs +18 -10
  119. package/src/runtime-state-ignore.mjs +6 -2
  120. package/src/sdk-storage-compatibility.mjs +21 -2
  121. package/src/source-html-intake.mjs +15 -1
  122. package/src/spec-derive-campaign.mjs +216 -0
  123. package/src/spec-derive.mjs +473 -53
  124. package/src/spec-identity.mjs +14 -0
  125. package/src/stage-ledger.mjs +40 -1
  126. package/src/stage-record.mjs +58 -13
  127. package/src/target-lock.mjs +11 -1
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -100,6 +100,7 @@
100
100
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
101
101
  "fingerprint_algorithm": "sha256",
102
102
  "files": [
103
+ "campaign-spec/analytics-vendors.ts",
103
104
  "campaign-spec/analytics-vocabulary.ts",
104
105
  "campaign-spec/checkout-flow.ts",
105
106
  "campaign-spec/index.ts",
@@ -108,9 +109,11 @@
108
109
  "campaign-spec/routing.ts",
109
110
  "campaign-spec/rules/analytics-contract-shape.ts",
110
111
  "campaign-spec/rules/assembly-hints-shape.ts",
112
+ "campaign-spec/rules/campaign-currencies.ts",
111
113
  "campaign-spec/rules/campaign-metadata.ts",
112
114
  "campaign-spec/rules/checkout-forward-target.ts",
113
115
  "campaign-spec/rules/checkout-has-success-url.ts",
116
+ "campaign-spec/rules/checkout-path-has-packages.ts",
114
117
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
115
118
  "campaign-spec/rules/cycle-detection.ts",
116
119
  "campaign-spec/rules/design-source-shape.ts",
@@ -2,7 +2,7 @@
2
2
  "_note": "Declarative descriptions of the prepared-runtime states an output-check implementation must distinguish. A test builds each state from the accepted recipe rather than from paths written down here, so adding a module to the input set cannot leave a fixture describing an inventory that no longer exists.",
3
3
  "schema": "campaigns-os-runtime-recipe-dist-states/v1",
4
4
  "directory": "campaign-spec/dist",
5
- "expected_file_count": 86,
5
+ "expected_file_count": 92,
6
6
  "states": [
7
7
  {
8
8
  "id": "healthy",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -103,6 +103,7 @@
103
103
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
104
104
  "fingerprint_algorithm": "sha256",
105
105
  "files": [
106
+ "campaign-spec/analytics-vendors.ts",
106
107
  "campaign-spec/analytics-vocabulary.ts",
107
108
  "campaign-spec/checkout-flow.ts",
108
109
  "campaign-spec/index.ts",
@@ -111,9 +112,11 @@
111
112
  "campaign-spec/routing.ts",
112
113
  "campaign-spec/rules/analytics-contract-shape.ts",
113
114
  "campaign-spec/rules/assembly-hints-shape.ts",
115
+ "campaign-spec/rules/campaign-currencies.ts",
114
116
  "campaign-spec/rules/campaign-metadata.ts",
115
117
  "campaign-spec/rules/checkout-forward-target.ts",
116
118
  "campaign-spec/rules/checkout-has-success-url.ts",
119
+ "campaign-spec/rules/checkout-path-has-packages.ts",
117
120
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
118
121
  "campaign-spec/rules/cycle-detection.ts",
119
122
  "campaign-spec/rules/design-source-shape.ts",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",
@@ -105,6 +105,7 @@
105
105
  "_note": "The complete input set, enumerated explicitly rather than globbed. The compiler's configured include globs are NOT the input set: two root modules enter the compilation transitively through imports from the entry module and are emitted, so a fingerprint derived from the globs would cover 36 of the 38 compiled sources and miss one of the larger emitted surfaces. Test fixtures and the package's own tests are not inputs; nothing under them is emitted. A checker resolves the compiler's actual file list and asserts it equals this enumeration, so this list cannot rot silently.",
106
106
  "fingerprint_algorithm": "sha256",
107
107
  "files": [
108
+ "campaign-spec/analytics-vendors.ts",
108
109
  "campaign-spec/analytics-vocabulary.ts",
109
110
  "campaign-spec/checkout-flow.ts",
110
111
  "campaign-spec/index.ts",
@@ -113,9 +114,11 @@
113
114
  "campaign-spec/routing.ts",
114
115
  "campaign-spec/rules/analytics-contract-shape.ts",
115
116
  "campaign-spec/rules/assembly-hints-shape.ts",
117
+ "campaign-spec/rules/campaign-currencies.ts",
116
118
  "campaign-spec/rules/campaign-metadata.ts",
117
119
  "campaign-spec/rules/checkout-forward-target.ts",
118
120
  "campaign-spec/rules/checkout-has-success-url.ts",
121
+ "campaign-spec/rules/checkout-path-has-packages.ts",
119
122
  "campaign-spec/rules/checkout-step-reaches-checkout.ts",
120
123
  "campaign-spec/rules/cycle-detection.ts",
121
124
  "campaign-spec/rules/design-source-shape.ts",