Skip to content

Runtime Bindings resolution, defaults, doctor, and explain #138

@zack-nova

Description

@zack-nova

Parent

#136

What to build

Build the Runtime Bindings resolution and diagnostics substrate on top of schema 2, then expose the P0 hyard vars doctor and hyard vars explain behavior. This slice should let users and CI see whether Package Variables resolve, where selected values came from, and which installed or selected packages declared them.

Acceptance criteria

  • Resolution selects scoped Runtime Bindings before global Runtime Bindings, then declaration defaults, then unresolved required variables.
  • Declaration defaults are treated as declaration-side fallbacks and reported with source: default; they are not written to .harness/vars.yaml by resolution.
  • value_from.env resolves from the process environment, and value_from.file resolves non-sensitive file content for selected variables.
  • hyard vars doctor reports P0 errors for invalid schema, missing required Runtime Bindings, malformed value source references, and unset value_from.env variables.
  • hyard vars doctor reports P0 warnings for undeclared bindings and missing value_from.file paths.
  • hyard vars explain [name] reports resolved/unresolved status, selected value source, required flag, sensitive flag placeholder support, declaring installed package or orbit ids, and selected scope in text and JSON output.
  • P0 doctor and explain do not implement template usage scanning, unknown template reference scanning, shadowed candidate display, or full precedence trees.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    delivery-mode:afkDelivery expected to proceed through objective repository gatesstate:mergedWork has landedtype:featureFeature work item

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions