Ticket graphs

Every ticket as the root of its provenance graph — goal, patch, approval, runs and (as the ticket-class build lands) mandate, manifestations, guarantees, journey, artifacts and children. Rendered through the <<<TicketGraphList>>> tag.

← all ticket-graphs

REQUESTED#496 cnotesd

[audit] retired notesdbd plist has uchg immutable flag (security red flag) + local telemetry unwired

goal

SECURITY-AUDIT FOLLOW-UP + a telemetry gap, found 2026-07-23 while confirming the notesdb->cnotes rename (tombstone in config/config.json .retired[com.claude.notesdbd.plist]). FINDING 1 (audit red flag): the RETIRED launchd plist ~/Library/LaunchAgents/com.claude.notesdbd.plist carries a `uchg` USER immutable flag (confirmed via `ls -lO`; it is uchg, NOT schg, so no sudo). An immutable flag on a LaunchAgent is a classic persistence pattern, which is what tripped the audit. It is BENIGN here -- a known, tombstoned retirement superseded by com.claude.cnotesd -- and the retired label is NOT loaded (launchctl shows only com.claude.cnotesd, PID 730). No unload needed. REMEDIATION (human-gated; a security-setting change, owner should run it to keep the audit chain clean): `chflags nouchg <plist>` then `rm <plist>`. Do NOT edit/reload -- it is superseded. No sudo. FINDING 2 (dead wrapper): notes_db_mcp is the containerized MCP adapter whose launchd plist runs `docker compose -f jazz-new/docker-compose.yml` from /Users/steve/code (pre-rename stale path, no compose file). It is NOT the store. Deregister/remove it so it stops reading as a real service. FINDING 3 (telemetry gap): cnotesd (the live notes+telemetry store, ~/.claude_tools/notes.db, :8002) has a `telemetry` table and a POST /telemetry endpoint but 0 telemetry rows -- nothing writes to it. This is the LOCAL telemetry home referenced by the peer_system "telemetry stays local" decision. DECIDE: wire peer_system (and other tools) to POST /telemetry, or confirm it is intentionally empty. Reference memory: notesdb-renamed-cnotesd. Filed as a reminder to return to this.

patch

none

approval

unapproved

runs

no runs recorded

mandate (clauses)

not yet recorded — lands with the ticket-class build

manifestations

not yet recorded — lands with the ticket-class build

guarantees

not yet recorded — lands with the ticket-class build

journey (blunders & successes)

not yet recorded — lands with the ticket-class build

artifacts (forge)

not yet recorded — lands with the ticket-class build

source (forge tree)

browse congruency source (forge-parked tree)

children

not yet recorded — lands with the ticket-class build