Validation and Release
Capture what validation is enforced, how builds are produced, and how common failures should be diagnosed.
Capture what validation is enforced, how builds are produced, and how common failures should be diagnosed.
This page separates what is enforced now from what is intended later.
Current validation checks:
config.yml loadsweek_start is one of the allowed valuesNot fully enforced yet:
lead() and I(...)The repo should not overstate its current level of technical assurance. Today, validation proves that the market scaffold is structurally governed. It does not yet prove that every migrated market implementation runs end to end.
Validation is not optional in this repository. The purpose of validation is to catch the kinds of failures that historically appeared only after packaging or deployment.
Run commands from the repository root.
Validate all migrated markets:
Validate one migrated market:
Build one market/KPI:
Where a market investigation needs a tactical proof outside the main scaffold, the market folder may also carry a local repro bundle.
For China store visits, the current local repro can be run with:
This is not the long-term replacement for the repo-wide validation harness. It is a market-specific runner used to demonstrate that the local transform/refit/decomp path works from explicit artefacts.
Current enforced minimum:
Planned next-stage validation:
If a market implementation only works on one analyst machine because of:
then it is not ready.
See Validation Contract for the distinction between enforced and planned checks.
Builds should be reproducible from the repository state.
The build scaffold exists, but real market build logic still needs to be migrated into each market folder.
Each build should eventually produce:
At a minimum, a future build path should capture:
Current scaffold:
Target state:
This page captures common failure modes that this repo is intended to prevent.
Typical causes:
Typical symptom:
Typical cause:
Typical causes:
lead() or I(...)Typical symptom:
NATypical cause:
Typical symptom:
Typical cause:
transform() produce the variables the model actually expects?