Commit Graph

1973 Commits

Author SHA1 Message Date
Joel Hooks cc36806768 agent search discovery: rich about/topics, sample searches for actual content 2026-02-26 18:31:08 -08:00
Joel Hooks 054c62515d agent search API: HATEOAS envelope, markdown snippets, Upstash rate limiting
- /api/agent/search?q={query} — agent-first search endpoint
- Public: blog posts, discoveries, ADRs
- Authenticated (Bearer): adds vault, memory, system log, transcripts
- HATEOAS discovery at /api/agent/search (no query)
- Upstash sliding window rate limit (60/min default)
- Updated layout HTML comment to reference agent APIs
2026-02-26 18:30:27 -08:00
Joel Hooks 45e0084f8b voice agent tutorial + agent HTML comment in layout
- Tutorial: generalized LiveKit voice agent pattern guide (Docker Compose + k8s)
  Written for agents building on behalf of humans
- Layout: HTML comment instructing agents to use raw MDX/RSS/search API
2026-02-26 18:26:29 -08:00
Joel Hooks 8731d90199 Open docs API routes with generous Upstash limits 2026-02-26 16:42:30 -08:00
Joel Hooks e7cd662058 sync: vault content (1 files)
adrs (1):
  updated: 0079-telnyx-voice-sms-notification.md
2026-02-26 16:35:07 -08:00
Joel Hooks 539bdc6016 Support Vercel KV env aliases for docs API rate limit 2026-02-26 16:34:25 -08:00
Joel Hooks adc33f3204 Add /api/docs proxy with Upstash rate limits 2026-02-26 16:29:54 -08:00
Joel Hooks 2bfd10f806 sync: vault content (1 files)
adrs (1):
  updated: 0153-pdf-brain-rest-api.md
2026-02-26 16:28:58 -08:00
Joel Hooks 6a8d1648e7 dangling changes: ADR-0153, imsg-rpc updates, slack/imessage channels, voice-agent infra, telnyx lib 2026-02-26 16:05:37 -08:00
Joel Hooks 66047d2001 sync: vault content (1 files)
adrs (1):
  updated: 0153-pdf-brain-rest-api.md
2026-02-26 15:38:33 -08:00
Joel Hooks aebdd927d3 Add docs-api service and public docs routing 2026-02-26 15:38:15 -08:00
Joel Hooks 950d66d552 sync: vault content (1 files)
adrs (1):
  updated: 0153-pdf-brain-rest-api.md
2026-02-26 15:34:09 -08:00
Joel Hooks 1a87ede36e sync: vault content (1 files)
adrs (1):
  updated: 0153-pdf-brain-rest-api.md
2026-02-26 15:23:25 -08:00
Joel Hooks e6f82c1e17 sync: vault content (11 files)
adrs (7):
  updated: 0121-imsg-rpc-socket-daemon.md
  new: 0150-discovery-enrichment-pipeline.md
  new: 0153-pdf-brain-rest-api.md
  new: 0149-self-hosted-convex.md
  new: 0152-dream-process-agent-self-reflection.md
  new: 0151-vip-enrichment-monitoring.md
  new: 0148-k8s-resilience-policy.md
discoveries (4):
  new: Dogfooding Agent Tools on a Live Rails Migration.md
  deleted: Systems-That-Run-Forever-Self-Heal-and-Scale.md
  deleted: Testing-the-Hard-Stuff-and-Staying-Sane.md
  deleted: Propositions-as-Types-Wadler-Strange-Loop.md
2026-02-26 15:20:37 -08:00
Joel Hooks e8c5f4b86c add mux-video skill + Plan 9 research article
- skills/mux-video: direct uploads, API, webhook events, playback embedding, passthrough pattern
- Plan 9 article: Pike's two ideas, containers-before-containers, Go/Docker/K8s lineage
- Sean Grove credited on article research
2026-02-26 15:09:23 -08:00
Joel Hooks 5e25f50f46 feat: add Mux webhook provider to webhook gateway (ADR-0048) 2026-02-26 12:22:34 -08:00
Joel Hooks c18f4aaa54 embed YouTube videos in /cool entries + article, update web skill with embed rule 2026-02-26 12:07:53 -08:00
Joel Hooks 912ad99238 article: add Sean's video recs to article + 3 /cool entries (Hughes, Wadler, Armstrong talks) 2026-02-26 11:55:49 -08:00
Joel Hooks 0a0fca9b98 article: rewrite with Koko/ADR application angle 2026-02-26 11:32:36 -08:00
Joel Hooks f967b32510 article: Propositions as Sessions — Armstrong and Wadler 2026-02-26 11:09:07 -08:00
Joel Hooks f4a82014cc skill: add koko development skill with ADR links 2026-02-26 11:05:30 -08:00
Joel Hooks a7b8b5985f contacts skill: add Roam Research enrichment querying instructions 2026-02-26 09:45:00 -08:00
Joel Hooks 5477f338c9 granola skill: timestamps are UTC, codex cannot run MCP 2026-02-26 09:40:16 -08:00
Joel Hooks 08136656d6 feat: enrich Langfuse traces — sanitizers, dynamic tags, flattened metadata
Add extractCleanInput/extractCleanOutput sanitizers.
Dynamic tags: provider:<X>, model:<Y>, task:<Z>.
Flatten joelclaw metadata into trace-level.
Set userId: joel on all traces.
2026-02-26 08:15:34 -08:00
Joel Hooks 2c59889510 refactor: centralize Redis port resolution via getRedisPort() across system-bus
Extract getRedisPort() into lib/redis.ts with env var + URL parsing.
Update 22 Inngest functions + serve.ts to use shared helper.
Fix TS2345 in serve.ts (readonly string[] cast for includes).
2026-02-26 08:15:00 -08:00
Joel Hooks bbab5c89ed contacts skill: add Typesense indexing step to VIP enrichment playbook 2026-02-26 08:01:29 -08:00
Joel Hooks 0324c497e9 contacts skill: add VIP deep enrichment playbook + monitoring (ADR-0151) 2026-02-26 07:50:59 -08:00
Joel Hooks 2769a94bf5 discovery skill: replace manual deep dig with Inngest enrichment pipeline (ADR-0150) 2026-02-26 07:42:40 -08:00
Joel Hooks 2e196cfdc1 discovery skill: add deep dig escalation for tracked repos/projects 2026-02-26 07:40:13 -08:00
Joel Hooks ff47f3620d discovery skill: add X/Twitter API enrichment for tweet URLs 2026-02-26 07:36:24 -08:00
Joel Hooks 7226837b87 ADR-0131: accept, add privilege metadata + Haiku pre-filter + publishing gate 2026-02-26 07:03:40 -08:00
Joel Hooks 0b5a41d677 fix: lazy-load OTEL/Langfuse in CLI to prevent crash on broken deps
@opentelemetry/resources@2.5.1 removed the Resource class export,
breaking all CLI commands via transitive import chain. Now OTEL/Langfuse
imports are dynamic and fail-open with warnings.

Rule 7: CLI CANNOT BE BROKEN — added to AGENTS.md
2026-02-26 06:52:26 -08:00
Joel Hooks 4758346419 feat: add contacts skill for Vault contact management + enrichment pipeline 2026-02-26 06:49:58 -08:00
Joel Hooks d75bad5571 k8s skill: resilience rules, NodePort mandate, hot-add ports procedure (ADR-0148)
- Add system-bus-worker:3111 and typesense:8108 to port table
- Add resilience rules section (probe gaps, taint recovery, PVC protection)
- Update 'Adding ports' from 'requires recreation' to hot-add procedure
- Add health check endpoints for all services
- Document hot-add Docker port mapping technique in operations.md
- Update talosctl create command with all current ports
2026-02-26 06:27:53 -08:00
Joel Hooks 716fe44883 remove: dogfooding discovery page (Joel's request) 2026-02-25 21:17:32 -08:00
Joel Hooks c85152c9ef fix(adrs): revert false deferrals back to accepted — unimplemented ≠ deferred 2026-02-25 19:25:50 -08:00
Joel Hooks 13fad54829 fix(adrs): correct 4 false deferrals — 0044 PDS, 0084 content schema, 0093 agent nav, 0129 X posting all shipped 2026-02-25 19:25:17 -08:00
Joel Hooks d6d67505d1 fix(adrs): bulk status audit — 12 shipped, 11 deferred, 1 superseded
Reviewed all 24 'accepted' ADRs against actual implementation:
- shipped: 0043 (LiveKit), 0065 (friction-fix), 0067 (skills), 0070 (keyboards),
  0085 (network), 0086 (slash cmds), 0088×2 (design+NAS), 0091 (fallback),
  0103 (session isolation), 0113 (status styling), 0121 (iMessage)
- deferred: 0042 (rich replies), 0044 (PDS bridge), 0058 (NDJSON),
  0066 (inngest monitor), 0075 (web auth), 0084 (content schema),
  0093 (agent nav), 0112 (caching), 0120 (discord threads),
  0122 (discord rich), 0129 (X posting)
- superseded: 0101 (by ADR-0146 Langfuse)
2026-02-25 19:23:46 -08:00
Joel Hooks 16a52359b8 fix(adrs): ADR-0137 codex-prompting → shipped (skill deployed) 2026-02-25 19:21:51 -08:00
Joel Hooks 2ce6ca037a fix(adrs): sync detail page STATUS_COLORS with status-config (add deferred, shipped=claw pink) 2026-02-25 19:21:08 -08:00
Joel Hooks 855fd38a8b feat(gateway): wire @joelclaw/markdown-formatter into Telegram output (ADR-0143 → shipped) 2026-02-25 19:18:31 -08:00
Joel Hooks 6cc7e43cd7 fix(adrs): add shipped/deferred/in_progress to VALID_STATUSES + sync vault statuses
VALID_STATUSES only had 6 entries — shipped, deferred, in_progress,
researching, withdrawn were all normalizing to 'proposed'. Now matches
status-config.ts. Also synced 0142→deferred, 0145→deferred,
0146→shipped, 0147→shipped from Vault.
2026-02-25 19:18:02 -08:00
Joel Hooks a9d3eaa20d docs: update langfuse skill with nested span hierarchy and current state 2026-02-25 19:10:42 -08:00
Joel Hooks 4c3029fc3d feat(gateway): /kill command via Telegram
Hard stop from Telegram: disables launchd (won't auto-restart) then
SIGKILL. Useful when gateway is stuck and SSH isn't handy.
2026-02-25 18:29:31 -08:00
Joel Hooks 8b5a0364a5 fix: remove recursive symlink in langfuse skill 2026-02-25 18:20:15 -08:00
Joel Hooks c22edb5da0 feat(skills): add langfuse — LLM observability patterns, SDK usage, debugging 2026-02-25 18:20:07 -08:00
Joel Hooks e657b81f28 langfuse: proper OTEL service name + userId 2026-02-25 18:17:09 -08:00
Joel Hooks df07d25d0b langfuse: clean I/O, flat metadata, dynamic tags on system-bus traces
- extractCleanInput: unwrap {prompt} to string
- extractCleanOutput: unwrap {text} to string, {failed} to error
- Flatten joelclaw metadata (source/component/action as top-level keys)
- Dynamic tags: provider:X, model:X, task:X
- Move requestId/policyVersion/attemptIndex to generation-only metadata
- ADR-0146
2026-02-25 17:41:40 -08:00
Joel Hooks ef88b6c953 sync: vault content (2 files)
adrs (2):
  updated: 0147-named-agent-profiles.md
  updated: 0146-pi-session-langfuse-integration.md
2026-02-25 17:33:23 -08:00
Joel Hooks 00a8eca2ad ADR-0147 Phase 1: named agent profiles — registry, infer() integration, Langfuse threading
- Add profiles.ts with classifier, reflector, triage profiles
- infer() accepts agent option, resolves profile, merges defaults
- Thread agentProfile/agentTags/agentToolset into all traceLlmGeneration calls
- Migrate reflect.ts, email-cleanup.ts, task-triage.ts to named profiles
- Profile tags merge into Langfuse trace tags array
2026-02-25 17:25:26 -08:00