In Jupyter, call galileo_context.flush() at the end of the notebook or the last traces never leave the session; a notebook that looks finished can still hold unflushed spans. Treat project and log-stream names as case-sensitive everywhere: a lowercase variant silently creates or misses a different stream. The raw Galileo API does not retry failed log calls, so wrap logging in exponential backoff in your own code. Keep metadata a flat map of strings; nested objects are not supported. Mask or exclude PII before logging traces, since experiment log streams are readable by project members.

Context: Official docs (rungalileo/docs-official FAQ): documents the notebook and API gotchas that cost people traces: Jupyter sessions must flush the context explicitly, project and log-stream names are case-sensitive, and the raw API does not retry, so implement backoff yourself. Metadata must be a flat string map, and PII should be masked before logging.