Conversation
|
Merge safety review (advisory) — Patrick Brosnan, non-collaborator on Verdict: YELLOW — R-1 silent regression, must fix before merge. Blocked on PR #29 landing. Headline: The visual redesign is a strict improvement — the Obsidian-style force-directed graph with domain gravity wells, neighborhood highlighting, semantic zoom, and the click-to-pin detail panel all read cleanly. Health-ring computation matches R-1 (CRITICAL): top-level The OLD code computed a world-level Verified downstream breakage via GitHub code search on Fix path: Restore both computations verbatim in Also worth fixing:
Merge order: Position 5 of 5 (last), immediately after #29. Base SHA Before merging, run Full cross-PR synthesis (conflict matrix, recommended merge order for all 7 open PRs, per-PR verdicts, blocker list): see the cover comment on #29 — #29 (comment) Generated via flow-next epic |
de8d602 to
a76b6d5
Compare
The index and graph scripts were still v2, causing broken output for every user running /alive:my-context-graph. This fixes the data pipeline and replaces the visualization. Index (generate-index.py): - Recognize _kernel/ as walnut parent dir (was only _core/) - Read now.json as JSON, not markdown frontmatter - Detect bundles via context.manifest.yaml (was scanning _capsules/) - Infer parent-child from filesystem hierarchy - Bidirectional people-walnut links (person→walnut + walnut→person) - Strip [[wikilinks]] on read — no file fixes needed - Enrich with now.json data: task counts, bundle summaries, blockers, session recency, children Graph (generate-graph.py): - Replace circle packing with force-directed + domain cluster gravity - Domain region labels (Life, Ventures, Experiments, etc.) - Health indicators: green (active), amber (quiet), red (stale) - Node sizing by degree + recency + bundles (wider range) - Opacity by recency (bright = active, faded = stale) - Neighborhood highlighting on hover (Obsidian-style) - Detail panel on click: goal, next, tasks, bundles, people, connections - Clickable connections in panel to navigate the graph - Task urgency indicators (red dot) and blocker flags (amber triangle) - Bundle count displayed on nodes - Search that highlights without hiding (/ hotkey) - Semantic zoom (labels appear/disappear by zoom level) - People bridge nodes (toggle) - Archive toggle (off by default) - Dark mode toggle - Drag to reposition, scroll to zoom Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
These fields were accidentally dropped in the graph rebuild rewrite. The /alive:world skill depends on both fields being present in _index.yaml and _index.json. Restores the squirrel-walking code that computes world-level session data from .alive/_squirrels/*.yaml.
ce78348 to
7b04df8
Compare
Summary
_core/instead of_kernel/, readingnow.jsonas markdown, scanning for_capsules/instead of bundles. Every user got broken graph output with 0 bundles detected and ghost_kernelnodes.What changed
Index fixes
_kernel/as walnut parent dir (v3 structure)now.jsonas JSON (was parsing as markdown frontmatter)context.manifest.yaml(was scanning_capsules/)links:→ walnutpeople:)[[wikilinks]]on read — handles YAML parse issue at consumer levelnow.json: task counts, bundle summaries, blockers, session dataGraph rebuild
Test plan
python3 .alive/scripts/generate-index.py— verify walnuts detected, bundles > 0python3 .alive/scripts/generate-graph.py— verify HTML generated_core/,_capsules/) — verify backward compat[[wikilink]]inlinked_bundles:field — verify no YAML parse errorpy -3fallback🤖 Generated with Claude Code