{"id":"data2-data-dictionary-orders-table","audience":"analysts","category":"data","track":"data","technique":"grounding","level":"intermediate","title":"Write a data dictionary table from cryptic column names","free":false,"task":"You're documenting the orders table for new analysts. Write a markdown table with columns Column, Plain name and What it means, one row per column, in plain text apart from the table, under 130 words. Use only what the notes say. If the notes don't explain a column, write 'Unknown - ask the owner' in What it means rather than guessing.","materialLabel":"Table notes (attached to your prompt automatically)","material":"Table: ord_fact (Larchmont Retail warehouse)\n\nColumns:\nord_id, cust_ref, amt_c, st_cd, ts_cr, disc_flg, chn, ref_xx\n\nFrom the migration doc (2022):\n- ord_id: unique order number, one row per order.\n- cust_ref: links to the customer table's cust_id.\n- amt_c: order total in cents, before tax.\n- st_cd: order status code. 1 = placed, 2 = shipped, 3 = delivered, 9 = cancelled.\n- ts_cr: when the order was created, stored in UTC.\n- disc_flg: 1 if any discount code was used, else 0.\n- chn: sales channel (web, store, phone) - the doc lists only these three values.\n\nNothing in the doc mentions ref_xx. A teammate guessed it's \"refund\", but nobody has confirmed that and the column is empty for 70% of rows.\n\nReminder: some dashboards divide amt_c by 100; others forgot to.","rules":[{"type":"plainText"},{"type":"maxWords","max":130}],"mistakes":[{"title":"Guessing the unknown column","why":"The AI calls ref_xx 'refund reference' because a teammate said so.","fix":"Add: \"If the doc doesn't explain a column, write 'Unknown - ask the owner'.\"","checks":["r0"]},{"title":"Dropping the units","why":"The AI writes 'order amount' without saying cents or before tax.","fix":"Add: \"Include units, status codes and the UTC time zone.\"","checks":["r1"]},{"title":"Leaving columns out","why":"The AI documents only the obvious ones or merges rows.","fix":"Add: \"One row for each of the 8 columns.\"","checks":["r2"]},{"title":"Leaving the format to chance","why":"The AI picks its own length and layout unless told the exact shape.","fix":"Add: \"Plain text, no bold or headings.\"","checks":["plainText"]},{"title":"Trusting the AI to count words","why":"AI is bad at counting. Ask for a total word limit and it often lands over it.","fix":"Cap each part instead, for example \"each line under 15 words.\"","checks":["maxWords"]}],"promptHints":[{"label":"Names the columns","patterns":["column ?\\||plain name","what it means"]},{"label":"Says use only the doc","patterns":["only (from|what)|migration doc","doc","notes"]},{"label":"Handles unknowns","patterns":["unknown","ask the owner","don.t guess"]},{"label":"Asks for units","patterns":["cents","utc","units"]},{"label":"Caps the cells","patterns":["under \\d+ words","each cell"]}],"hint":"Documentation is where AI invents. Tell it to mark unknowns rather than guess, and cap each cell.","mission":"Document the columns of this table.","musts":["One row per column","Units and codes included","Unknown stays unknown"],"rubricLabels":["The table has columns Column, Plain name and What it means, with one row for each of the 8 columns (ord_id, cust_ref, amt_c, st_cd, ts_cr, disc_flg, chn, ref_xx)","The meanings include the key facts: amt_c is cents before tax, st_cd 1/2/3/9 map to placed/shipped/delivered/cancelled, and ts_cr is UTC","The ref_xx row says 'Unknown - ask the owner' and does not describe it as refunds"]}