Version: 7.1.1 (macOS 27.0 arm64)
Summary
PULSE/pulse-unified.ts dynamically imports ./modules/observability to serve the observability HTTP server on port 31337, but modules/observability(.ts) is not present in the release payload. The import fails, the module is skipped, and :31337 never binds — the base HTTP server falls back to :8686.
Evidence
PULSE.toml: [observability.server] → port = 31337, enabled = true.
install/LIFEOS/PULSE/modules/ ships amber, assets, books, bunker, conduit, content, doctor, hooks, hypotheses, imessage, local-intelligence, memory, menubar, projects, siri, syslog, tab-freshness, telegram, telos, usage, user-index, wiki, work — no observability.ts.
pulse-unified.ts:78: observabilityModule = await import("./modules/observability").
- Boot log:
warn "Observability module not available"
error: "ResolveMessage: Cannot find module './modules/observability' from '.../PULSE/pulse-unified.ts'"
info "HTTP server listening" port=8686
Impact
- The
:31337 observability dashboard never comes up.
- More importantly, the shipped HTTP guard hooks target
:31337 — install/hooks/hooks.json wires http://localhost:31337/hooks/skill-guard and /hooks/agent-guard on the Skill/Agent matchers. With nothing listening on 31337, those hooks have no server to reach, so a clean hooks install is impossible on any host where this module is absent (a guard hook that can't reach its server risks failing closed and blocking the tool).
Repro
Deploy runtime from the v7.1.1 payload, start Pulse, curl 127.0.0.1:31337/healthz → no response; logs show the missing-module warning and fallback to :8686.
Question / proposed fix
Is modules/observability a private module intentionally stripped from the public release (like the PULSE/Assistant/ subsystem)? If so, the public payload has no way to serve :31337. Either:
- ship a public stub
modules/observability that binds :31337 and serves /healthz + the guard endpoints, or
- repoint the shipped
hooks.json guard URLs at the base server port that actually binds.
As-is, a public-payload install cannot serve :31337 and cannot cleanly wire the HTTP guard hooks.
Version: 7.1.1 (macOS 27.0 arm64)
Summary
PULSE/pulse-unified.tsdynamically imports./modules/observabilityto serve the observability HTTP server on port 31337, butmodules/observability(.ts)is not present in the release payload. The import fails, the module is skipped, and:31337never binds — the base HTTP server falls back to:8686.Evidence
PULSE.toml:[observability.server]→port = 31337,enabled = true.install/LIFEOS/PULSE/modules/ships amber, assets, books, bunker, conduit, content, doctor, hooks, hypotheses, imessage, local-intelligence, memory, menubar, projects, siri, syslog, tab-freshness, telegram, telos, usage, user-index, wiki, work — noobservability.ts.pulse-unified.ts:78:observabilityModule = await import("./modules/observability").Impact
:31337observability dashboard never comes up.:31337—install/hooks/hooks.jsonwireshttp://localhost:31337/hooks/skill-guardand/hooks/agent-guardon theSkill/Agentmatchers. With nothing listening on 31337, those hooks have no server to reach, so a clean hooks install is impossible on any host where this module is absent (a guard hook that can't reach its server risks failing closed and blocking the tool).Repro
Deploy runtime from the v7.1.1 payload, start Pulse,
curl 127.0.0.1:31337/healthz→ no response; logs show the missing-module warning and fallback to:8686.Question / proposed fix
Is
modules/observabilitya private module intentionally stripped from the public release (like thePULSE/Assistant/subsystem)? If so, the public payload has no way to serve:31337. Either:modules/observabilitythat binds:31337and serves/healthz+ the guard endpoints, orhooks.jsonguard URLs at the base server port that actually binds.As-is, a public-payload install cannot serve
:31337and cannot cleanly wire the HTTP guard hooks.