phenotypic.sdk_.clear_verification_cache#

phenotypic.sdk_.clear_verification_cache(output_dir: Path | None = None) None[source]#

Drop one output’s tier-1 entries, or every output’s.

Rule 4 of Task 3. Nothing in ``src/`` calls the scoped form. An earlier draft of this docstring said P2 wired it to clear_machine_state; it does not, and the paragraph below – which says the two are separate and why – is the accurate one. The two sentences contradicted each other three lines apart.

Left unwired deliberately. Adding the call is a behaviour change nobody has ruled on, and it is not needed: clear_machine_state deletes the on-disk tier by deleting the directory, and tier 1 is per-process memory that a restarting process does not have.

Tier 1 only, and deliberately. This function touches no file: it is a reader-side memory reset, and that is what lets _run_state re-export it without exporting a writer (INV-LAYER). clear_machine_state is what removes the on-disk tier, by removing every child of .phenotypic/. A caller that clears only this one and then resolves shallowly will still be served from disk – which is correct, since nothing about the run changed, but it is not what “clear the cache” sounds like.

Parameters:

output_dir (Path | None) – The output to forget. None forgets all of them, which is what a test fixture wants and what a process teardown wants; it is never what a run’s own state reset wants.

Return type:

None