Files
hermes-agent/agent/verify/__init__.py
Teknium 47a35d63c0 Port from superagent-ai/grok-cli: verify subsystem (run-recipe detection + environment manifest + hermes verify smoke runner)
Scoped port of grok-cli's verify subsystem:
- agent/verify/recipes.py: static run-recipe detection mirroring grok's
  detection order (Node frameworks w/ lockfile-based package-manager
  choice, Django/FastAPI/Flask/generic Python, Go, Rust, Maven/Gradle,
  Makefile targets, docker-compose)
- agent/verify/environment.py: versioned, user-editable manifest at
  <project>/.hermes/environment.json; tolerant loader; manifest wins
  over fresh detection
- agent/verify/runner.py: bootstrap -> build -> test -> background start
  -> HTTP readiness poll -> process-group teardown, structured result
- hermes verify CLI command (--detect-only, --save, --skip-start,
  --phase, --port, --json)

Sources:
https://github.com/superagent-ai/grok-cli/blob/main/src/verify/recipes.ts
https://github.com/superagent-ai/grok-cli/blob/main/src/verify/environment.ts
2026-08-07 10:11:05 -07:00

39 lines
951 B
Python

"""Project verification subsystem.
Ported from superagent-ai/grok-cli's verify subsystem (scoped):
static run-recipe detection, a persisted environment manifest, and a
smoke-test runner used by the ``hermes verify`` CLI command.
Sources:
- https://github.com/superagent-ai/grok-cli/blob/main/src/verify/recipes.ts
- https://github.com/superagent-ai/grok-cli/blob/main/src/verify/environment.ts
"""
from agent.verify.environment import (
load_manifest,
load_or_detect,
manifest_path,
save_manifest,
)
from agent.verify.recipes import Recipe, detect_package_manager, detect_recipe
from agent.verify.runner import (
PhaseResult,
ReadinessResult,
VerifyResult,
run_verify,
)
__all__ = [
"Recipe",
"detect_recipe",
"detect_package_manager",
"load_manifest",
"save_manifest",
"load_or_detect",
"manifest_path",
"run_verify",
"PhaseResult",
"ReadinessResult",
"VerifyResult",
]