From f641cc267e4f4621ff24d9c8d1823dcaddf91e21 Mon Sep 17 00:00:00 2001 From: Mathieu Virbel Date: Tue, 10 Feb 2026 19:48:52 -0600 Subject: [PATCH] Add room_name to meeting table examples in docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Include room_name as a column in meeting DataFrames — it shows the virtual room name and helps identify meeting location when title is generic or missing. --- docs/notebook-patterns.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/notebook-patterns.md b/docs/notebook-patterns.md index 2f74464..e1777e2 100644 --- a/docs/notebook-patterns.md +++ b/docs/notebook-patterns.md @@ -394,6 +394,8 @@ Meetings have a `participants` list where each entry may or may not have a resol **Strategy:** Query by `contact_ids` to get meetings with resolved participants, then optionally do a client-side check on `participants[].display_name` or `transcript` for unresolved ones. +> **Always include `room_name` in meeting tables.** The `room_name` field contains the virtual room name (e.g., `standup-office-bogota`) and often indicates where the meeting took place. It's useful context when `title` is generic or missing — include it as a column alongside `title`. + ```python @app.cell def fetch_meetings(fetch_all, DATAINDEX, target_id, my_id): @@ -413,7 +415,8 @@ def meeting_table(resolved_meetings, target_name, pl): _names = [_p["display_name"] for _p in _participants] _rows.append({ "date": (_m.get("start_time") or _m["timestamp"])[:10], - "title": _m.get("title", _m.get("room_name", "Untitled")), + "title": _m.get("title", "Untitled"), + "room_name": _m.get("room_name", ""), "participants": ", ".join(_names), "has_transcript": _m.get("transcript") is not None, "has_summary": _m.get("summary") is not None, @@ -654,6 +657,7 @@ When generating marimo notebooks, follow these rules strictly. Violations cause - **Import stdlib modules in `setup` too** — even `from datetime import datetime` creates a top-level name. If two cells both import `datetime`, marimo errors. Import it once in `setup` and receive it as a parameter, or use it inside a `_`-prefixed helper function where it's naturally scoped. - **Every non-utility cell must show a preview** — see the "Cell Output Previews" section below. - **Use separate display cells for DataFrames** — the build cell returns the DataFrame and shows a `mo.md()` count/heading; a standalone display cell (e.g., `def show_table(df): df`) renders it as an interactive table the user can sort and filter. +- **Include `room_name` when listing meetings** — the virtual room name provides useful context about where the meeting took place (e.g., `standup-office-bogota`). Show it as a column alongside `title`. - **Keep cell output expressions at the top level** — if a cell conditionally displays a DataFrame, initialize `_output = None` before the `if`/`else`, assign inside the branches, then put `_output` as the last top-level expression. Expressions inside `if`/`else`/`for` blocks are silently ignored by marimo. - **Put all user parameters in a `params` cell as the first cell** — date ranges, search terms, target names, limits. Never hardcode these values deeper in the notebook. - **Declare cells as `async def` when using `await`** — `@app.cell` followed by `async def cell_name(...)`. This includes cells using `asyncio.gather`, `await llm_call(...)`, or any async API.