Skip to content

/ic does not resolve on a fresh install: 38 references across 22 payload files, no commands/ic.md, and the SessionEnd hook named after the check never runs it #2016

Description

@lgertel

What the payload says

LifeOS/install/LIFEOS/TOOLS/IntegrityCheck.ts:5, at main (ce046f2, release 7.40.4):

The deterministic backbone behind /ic.

The short name is used as the way to run the check throughout the payload — 38 mentions across 22 files (rg "(^|[^A-Za-z0-9_./-])/ic\b" LifeOS/install), among them LIFEOS/DOCUMENTATION/LifeosSystemArchitecture.md, LIFEOS/ALGORITHM/changelog.md, LIFEOS/DOCUMENTATION/Ledger/LedgerSystem.md, LIFEOS/DOCUMENTATION/Agents/AgentSystem.md, skills/CreateSkill/Workflows/ValidateSkill.md, LIFEOS/TOOLS/CarrierProbe.ts, and the tool's own --help text ("the /ic backbone").

What ships

LifeOS/install/commands/ holds seven markdown units — context-search, cs, grill-me, isdown, lu, teach-me, tm — and no ic.md:

$ ls LifeOS/install/commands/
context-search.md  cs.md  grill-me.md  isdown.md  lu.md  teach-me.md  tm.md

So on a fresh install /ic does not resolve. The only working invocation is bun ~/.claude/LIFEOS/TOOLS/IntegrityCheck.ts, which almost none of the 22 files mention. This is the exact failure class the check exists to catch (a documented interface that does not resolve), sitting in the check's own documentation.

A second thing worth knowing while in here

Nothing in the payload runs IntegrityCheck.ts automatically. LifeOS/install/hooks/IntegrityCheck.hook.ts (SessionEnd) calls handleSystemIntegrity from hooks/handlers/SystemIntegrity.ts, which spawns LIFEOS/TOOLS/IntegrityMaintenance.ts — a different tool (reference upkeep and change documentation) that never invokes IntegrityCheck.ts:

$ rg -n "handleSystemIntegrity|IntegrityMaintenance" LifeOS/install/hooks/IntegrityCheck.hook.ts LifeOS/install/hooks/handlers/SystemIntegrity.ts
LifeOS/install/hooks/IntegrityCheck.hook.ts:14:import { handleSystemIntegrity } from './handlers/SystemIntegrity';
LifeOS/install/hooks/IntegrityCheck.hook.ts:52:  await handleSystemIntegrity(parsed, hookInput);
LifeOS/install/hooks/handlers/SystemIntegrity.ts:5: * IntegrityMaintenance.ts to update references and document changes.
LifeOS/install/hooks/handlers/SystemIntegrity.ts:10: * - Spawns background IntegrityMaintenance.ts process

The hook's name says it runs the check; it does not. Between the missing command and the misnamed hook, a fresh install has no way to run the integrity check by name and no automatic trigger for it, so a red verdict can sit unread indefinitely.

Suggested fix

  1. Ship LifeOS/install/commands/ic.md as a thin invoker in the shape of isdown.md (frontmatter name: ic, description:, argument-hint: [--quiet] [--json] [--verbose] [--deep]; body runs bun ~/.claude/LIFEOS/TOOLS/IntegrityCheck.ts $ARGUMENTS and tells the reader to fix or disposition every BLOCK rather than skim the count). The commands frontmatter check in IntegrityCheck.ts already validates the shape.
  2. Either rename IntegrityCheck.hook.ts to what it does (IntegrityMaintenance.hook.ts) or state in the tool header that nothing runs the check automatically — and consider surfacing the last stamp from MEMORY/STATE/integrity/last-run.json at SessionStart so a red verdict is in front of the next session.

The related gap in the same doc family, Upgrade.md prescribing a workflows/UpgradeFanout.js that the release does not ship, is already #1953; this issue is only about /ic.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions