Report ​

Contract 2.0.0 · package sha256 a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e · generated from configurator-runtime.d.ts by services/onsite-scripter/scripts/build-contract-docs.mjs; edit the source, not this file.

Type · import type { Report } from '@holostep-configurators/runtime-client/contract'; · stable · since 2.0.0 · section 2. Operations, reports, causes, problems

The one result of every write, discriminated by outcome. Frozen. Narrow on outcome before reading reason, supersededBy or patch:

Inherited from ReportFields: op, origin, seq, revision, changed, matched, pending, completed, problems.

Declaration ​

ts
export type Report = ReportFields & ({
  readonly outcome: 'committed' | 'staged' | 'deferred' | 'other';
  readonly reason?: undefined;
  readonly supersededBy?: undefined;
  readonly patch?: undefined;
} | {
  readonly outcome: 'refused' | 'rolled-back';
  readonly reason: Reason;
  readonly supersededBy?: undefined;
  readonly patch?: undefined;
} | {
  readonly outcome: 'superseded';
  readonly supersededBy: OpId;
  readonly reason?: undefined;
  readonly patch?: undefined;
} | {
  readonly outcome: 'dry-run';
  readonly patch: readonly JsonPatchOp[];
  readonly reason?: undefined;
  readonly supersededBy?: undefined;
});

Generic-API test (spec 3.1) ​

Rule Result
1. Neutral name pass: Report names no product
2. A precedent not recorded: no ledger row (coverage.json) names this member or its owner
3. Two apps, or labs pass: 28 apps (fleet cross-check: app-04c2774145, app-0c773a4ee3, app-37356bf09f, app-378d190f1b, app-4762caacdc, app-4f16d2f6da, app-4fd23bc869, app-510d750508 and 20 more)
4. The cheaper fix first not recorded per member (Appendix B decides it per need)