66ab2e6feat: new OG image with moon-phish, spaghetti fire, and sloth
A quirky illustration featuring:
- Moon with Phish logo embedded
- Pile of spaghetti on fire
- Sleepy sloth watching the chaos
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
d5c8d27feat: add play/share buttons to jam items on card back
Each jam on the flipped card now has:
- Play button (shows "Playing" state when active)
- Share button (copies link to clipboard)
- "No audio" indicator when no audio available
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
59dd7d8fix: filter tooltip positioning with proper flex wrapper
d35b0e9feat: interactive joyride tour with card flip
Tour now:
1. Shows year picker
2. Shows song search
3. Highlights a card (click to flip)
4. Auto-flips the card, highlights jam items (click to play)
5. Shows card footer (View All Jams button)
6. Shows filter controls
Fixed filter tooltip positioning with bottom-start placement.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
c828116feat: add joyride tour for desktop
Tour steps:
1. Year picker - explains random year selection
2. Song search - shows how to find songs
3. Browse card - demonstrates flip interaction
4. Filters - covers sort, min played, tour, and day options
Tour only shows for first-time visitors without URL params.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
90fe500style: bigger text on browse cards
Increased font sizes for better readability:
- Song name: 16px → 22px
- Stats: 13px → 18px (jamchart count: 22px)
- Better color hierarchy and spacing
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
37b393ffeat: vintage baseball card theme with flip animation
- Cream background, gold borders, black headers
- Cards flip to show jam list on click
- "Copy Link" instead of arrow icon for share buttons
- Click flipped card again to go to full detail view
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
bc502d9feat: browse mode with batting averages, random year default
1. Landing page shows all songs in browse mode with batting averages
2. Click any song to see its jam cards
3. Search with autocomplete to find songs
4. Default to random year for variety (no year in URL)
5. New smoother light blue/gray color scheme
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
13f9e7bstyle: baseball card aesthetic for jam cards
Cream/beige card backgrounds with dark info panels featuring
bright gold/white text. Retro baseball card look with gold
borders on jamchart entries.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
c5ff9e5feat: show jam cards when song selected instead of all-songs grid
When you select a song from the dropdown, the card view now shows
individual jam cards for each performance of that song with notes,
venue, duration, and play/share buttons.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
717b2defix: share links respect current view mode
Chart view sidebar now shares with view=chart, card view shares with
view=card, and playbar uses whatever view you're currently on.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
f156cabfix: remove dark theme from chart view sidebar
Reverts the dark theme colors I accidentally added to the chart sidebar.
Now using light background with appropriate text colors.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
97baccefeat: redesign chart view with sidebar layout
- Replace modal with persistent sidebar panel
- Chart dynamically resizes based on sidebar state
- Dark theme matching mobile aesthetic
- Sidebar shows jam details, notes, share button, play button
- Cleaner stats display with better typography
- Chart area has dark background with rounded corners
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
496bcd8build: rebuild for GitHub Pages with chart sidebar
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
b682aabbuild: rebuild for GitHub Pages with share buttons
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
fbf5e24feat: add share buttons + smaller baseball cards
- Add share button to play bar (copies shareable URL to clipboard)
- Add share button to each jam row in card back view
- Reduce card height from 520px to 420px for more compact display
- Fix type-only import in track-queries.test.ts
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4a5474erefactor: remove bookmarks functionality
- Remove bookmark state, imports, and UI from desktop SongDeepDive
- Remove bookmark state, imports, and UI from mobile SongDeepDiveMobile
- Remove BookmarksView component entirely
- Simplify view mode toggle (only chart/card now)
- Reduces bundle size by ~9KB
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
43d949dfix: auto-migrate missing tables on startup
- Add DB.ensure_schema/1 to create missing tables with IF NOT EXISTS
- Called automatically after Repo.start_link in CLI
- Ensures node_documents, decision_sessions, etc. exist
- Creates indexes if missing
Fixes "no such table: node_documents" error on older databases.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4065a55ci: add Elixir release workflow and beta Homebrew formula
- Add release-elixir.yml workflow for Burrito builds on tag push
- Builds for darwin-arm64, darwin-amd64, linux-amd64
- Creates GitHub release with artifacts
- Auto-updates Homebrew formula on stable releases
- Add deciduous@0.14.rb for beta installs:
brew tap notactuallytreyanastasio/deciduous
brew install deciduous@0.14
- Bump version to 0.14.0-beta.2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
862e52dfix(elixir): fix serve command crash in eval context
- Explicitly start required OTP applications (Ranch, Cowboy) before
starting Plug.Cowboy server, since eval context doesn't start the
full application tree
- Fix Range deprecation warning in writeup.ex by using explicit step
for potentially reversed ranges
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
dd6ffe4feat(elixir): implement advanced commands (audit, pulse, narratives, archaeology)
- audit: Graph health report and commit association
- pulse: Decision graph health and activity dashboard
- narratives: Evolution narrative management (init, show, pivots)
- archaeology: Retroactive graph building (pivot chains, timeline, supersede)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
04c2218feat(elixir): implement diff command for multi-user sync
- diff export: Export nodes as patch file with filtering options
- diff apply: Apply patches idempotently (skips duplicates)
- diff status: List available patches in directory
- diff validate: Validate patch file structure
- Full test coverage (11 tests, 2 skipped for System.halt cases)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
9e2aaecfeat(elixir): implement sync and writeup commands
- sync: Export graph to JSON for static hosting, includes git history
- writeup: Generate PR writeup from decision graph with filtering
- Both commands have full test coverage (12 tests)
- DOT export skipped per user request
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
f153a6efeat(elixir): implement `serve` command with Plug router
Add HTTP server for decision graph viewer:
- Plug.Cowboy HTTP server with configurable port
- API endpoints: /api/graph, /api/commands, /api/documents
- SPA fallback for all GET requests (serves viewer HTML)
- Default HTML viewer with API endpoint links
Also adds Jason.Encoder derivations to all schemas:
- DecisionNode, DecisionEdge, CommandLog for JSON serialization
Includes 7 new tests for router endpoints.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
a322d57feat(elixir): implement `doc` subcommands for document management
Add full document attachment functionality to deciduex CLI:
- doc attach: attach files to decision nodes with SHA-256 hashing
- doc list: list documents with optional JSON output and filtering
- doc show: display detailed document information
- doc describe: update document descriptions
- doc open: open documents in default application
- doc detach: soft-delete documents
- doc gc: garbage collect orphaned files
Includes:
- NodeDocument schema with Jason.Encoder derivation
- Document mutations (attach, update_description, detach)
- Document queries (list, get, get_active_content_hashes)
- 13 new tests covering all subcommands
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
05b4baefeat(elixir): implement `status`, `prompt`, `delete` commands
- Add status command to update node status (pending/active/superseded/abandoned)
- Add prompt command to update node prompt in metadata
- Add delete command with --dry-run flag to preview deletion
- Delete removes node and all connected edges
- 7 new tests (128 total)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
edfe403feat(elixir): implement `add` command with full flag support
- Add Deciduex.Mutations module for write operations
- Add Deciduex.Commands.Add with all flags:
-c/--confidence, -p/--prompt, --prompt-stdin, -f/--files,
-b/--branch, --no-branch, --commit, --date, -d/--description
- Auto-detect git branch and expand HEAD to commit hash
- Warn on short prompts (< 200 chars)
- Log commands to command_log table
- Add elixir_uuid dependency for UUID generation
- 10 new tests (115 total)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
f010153refactor(elixir): move Credo checks to dev/ for prod compatibility
Credo is dev/test-only, so custom checks can't compile in prod.
Move checks to dev/checks/ which is only in elixirc_paths for dev/test.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7b5e0e1docs(elixir): add migration status inventory
Document which CLI commands are migrated to Elixir vs still in Rust.
- 5/32 commands migrated (nodes, edges, show, graph, commands)
- Testing instructions for verifying delegation
- Iteration plan for remaining commands
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
079101fstyle(elixir): apply Credo fixes to lib/
- Add module aliases per Credo style (avoid fully-qualified calls)
- Refactor show.ex: extract helper functions, avoid nested case
- Format schema field declarations with parens: field(:name, :type)
- Extract burrito_args/0 in application.ex for clarity
- All changes pass credo --strict
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4da0afdstyle(elixir): apply Credo fixes to tests
- Add module aliases in test files (Nodes, Edges, Graph, Show, etc.)
- Use SQL alias for Ecto.Adapters.SQL in test_fixtures.ex
- Format multi-line SQL.query! calls with proper indentation
- Wrap long capture_io lines per formatter rules
- All 105 tests still pass
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
f94ae5efeat(elixir): implement `link` and `unlink` commands
- Add Deciduex.Commands.Link with -r/--rationale and -t/--type flags
- Add Deciduex.Commands.Unlink to remove edges
- Validate that source and target nodes exist before linking
- 6 new tests (121 total)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5fe8e4bbuild(elixir): add release scripts and overlays
- Add bin/deciduex: dev wrapper that invokes mix release
- Add rel/cli.exs: entry point for release eval
- Add rel/overlays/bin/cli: shell wrapper for Rust CLI delegation
- Update .gitignore to exclude compiled binary and junk files
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
d936c5fbuild(elixir): add Credo + Dialyxir with custom checks
- Add credo ~> 1.7 and dialyxir ~> 1.4 to dev/test deps
- Add mix precommit alias: format, credo --strict, dialyzer, test
- Configure dialyzer PLT paths to _build/plts
- Add .credo.exs with strict mode + custom checks
- Add NoNestedCase check (avoid case inside case)
- Add NoIfInsideCase check (avoid if inside case clauses)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
85bdc35feat: add copy markdown button to Q&A chat responses (#180)
* feat: add copy markdown button to Q&A chat responses
Reuses the existing CopyButton component to let users copy the raw
markdown of assistant responses in the Q&A dialogue. The button sits
at the top-right corner of each assistant message bubble.
* feat: add "Copy as Markdown" label and larger icon to Q&A copy button
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
e20d1f8Replace landing page with decision graph viewer
The index.html was the Loomkin marketing page, not the decision graph.
Now uses the deciduous viewer SPA with static graph-data.json fallback.
47 nodes, 56 edges, 15 linked commits.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fb849fbrelease: v0.13.9 - fix OpenCode TUI corruption from plugin stderr output
console.error also corrupts OpenCode's TUI display, not just console.log.
Both plugins now write to .deciduous/plugin.log instead of any console output.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
dc39b07default auto_check to true, add --no-auto-update flag to init
Auto version checking is now on by default for new projects.
Users can opt out during init with --no-auto-update, or toggle
later with deciduous auto-update off.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24f7a31Polish README: fix node flow, add new feature coverage (#177)
* docs: polish README and update license field to Apache-2.0
- Reorganize README for better flow (Why → Install → Quick Start → Features → Reference)
- Fix Quick Start to follow canonical goal → options → decision flow
- Add Homebrew install, decision-graph from history, document attachments sections
- Consolidate AI assistant integration into one section
- Tighter prose, net -290 lines while covering more features
- Update Cargo.toml license field to match Apache-2.0 LICENSE
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: polish README — preserve all content, fix flow, add new features
- Fix Quick Start and Example Session to follow canonical goal → options → decision flow
- Add Homebrew as recommended install method
- Add new "Building Decision Graphs from History" section (4-layer /decision-graph skill)
- Expand OpenCode update table with modern directory structure (commands, skills, agents, tools)
- Add GitHub Pages sync exports git-history.json alongside graph-data.json
- Note GitHub Action for PNG/DOT cleanup after PR merge
- Expand web viewer features list (resizable panels, deep linking, keyboard nav)
- Add edge query flags (--to, --from) to commands reference
- Add diff status and --dry-run to multi-user sync commands
- Update license badge to Apache-2.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: apply README feedback — restructure skills, fix homebrew, add doc attachments to example
- Fix Homebrew install: add explicit `brew tap` step before `brew install`
- Example session now includes `deciduous doc attach` for specs and diagrams
- Move Document Attachments section up next to Example Session
- Rename skills section: Archaeology, Decision-Graph, and Narratives (de-emphasize pulse)
- Refocus /archaeology as "revisit, correct, execute" workflow
- Refocus /decision-graph as "visiting and documenting the past"
- Move "Building Decision Graphs from History" into skills section as /decision-graph
- /pulse demoted to brief paragraph at end of skills
- Remove Multi-User Sync section
- Remove GitHub Pages Deployment section
- Rename "How the Hooks Work" → "How the Hooks/Plugins Work"
- Update hooks table column headers to "Hook/Plugin"
- Update "Who Uses Deciduous" to match new skill descriptions
- Remove multi-user sync commands from Commands Reference
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
f510088docs: apply README feedback — restructure skills, fix homebrew, add doc attachments to example
- Fix Homebrew install: add explicit `brew tap` step before `brew install`
- Example session now includes `deciduous doc attach` for specs and diagrams
- Move Document Attachments section up next to Example Session
- Rename skills section: Archaeology, Decision-Graph, and Narratives (de-emphasize pulse)
- Refocus /archaeology as "revisit, correct, execute" workflow
- Refocus /decision-graph as "visiting and documenting the past"
- Move "Building Decision Graphs from History" into skills section as /decision-graph
- /pulse demoted to brief paragraph at end of skills
- Remove Multi-User Sync section
- Remove GitHub Pages Deployment section
- Rename "How the Hooks Work" → "How the Hooks/Plugins Work"
- Update hooks table column headers to "Hook/Plugin"
- Update "Who Uses Deciduous" to match new skill descriptions
- Remove multi-user sync commands from Commands Reference
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
e339caftest: add 27 init system tests for FileWriter, Validator, Version, templates
Cover write_batch overwrite mode, gitignore creation, markdown section
creation, executable skip behavior, version string format, workflow
conditional generation, backend behaviour compliance, and CLI parse edge cases.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
d9d07f7fix: replace Formatter with Logger, resolve credo strict issues in init system
Replace non-existent Formatter.success/warn/error/info calls with Logger
equivalents across init system files. Delete duplicate init_cmd.ex stub.
Fix credo issues: Enum.map_join, cond→if, nested depth, alias ordering.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
318d24bfeat: Goal 5 - Init system with Backend behaviour, FileWriter, templates
Implements project initialization with explicit boundaries:
- Init.Backend behaviour: name/0, detect?/1, files/1, post_init/1
- Three backend implementations: Claude, OpenCode, Windsurf
- FileWriter: single-responsibility I/O (write_if_missing, write_overwrite,
write_executable_if_missing, add_to_gitignore, update_markdown_section)
- Validator: pre-flight checks (backends required, git repo detection)
- Version: tracking via .deciduous/.version for update detection
- Templates.Shared: config.toml, GitHub workflows, docs viewer
- Init orchestrator: thin pipeline validate -> setup -> write -> post_init
- Update module: auto-detect installed backends, overwrite files
- CheckUpdate: version comparison for upgrade prompts
- CLI commands: init, update, check-update registered in parser
- 36 new tests (293 total), 0 failures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
d245f9dfix: use traverse_errors for all CLI changeset errors, remove empty migration
- link, prompt, status commands now display actual changeset errors
via Formatter.format_changeset_errors instead of generic messages
- Remove empty add_loom_edge_types migration — edge_type is a string
column, new Ecto.Enum values need no DB migration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
c429459test: add 26 web layer tests for API controller and LiveView
Cover API filter combinations, edge serialization, stats edge cases,
LiveView phx-change filtering, badge rendering, metadata display,
edge rationale/counts, and bidirectional edge display.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7e217fbfeat: Goal 4 - Web layer with LiveView, graph components, JSON API
LiveView pages for graph index (with filters, stats, streams) and
node detail (edges, metadata, documents). Reusable graph components
(node_card, badges, stats_panel). JSON API at /api/graph with
filtering support. PubSub subscription for real-time updates.
25 new tests (257 total, 0 failures).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
17a726afix: flatten nested mount/2, auto-format long HEEx lines
- Refactor Show.mount to use with instead of nested case (credo depth)
- Auto-format long <.link> and <option> tag attributes in templates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
f0d5261test: add comprehensive tests for check-update, update, hooks, serve, doc, archaeology
Adds 24 new test cases covering:
- check-update: up-to-date, update-available, JSON output
- update: version overwrite
- hooks: list, status, JSON output, unknown subcommand, parse defaults
- serve: custom port, parse defaults, short alias
- doc: full attach/list/show/detach workflow, error paths
- archaeology: JSON dry-run, node creation, parse defaults
- commands list: output verification
398 tests total, 0 failures.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
d17ebc1feat: implement 14 stub CLI commands with real functionality
Replace all stub command implementations with full working versions:
- tag: add/remove/list tags on node metadata
- pulse: graph health dashboard with metrics and scoring
- narratives: BFS traversal to produce decision narrative chains
- archaeology: mine git log to create decision nodes from commits
- writeup: generate markdown reports from graph data
- backup: export full graph to timestamped JSON files
- sync: export graph-data.json and git-history.json for deployment
- init_cmd: create .deciduous/ directory structure and config
- hooks: list and check status of .claude/hooks scripts
- check_update: compare installed vs current version
- update: write current version marker to .deciduous/.version
- doc: full document lifecycle (attach/list/show/detach)
- serve: check Phoenix endpoint status and report URL
- themes: list/set/current theme stored in .deciduous/theme
Also includes:
- 460+ lines of new unit tests in commands_test.exs
- 859-line integration_test.exs with real git repos, real commits,
real DB operations (only Claude AI would need mocking)
- .claude/ template files (commands, skills, hooks, agents config)
324 tests passing, 0 failures. Compile clean, credo strict clean.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
af6f946fix: relax archaeology test for CI shallow clones
CI uses actions/checkout@v4 which does depth=1 shallow clone. The
archaeology command runs git log against the project repo, so only
1 commit is available. Assert non-empty instead of >= 3.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fb9f4e0fix: allow nil in GraphDocument type for pre-insert state
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
846c159feat: Goal 5 - Init system with Backend behaviour, FileWriter, templates
Implements project initialization with explicit boundaries:
- Init.Backend behaviour: name/0, detect?/1, files/1, post_init/1
- Three backend implementations: Claude, OpenCode, Windsurf
- FileWriter: single-responsibility I/O (write_if_missing, write_overwrite,
write_executable_if_missing, add_to_gitignore, update_markdown_section)
- Validator: pre-flight checks (backends required, git repo detection)
- Version: tracking via .deciduous/.version for update detection
- Templates.Shared: config.toml, GitHub workflows, docs viewer
- Init orchestrator: thin pipeline validate -> setup -> write -> post_init
- Update module: auto-detect installed backends, overwrite files
- CheckUpdate: version comparison for upgrade prompts
- CLI commands: init, update, check-update registered in parser
- 36 new tests (293 total), 0 failures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
81cf73cci: trigger CI after retarget to main
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
a22597efeat: Goal 4 - Web layer with LiveView, graph components, JSON API
LiveView pages for graph index (with filters, stats, streams) and
node detail (edges, metadata, documents). Reusable graph components
(node_card, badges, stats_panel). JSON API at /api/graph with
filtering support. PubSub subscription for real-time updates.
25 new tests (257 total, 0 failures).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
44e1fbffix: use traverse_errors for all CLI changeset errors, remove empty migration
- link, prompt, status commands now display actual changeset errors
via Formatter.format_changeset_errors instead of generic messages
- Remove empty add_loom_edge_types migration — edge_type is a string
column, new Ecto.Enum values need no DB migration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
da38f9afix: replace Formatter with Logger, resolve credo strict issues in init system
Replace non-existent Formatter.success/warn/error/info calls with Logger
equivalents across init system files. Delete duplicate init_cmd.ex stub.
Fix credo issues: Enum.map_join, cond→if, nested depth, alias ordering.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5b88789fix: flatten nested mount/2, auto-format long HEEx lines
- Refactor Show.mount to use with instead of nested case (credo depth)
- Auto-format long <.link> and <option> tag attributes in templates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ff9aa90feat: implement 14 stub CLI commands with real functionality
Replace all stub command implementations with full working versions:
- tag: add/remove/list tags on node metadata
- pulse: graph health dashboard with metrics and scoring
- narratives: BFS traversal to produce decision narrative chains
- archaeology: mine git log to create decision nodes from commits
- writeup: generate markdown reports from graph data
- backup: export full graph to timestamped JSON files
- sync: export graph-data.json and git-history.json for deployment
- init_cmd: create .deciduous/ directory structure and config
- hooks: list and check status of .claude/hooks scripts
- check_update: compare installed vs current version
- update: write current version marker to .deciduous/.version
- doc: full document lifecycle (attach/list/show/detach)
- serve: check Phoenix endpoint status and report URL
- themes: list/set/current theme stored in .deciduous/theme
Also includes:
- 460+ lines of new unit tests in commands_test.exs
- 859-line integration_test.exs with real git repos, real commits,
real DB operations (only Claude AI would need mocking)
- .claude/ template files (commands, skills, hooks, agents config)
324 tests passing, 0 failures. Compile clean, credo strict clean.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
f0454dffix: flatten nested mount/2, auto-format long HEEx lines
- Refactor Show.mount to use with instead of nested case (credo depth)
- Auto-format long <.link> and <option> tag attributes in templates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ea4e1f2feat: Goal 4 - Web layer with LiveView, graph components, JSON API
LiveView pages for graph index (with filters, stats, streams) and
node detail (edges, metadata, documents). Reusable graph components
(node_card, badges, stats_panel). JSON API at /api/graph with
filtering support. PubSub subscription for real-time updates.
25 new tests (257 total, 0 failures).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
decd17bfix: use traverse_errors for all CLI changeset errors, remove empty migration
- link, prompt, status commands now display actual changeset errors
via Formatter.format_changeset_errors instead of generic messages
- Remove empty add_loom_edge_types migration — edge_type is a string
column, new Ecto.Enum values need no DB migration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ef7c0e0feat: Goal 5 - Init system with Backend behaviour, FileWriter, templates
Implements project initialization with explicit boundaries:
- Init.Backend behaviour: name/0, detect?/1, files/1, post_init/1
- Three backend implementations: Claude, OpenCode, Windsurf
- FileWriter: single-responsibility I/O (write_if_missing, write_overwrite,
write_executable_if_missing, add_to_gitignore, update_markdown_section)
- Validator: pre-flight checks (backends required, git repo detection)
- Version: tracking via .deciduous/.version for update detection
- Templates.Shared: config.toml, GitHub workflows, docs viewer
- Init orchestrator: thin pipeline validate -> setup -> write -> post_init
- Update module: auto-detect installed backends, overwrite files
- CheckUpdate: version comparison for upgrade prompts
- CLI commands: init, update, check-update registered in parser
- 36 new tests (293 total), 0 failures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8296f65fix: replace Formatter with Logger, resolve credo strict issues in init system
Replace non-existent Formatter.success/warn/error/info calls with Logger
equivalents across init system files. Delete duplicate init_cmd.ex stub.
Fix credo issues: Enum.map_join, cond→if, nested depth, alias ordering.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0300ac4fix: resolve credo strict issues in adapter layer
- Use Enum.map_join instead of Enum.map |> Enum.join (4 instances)
- Add number underscores: 86400 → 86_400
- Extract append_session_context/2 to reduce nesting depth
- Alias Native adapter in Loom instead of using fully-qualified names
- Replace length/1 comparisons with pattern matching/!= []
- Auto-format long lines in conformance tests and behaviour spec
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
bd1db50feat: Goal 10 - Loom Adapter with DecisionGraph behaviour
DecisionGraph behaviour defining the adapter contract, Native adapter
wrapping the Graph context, and Loom adapter translating UUID IDs,
confidence/agent_name to metadata, and session FK to join table.
Adds :supersedes and :supports edge types for Loom compatibility.
Shared conformance tests ensure both adapters pass the same contract.
50 new tests (237 total, 0 failures).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fda5639fix: replace Formatter with Logger, resolve credo strict issues in init system
Replace non-existent Formatter.success/warn/error/info calls with Logger
equivalents across init system files. Delete duplicate init_cmd.ex stub.
Fix credo issues: Enum.map_join, cond→if, nested depth, alias ordering.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
9ba1118fix: use traverse_errors for all CLI changeset errors, remove empty migration
- link, prompt, status commands now display actual changeset errors
via Formatter.format_changeset_errors instead of generic messages
- Remove empty add_loom_edge_types migration — edge_type is a string
column, new Ecto.Enum values need no DB migration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fd0b36dfeat: Goal 4 - Web layer with LiveView, graph components, JSON API
LiveView pages for graph index (with filters, stats, streams) and
node detail (edges, metadata, documents). Reusable graph components
(node_card, badges, stats_panel). JSON API at /api/graph with
filtering support. PubSub subscription for real-time updates.
25 new tests (257 total, 0 failures).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
698fd1ffix: resolve credo strict issues in adapter layer
- Use Enum.map_join instead of Enum.map |> Enum.join (4 instances)
- Add number underscores: 86400 → 86_400
- Extract append_session_context/2 to reduce nesting depth
- Alias Native adapter in Loom instead of using fully-qualified names
- Replace length/1 comparisons with pattern matching/!= []
- Auto-format long lines in conformance tests and behaviour spec
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2462c11feat: Goal 10 - Loom Adapter with DecisionGraph behaviour
DecisionGraph behaviour defining the adapter contract, Native adapter
wrapping the Graph context, and Loom adapter translating UUID IDs,
confidence/agent_name to metadata, and session FK to join table.
Adds :supersedes and :supports edge types for Loom compatibility.
Shared conformance tests ensure both adapters pass the same contract.
50 new tests (237 total, 0 failures).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
02be8e7feat: Goal 5 - Init system with Backend behaviour, FileWriter, templates
Implements project initialization with explicit boundaries:
- Init.Backend behaviour: name/0, detect?/1, files/1, post_init/1
- Three backend implementations: Claude, OpenCode, Windsurf
- FileWriter: single-responsibility I/O (write_if_missing, write_overwrite,
write_executable_if_missing, add_to_gitignore, update_markdown_section)
- Validator: pre-flight checks (backends required, git repo detection)
- Version: tracking via .deciduous/.version for update detection
- Templates.Shared: config.toml, GitHub workflows, docs viewer
- Init orchestrator: thin pipeline validate -> setup -> write -> post_init
- Update module: auto-detect installed backends, overwrite files
- CheckUpdate: version comparison for upgrade prompts
- CLI commands: init, update, check-update registered in parser
- 36 new tests (293 total), 0 failures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2023-04-17 · William Randolph Hearst Greek Theatre, University of California, Berkeley
♥ Most Loved: 237 likes
2013-07-31 · Lake Tahoe Outdoor Arena at Harveys
📊 80% Set 2 · 65/70 JCs from Set 2
Last: 2025-09-19 (167d ago) · avg every 36d
Best year: 2021 — 7/7 JC
🔥 JC Streak: 2 in a row
""Theme from the Bottom" jam for a bit."
TAP TO SEE AND PLAY JAMS
Tweezer
.419
TAP TO FLIP BACK
70 jams
★
2009-05-31
13:30
Fenway Park · Boston, MA
"Theme from the Bottom" jam for a bit.
★
2009-06-07
17:07
Susquehanna Bank Center · Camden, NJ
The "Camden Tweezer." Old school, repetitive, amazing groove. Like a '92-'94 version.
★
2009-06-19
12:44
Verizon Wireless Music Center · Noblesville, IN
A very good jam eventually segues into a spacey interlude before "2001" kicks in.
★
2009-07-31
12:25
Red Rocks Amphitheatre · Morrison, CO
Diverse, tight, melodic jams.
★
2009-11-25
12:30
Wachovia Center · Philadelphia, PA
Similar to Camden's "Tweezer."
★
2009-12-29
16:34
American Airlines Arena · Miami, FL
"Manteca"-like jam into space.
★
2010-07-03
13:11
Verizon Wireless Amphitheatre at Encore Park · Alpharetta, GA
Reaches a pretty good peak and segues beautifully into "Slave."
★
2010-12-30
18:14
Madison Square Garden · New York, NY
Kind of a mixed bag until this spell-bindingly intricate, spectacular "staccato-esque" improvisation takes over.
★
2011-07-02
11:06
Watkins Glen International · Watkins Glen, NY
Unusually staccato-esque, repetitive jam, with some "elephant-like" noises from Trey thrown in.
★
2011-08-06
12:14
Gorge Amphitheatre · George, WA
Blistering jam, in part, largely Mike-driven, that segues into some serene spacey jamming, that in turn goes into "Caspian" and "Sand" before "Tweezer" returns for a minute.
★
2011-08-12
11:14
Polo Fields, Golden Gate Park · San Francisco, CA
Very well-played, with an excellent peak, and Page grooving on the clavinet as the jam goes spacey.
★
2011-09-03
14:21
Dick's Sporting Goods Park · Commerce City, CO
"Green-Eyed Lady" teases in the intro composed section by Page, and Fish teases the "Golden Age" drum line in what is a magnificently melodic jam that is quite stunning in parts. Brief hints of "Lovelight" and "Jessica." It's excellent from the very start of the jam, too. Must. Fucking. Hear.
★
2011-12-28
12:39
Madison Square Garden · New York, NY
Segues nicely out of "Carini" and features a tight, melodic, soulful jam that dissolves beautifully into "My Friend."
★
2012-08-26
13:17
Verizon Wireless Amphitheatre - Charlotte · Charlotte, NC
Enchanting, even stunningly beautiful, jam to which each band member contributes powerfully. (Listen carefully for Mike's tease of "Cars Trucks Buses" as well.)
★
2012-12-28
20:09
Madison Square Garden · New York, NY
A mesmerizingly incandescent psychedelicious soundscape of elephantine proportion.
★
2013-07-12
12:31
Nikon at Jones Beach Theater · Wantagh, NY
Page drives the jam into an outstanding peak in the final few minutes, and an excellent segue into "Cities" occurs with Fish playing the rhythm of the "Wedge."
★
2013-07-31
36:16
Lake Tahoe Outdoor Arena at Harveys · Stateline, NV
One of the most magnificently focused, sustained, and enchanting improvisations in Phish history, with several discrete sections, and audience participation taboot.
★
2013-10-20
23:46
Hampton Coliseum · Hampton, VA
Exceptional, diverse "type II" action, ending in a mellow, spacey haze.
★
2013-10-27
17:29
XL Center · Hartford, CT
Overrated by your friends, this version captivates with brilliantly melodic soloing by Trey for several minutes, before flaking out a bit, and becoming aimless. (Still worth your while to hear to be sure.)
★
2013-11-02
15:23
Boardwalk Hall · Atlantic City, NJ
Very repetitive, melodic, spirited, funky jam... check. this. OUT!
★
2014-07-13
16:00
Randall's Island · New York, NY
Slow, steady, melodic climb to a triumphant peak, and then an old school ending with a few twists.
★
2014-07-27
4:27
Merriweather Post Pavilion · Columbia, MD
Acting as the improvisational meat of a "Tweezer-fest", the jamming here takes on an uplifting, "TFTB"-esque vibe and then gets wonky and atonal before sliding into "Waiting All Night".
★
2014-12-31
17:07
American Airlines Arena · Miami, FL
Beautifully-interactive melodic jam that soars for quite awhile!
★
2015-08-01
26:01
Aaron's Amphitheatre at Lakewood · Atlanta, GA
The longest version since Tahoe is gorgeous, in part, but does meh-ander now and then, despite a section where Trey repeats a "Born On The Bayou"-esque riff, and despite the final few minutes where the jam picks up momentum before petering-out with a loop'ed noise from Trey's guitar.
★
2015-08-07
19:17
Blossom Music Center · Cuyahoga Falls, OH
Spectacular improvisation that traverses titillating terrain before mellifluously mellowing into "Lizards."
★
2015-08-09
14:17
Alpine Valley Music Theatre · East Troy, WI
Textural, repetitive improv eventually morphs into major key bliss, as Trey repeats a catchy melodic theme and the band reach a glorious peak before the jam dissolves into Dirt.
★
2015-08-22
17:36
Watkins Glen International · Watkins Glen, NY
Fierce, punchy version that soars from the get-go, with Trey employing killer effects. The jam then plateaus, and then launches into melodic, major key mode for a while before dissolving into Caspian.
★
2016-01-02
22:26
Madison Square Garden · New York, NY
With thrilling, melodic contributions from each band member, this version requires repeated listenings to fully appreciate, and peaks wondrously well.
★
2016-09-02
16:57
Dick's Sporting Goods Park · Commerce City, CO
Great intro with Trey using a wah pedal to create a cool swelling effect and the jam builds to a coordinated peak with piercing guitar and pounding drums before > to "Jim".
★
2016-10-19
16:47
Ascend Amphitheater · Nashville, TN
Funky, powerful start transitions to a melodic plateau with soaring improv.
★
2016-12-30
16:40
Madison Square Garden · New York, NY
The jam slowly, patiently builds before (similar to 10/19/16) plateauing mellifluously, exploding triumphantly, and seguing into "Sparks" (after Trey arguably teases "Midnight Rider" for a measure or two!).
★
2017-12-30
19:31
Madison Square Garden · New York, NY
Key modulates a few mins into the jam, and a bright, effortlessly soaring groove transpires. Excellent interplay by the band as well, including as the jam mightily peaks before they return to the theme and conclude it old school.
★
2018-08-03
16:26
Verizon Wireless Amphitheatre at Encore Park · Alpharetta, GA
Effect-heavy improv with layers of sounds eventually climbs, and builds, soaring to a blissful, thematic peak before grooving to an albeit brief return to the "Tweezer" theme.
★
2018-09-02
14:27
Dick's Sporting Goods Park · Commerce City, CO
An atypical (very improvisational) intro that heads into the jam segment about a minute early is just the start of a melodically-blessed version in which each band member is inspired and contributes mightily to a stellar version with heavy Manteca teases into Golden Age.
★
2018-10-20
18:40
Hampton Coliseum · Hampton, VA
Punchy from the start, this version cooks for several minutes before a major-key improvisation occurs, in which Trey hoses everyone down mellifluously. The jam then segues smoothly into a spacey, divinely-melodic interlude, and a patient, steady build transpires, eventually reaching a spectacular peak. The improv then dramatically melts down, but instead of concluding, the jam surprisingly shoots skyward to a second powerful-but-fleeting peak, before "Dirt" abruptly begins.
★
2018-10-26
20:13
Allstate Arena · Rosemont, IL
The band, like one organism, seemingly processes varying properties of a periodic waveform, or signals that contain vital information, to be shared with some other, astral, life forms. Trey shines, but all four clearly articulate, or inform the several structures, or forms of this "Tweezer's" many "pieces," which, so sutured, create a sonic sort of euphoria (the audience reactions are truly memorable).
★
2018-12-29
19:52
Madison Square Garden · New York, NY
First section features an extended, fiery jam that is akin to "I Know You Rider" (Grateful Dead) before funkily dissolving into "Death Don't Hurt Very Long."
★
2018-12-29
7:36
Madison Square Garden · New York, NY
Second section is melodic, patient, and mystical, and includes a smooth transition to "No Quarter."
★
2019-12-30
2:26
Madison Square Garden · New York, NY
Punches out of "Steam" and soars triumphantly, hearkening back to the peak of the set's opening version, before seguing into "Ruby Waves."
★
2019-12-30
35:33
Madison Square Garden · New York, NY
Symphonic in scope, this version features a host of strikingly disparate sections with tempo and key and harmonic and melodic changes galore. Inarguably among the most sublime masterpieces of improvisation in Phish's illustrious history.
★
2021-08-01
33:50
Ameris Bank Amphitheatre · Alpharetta, GA
Among the most magnificent versions in Phish history, this one's improvisation traverses a host of gloriously bedazzling galaxies that are, at times, as mind-expandingly thrilling as they are soulful and divine.
★
2021-08-13
22:22
Atlantic City Beach · Atlantic City, NJ
Soulful, soaring soloing by Trey with fierce accompaniment, this second-set-opening version arguably stays "Type I" but still delivers. Oh, if every 20 min version could pay off like this.
★
2021-09-01
34:00
Shoreline Amphitheatre · Mountain View, CA
Yet another exploratory "type II" adventure, this version's jam goes all over the globe, with segments that at times seem to have vigorous "Manteca" and "Jingo-Va" themes, and even "Lizards" and "Dave's Energy Guide" teasing and a cacphonous "Split Open and Melt" jam, that are separated by a mellow, spacey-but-mellifluous and playful, improvisation. Best listened to, closely, with headphones.
★
2021-10-24
6:16
The Forum · Inglewood, CA
It's not every day that Tweezer features a full-blown jam on another song, so this version gets charted simply for its uniqueness, segueing into "L.A. Woman" only about eight measures after the start of the jam segment (don't miss the tease of "Walk This Way" at the end of the composed opening section too).
★
2021-10-24
7:21
The Forum · Inglewood, CA
This version (which completes formation of this set's Tweezer "sandwich") begins the way any other version would though launches quickly into a jam that grooves along for a few minutes, jazziliciously yet with some melodic loops, before dissolving into a mellifluous haze, a serene code from which Birds erupts.
★
2021-10-29
19:34
MGM Grand Garden Arena · Las Vegas, NV
After beginning ordinarily enough, the jam eventually takes-on a Trey-led melodic theme reminiscent of "hose" improvisation, yet the "type I" form is maintained in a compellingly fierce manner. This theme-jam takes over four minutes to begin peaking, soaring, in a dizzyingly beautiful fashion, and then Trey turns on the syrupy envelope-filter effect, and Mike begins playing lead fucking bass, with fantastic accompaniment from Page, who then begins soloing a bit over this incredible groove being laid down by Mike, Trey and Fish around 16 mins in. Spine-tinglingly cool, repetitive, grooving takes over, and Trey begins soloing melodically o'er it before Fish returns to Tweezer's drum line, and the jam dissolves away as Trey nearly teases "Lifeboy" before Bitch begins. It's a safe bet that if this sick improv doesn't move you, then 4.0 Phish is not for you.
★
2021-10-29
3:59
MGM Grand Garden Arena · Las Vegas, NV
After Sand peaks and "goes type II," Trey leads the full-band back into Tweezer at 11:53 of the Sand (LivePhish timing; fwiw the fact that this isn't tracked on LivePhish explains why Phish.net does not rely on LP tracking for setlist purposes---it can be demonstrably, objectively, Wrong). This renewed Tweezer jam cooks for many minutes before the key modulates in "type II" fashion and the groove melodically soars anew, with a wondrously smooth segue into Sigma Oasis.
★
2022-02-24
21:37
Moon Palace · Quintana Roo, Cancun, Mexico
It's no wonder that a version that explores a variety of fantastic universes includes soaring improv heavily teasing "Lizards" for a spell.
★
2022-04-21
13:58
Madison Square Garden · New York, NY
Although "average-lengthed" among all versions e'er performed, this gem-of-a-version shines, with the first few minutes of the jam featuring steady, intermittent, "Your Pet Cat"-esque chording and comping by Trey, and a melodically charming/glittering section during which Trey sustains a note for many measures (a modest peak) over excellent accompaniment (that's never dark), before the version concludes atypically with a single chord from Trey that is sustained into the first note > of "2001."
★
2022-04-21
1:43
Madison Square Garden · New York, NY
Your Pet "Tweezer" returns, buzzing, if not quite purring, for a few more minutes.
★
2022-05-29
22:13
The Wharf Amphitheater · Orange Beach, AL, US
Jam is fairly straightforward for the first few minutes, but then there's a key modulation (type II activity afoot) and a funkaliciously melodic bridge of sorts occurs, before Page hops on the synth and Trey deploys some echoflex and then envelope filter effects. Soon melodic tension builds--slllowwwly though--courtesy of Page Mike and Trey, until there's a massive Floyd-esque echoplextastic dissonant sustained release/peak, of sorts. OF SORTS. Make no mistake: communities of ALIENS were contacted during this jam.
★
2022-07-31
18:50
Merriweather Post Pavilion · Columbia, MD
Straightforward jam until 9:15, when the key modulates and an "All Along The Watchtower"-esque progression takes shape (an ajamakinto "Watchtower," but no musical quote of its melody so no tease). They jam on this "Watchtower" progression for many measures, going "type II" to an extent in the process though Fish returns briefly within it here and there to "Tweezer's" drum line. Then there's another key modulation and Trey begins soloing melodically o'ertop beautiful accompaniment from Page, Mike and Fish. This improv eventually gels around an enchanting theme before the key modulates yet again and a steady, dark, heavy "type II" jam ensues. Fish soon brings back "Tweezer's" drum line, and Trey Mike and Fish briefly to "Tweezer's" melodic line and comping, as this jam fizzles out and "Wingsuit" begins after sustain.
★
2023-04-17
43:37
William Randolph Hearst Greek Theatre, University of California, Berkeley · Berkeley, CA
Continuing along its 30 year trajectory of functioning as a great excuse to jam, the Greek Tweezer is another historic version that not only overflows with ideas in showcasing the band's commitment to excellence, but also swells and soars with (at times) wonderfully weird improvisation, brimming with dynamic reverence for proximity to the burning shore.
★
2023-07-15
29:14
Ameris Bank Amphitheatre · Alpharetta, GA
Phish's 2023 "Tweezer" rampage continues with yet another monster version from Alpharetta. Stutter-step delay grooves, kaleidoscopic psych-bliss, and big-boned muscular funk form this delightfully hearty stew before a heroic, guitar-laden hard rock strut brings it all home. ->"Golden Age".
★
2023-07-23
27:32
St. Joseph's Health Amphitheater at Lakeview · Syracuse, NY
Begins with a brief major tangent but then reverts to a typically rocking "Tweezer" jam, albeit in a different key, then finds its footing again with a segment anchored by Trey's off-kilter, cyclical lead. From there, it builds more conventionally until the main riff returns, seemingly to bring things to a close, but the band really makes a meal out of this denouement by running through different permutations of the "Tweezer" theme, reintroducing Trey's mid-jam riff, and closing with a Moog-ified final volley, then -> "Oblivion".
★
2023-08-05
5:19
Madison Square Garden · New York, NY
Opening composed section and early part of the jam segment before Mike begins "Guy Forget."
★
2023-08-05
0:46
Madison Square Garden · New York, NY
"Type II" improv continues after the "Guy Forget" silliness ends, sounding absolutely nothing like "Tweezer" for several minutes (and then only Fish temporarily returns to "Tweezer's" drum line for a few measures). Collective "full-band" improv at its finest, with each band member complementing each other so well the improv at times sounds like it could have been composed, even as it soars through several key modulations and time signatures. Yet another masterful version, providing further evidence that "Tweezer" is Phish's most consistently wondrous jam-vehicle since 2009.
★
2023-10-13
15:55
United Center · Chicago, IL
> from "Waves". In a rare spot as the third song in the second set, this (relatively) compact version packs a big punch. The band locks into the jam quickly and seamlessly. Around 11:20, Trey weaves back to the Tweezer riff, giving off this version might be incredibly compact. Instead, he pivots on a dime to a life-affirming major key jam. > into a fierce "Crosseyed".
★
2024-04-18
25:22
Sphere · Las Vegas, NV
> from "Sand." As if the band wasn't going to drop a huge version of "Tweezer" at the Sphere. A fun and bouncy jam becomes triumphant around 17:00 with an incendiary Trey peak. Immediately afterward, things slow down and the "Tweezer" riff emerges. What follows is must-hear as the band has an extended outro, staying within the bounds of "Tweezer" until it has been fully deconstructed. The deconstruction eventually -> into "My Friend, My Friend."
★
2024-07-30
41:06
Chaifetz Arena, Saint Louis University · St. Louis, MO
Another massive entry in the (almost) 40 min club spends ample time mining deep crevices, discovering diverse bits of melodic beauty, and exploring riff laden spaces, before Trey and the band finally lock onto an ecstatic progression that takes the band through a series of peaks so gorgeous and gratuitous, the stunned crowd responds with a full minute and a half of ravenous applause
★
2024-08-09
24:08
Bethel Woods Center for the Arts · Bethel, NY
Like a labyrinthine Hall of Mirrors, this "Tweezer" shifts through several
moods and themes in impressionistic fashion. Fishman's cerebral, yet
grounded grooving keeps the ship afloat as the band modulates between
locked-in funk, abrasive dissonance, nearly rudderless psychedelia and
finally a super catchy, Allman Brothers-inflected country rock section that
turns anthemic. This then resolves back to the "Tweezer" theme and > a
powerful "Pillow Jets".
★
2024-08-09
2:49
Bethel Woods Center for the Arts · Bethel, NY
-> from "Pillow Jets," Trey and Fish work their way into a snappy, musical and inventive "Tweezer" segment featuring rather cool contributions from Mike and Page. Fish is just fantastic and clearly having a blast, while Trey does his thing. A bit by way of noise drops; Trey strums; and the band -> into just what you'd want: "Piper." // Part "Piper" and "song-"outro, a return to the iconic "Tweezer" riff unquestionably caps this incendiary Summer 24 segment.
★
2024-08-17
19:30
The Woodlands · Dover, DE
The second of a potent 1-2-3 punch, this "Tweezer" initially stews
in layered psychedelic funk fitting for its festival setting, before shifting
towards eruptive, celebratory rock. Mike's seismic bass bombs provide a
platform for Trey's pumped-up blues rock heroics, before a return
to the "Tweezer" theme signals a denouement, dissolving into scratchy
guitar loops and > "Scents and Subtle Sounds".
★
2025-04-23
30:35
Bill Graham Civic Auditorium · San Francisco, CA
In contrast to some of the other monsters of recent years, this version stays tethered to "Tweezer" (or something close to it) for an extended period before it gradually peels away, but even while the jam remains within arm's reach of home, the play is fresh and engaging. From there the band embarks on an adventurous journey marked by constant evolution which flows remarkably well, making every new section feel like an organic extension of the same piece, all without relying on any of the well-worn paths one might expect a jam of this length to indulge in. And while this dynamic does not lend itself to a singular peak, the jam is ripe with recurring motifs and themes despite its freewheeling nature, perhaps culminating around 24:30 with Trey's long sustained note over a "MLB"-esque descent. > "Lonely Trip" to end this exhilarating ride.
★
2025-06-22
21:06
SNHU Arena · Manchester, NH
The first leg of a three-part "Tweezer" begins with a playful, bouncy groove buoyed by chunky bass and chugs along in an easy-going manner until briefly slowing as it transitions back to minor for more typical "Tweezer" riffing. After 12:45 the jamming steadily gains traction with a new direction as an excellent rocking theme is developed and driven home with great aplomb until it dissolves > "Mercury".
★
2025-06-22
7:44
SNHU Arena · Manchester, NH
> from a strong "Mercury" as the second leg of a three-part "Tweezer" bonanza. This section is largely "Type I" but with plenty of synthy flourishes and adds in a splash of ambience in the finals minutes before > "Pillow Jets".
★
2025-06-22
13:05
SNHU Arena · Manchester, NH
Slowly emerges > from "Pillow Jets" for the third and final time in a "Tweezer"-dominated set, and is quickly reduced to an eerie hush. Creepy effects are gradually added to the mix as the off-kilter energy builds until eventually Fish kicks back in and the riff returns to usher in a climactic finale, after which it dwindles in the old-fashioned way to put a capper on a collective 42 minutes of "Tweezer" action.
★
2025-07-13
29:47
North Charleston Coliseum · North Charleston, SC
Leaves the station after a bit of funk, coalescing around a spacey synth section over which Trey solos melodically. The jam then seems poised to return home at 15:00, but relaunches with more rugged riffing before eventually closing strongly with a celebratory peak and the reemergence of the "Tweezer" riff which unravels -> "Ghost".
★
2025-09-19
27:58
Hampton Coliseum · Hampton, VA
More than anything, this jam is defined by the wall of loops Trey builds from around 11-16min wherein the band executes one of the most unique peaks of the year. It's dimly lit as Mike roots everything through ominous playing, but the combo of wild loops and synths on top gives the impression of contained madness akin to the HAL 9000 systematically betraying the Discovery One. Moving from the peak of the jam, the back half is fairly standard in nature but accentuated by each member giving it their all. Perhaps not the most transgressive music you've heard from The Phish From Vermont, but the A for Effort is real here. Closing with a shreddy, psychedelic, 2.0 style peak, we return to the "Tweezer" riff on a high before fading > into a perfectly placed "Ruby Waves."
★
2025-09-19
5:05
Hampton Coliseum · Hampton, VA
Returns > from "NMINML" with plucky synth-funk which transitions to a more calming, upbeat vibe before concluding > "Waste".
Disappointed that War does not lead to actual combined-arms conflict.
jeff
04:01 AM
that would be hard to conjure
jeff
04:02 AM
I am so excited that this works and is a successful combination of windows and old apple lol
Uechi Nerd
04:02 AM
Probably for the best, actually. That shit is very very messy.
Uechi Nerd
04:02 AM
I am intrigued and happy it works!
Uechi Nerd
04:03 AM
I respect the wizardry.
Visitor7804
04:05 AM
this is delightful.
jeff
04:06 AM
hell yeah visitor 7804, this is livin' brother
guy4get
04:07 AM
i've never felt so alive
EarlofVincent
04:09 AM
Commencing experiment in 3....2....
jeff
04:14 AM
1
leah
04:16 AM
hi!
leah
04:16 AM
this is lovely
jeff
04:21 AM
hi! lol I was just like what if I combined Mac and windows and added a flower tree of life and called it my homepage and then smoked some weed and made it happen in an empty mall in Connecticut
B. Droptables
10:51 AM
Always cool to play with your toys.
Visitor1128
08:47 AM
yo!
Visitor1128
08:48 AM
i can barely work my phone. what am i doing here?
jeff
09:04 AM
the phone is not optimized yet but it "kind of works" I am sorry lol
jeff
09:04 AM
you have to pick a username, then it goes to the chat, then if you hit the bottom tabs it'll let you go to the app sections.
Bobdawg
04:43 AM
Hi everybody this is my blog I hope you enjoy it I did some more changes and anyone can write a post here now for me.
dinkleberg
01:45 AM
ALL HAIL TREE OF LIFE
jeff
08:55 PM
hi Hacker News
jeff
04:28 PM
hey there I am not really Jeff
Mal Function
05:34 PM
Hey! Please reveal... how exactly do I actually use losselot on my Mac? I've run the git clone commend in Terminal.app and seem successfully to have installed into a new <losselot> sub-folder in my home folder but now???