walnut-core-internals

Solid

Deep implementation details for src/core/ — task model (5 text fields, phase lifecycle, dependencies, session slots, child tasks), session monitoring (3-layer), message queue & FIFO/JSONL delivery patterns, daemon-uniform file access rule, chat history compaction. Use when implementing or debugging anything in src/core/ or the session data layer.

AI & Automation 32 stars 8 forks Updated 4 days ago MIT

Install

View on GitHub

Quality Score: 82/100

Stars 20%
51
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Core Layer — Implementation Details Detailed internals for `src/core/`. For architecture overview, see project `CLAUDE.md`. ## Task Model Details ### Task text fields (5-field model) Each task has `description` (what & why — pre-action context, user-set), `summary` (TL;DR of progress — AI-maintained), `note` (detailed markdown blob — evolving, append via `addNote()` or replace via `updateNote()`), and `conversation_log` (append-only markdown log of user↔agent interactions, auto-managed by the chat handler via `appendConversationLog()`). The conversation_log is automatically appended server-side after every chat turn where a task is focused — each entry has a `### YYYY-MM-DD HH:MM` timestamp heading followed by `**User:**`/`**AI:**` summaries (truncated to 150/200 chars). The field is optional, starts as `undefined`, and is created on first interaction. Migration from the old `notes: string[]` is handled by `migrateNotesToFields()` in `task-manager.ts`. MS To-Do sync: all fields combine into a structured body (`description\n\n---\n\n## Summary\n...\n\n## Notes\n...\n\n## Conversation Log\n...`) via `composeMsTodoBody()`/`parseMsTodoBody()` in `src/integrations/microsoft-todo.ts`. External sync plugins: each plugin decides how to map these fields to its platform (e.g., description field, comment body, etc.). See the plugin's own documentation for details. Conversation_log is tail-truncated (recent entries preserved) in Task Context (400 chars), session context (300 t...

Details

Author
EvanZhang008
Repository
EvanZhang008/open-walnut
Created
6 months ago
Last Updated
4 days ago
Language
TypeScript
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

Web & Frontend Solid

walnut-web-frontend

Implementation details for web/src/ (React SPA) — session chat single-timeline model (streaming blocks, render-filter absorption, optimistic dedup, turn watermark), UX patterns (task refs, images, plan cards, slash commands), frontend file structure. MUST read before touching session chat, turn boundaries, or streaming block rendering.

32 Updated 4 days ago
EvanZhang008
AI & Automation Listed

bearing-taskcore

Maintain a dense, AI-facing TASK-CORE save-state so a long task survives context COMPACTION without drift. Load it when: a PostToolUse nudge says edits have accumulated since the core was last written, at a milestone / before a risky pivot / when the task shifts, OR on recovery after a compaction (read it back first). The core is for the model, not humans — terse, anchors over prose. Examples: "context is filling — save state", "update the task core", "clean it from log-like things but keep the lessons", "checkpoint the task before compaction", "recover the task after compaction".

6 Updated yesterday
ReidenXerx
Code & Development Solid

walnut

Walnut is the user's personal AI for tasks, projects, memory, notes, coding sessions, and search. Use for ANY question about Walnut itself or the data it holds: server status, mode, or version; which task or session produced a given commit; what is on the user's plate; creating, updating, completing, searching, or recalling tasks, memory, and notes; starting a coding session for a task, messaging a session that is already running, and getting its answer back; handing finished work back for human review; sending the human a letter (human inbox) when work finishes or a decision is needed. Triggers: "add a task", "put that on my list", "what's on my plate", "did I write anything about X", "which task/session did X", "start a session on this", "tell that other session ...". Read this BEFORE guessing subcommands, running --help, inspecting files, or reaching for git: those guess, this gives the exact call. Works through the `walnut` CLI over Bash (the same `walnut` command works inside managed sessions on any host

32 Updated 4 days ago
EvanZhang008