Where: LIFEOS/TOOLS/GenerateTelosSummary.ts
The unified TELOS.md template includes a ## Projects section ("what you're working on to pursue the strategies"). GenerateTelosSummary.ts — which reads TELOS.md and writes the compressed PRINCIPAL_TELOS.md that Pulse actually displays — has no parseProjects() function and no Projects section in its generate() output. Every other H2 section in the template (Missions, Goals, Problems, Strategies, Narratives, Challenges, Wrong, Traumas, Models) has a corresponding parser; Projects and Wisdom do not.
Impact: editing the Projects section of TELOS.md has no effect on what Pulse shows — the section is silently dropped from the generated summary, with no error or warning (the script's own fail-loud guards only check Missions/Goals/Problems/Strategies/Challenges).
Suggested fix: add a parseProjects() following the same pattern as parseStrategies() (H2/H3 P\d+: headers or ID-less prose fallback via paragraphItems), and append a ## Projects section in generate(). Consider doing the same for ## Wisdom, which has the identical gap.
Where:
LIFEOS/TOOLS/GenerateTelosSummary.tsThe unified
TELOS.mdtemplate includes a## Projectssection ("what you're working on to pursue the strategies").GenerateTelosSummary.ts— which readsTELOS.mdand writes the compressedPRINCIPAL_TELOS.mdthat Pulse actually displays — has noparseProjects()function and no Projects section in itsgenerate()output. Every other H2 section in the template (Missions, Goals, Problems, Strategies, Narratives, Challenges, Wrong, Traumas, Models) has a corresponding parser; Projects and Wisdom do not.Impact: editing the Projects section of
TELOS.mdhas no effect on what Pulse shows — the section is silently dropped from the generated summary, with no error or warning (the script's own fail-loud guards only check Missions/Goals/Problems/Strategies/Challenges).Suggested fix: add a
parseProjects()following the same pattern asparseStrategies()(H2/H3P\d+:headers or ID-less prose fallback viaparagraphItems), and append a## Projectssection ingenerate(). Consider doing the same for## Wisdom, which has the identical gap.