fix(pulse/observability): sample-entry regex, fd leak, unbounded caches, gendered string - #1734
Open
elhoim wants to merge 4 commits into
Open
fix(pulse/observability): sample-entry regex, fd leak, unbounded caches, gendered string#1734elhoim wants to merge 4 commits into
elhoim wants to merge 4 commits into
Conversation
Both sibling readers added in the same change already guard with try/finally; this one leaked a descriptor on any throw between open and close.
…nd climb caches Each series was capped, but the number of KEYS was not: every slug and session_id ever folded stayed resident for the daemon's lifetime. Note for the porter: this is a behaviour change for climbCache, not only memory. buildIscDeltas computes all-time totals from a slug's points, so an ISA quiet for >24h then resuming re-seeds from prevDone = 0.
…I response buildTeamFromUserFiles emitted "serves his TELOS" in a function whose own comment says names never live in this file.
… SAMPLE_ENTRY_RE The literal ")" missed the scaffold's own variants, so telosPersonalized() returned true on a fresh install, template mode never armed, and Pulse showed the sample mission and goals to a new user as their own. Matches the sibling filter in LIFEOS/TOOLS/GenerateTelosSummary.ts.
elhoim
force-pushed
the
fix/observability-server
branch
from
August 3, 2026 07:01
a46fe66 to
5d71e64
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
4 commits, one per fix, so each can be cherry-picked independently. Each was verified to apply cleanly onto
47df8eeby itself.f2f01fd6ef670c6eb8d905d71e64Four defects in
LIFEOS/PULSE/Observability/observability.ts, all in code added or changed by 7.28.3.SAMPLE_ENTRY_RE(~4216) —/^\**\s*\(sample\)/irequires a literal), so it misses the shipped(sample — …)entries.MISSION.md:M2alone maderealEntries(mission) > 0, sotelosPersonalized()returned true on a fresh install, template mode never armed, and Pulse showed the sample mission and goals to a new user as their own. Now\(sample\b, matching the sibling filter inLIFEOS/TOOLS/GenerateTelosSummary.ts:164.readJsonlByteTail(~147) — notry/finallyaround the fd, so a throw between open and close leaks it. Both sibling readers added in the same change already have the guard; this matches them.activityCache/climbCache(~405) — each series is capped, but the number of KEYS was unbounded: every slug and session_id ever folded stayed resident for the daemon's life. Adds key eviction on the fold path only.buildTeamFromUserFiles(~3941) — a hardcoded gendered pronoun in a shipped API response, in a function whose own comment says names never live in this file. Now phrased without one.Verified: a scratch harness against the real shipped
USER/TELOSscaffold — 28 sample bullets, 0 missed by the new regex, real entries still pass, eviction keeps live keys and drops stale.One thing for the porter: the cache eviction is a real behaviour change for
climbCache, not only memory.buildIscDeltascomputes all-time totals from a slug's points, so an ISA quiet for >24h then resuming re-seeds fromprevDone = 0and shows a one-off spike. 24h was chosen as 6x the widest consumer window (RUN_ACTIVITY.nativeStaleMs, 4h). Bounding key count instead of age is the alternative if all-time totals are meant to be durable.Testing. Commands and output are in the per-file notes above. I did not do a fresh-system install verification (contributing step 3) — these are targeted fixes verified per-file, not an install run.