v1.6.0 — system harness, exempt coverage, safer --skip-run
Reconciles the published script with the copy DefProd runs internally. The two had drifted apart in both directions; they are now identical, so features stop landing on only one side.
Added
systemharness for multi-suite mode — filename-keyed coverage, where a story is covered by a<STORY-KEY>.test.tsfile anywhere under the directory. For unit tests filed by code module rather than by product area, where the directory cannot carry the product link.exemptcoverage bucket, derived from a story'stestExemptReason— an exempt story is no longer reported as uncovered.storyStatusreported alongside coverage and result.
Fixed
--skip-runno longer wipes measured pass/fail. It now fetches the product's existing statuses and carriesresult/ totals /lastRunAtforward, so a coverage-only sync updates only coverage and exemptions.- An all-skipped story reported
passing. Zero active specs is not a pass; it now reports no result. --versionhas reported1.1.0since v1.1.0. TheprepublishOnlystep baked the version by matchingVERSION="dev"exactly, but the baked line had been committed, so the substitution silently stopped matching and every release since shipped the wrong string. It now matches any baked value and is idempotent.
Compatibility
No breaking changes. The .defprod/ config layout, the legacy root .defprod.env fallback, and all existing flags behave exactly as before.
Upgrade
npx @defprod/scripts defprod-sync-tests
# or
npm install -g @defprod/scripts