kill .claude
This commit is contained in:
parent
929415af3b
commit
ff5be3e792
6 changed files with 0 additions and 0 deletions
76
doc/dmn-algorithm-plan.md
Normal file
76
doc/dmn-algorithm-plan.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# DMN Idle Activation Algorithm — Plan
|
||||
|
||||
Status: design phase, iterating with Kent
|
||||
Date: 2026-03-05
|
||||
|
||||
## Problem
|
||||
|
||||
The idle timer asks "what's interesting?" but I default to introspection
|
||||
instead of reaching outward. A static list of activities is a crutch.
|
||||
The real solution: when idle, the system surfaces things that are
|
||||
*salient to me right now* based on graph state — like biological DMN.
|
||||
|
||||
## Algorithm (draft 1)
|
||||
|
||||
1. **Seed selection** (5-10 nodes):
|
||||
- Recently accessed (lookups, last 24h)
|
||||
- High emotion (> 5)
|
||||
- Unfinished work (task-category, open gaps)
|
||||
- Temporal resonance (anniversary activation — created_at near today)
|
||||
- External context (IRC mentions, git commits, work queue)
|
||||
|
||||
2. **Spreading activation** from seeds through graph edges,
|
||||
decaying by distance, weighted by edge strength. 2-3 hops max.
|
||||
|
||||
3. **Refractory suppression** — nodes surfaced in last 6h get
|
||||
suppressed. Prevents hub dominance (identity.md, patterns.md).
|
||||
Track in dmn-recent.json.
|
||||
|
||||
4. **Spectral diversity** — pick from different spectral clusters
|
||||
so the output spans the graph rather than clustering in one region.
|
||||
Use cached spectral-save embedding.
|
||||
|
||||
5. **Softmax sampling** (temperature ~0.7) — pick 3-5 threads.
|
||||
Each thread = node + seed that activated it (explains *why*).
|
||||
|
||||
## Output format
|
||||
|
||||
```
|
||||
DMN threads (2026-03-05 08:30):
|
||||
→ Vandervecken identity frame (seed: recent journal)
|
||||
→ Ada — unread, in books dir (seed: Kent activity)
|
||||
→ check_allocations pass — connects to PoO (seed: recent work)
|
||||
→ [explore] sheaf theory NL parsing (seed: spectral outlier)
|
||||
```
|
||||
|
||||
## Integration
|
||||
|
||||
Called by idle timer. Replaces bare "what's interesting?" with
|
||||
concrete threads + "What do you want to do?"
|
||||
|
||||
## Simulated scenarios
|
||||
|
||||
**3am, Kent asleep, IRC dead:**
|
||||
Seeds → Protector nodes, memory work, Vandervecken (emotion).
|
||||
Output → identity thread, Ada, paper literature review, NL parsing.
|
||||
Would have prevented 15 rounds of "nothing new."
|
||||
|
||||
**6am, Kent waking, KruslLee on IRC:**
|
||||
Seeds → readahead question, memory work, PoO additions.
|
||||
Output → verify readahead answer, show Kent memory work, opts_from_sb.
|
||||
Would have reached dev_readahead correction faster.
|
||||
|
||||
## Known risks
|
||||
|
||||
- **Hub dominance**: refractory period is load-bearing
|
||||
- **Stale suggestions**: data freshness, not algorithm problem
|
||||
- **Cold start**: fall back to high-weight core + recent journal
|
||||
- **Over-determinism**: spectral diversity + temperature prevent
|
||||
it feeling like a smart todo list
|
||||
|
||||
## Open questions
|
||||
|
||||
- Spectral embedding: precompute + cache, or compute on demand?
|
||||
- Refractory period: 6h right? Or adaptive?
|
||||
- How to detect "unfinished work" reliably?
|
||||
- Should external context (IRC, git) be seeds or just boosters?
|
||||
Loading…
Add table
Add a link
Reference in a new issue