galaxyproject / galaxyproject/loom

UX decision log: chat vs. notebook discipline

Open
#15 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
14
Forks
12
Avg merge
6d 5h
Merged PRs (30d)
17

Description

Running log of design decisions for the **\"chat is for dialogue, notebook is for substance\"** split. Intended as seed material for user-facing documentation once the behavior stabilizes.

## Rationale

Chat becomes unreadable once the agent dumps multi-paragraph results or large tables inline. The notebook is already the durable artifact (git-tracked markdown, typed `report_result` blocks, per-phase structured entries). The fix is behavioral, not architectural — the plumbing already exists.

## Decisions (from nekrut:testing/all-prs design session)

| # | Question | Decision |
|---|----------|----------|
| 1 | Chat → notebook jump link per result? | **No.** Plain \"(added to notebook)\" suffix. User opens the Notebook tab themselves. No anchor IDs, no scroll-to-block plumbing. |
| 2 | Chat narration length when a notebook write happens? | **Agent's discretion.** System prompt nudges brevity (1-liner or 1-2 sentences) — agent picks based on significance. |
| 3 | Scope of \"send to notebook\" rule? | **Phase outputs auto** (Phase 1-5 tool calls: literature, samples, decisions, findings, methods). **Ad-hoc Q&A stays in chat.** **User-opt-in** for anything else (\"save this to notebook\"). |
| 4 | Failure mode if agent ignores the rule and dumps a big table in chat? | **Leave it alone.** No auto-collapse, no auto-mirror. Trust the agent; accept occasional slip-ups. |

## Implementation

System-prompt-only change in \`extensions/loom/context.ts\` — adds a \"Chat vs. Notebook\" section to both the no-plan and active-plan branches. No new tools, no new UI, no renderer changes.

## Not decided / future revisit

- Whether ad-hoc Q&A that goes on for 3+ paragraphs should still be notebook-ified (user currently says no; may revisit if chat becomes a scroll-hellscape anyway)
- Whether to add a dedicated \"save to notebook\" shortcut/slash command for the user-opt-in path, vs. relying on natural-language triggers
- Whether the Notebook tab activity dot is sufficient visual cue, or if a chat-side \"N new notebook blocks\" pill would help

## Related

- #13 (dynamic model list — infra)
- #14 (`/lit` literature MCP — produces Phase 1 content that must flow through this chat/notebook discipline)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.