classProvenance
final class Provenance
Restricted visibility: declared "@visibility parent" and "@visibility Deriver\Deriver\Publication". Code outside that scope must not name this declaration.
Keeps value identity separate from the immutable graph supporting that value.
Properties§
Methods§
public function __construct()Creates an empty analysis-local proof ledger.
Calls 1
- new
WeakMapline 33
Finds evidence without adding analysis state to a value.
Parameters
$value | Term |
Returns
?NodeTest cases 6
ProvenanceTest::testEqualValuesKeepTheirDistinctProofscallsProvenanceTest::testEvaluatorRetainsSelectionInputsAndOutputcallsProvenanceTest::testEvidencePreservesSharedBranchescallsProvenanceTest::testGetKeepsAnalysesIsolatedAndDoesNotMutateValuescallsProvenanceTest::testOperationRetainsTheResultAndItsInputscallsProvenanceTest::testWrapPreservesAlternativeEvidencecalls
Called from 6
- method-call Deriver\Deriver\Evaluator\Evidence\Forest::root() packages/deriver/src/Deriver/Evaluator/Evidence/Forest.php:42
- method-call Deriver\Deriver\Evaluator\Evidence\Forest::root() packages/deriver/src/Deriver/Evaluator/Evidence/Forest.php:43
- method-call Deriver\Deriver\Evaluator\Evidence\Provenance::wrap() packages/deriver/src/Deriver/Evaluator/Evidence/Provenance.php:51
- method-call Deriver\Deriver\Evaluator\Evidence\Provenance::inputs() packages/deriver/src/Deriver/Evaluator/Evidence/Provenance.php:74
- method-call Deriver\Deriver\Evaluator\Evidence\Provenance::operation() packages/deriver/src/Deriver/Evaluator/Evidence/Provenance.php:86
- method-call Deriver\Deriver\Evaluator\Evidence\Provenance::operation() packages/deriver/src/Deriver/Evaluator/Evidence/Provenance.php:87
public function wrap(
Term $value,
EvidenceKind $kind,
?SourceRef $source = null,
array<string, scalar|null> $attributes = [],
): TermParameters
$value | Term | |
$kind | EvidenceKind | |
$source | ?SourceRef | |
$attributes | array<string, scalar|null> |
Returns
Test cases 4
Called from 1
Calls 6
- method-call Choices::map() line 50
- new Choices line 50
- method-call Provenance::get() line 51
- method-call Provenance::inputs() line 51
- method-call Provenance::attach() line 52
- new Node line 52
Attaches derivation evidence without changing semantic value identity.
Returns
Test cases 3
Called from 3
- method-call Deriver\Deriver\Evaluator\Evidence\Provenance::wrap() packages/deriver/src/Deriver/Evaluator/Evidence/Provenance.php:52
- method-call Deriver\Deriver\Evaluator\Evidence\Provenance::operation() packages/deriver/src/Deriver/Evaluator/Evidence/Provenance.php:89
- method-call Deriver\Deriver\Evaluator\Evidence\Provenance::evaluator() packages/deriver/src/Deriver/Evaluator/Evidence/Provenance.php:100
Parameters
$values | array<int|string, Term> |
Returns
array<string, Node>Test cases 1
Called from 2
Calls 3
- method-call Provenance::get() line 74
- method-call Forest::root() line 74
- new Forest line 74
Returns
Test cases 2
Called from 2
Calls 7
- method-call Provenance::inputs() line 84
- method-call Choices::map() line 85
- new Choices line 85
- method-call Provenance::get() line 86
- method-call Provenance::attach() line 89
- new Node line 89
- class-const EvidenceKind::Operation() line 89
Combines selected evaluator metadata and demanded selection inputs with an output proof.
Returns
Test cases 2
Calls 7
- method-call Choices::map() line 100
- new Choices line 100
- method-call Provenance::attach() line 100
- new Node line 100
- class-const EvidenceKind::EvaluatorApplication() line 100
- method-call Forest::root() line 100
- new Forest line 100
Private surface 1§
Implementation details, listed for orientation only.
private WeakMap<Term, Node> $nodesTest cases 16§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 9
ProvenanceTest::providerProofOperationscallsProvenanceTest::testAttachDoesNotChangeValueIdentitycallsProvenanceTest::testEqualValuesKeepTheirDistinctProofscallsProvenanceTest::testEvaluatorRetainsSelectionInputsAndOutputcallsProvenanceTest::testEvidencePreservesSharedBranchescallsProvenanceTest::testGetKeepsAnalysesIsolatedAndDoesNotMutateValuescallsProvenanceTest::testInputsRetainsOperandRolescallsProvenanceTest::testOperationRetainsTheResultAndItsInputscallsProvenanceTest::testWrapPreservesAlternativeEvidencecalls
Other tests reaching this symbol 7
DemandTest::testCollectDoesNotOpenAlternativesAfterCoveragecallsDemandTest::testCollectRetainsObservedFailuresAfterCoveragecallsForestTest::testCachingDoesNotReplaceAttachedProofsOrRetainValuescallsForestTest::testIndependentTraversalsReuseSharedSubgraphsWithinOneAnalysiscallsForestTest::testRootRetainsTheConditionsOfUnresolvedAlternativescallsForestTest::testRootSharesRepeatedOperandscallsObservationRootTest::testOfIdentifiesTheTargetAboveTheValueForestcalls
Relations§
Instantiated in 3
- new Deriver\Deriver\Evaluator\Enumeration\Choices::__construct() packages/deriver/src/Deriver/Evaluator/Enumeration/Choices.php:22
- new Deriver\Deriver\Evaluator\Predicate\Projection::__construct() packages/deriver/src/Deriver/Evaluator/Predicate/Projection.php:24
- new Deriver\Deriver\Evaluator\Scope\Context::__construct() packages/deriver/src/Deriver/Evaluator/Scope/Context.php:139
Method calls 5
- method-call Deriver\Deriver\Evaluator\Enumeration\Choices::apply() packages/deriver/src/Deriver/Evaluator/Enumeration/Choices.php:96
- method-call Deriver\Deriver\Evaluator\Evidence\Forest::root() packages/deriver/src/Deriver/Evaluator/Evidence/Forest.php:42
- method-call Deriver\Deriver\Evaluator\Evidence\Forest::root() packages/deriver/src/Deriver/Evaluator/Evidence/Forest.php:43
- method-call Deriver\Deriver\Evaluator\Predicate\Projection::collect() packages/deriver/src/Deriver/Evaluator/Predicate/Projection.php:56
- method-call Deriver\Deriver\Evaluator\Scope\Context::reference() packages/deriver/src/Deriver/Evaluator/Scope/Context.php:168
Type declarations 6
- type Deriver\Deriver\Evaluator\Enumeration\Choices packages/deriver/src/Deriver/Evaluator/Enumeration/Choices.php:22
- type Deriver\Deriver\Evaluator\Enumeration\Finite\Demand packages/deriver/src/Deriver/Evaluator/Enumeration/Finite/Demand.php:70
- type Deriver\Deriver\Evaluator\Evidence\Forest packages/deriver/src/Deriver/Evaluator/Evidence/Forest.php:20
- type Deriver\Deriver\Evaluator\Predicate\Projection packages/deriver/src/Deriver/Evaluator/Predicate/Projection.php:24
- type Deriver\Deriver\Evaluator\Scope\Context packages/deriver/src/Deriver/Evaluator/Scope/Context.php:37
- type Deriver\Deriver\Publication\ObservationRoot packages/deriver/src/Deriver/Publication/ObservationRoot.php:22