Skip to content

values

values #

Where a typed value meets the store — the layer between the type system and the scratch.

  • [.objects][] — store_object / load_object: a value's object tree (a composite is its own tree, a scalar is wrapped under value).
  • [.content][] — value_hash: a value's identity is the merkle of that tree, hashed in place when it is on disk and unchanged.
  • [.arguments][] — argument_hash and the canonical encoders for plain arguments; UnhashableArgumentError for everything else.
  • [.workspace][] — the ambient workspace a body runs in, allocate for T.new(), exec_log for where a tool's output goes, and the holds that keep a value's files alive.
  • [.tool_run][] — run_tool: subprocess.run for a recipe, the child's output streaming into the workspace's exec.log.

This __init__ is documentation-only; internal modules import from the leaf modules directly; the root imports the public leaves (cg.value_hash).