documentReports

docs/reports.md

Reports

Reports go to stdout and errors to stderr. Choose --format=text for terminal output or --format=json for other tools.

Text

The command line example produces:

[0] analyzed int
42
Evidence: 1 derivation(s).

Each candidate shows its index, status, PHP type, value, and number of supporting derivations.

StatusMeaning
analyzedA concrete value was derived.
partialsSome inputs or operations remain unresolved. The value shows the remaining expression and its dependencies.

No candidates. means the query produced no values. An interruption message means exploration stopped before completion; the command exits with 1. Partial candidates and empty results alone do not cause failure. See exit codes.

JSON

vendor/bin/deliver 'App\answer#return' --path=src --format=json > report.json

The top-level fields are interrupted and candidates. Check interrupted before treating the collection as complete.

Candidate fieldMeaning
typeanalyzed or partials.
type_nameKnown PHP type, or mixed.
resultConcrete JSON value, or an unresolved expression represented by root and nodes.
evidenceSupporting derivations, each listed as nodes with identifiers, kinds, inputs, source locations, and attributes.

For a partial result, root indexes the starting node in nodes; each node's operands refers to other indexes in the same list. In evidence, inputs refers to node identifiers within that derivation.

Invalid UTF-8 strings and non-finite floats cannot be reported as JSON. Use text output to inspect these values.

Unresolved values

Code outside the selected files, unknown external inputs, and unsupported operations can leave partial results. Include relevant source directories with --path and supply known inputs through configuration. Parsing a PHP construct does not guarantee that its value can be derived; include/require, generators, and dynamic property overloading are among the unsupported cases.