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