Appraisal — daily decision report
FAILINGWe answer 503 with Retry-After. The idempotency key is what makes a retry safe rather than a double count.
Default. 365 valid rows out of 412 produce a figure nobody can reconcile against the source count.
Default. Same plausibility range the manual entry form already enforces.
The only answer that does not invent a number. The tile goes to not_reported, which is a state, not a value.
Zero-fill. It is not an unchosen option, it is an absent one. A silent zero on a board screen is the exact failure this platform exists to prevent.
- 1st failure or miss→ data_owner
- 2nd consecutive→ data_owner, metric_owner
- 3rd consecutive→ data_owner, metric_owner, division GM
Circuit breaker: 5 consecutive rejected pushes, or 3 consecutive missed windows, suspends the project. A feed that is failing repeatedly is producing noise — the failure state has to be louder than the data. Resuming requires a human and a note.
Policy applied: reject_batch. The same structural fault, a week earlier and unfixed. Two rejections is the point at which the metric owner is notified as well as the data owner — one failure is an accident, two is a change nobody told us about.
One structural fault repeated down a file is what a real rejection looks like — not 47 different problems. Fixing the first line fixes 38 of them.
| YOUR ROW | METRIC | COLUMN | VALUE | CODE | MESSAGE |
|---|---|---|---|---|---|
| 2 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 2 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 2 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 5 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 8 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 11 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 14 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 17 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 20 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 23 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 26 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |
| 29 | AP-01 | decline_sub_reason | INCOME_UNVERIFIED | schema_invalid | unknown column `decline_sub_reason` — dataset v1 declares 5 columns, the file has 6 |