Clone this repository
For self-hosted knots, clone URLs may differ based on your setup.
Replace rule-based keyword matching with LLM-powered analysis:
- Agent receives full island context (vertices, edges, domains, contributors)
- Agent calls island_save tool with structured analysis
- Produces real narrative synthesis instead of template strings
- Removes carry dependency — works from discovered component data alone
- Keeps same SQLite schema, CLI flags, and output format
👾 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
- Extract shared island utilities (islandId, findComponents, etc.) into island-shared.ts
- All island:* commands now use 12-char lexmin hash as canonical island ID
- Regenerate lexicons/generated/ with org.latha.island namespace
- Fix island:analyze execFileSync import and null guards
👾 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
- Frontend: /island/<12-hex-hash> replaces /strata?id=X, with legacy redirect
- Worker: SPA fallback includes /island/*, computes islandHash from lexmin
- island:analyze: fix execFileSync import (node:child_process), guard null takeaway/domain
👾 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
Same component always gets the same rkey, so re-publishing updates
the existing record instead of creating duplicates.
👾 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>
- Extract shared carry query, URL normalization, and component logic into island-shared.ts
- island:detect: simplified, uses shared utils
- island:discover: improved component reporting
- island:explore: enhanced carry-backed scoring
- Add island:publish stub
👾 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta Code <noreply@letta.com>