Skip to content

feat: use Hermes ephemeral prompt as LifeOS constitution#2

Merged
AronAxe merged 1 commit into
mainfrom
feat/hermes-ephemeral-lifeos-constitution
Jul 24, 2026
Merged

feat: use Hermes ephemeral prompt as LifeOS constitution#2
AronAxe merged 1 commit into
mainfrom
feat/hermes-ephemeral-lifeos-constitution

Conversation

@AronAxe

@AronAxe AronAxe commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add LifeOS/install/LIFEOS/HERMES_CONSTITUTION.md as the Hermes-native constitutional layer.
  • Specify loading through Hermes ephemeral_system_prompt rather than Claude settings.json hooks.
  • Document Hermes-native boundaries for Hindsight, LCM, cognitive graph, skills, cron, and lifecycle middleware.
  • Update installation guidance to distinguish Claude hooks from Hermes integration.
  • Preserve the Hindsight/Dropbox TELOS mapping in the port schema.

Design

The constitution is runtime-only and should not be saved to trajectories, LCM, or Hindsight memory. Dynamic TELOS, Hindsight, LCM, and cognitive-graph context remains supplied by their own runtime layers.

Verification

  • git diff --check passed.
  • Branch pushed successfully.
  • The constitution explicitly rejects inert Claude hook configuration in Hermes.

@AronAxe
AronAxe merged commit 79061b1 into main Jul 24, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1985e29200

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread LifeOS/INSTALL.md
fish: `alias lifeos "bun <configRoot>/LIFEOS/TOOLS/lifeos.ts -s <configRoot>/LIFEOS/LIFEOS_SYSTEM_PROMPT.md"; funcsave lifeos`. After this, **`lifeos` launches Claude WITH the constitution**; plain `claude` stays vanilla (which is fine — the user opts in by launching `lifeos`).

- **Any other harness** — use that harness's own system-prompt flag against the same file. e.g. pi: `pi --append-system-prompt <configRoot>/LIFEOS/LIFEOS_SYSTEM_PROMPT.md`. If a harness has no system-prompt flag, load `LIFEOS_SYSTEM_PROMPT.md` through its context file (AGENTS.md / rules) as the closest equivalent, and tell your human plainly that the constitution is loading as context, not as a true system-prompt layer.
- **Hermes** — pass `install/LIFEOS/HERMES_CONSTITUTION.md` as Hermes' `ephemeral_system_prompt` during agent initialization. It is runtime-only and must not be saved into trajectories or memory.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Point Hermes at the deployed constitution path

For Hermes installs that persist an initialization file or launcher, this relative install/LIFEOS/HERMES_CONSTITUTION.md path only works when Hermes is started from the LifeOS skill directory. DeployCore copies the runtime into <configRoot>/LIFEOS, and the surrounding Claude launch instructions already use <configRoot> for exactly this reason; using the payload-relative path here can leave later Hermes sessions without the constitution. Please wire the deployed <configRoot>/LIFEOS/HERMES_CONSTITUTION.md path, or explicitly inline the file contents if ephemeral_system_prompt takes text rather than a file path.

Useful? React with 👍 / 👎.

Comment thread LifeOS/INSTALL.md
- **Any other harness** — use that harness's own system-prompt flag against the same file. e.g. pi: `pi --append-system-prompt <configRoot>/LIFEOS/LIFEOS_SYSTEM_PROMPT.md`. If a harness has no system-prompt flag, load `LIFEOS_SYSTEM_PROMPT.md` through its context file (AGENTS.md / rules) as the closest equivalent, and tell your human plainly that the constitution is loading as context, not as a true system-prompt layer.
- **Hermes** — pass `install/LIFEOS/HERMES_CONSTITUTION.md` as Hermes' `ephemeral_system_prompt` during agent initialization. It is runtime-only and must not be saved into trajectories or memory.

- **Any other harness** — use that harness's own system-prompt flag against the adapted Hermes constitution when supported. If a harness has no system-prompt facility, load it through the harness context file as a documented degraded equivalent.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep non-Hermes harnesses on the standard prompt

For Cursor/Cline/Codex/Gemini installs with a system-prompt facility, this now directs them to the Hermes constitution even though that file declares runtime: hermes and assumes Hindsight, LCM, and Hermes cron/plugins as native layers. That misconfigures non-Hermes sessions and also disagrees with Workflows/Setup.md, which still tells other harnesses to load LIFEOS_SYSTEM_PROMPT.md. Please reserve HERMES_CONSTITUTION.md for Hermes and point other harnesses at the standard LifeOS system prompt or their documented context fallback.

Useful? React with 👍 / 👎.

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.

1 participant