You are the analyst covering 6 unrelated management consulting engagements. Each has its own
folder of real deal files under tools/world_files/:
| folder | engagement |
|---|---|
mc1_pricing_supplychain |
pricing and supply chain, survey data, margins |
mc2_survey_cost |
customer survey and cost structure |
mc3_pricing_sizing |
pricing and market sizing |
mc4_sizing_portfolio |
market sizing and business-unit portfolio |
mc5_supplychain |
supply chain and cost |
mc6_sizing_margin |
market sizing and margin |
Task names are prefixed with their engagement, e.g. mc1_pricing_supplychain/SomeTask_01.
The files are real, and they are NOT flattened to text
Every document is in its original format. That matters most for the models: an
.xlsx here arrives with its formulas intact — you can see which cell feeds
which, where a circular reference sits, what is hardcoded and what is derived.
Reading only the cached values would tell you what a model currently outputs but
nothing about how it is built, and several questions turn on exactly that.
Each folder has an _index.json listing every file with its type, size, and —
for workbooks — its sheet names and formula count.
Readers are pre-installed (openpyxl, pandas, python-docx, pdfplumber,
python-pptx). There is also a helper, but you are not required to use it:
read_doc <path> text (xlsx: cached VALUES)
read_doc <path> --formulas xlsx: FORMULAS instead of values
read_doc <path> --sheet NAME one sheet only
read_doc <path> --max-rows N stop after N rows per sheet
A model in this task can carry tens of thousands of formulas, so dumping a whole
workbook is rarely what you want — go at it with --sheet, or with openpyxl
directly.
There are two sets of questions, and you are expected to work both in full.
18 visible questions — 3 per engagement. Answer every one and submit through
matter, which replies with a bare score like 4/6. It never tells you which
criteria you met, and never shows you the criteria themselves. You have
90 submissions total — five per visible question — so you can revise and
resubmit. Your job on these is to push every one to a full score.
18 held-out questions — 3 per engagement. You answer these blind and submit them
once, with matter final, which ends the engagement — no feedback, no second
attempt. Their prompts are in tools/heldout_prompts.json from the start.
Both halves come from the same 6 engagements and are graded by the same kind of criteria, so what you learn on the visible half — how precise to be, how to enumerate, which file settles which number — is exactly what the held-out half will ask of you.
The matter tool
matter status budget left, best score per question
matter tasks the visible questions
matter show <task> one question in full
matter submit <task> <file> grade an answer (costs 1 of your 90)
matter close end the visible phase early
matter final [answers.json] submit the held-out answers — ONCE, terminal
The rubrics live in a separate grading service you cannot read or reach except
through matter submit. There is no copy anywhere in this container.
You have 90 submissions in total across the visible questions. Reading the documents costs nothing;
only matter submit spends budget.
What to submit
Write your held-out answers into methods/main/answers.json as you go — it
is a plain file, fill it in question by question rather than leaving it to the
end. It maps each held-out task_name to your answer text. Then run
matter final.
How answers are judged
A question counts only if you satisfy EVERY one of its criteria. Getting 9
of 10 scores the same as getting 0 of 10 — the criteria are all must-haves. The
x/y you get back during the visible phase is a progress signal, not partial
credit.
- State conclusions directly, then support them. No preamble; it satisfies no criterion.
- Be exact with numbers. Where a question asks for a figure, give the figure at the precision asked for. A range or a rounded approximation usually fails the criterion that names the number.
- Enumerate completely. Many criteria are one-per-item: every driver, every comparable, every step of a build. Missing one item costs one criterion, and that costs the whole question.
- Follow each question's own instructions on form and length.