kind: context name: shared-variables version: 1 description: "Workflow variables filesystem contract — /variables/ layout, key naming, helpers and CLI for CP-held step inputs/outputs (spec/workflow-variables.md WV-19; injected per-task via HD-14 extra_layers)" requires: [] provides: [shared-variables] # WV-20: both env vars are set by THIS harness layer (not the entrypoint, not # the container backend). WORKFLOW_VARIABLES_ROOT is static; WORKFLOW_VARIABLES_SELF # is templated by the composer at harness-composition time on the dispatcher, # substituting the node's resolved step_path (the SAME value WV-15 derives at mint # time). A task with no shared-variables/v1 layer (unstamped) has neither env var # set, and /variables does not exist for it at all. env: WORKFLOW_VARIABLES_ROOT: /variables WORKFLOW_VARIABLES_SELF: "{{ step_path }}" context_files: - source: ./CLAUDE.md target: /opt/harness/context/shared-variables/CLAUDE.md