fix(modules): Car Wash depends on parking only — the discount engine is core, not the validation module
Build & push images / images (push) Successful in 2m51s
Build & push images / images (push) Successful in 2m51s
A site entitled to parking,carwash had the wash silently dropped as dependency-broken. The validation program routes (compose/read) leave the validation module gate; the merchant scan routes (mine/lookup/apply/void) stay behind it. Claude-Session: https://claude.ai/code/session_01FWncR69HgGPuei1dLrW3cU
This commit is contained in:
@@ -1881,12 +1881,13 @@ export const MODULES: readonly ModuleManifest[] = [
|
||||
jobs: [{ id: "merchant", permissions: ["validation:create"] }],
|
||||
},
|
||||
{
|
||||
// The pilot module. Depends on parking (the wash sits inside the park; the ticket
|
||||
// IS the customer identity) and on validation (the sponsorship engine: a completed
|
||||
// wash applies the site's "carwash" validation program to the session).
|
||||
// The pilot module. Depends on parking only (the wash sits inside the park; the
|
||||
// ticket IS the customer identity). The parking-discount ENGINE (validation programs +
|
||||
// applyValidation) is CORE — the `validation` module is just the merchant's scan
|
||||
// screen — so a site can run Car Wash without any merchant validation (2026-09-06).
|
||||
id: "carwash",
|
||||
required: false,
|
||||
dependsOn: ["parking", "validation"],
|
||||
dependsOn: ["parking"],
|
||||
resources: ["carwash"],
|
||||
ledgerEventTypes: ["carwash_order", "carwash_payment"],
|
||||
// Money taken AT THE BAY lands on the wash operator's own till, never the booth's.
|
||||
|
||||
Reference in New Issue
Block a user