Version
LifeOS 7.40.4, System Prompt v3.7.3.
What is broken
LIFEOS/LIFEOS_SYSTEM_PROMPT.md names OPERATIONAL_RULES.md § Model selection as the one home of the rung rubric and § Trusted channels as the home of the trusted-sender list, and the shipped CLAUDE.md carries a commented @-import for the file. Setup step 5 (ScaffoldUser) copies install/USER/ with copyMissing, and that tree ships no CONFIG/OPERATIONAL_RULES.md (install/USER/CONFIG/README.md lists only LIFEOS_CONFIG.toml). Step 8 (ActivateImports) only uncomments an import whose target exists, so the import stays off and nothing complains. A stock install therefore runs with a constitution that cites, and a routing table that half-wires, a file nobody created. On this install the file exists only because the DA wrote it by hand on day one, which is what activated the import.
Where (file:line)
Reader: LIFEOS/LIFEOS_SYSTEM_PROMPT.md (the two citations, in § What This System Is and § Security Boundaries). Writer that should create it: skills/LifeOS/Tools/ScaffoldUser.ts (copyMissing over install/USER/). Gate that hides the gap: skills/LifeOS/Tools/ActivateImports.ts:53 (existsSync(join(configRoot, rel)) ? wouldActivate : wouldSkip). Related: #1728, #2254.
Repro on a clean tree
Verified against the shipped 7.40.4 payload, not a local copy.
- Fresh install of 7.40.4 through
/LifeOS setup.
ls LIFEOS/USER/CONFIG/ shows LIFEOS_CONFIG.toml and the README, no OPERATIONAL_RULES.md.
grep -n OPERATIONAL_RULES CLAUDE.md shows the import line still commented.
grep -n OPERATIONAL_RULES LIFEOS/LIFEOS_SYSTEM_PROMPT.md shows the two section citations.
Negative control
The other four identity imports (PRINCIPAL_TELOS.md, PRINCIPAL_IDENTITY.md, DA_IDENTITY.md, PROJECTS.md) have shipped templates under install/USER/ and activate on the same run.
Suggested fix
Ship install/USER/CONFIG/OPERATIONAL_RULES.md as a template carrying the two sections the system prompt cites (## Model selection with the shipped three-rung default; ## Trusted channels with blank placeholders), so ActivateImports activates it like the other four. Untested.
Before submitting
Version
LifeOS 7.40.4, System Prompt v3.7.3.
What is broken
LIFEOS/LIFEOS_SYSTEM_PROMPT.mdnamesOPERATIONAL_RULES.md § Model selectionas the one home of the rung rubric and§ Trusted channelsas the home of the trusted-sender list, and the shippedCLAUDE.mdcarries a commented@-import for the file. Setup step 5 (ScaffoldUser) copiesinstall/USER/with copyMissing, and that tree ships noCONFIG/OPERATIONAL_RULES.md(install/USER/CONFIG/README.mdlists onlyLIFEOS_CONFIG.toml). Step 8 (ActivateImports) only uncomments an import whose target exists, so the import stays off and nothing complains. A stock install therefore runs with a constitution that cites, and a routing table that half-wires, a file nobody created. On this install the file exists only because the DA wrote it by hand on day one, which is what activated the import.Where (file:line)
Reader:
LIFEOS/LIFEOS_SYSTEM_PROMPT.md(the two citations, in § What This System Is and § Security Boundaries). Writer that should create it:skills/LifeOS/Tools/ScaffoldUser.ts(copyMissing overinstall/USER/). Gate that hides the gap:skills/LifeOS/Tools/ActivateImports.ts:53(existsSync(join(configRoot, rel)) ? wouldActivate : wouldSkip). Related: #1728, #2254.Repro on a clean tree
Verified against the shipped 7.40.4 payload, not a local copy.
/LifeOS setup.ls LIFEOS/USER/CONFIG/showsLIFEOS_CONFIG.tomland the README, noOPERATIONAL_RULES.md.grep -n OPERATIONAL_RULES CLAUDE.mdshows the import line still commented.grep -n OPERATIONAL_RULES LIFEOS/LIFEOS_SYSTEM_PROMPT.mdshows the two section citations.Negative control
The other four identity imports (
PRINCIPAL_TELOS.md,PRINCIPAL_IDENTITY.md,DA_IDENTITY.md,PROJECTS.md) have shipped templates underinstall/USER/and activate on the same run.Suggested fix
Ship
install/USER/CONFIG/OPERATIONAL_RULES.mdas a template carrying the two sections the system prompt cites (## Model selectionwith the shipped three-rung default;## Trusted channelswith blank placeholders), soActivateImportsactivates it like the other four. Untested.Before submitting