phenotypic.sdk_.assert_identity_current#

phenotypic.sdk_.assert_identity_current(output_dir: Path, identity: RunIdentity) None[source]#

Raise unless identity still describes output_dir’s state.

D6: a configuration change hard-errors, and it names the specific token that moved. A generic “identity changed” would make the content-derived generation a worse diagnostic than the uuid4 it replaces, which would be a strange thing to ship in a change whose argument is that content-derived identity is better.

Only the five tokens RunIdentity.digest() folds in are compared – see IDENTITY_DIGEST_FIELDS.

Parameters:
  • output_dir (Path) – Run output root.

  • identity (RunIdentity) – The identity the caller believes is current.

Raises:

RuntimeError – If the output has no readable processing state, or if any fenced token differs. The message names the first differing token and both values.

Return type:

None