Path(raw).name reduces '..'/'.'/'' to themselves, so basename extraction alone still let a Graph-provided display_name of '..' or '../' escape the temp recording directory (tmp_dir / '..' resolves to the parent). Reject the dot-only basenames explicitly and fall back to the artifact id. Extends @outsourc-e's regression coverage with the dot-only cases.