You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An explicitly named target can be valid for the detected format but unavailable at the chosen level or confidence. If some other requested target can be planned, the report records the unavailable target under `execution.unresolved_targets`. If no requested target has an eligible path, DeckProbe exits with status `1` as an unsupported-target request.
241
241
242
+
## Reading confidence and partial results
243
+
244
+
### What the confidence labels mean
245
+
246
+
`confidence` describes how strong the evidence for one value is, as judged by the path that
247
+
produced it. It is not a measured accuracy rate.
248
+
249
+
| Label | Score | What normally backs it |
250
+
| --- | --- | --- |
251
+
|`exact`|`1.0`| Read directly from the authoritative structure in the container |
252
+
|`high`|`0.95`| A statistic the authoring application saved, such as the slide count in `docProps/app.xml`. Authoritative unless that application left it stale |
253
+
|`medium`|`0.7`| Inferred from a proxy, such as counting `xl/worksheets/sheet*.xml` parts instead of reading the workbook's declared sheets |
254
+
|`low`|`0.4`| Weak or indirect evidence |
255
+
|`none`|`0.0`| Accompanies a result that carries no value |
256
+
257
+
**`confidence_score` is a fixed constant per label, not a calibrated probability.**`0.95` does not
258
+
mean the value is correct 95% of the time on real-world files; no corpus measurement backs these
259
+
numbers. Use them to order or threshold results, never to report an accuracy figure to a user.
260
+
261
+
### Report status versus target status
262
+
263
+
The report's own `status` is `ok` or `partial`. A result's `status` is one of eight values, and the
264
+
two answer different questions.
265
+
266
+
`partial` means at least one requested target could not be resolved at the requested confidence. It
267
+
says nothing about whether the document is damaged or unsafe — the remaining results are still
The slide count here is perfectly good. Treating `partial` as a failure would discard it.
293
+
294
+
Contrast that with a structural target the format cannot answer at all:
295
+
296
+
```bash
297
+
deckprobe -l d -t corrupted report.pdf # exits 1
298
+
```
299
+
300
+
`corrupted` and `missing_assets` are declared for every modern format, but only the iWork drivers
301
+
implement a path for them. Naming one on a PDF or OOXML file is an unsupported-target request, so
302
+
DeckProbe exits `1` rather than returning a report. Use the `@quality` selector to get whatever the
303
+
active driver actually supports.
304
+
305
+
| Result `status`| Carries `value`| Meaning |
306
+
| --- | --- | --- |
307
+
|`resolved`| yes | Obtained at or above the requested confidence |
308
+
|`estimated`| yes | Obtained, but an estimate |
309
+
|`unknown`| no | The path ran; the document does not record this fact. A normal answer, not an error |
310
+
|`unsupported`| no | This format has no path for the target |
311
+
|`invalid`| no | The document records something that fails validation |
312
+
|`budget_exceeded`| no | A limit stopped this target specifically |
313
+
|`failed`| no | The path errored |
314
+
|`planned`| no |`--plan-only` only |
315
+
316
+
Distinguish `"value": null` on a `resolved` result — the field exists and is empty, which is an
317
+
answer — from `status: "unknown"`, where the probe could not answer.
318
+
319
+
Use `--strict` when an unresolved target must fail the command; it exits `5` and still writes the
320
+
full report.
321
+
242
322
## Input interpretation and format options
243
323
244
324
DeckProbe uses the normalized filename extension to select a format path, then verifies its signature and internal type. Renaming a PPTX to DOCX, for example, returns `MALFORMED_INPUT`. `-f`/`--input-format` adds another assertion; it does not force an unrelated parser onto the file:
0 commit comments