feat: v0.9.0 -- smart file storage, publish, production-grade skills (#62)
* feat: battle-tested skill patterns from production deployment Backport production-learned brain-operations patterns: - Iron Law of Back-Linking (mandatory bidirectional linking) - Brain filing rules (file by primary subject, not format) - Enrichment protocol (7-step pipeline, 3-tier system, person/company templates) - Media ingest workflows (articles, videos, podcasts, PDFs, screenshots) - Citation requirements (mandatory [Source: ...] on every fact) - Test Before Bulk operating principle - Voice recipe: unicode crash fix, PII scrub, identity-first prompt, DIY STT+LLM+TTS - X-to-Brain recipe: image OCR, Filtered Stream, tweet rating rubric, cron stagger * chore: bump version and changelog (v0.8.1) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add _brain-filing-rules.md to CLAUDE.md key files * feat: smart file upload with TUS resumable and .redirect.yaml pointers - Supabase Storage auto-selects upload method by file size: < 100 MB standard POST, >= 100 MB TUS resumable (6 MB chunks + retry) - Signed URL generation for private bucket access (1-hour expiry) - New `upload-raw` command with size routing: small text stays in git, large/media files go to cloud with .redirect.yaml pointer - New `signed-url` command for generating access links - File resolver supports both .redirect.yaml (v0.9+) and .redirect (legacy) - Redirect format upgraded: 10 fields with full metadata - All migration commands (mirror, redirect, restore, clean) handle both formats * feat: skills reference actual gbrain file commands - Filing rules document upload-raw, signed-url, and .redirect.yaml format - Ingest skill uses gbrain files upload-raw for raw source preservation - Maintain skill adds file storage health checks - Setup skill adds storage configuration phase with migration guidance - Voice recipe uses upload-raw for call audio storage - Migration v0.9.0 with complete storage setup instructions * chore: bump version and changelog (v0.9.0) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: gbrain publish -- shareable HTML with password protection First code+skill pair: deterministic code does the work (strip private data, encrypt with AES-256-GCM, generate self-contained HTML), the skill tells the agent when and how to use it. 34 new tests. See: https://x.com/garrytan/status/2042925773300908103 * feat: backlinks check/fix, page lint, and report commands Three new deterministic tools (zero LLM calls): - gbrain backlinks check/fix -- scans brain for entity mentions without back-links, creates them. Enforces the Iron Law from the skills. - gbrain lint [--fix] -- catches LLM preambles, code fence wrapping, placeholder dates, missing frontmatter, broken citations, empty sections. --fix auto-strips fixable artifacts. - gbrain report --type <name> -- saves timestamped reports to brain/reports/{type}/YYYY-MM-DD-HHMM.md for audit trails. 33 new tests (409 total, 0 fail). * feat: v0.9.0 migration tells agents to swap scripts for built-in commands Migration file now: - Lists all 5 new deterministic commands with usage examples - Includes a script-to-command replacement table (old -> new) - Tells the agent to find custom script references in AGENTS.md, skills, and cron jobs and replace with gbrain commands - Adds recommended cron jobs for daily backlink fix + weekly lint - References the Thin Harness, Fat Skills thread * fix: CLI routing bugs found during DX review - Fixed subArgs reference error in handleCliOnly (used wrong variable name) - Renamed gbrain backlinks check/fix to gbrain check-backlinks to avoid conflict with existing backlinks operation (per-page incoming links) - Added TOOLS section to --help output showing publish, check-backlinks, lint, report - Added upload-raw and signed-url to FILES section in --help - Updated all docs/migration references to use check-backlinks * fix: security hardening from adversarial review - XSS: sanitize marked.parse() output (strip script/iframe/on* attrs) - Path traversal: validate report --type against [a-z0-9-] pattern - TUS: HEAD request before retry to get server's actual offset (TUS spec) - Pointer: upload-raw now includes pointer content in JSON output - Symlinks: use lstatSync in all walkers to prevent directory escape --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
103
skills/migrations/v0.8.1.md
Normal file
103
skills/migrations/v0.8.1.md
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
version: 0.8.1
|
||||
feature_pitch:
|
||||
headline: "Your brain skills learned from production"
|
||||
description: "Back-linking iron law, filing rules, enrichment protocol, media ingest, citation requirements, voice crash fixes -- all battle-tested from real production deployments. Superseded by v0.9.0."
|
||||
---
|
||||
|
||||
# v0.8.1 Migration: Battle-Tested Skill Patterns
|
||||
|
||||
This migration updates your agent's brain-writing patterns and voice recipe.
|
||||
No schema changes, no database migrations. Skills and recipes only.
|
||||
|
||||
## What's New
|
||||
|
||||
### Back-Linking Iron Law
|
||||
Every skill that writes to the brain now enforces bidirectional linking. If a
|
||||
page mentions a person or company, that entity's page MUST link back. This was
|
||||
the single biggest knowledge graph integrity rule missing from v0.8.0.
|
||||
|
||||
### Brain Filing Rules (`skills/_brain-filing-rules.md`)
|
||||
Cross-cutting rules for where brain pages go. File by PRIMARY SUBJECT, not
|
||||
format or source. Includes common misfiling patterns table and notability gate.
|
||||
|
||||
### Enrichment Protocol (rewritten)
|
||||
The enrich skill is now a full 7-step pipeline with 3-tier system (scale effort
|
||||
to entity importance), person page section template (What They Believe, Building,
|
||||
Motivates, Hobby Horses, Trajectory), pluggable data source table, and validation.
|
||||
|
||||
### Media Ingestion Workflows
|
||||
The ingest skill now handles articles, videos, podcasts, PDFs, screenshots, and
|
||||
social media content. Each with a complete input->process->write workflow.
|
||||
|
||||
### Citation Requirements
|
||||
Every fact needs inline `[Source: ...]` citations across all skills. Three formats
|
||||
defined (direct, API/external, synthesis) with source precedence hierarchy.
|
||||
|
||||
### Voice Recipe Production Fixes
|
||||
Critical fixes from a production voice deployment: unicode crash fix (non-ASCII
|
||||
breaks Twilio WebSocket), PII scrub from voice context, identity-first prompt
|
||||
architecture, Smart VAD default, auto-upload call audio, and the DIY STT+LLM+TTS
|
||||
pipeline (Deepgram+Claude+Cartesia) as an alternative to OpenAI Realtime.
|
||||
|
||||
### X-to-Brain Recipe Enhancements
|
||||
Image OCR via vision models, real-time monitoring via Filtered Stream API,
|
||||
6-dimension tweet rating rubric, outbound tweet monitoring, X-to-Brain automatic
|
||||
pipeline, and cron staggering for resource management.
|
||||
|
||||
## Agent Instructions
|
||||
|
||||
### Step 1: Verify skills are updated
|
||||
|
||||
Check that your skills directory has the new files:
|
||||
```bash
|
||||
ls skills/_brain-filing-rules.md && echo "Filing rules: OK"
|
||||
grep -q '"version": "0.8.1"' skills/manifest.json && echo "Manifest: OK"
|
||||
```
|
||||
|
||||
Files that should be updated:
|
||||
- `skills/_brain-filing-rules.md` (new)
|
||||
- `skills/enrich/SKILL.md` (rewritten)
|
||||
- `skills/ingest/SKILL.md` (expanded)
|
||||
- `skills/maintain/SKILL.md` (expanded)
|
||||
- `skills/query/SKILL.md` (updated)
|
||||
- `skills/briefing/SKILL.md` (updated)
|
||||
- `recipes/twilio-voice-brain.md` (v0.8.1 production fixes)
|
||||
- `recipes/x-to-brain.md` (v0.8.1 enhancements)
|
||||
|
||||
### Step 2: Review existing brain pages for back-link gaps
|
||||
|
||||
Spot-check: pick 5 recently created pages and verify that every entity mentioned
|
||||
has a back-link from the entity's page to the mentioning page.
|
||||
|
||||
If back-links are missing, add them:
|
||||
```
|
||||
- **YYYY-MM-DD** | Referenced in [page title](path/to/page.md) -- brief context
|
||||
```
|
||||
|
||||
### Step 3: Review filing
|
||||
|
||||
Check for pages in `sources/` that should be in a subject-specific directory
|
||||
(people/, companies/, concepts/, civic/). See `skills/_brain-filing-rules.md`.
|
||||
|
||||
### Step 4: Voice recipe (if using)
|
||||
|
||||
If you have voice-to-brain set up:
|
||||
1. Apply the unicode sanitization fix to your voice server
|
||||
2. Add PII scrub to your prompt builder
|
||||
3. Move identity to the TOP of your system prompt
|
||||
4. Consider switching to Smart VAD (Silero) as default
|
||||
|
||||
### Step 5: X-to-brain recipe (if using)
|
||||
|
||||
If you have X-to-brain set up:
|
||||
1. Add image OCR to your tweet processing pipeline
|
||||
2. Consider Filtered Stream API for real-time monitoring
|
||||
3. Stagger your cron schedules (max 1 per minute)
|
||||
|
||||
### Step 6: Done
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.gbrain/migrations
|
||||
echo '{"version":"0.8.1","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","status":"complete"}' >> ~/.gbrain/migrations/completed.jsonl
|
||||
```
|
||||
Reference in New Issue
Block a user