feat(hermes): build engram as overlay package with Hermes skill adaptations #3

Merged
harald merged 1 commit from hermes/engram-package-260804 into main 2026-08-04 18:48:13 +02:00 AGit
Contributor

Previously the Hermes host pointed external_dirs at the raw pinned flake
source (inputs.engram). That worked, but the upstream engram skills carry
platform assumptions that don't map cleanly onto Hermes:

  • The dialogue grammar requires an AskUserQuestion picker tool; Hermes has
    no such UI. Upstream already permits a plain-text fallback, so we spell it
    out for the tutor.
  • Subagents are spawned via sessions_spawn on OpenClaw; Hermes spawns with
    delegate_task. We document the equivalent "Hermes shape".

Introduce packages/engram: a lock-pinned copy of the source tree with those
Hermes-facing edits applied into $out (confidence handoff in
dialogue-grammar.md, delegate_task shape in subagents.md, per-skill pointers),
and point the hermes host's external_dirs / ENGRAM_ROOT / nudge hook at the
built package instead of the raw input.

  • packages/engram/default.nix — runCommandLocal derivation applying the three
    edits; upstream source untouched (copied, chmod +w, patched).
  • systems/x86_64-linux/hermes/default.nix — use pkgs.metacfg.engram as the
    skills root and hook source.

Version drift stays controlled by flake.lock. Verified: engram builds, all
three patches present in output; hermes host evaluates; external_dirs/hook/
ENGRAM_ROOT resolve to the built store path.

Previously the Hermes host pointed external_dirs at the raw pinned flake source (inputs.engram). That worked, but the upstream engram skills carry platform assumptions that don't map cleanly onto Hermes: - The dialogue grammar requires an `AskUserQuestion` picker tool; Hermes has no such UI. Upstream already permits a plain-text fallback, so we spell it out for the tutor. - Subagents are spawned via `sessions_spawn` on OpenClaw; Hermes spawns with `delegate_task`. We document the equivalent "Hermes shape". Introduce packages/engram: a lock-pinned copy of the source tree with those Hermes-facing edits applied into $out (confidence handoff in dialogue-grammar.md, delegate_task shape in subagents.md, per-skill pointers), and point the hermes host's external_dirs / ENGRAM_ROOT / nudge hook at the built package instead of the raw input. - packages/engram/default.nix — runCommandLocal derivation applying the three edits; upstream source untouched (copied, chmod +w, patched). - systems/x86_64-linux/hermes/default.nix — use pkgs.metacfg.engram as the skills root and hook source. Version drift stays controlled by flake.lock. Verified: engram builds, all three patches present in output; hermes host evaluates; external_dirs/hook/ ENGRAM_ROOT resolve to the built store path.
Previously the Hermes host pointed external_dirs at the raw pinned flake
source (inputs.engram). That worked, but the upstream engram skills carry
platform assumptions that don't map cleanly onto Hermes:

- The dialogue grammar requires an `AskUserQuestion` picker tool; Hermes has
  no such UI. Upstream already permits a plain-text fallback, so we spell it
  out for the tutor.
- Subagents are spawned via `sessions_spawn` on OpenClaw; Hermes spawns with
  `delegate_task`. We document the equivalent "Hermes shape".

Introduce packages/engram: a lock-pinned copy of the source tree with those
Hermes-facing edits applied into $out (confidence handoff in
dialogue-grammar.md, delegate_task shape in subagents.md, per-skill pointers),
and point the hermes host's external_dirs / ENGRAM_ROOT / nudge hook at the
built package instead of the raw input.

- packages/engram/default.nix — runCommandLocal derivation applying the three
  edits; upstream source untouched (copied, chmod +w, patched).
- systems/x86_64-linux/hermes/default.nix — use pkgs.metacfg.engram as the
  skills root and hook source.

Version drift stays controlled by flake.lock. Verified: engram builds, all
three patches present in output; hermes host evaluates; external_dirs/hook/
ENGRAM_ROOT resolve to the built store path.
harald merged commit 5eb7cf2498 into main 2026-08-04 18:48:13 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
harald/nixcfg!3
No description provided.