--- name: table-filler description: | Fill `outline/tables_index.md` from `outline/table_schema.md` + evidence packs (NO PROSE in cells; citation-backed rows). **Trigger**: table filler, fill tables, evidence-first tables, index tables, 表格填充, 索引表. **Use when**: table schema exists and evidence packs are ready; you want a compact, citation-backed index table to support later writing and Appendix table curation. **Skip if**: `outline/tables_index.md` already exists and is refined (>=2 tables; citations in rows; no placeholders). **Network**: none. **Guardrail**: do not invent facts; every row must include citations; do not write paragraph cells. --- # Table Filler (index tables, evidence-first) Goal: produce `outline/tables_index.md` as an internal, citation-backed index. This file is a *planning/traceability artifact*: - it is useful for debugging coverage and for quickly seeing what evidence exists - it should NOT be pasted into the paper verbatim Reader-facing tables belong in `outline/tables_appendix.md` and are curated by `appendix-table-writer`. ## Default mode: semantic (LLM-first) Treat this as filling a table artifact from evidence packs: - restate evidence pack content in compact cells - attach citations in the row (avoid cite-dump paragraphs) ## Workflow (explicit inputs) - Read `outline/table_schema.md` first (it defines what each table must answer). - Use `outline/subsection_briefs.jsonl` + `outline/evidence_drafts.jsonl` to fill the subsection map and pick in-scope citations. - Use `outline/anchor_sheet.jsonl` to fill the anchor-fact table (prefer quant/eval hooks). - Validate cite keys against `citations/ref.bib`. ## Inputs - `outline/table_schema.md` - `outline/subsection_briefs.jsonl` - `outline/evidence_drafts.jsonl` - `outline/anchor_sheet.jsonl` - `citations/ref.bib` ## Output - `outline/tables_index.md` ## Output format contract `outline/tables_index.md` must: - contain >=2 Markdown tables - use a caption line before each table, e.g. `**Index Table 1. ...**` - contain no Markdown headings (`#`, `##`, `###`) unless you explicitly want them for internal readability - include citations in rows using `[@BibKey]` - avoid placeholders (`TODO`, `...`, `…`, scaffold comments) - avoid paragraph cells (short phrases; use `
` sparingly) ## What to fill (recommended defaults) 1) Subsection map (axes + representative works) - Axes come from `subsection_briefs.axes`. - Representative works come from citations in the evidence pack. 2) Concrete anchors (benchmarks / numbers / caveats) - Anchor facts come from `outline/anchor_sheet.jsonl` (curated, citation-backed). - Representative works come from citations in the anchor sheet (or the evidence pack as fallback). ## Common failure modes - Cells become long prose - Fix: compress into short phrases; move narrative explanation into prose sections. - Rows cannot be filled without guessing - Fix: treat as an evidence gap (route to `evidence-selfloop` / `evidence-draft`) OR narrow the schema. ## Script (optional bootstrap) ### Quick Start - `python .codex/skills/table-filler/scripts/run.py --help` - `python .codex/skills/table-filler/scripts/run.py --workspace workspaces/` ### All Options - `--workspace ` (required) - `--unit-id ` (optional; used only for runner bookkeeping) - `--inputs ` (optional; override inputs) - `--outputs ` (optional; defaults to `outline/tables_index.md`) - `--checkpoint ` (optional; ignored by the bootstrapper) ### Examples - Bootstrap index tables (default output path): `python .codex/skills/table-filler/scripts/run.py --workspace workspaces/` - Write to a custom index file (rare): `python .codex/skills/table-filler/scripts/run.py --workspace workspaces/ --outputs outline/tables_index.md` Notes: - The script is deterministic bootstrap; treat the result as an internal index artifact. - Curate reader-facing Appendix tables separately via `appendix-table-writer`.