Skip to content

GenerateTelosSummary cuts nearly every item mid-sentence, dropping each goal's status #2235

Description

@jacobo-ortiz

LIFEOS/TOOLS/GenerateTelosSummary.ts builds PRINCIPAL_TELOS.md, which CLAUDE.md loads at every session start. It cuts almost every item mid-sentence, and the cut removes exactly the part that carries state.

What it does today (v7.40.4):

  • truncate() cuts each item at 50-110 characters and appends ... (Missions 75, Goals 70, Problems 60, Strategies 60, Projects 60/90, Narratives 75/60, Challenges 90, Wisdom/Wrong 110, Models 65).
  • Goals are first reduced to their first sentence (split on — or . ), so a trailing status note such as *(Jul-2026: ...)* never survives.
  • Problems in list form are split on the first —, which can leave an unclosed *( in the output.
  • ## Problems / ## Strategies headers are cut at 57 characters.
  • Models: only the first 3 render, first sentence only.
  • The header line Sources: ... TRAUMAS ... is hardcoded, so it names sections that do not exist in the install.

Measured on one real install: 53 of 58 bullets ended in .... Some cuts invert the meaning (a project note reading "no longer IN..." with the rest cut off).

Why it matters: the file exists so the assistant knows the principal's goals and where each one stands. A goal without its status is the goal minus the useful half, and a sentence cut mid-word can be read as its opposite. The original ~60-line budget predates today's context limits: Claude Code warns at 150K characters of instruction files, and the untruncated summary here is ~14K.

Suggested fix: emit items whole (drop truncate, the first-sentence split, the header cuts and the Models slice(0, 3)), and build the Sources: line from the sections that actually produced content. If a size budget is still wanted, enforce it per section by dropping whole items with a visible "(+N more in TELOS.md)" line rather than cutting inside one.

Activity

  1. danielmiessler commented on Oct 3, 2026

    @danielmiessler
    Owner

    Thanks @jacobo-ortiz. Confirmed: GenerateTelosSummary.ts still cuts items mid-sentence, and the status note is exactly what gets lost. Emitting items whole changes how much context loads for every install, so we're measuring that before changing it. It's tracked.

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