Parent
#268
What to build
Implement the new compact to_markdown() on StructuralProfileResult. At this slice, it produces a Markdown document with two sections: a Dataset Overview (all scalar dataset-level fields from DatasetStats — row count, column count, memory bytes, duplicate count/ratio, overall sparsity, was_chunked, row missingness distribution — but no memory_breakdown dict and no missingness_matrix) and a Column Summary table with one row per column showing name, semantic type, missing %, severity, and flags. No per-column detail sections yet.
Acceptance criteria
Blocked by
Parent
#268
What to build
Implement the new compact
to_markdown()onStructuralProfileResult. At this slice, it produces a Markdown document with two sections: a Dataset Overview (all scalar dataset-level fields fromDatasetStats— row count, column count, memory bytes, duplicate count/ratio, overall sparsity, was_chunked, row missingness distribution — but nomemory_breakdowndict and nomissingness_matrix) and a Column Summary table with one row per column showing name, semantic type, missing %, severity, and flags. No per-column detail sections yet.Acceptance criteria
to_markdown()returns a valid Markdown string with a## Dataset Overviewsection containing only scalar fields (nomemory_breakdown, nomissingness_matrix)to_markdown()includes a## Column Summarytable with one row for every column inresult.columnsrow_count,memory_bytes,duplicate_ratio,overall_sparsityand does NOT contain per-column memory bytes or the missingness matrixBlocked by