feat: use Hermes ephemeral prompt as LifeOS constitution#2
Conversation
There was a problem hiding this comment.
💡 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".
| 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. |
There was a problem hiding this comment.
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 👍 / 👎.
| - **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. |
There was a problem hiding this comment.
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 👍 / 👎.
Summary
LifeOS/install/LIFEOS/HERMES_CONSTITUTION.mdas the Hermes-native constitutional layer.ephemeral_system_promptrather than Claudesettings.jsonhooks.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 --checkpassed.