Skip to content

[codex] Add have-config agent resolver and Hermes profile#9

Merged
willgriffin merged 3 commits into
mainfrom
codex/harmonized-agent-bootstrap
May 24, 2026
Merged

[codex] Add have-config agent resolver and Hermes profile#9
willgriffin merged 3 commits into
mainfrom
codex/harmonized-agent-bootstrap

Conversation

@willgriffin
Copy link
Copy Markdown
Contributor

@willgriffin willgriffin commented May 24, 2026

Summary

  • Keep have-config as the HappyVertical org bootstrap entrypoint that can clone/update dotfiles and run dotfiles/install.sh for base tooling
  • Resolve agent material through explicit layers: dotfiles baseline -> have-config org standards -> active profile -> Context Forge snapshot -> local overrides
  • Move generic ship and review-cycle ownership out of have-config; have-config now consumes the dotfiles agent manifest from [codex] Add generic agent workflow baseline willgriffin/dotfiles#4
  • Keep HappyVertical org standards, service registry, infrastructure docs, agent playbook, and AGENTS/CLAUDE snippets in have-config
  • Add Hermes profile defaults under profiles/hermes, including check-setup commands/skill only when Hermes is active
  • Adopt existing unmanaged global AGENTS.md / CLAUDE.md files into local override docs before linking generated docs
  • Add dry-run support and resolver regression coverage

Impact

Consumers can run one entrypoint, have-config/install.sh. Personal dotfiles stay generic, have-config owns HappyVertical policy, Context Forge remains an install-time snapshot source, and machine-local overrides are preserved under ~/.config/hv/overrides or ~/.hermes/overrides. Non-Hermes installs do not receive check-setup; Hermes installs do.

Hermes detection

  • HV_AGENT_PROFILE=hermes or AGENT_PROFILE=hermes
  • HERMES, HERMES_AGENT, HERMES_AGENT_ID, or HERMES_HOME
  • ~/.hermes/profile.json or ~/.hermes/.profile-hermes

Validation

  • bash -n install.sh
  • bash -n scripts/test-hv-agent-resolver.sh
  • jq empty hv/manifest.json services/services.json profiles/hermes/manifest.json
  • PYTHONPYCACHEPREFIX=$(mktemp -d) python3 -m py_compile scripts/hv-agent-resolver.py
  • scripts/test-hv-agent-resolver.sh
  • git diff --check
  • DOTFILES_DIR=/Users/will/.codex/worktrees/6e9c/dotfiles HV_CONFIG_DIR=$(mktemp -d)/hv PR_REVIEW_DIR=$(mktemp -d)/pr-review ./install.sh --dry-run --skip-dotfiles
  • HV_AGENT_PROFILE=hermes HERMES_HOME=$(mktemp -d)/hermes DOTFILES_DIR=/Users/will/.codex/worktrees/6e9c/dotfiles HV_CONFIG_DIR=$(mktemp -d)/hermes PR_REVIEW_DIR=$(mktemp -d)/pr-review ./install.sh --dry-run --skip-dotfiles
  • dotfiles: bash -n install.sh, jq empty agent/manifest.json, git diff --check, ./install.sh --dry-run, and rg confirmed no HappyVertical/HV strings in the new dotfiles agent material

Paired work

@willgriffin willgriffin changed the title [codex] Add HappyVertical agent standards manifest [codex] Add have-config agent resolver and Hermes profile May 24, 2026
@willgriffin willgriffin force-pushed the codex/harmonized-agent-bootstrap branch from a2a1044 to 274d125 Compare May 24, 2026 20:02
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR shifts have-config from managing agent “marketplace/plugin” installs to generating local agent commands/skills/docs via a layered resolver (dotfiles → org standards → optional profile (Hermes) → Context Forge snapshot → local overrides), and adds HappyVertical infrastructure/service documentation plus a Hermes check-setup profile.

Changes:

  • Add a Python-based agent resolver (scripts/hv-agent-resolver.py) + regression test script to materialize commands/skills/docs and produce an install report/lock.
  • Introduce Hermes profile defaults (profiles/hermes/*) including check-setup command/skill and Hermes detection behavior.
  • Remove legacy Claude/Codex plugin marketplace artifacts and update install.sh + README to use the new bootstrap/resolution flow.

Reviewed changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
TODO.md Updates checklist to reflect new resolver/docs/service-registry work.
README.md Re-documents scope and the new install + resolution model.
install.sh Replaces plugin install logic with dotfiles bootstrap + resolver execution (+ dry-run/skip-dotfiles).
scripts/hv-agent-resolver.py New resolver that composes layers, generates files, links into agent homes, writes report/lock.
scripts/test-hv-agent-resolver.sh New regression script exercising layering, Hermes profile, adoption, and env validation.
hv/manifest.json Adds org manifest for docs snippets + env requirements + embedded services.
profiles/hermes/manifest.json Adds Hermes profile manifest for check-setup and Hermes env requirements.
profiles/hermes/commands/claude/check-setup.md Adds Hermes-only Claude command content.
profiles/hermes/commands/codex/check-setup.md Adds Hermes-only Codex command content.
profiles/hermes/skills/check-setup/SKILL.md Adds Hermes-only Codex skill content.
agent-doc-snippets/happyvertical-standards.md Adds org-wide agent standards snippet (layering/runtime/secrets/services).
docs/infrastructure.md Adds human-readable infra/service map and snapshot policy.
docs/agent-playbook.md Adds agent-facing guidance on which service to use for what + setup verification expectations.
services/services.json Adds machine-readable service registry (currently not referenced by resolver).
codex/plugins/have/skills/ship/SKILL.md Removes legacy Codex skill adapter (Context Forge runtime dependency).
codex/plugins/have/skills/review-cycle/SKILL.md Removes legacy Codex skill adapter (Context Forge runtime dependency).
codex/plugins/have/commands/ship.md Removes legacy Codex command adapter.
codex/plugins/have/commands/review-cycle.md Removes legacy Codex command adapter.
codex/plugins/have/.codex-plugin/plugin.json Removes legacy Codex plugin metadata.
codex/.agents/plugins/marketplace.json Removes legacy Codex marketplace definition.
claude/have/commands/ship.md Removes legacy Claude command adapter.
claude/have/commands/review-cycle.md Removes legacy Claude command adapter.
claude/have/.claude-plugin/plugin.json Removes legacy Claude plugin metadata.
claude/.claude-plugin/marketplace.json Removes legacy Claude marketplace definition.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread install.sh Outdated
Comment thread README.md
Comment thread TODO.md
Comment thread scripts/hv-agent-resolver.py Outdated
Comment thread scripts/hv-agent-resolver.py
Comment thread scripts/hv-agent-resolver.py Outdated
Comment thread scripts/hv-agent-resolver.py Outdated
Comment thread scripts/hv-agent-resolver.py Outdated
Comment thread install.sh
@willgriffin willgriffin merged commit 37d1365 into main May 24, 2026
1 check passed
@willgriffin willgriffin deleted the codex/harmonized-agent-bootstrap branch May 24, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants