Skip to content

fix: de-hardcode the author's DA name across TOOLS, PULSE, and hooks#1457

Open
anikin-xyz wants to merge 1 commit into
danielmiessler:mainfrom
anikin-xyz:fix/da-name-hardcoding
Open

fix: de-hardcode the author's DA name across TOOLS, PULSE, and hooks#1457
anikin-xyz wants to merge 1 commit into
danielmiessler:mainfrom
anikin-xyz:fix/da-name-hardcoding

Conversation

@anikin-xyz

Copy link
Copy Markdown

Following the invitation in #1334 to help scrub the author's personal identifiers out of the shipped payload, this de-hardcodes the DA name ("kai") so a fresh install reflects the name the principal chose during setup instead of the author's.

One root cause — the DA name literal baked into ~15 sites — across six clusters:

  1. TOOLS attribution defaultsTelosFreshness.ts (by = "kai" on bumpTelosTimestamp / bumpContextTimestamp).
  2. PULSE.toml [da].primary — personal literal → neutral placeholder + pointer to the canonical config.
  3. DA-subsystem fallbacksDAGrowth.ts, DASchedule.ts (?? "kai", help text).
  4. CLI banner textMemoryStatus.ts (kai status), MemoryInsights.ts (kai insights), BannerRetro.ts (KAI block-letter ASCII).
  5. Work labelsWorkSweep.ts (×4), PULSE/modules/work.ts, hooks/ReminderRouter.hook.ts (Agent:kaiAgent:<da-name>).
  6. Telegram + memory graphtelegram.ts speaker-label regex and voice-note filename, MemoryGraph.ts stopword list (drops the personal names kai, daniel).

Mechanism: TOOLS and hooks read the configured name via getDAName() (hooks/lib/identity.ts); PULSE modules resolve it through the config they already load. The three Agent:<da> label producers share one source so their labels agree. BannerRetro renders the DA name (stats.name, default "LifeOS") instead of hardcoded art. Surgical — no behavior change beyond the name value.

Deferred as a follow-up (template-semantic, riskier than a surgical rename): the structural kai keys in skills/Prompting/Templates/Data/Agents.yaml / VoicePresets.yaml — the displayed names there already use {{DA_NAME}}; only the lookup keys are literal.

The author's DA name (kai) was baked into ~15 sites that should read the
configured DA name so a fresh install reflects the name the principal chose
during setup.

- TOOLS (TelosFreshness, DAGrowth, DASchedule, MemoryStatus, MemoryInsights,
  WorkSweep) + hooks/ReminderRouter: read via getDAName() (hooks/lib/identity).
- PULSE modules (work.ts, telegram.ts): resolve the DA name through the same
  identity/LifeosConfig sources already used in those files; the Agent:<da>
  label producers now share one source so their labels agree.
- BannerRetro: render the DA name (stats.name, defaults to "LifeOS") instead
  of hardcoded "KAI" block-letter art.
- MemoryGraph: drop personal names ("kai", "daniel") from the stopword list.
- PULSE.toml [da].primary: neutral placeholder + pointer to the canonical
  LIFEOS_CONFIG.toml [da].name.
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