This repo is shared by the human operator, Claude, and Codex.
- Claude owns
extension/. - Codex may update shared tooling, CI, docs,
web/, andworker/when a task requires end-to-end validation. - Shared plans, contracts, release notes, and research live in
docs/. - Local-only coordination notes live in
.private-discussion/and are ignored by Git.
See ARCHITECTURE.md. The extension is JavaScript-only and reads the chat
YouTube renders in its live-chat frame. The mobile PWA in web/ is TypeScript
plus classic browser scripts, and the Cloudflare live-chat relay in worker/ is
TypeScript. Browser rendering/extraction is the practical bottleneck, not
scoring.
Scoring lives in extension/scoring.js (copied byte-for-byte to web/) and
runs locally in the chat frame's content script.
Do not add a new scorer transport unless a batched or stateful scorer first
proves a clear Chrome/V8 performance win in benchmarks and the migration is
documented in docs/CONTRACT.md and docs/PLAN.md.
Read docs/CONTRACT.md before changing the message or scoring shapes used by
the extension. If the shape changes:
- Update
docs/CONTRACT.md. - Note the migration in
docs/PLAN.md. - Keep compatibility only as long as both old and new shapes are actually used.
This project has a knowledge graph at graphify-out/ with god nodes, community structure, and cross-file relationships.
When the user types /graphify, use the installed graphify skill or instructions before doing anything else.
Rules:
- For codebase questions, first run
graphify query "<question>"when graphify-out/graph.json exists. Usegraphify path "<A>" "<B>"for relationships andgraphify explain "<concept>"for focused concepts. These return a scoped subgraph, usually much smaller than GRAPH_REPORT.md or raw grep output. - Dirty graphify-out/ files are expected after hooks or incremental updates; dirty graph files are not a reason to skip graphify. Only skip graphify if the task is about stale or incorrect graph output, or the user explicitly says not to use it.
- If graphify-out/wiki/index.md exists, use it for broad navigation instead of raw source browsing.
- Read graphify-out/GRAPH_REPORT.md only for broad architecture review or when query/path/explain do not surface enough context.
- After modifying code, run
graphify update .to keep the graph current (AST-only, no API cost).