`homeboy contract`
Inspect and export Homeboy-owned generic contract metadata.
Synopsis
homeboy contract <COMMAND>Subcommands
list– list registered core-owned data contractsshow <schema-id-or-name>– show one registered contract by schema ID or registry nameconstants <contract-id>– export stable constants for one contract surfaceexport --dir <dir>– write machine-consumable contract JSON filesvalidate <schema-id> --file <path>– validate a JSON file against a registered contractnormalize <kind>– validate and normalize contract values from JSON inputmaterialize <kind>– assemble generic contract envelopes from declarative JSON inputmanifest– print the recursive command safety, docs, output, and Lab metadata manifest
Constants
homeboy contract constants artifact-manifest
homeboy contract constants allconstants returns the standard Homeboy JSON envelope. The payload exposes stable
schema IDs, artifact file names, and accepted reviewer-facing reference schemes
without requiring downstream consumers to link Rust.
Accepted contract IDs include all, artifact-manifest, loop,
secret-env-plan, run-location-index, and reviewer-facing-ref.
Registry
homeboy contract list
homeboy contract show secret-env-planThe registry is the central source for contract names, schema IDs, titles, owners, summaries, and Rust type anchors.
Export
homeboy contract export --dir ./contractsWrites contract registry, public output variants, and schema catalog JSON files for cross-language contract tests and automation.
Manifest
homeboy contract manifestPrints the recursive command safety, docs, output, and Lab metadata manifest in the standard JSON envelope. Agents and automation should use this path when they need command safety metadata.
Validate
homeboy contract validate homeboy/secret-env-plan/v1 --file ./secret-env-plan.jsonUse validate to check a JSON file against one of the registered generic
Homeboy contracts and receive a standard JSON envelope with the validation
result.
Normalize
homeboy contract normalize artifact-ref --input '"https://example.com/artifact.json"'
homeboy contract normalize run-lifecycle-status --input '{"status":"timed_out"}'Use normalize when automation needs to validate contract values and receive a
canonical classification in the standard JSON envelope.
Materialize
homeboy contract materialize secret-env-plan --input '{
"secret_env_names": ["DIRECT_SECRET"],
"public_env": { "PUBLIC_FLAG": "1" },
"source_env_map": { "TARGET_SECRET": ["PRIMARY_TARGET_SECRET", "FALLBACK_TARGET_SECRET"] },
"env_name_mapping": { "source_refs": ["MAPPED_SECRET"] },
"inherited_allowed_env_names": ["HOMEBOY_AGENT_RUNTIME_SECRET_ENV"]
}'materialize secret-env-plan returns a homeboy/secret-env-plan/v1 envelope plus
name-only diagnostics. It accepts generic declarations only: public env values,
secret env names, target-to-source env maps, grouping maps, and inheritance
allowlists/policy. Secret values are not accepted or emitted.