No model typed the numbers in this report
Press Report instead of Ask and Rutba Assistant writes a spreadsheet into your own Drive, with a native chart and a Sources sheet. The model chooses the layout; every figure is carried across from the recorded responses.
· 4 min read

A chat answer is not something you can send to a board. The finance director who asked which regions missed budget this quarter wants a file: a table, a chart, something that opens on anybody’s machine and survives being forwarded twice. Copying figures out of a chat panel into a spreadsheet is exactly the kind of re-typing the assistant was supposed to remove.
So Rutba Assistant has two buttons. Ask answers in the panel. Report answers with a spreadsheet, written into your own Drive, with a native chart and a sheet listing every call its figures came from.
The model chooses the shape, never the figures
The obvious way to build this is to ask the model for a spreadsheet. It is also the way that goes wrong quietly: a model emitting a table can round a figure, swap two rows, or produce a total that is almost right, and the citation underneath still looks perfect.
So the work is split. The model decides the structure — which table, which chart, what to call each, what order they go in. The values are carried across verbatim from the responses the calls actually returned, which the assistant recorded while answering. The model never types a number into the file.
Structure is a judgement; a figure is not.
It renders the conversation. It fetches nothing
A report does not go back to your records for a second look. Everything in it came from a call already made while answering, and there is deliberately no second gathering pass. A report that re-queried could disagree with the answer that produced it — a sale posted in the minute between the two — and the reader would have no way to tell which was right.
A chart that re-plots when somebody edits a figure
The chart is a real chart in the file, not a picture of one. When the person you sent it to corrects a figure or adds a row, the chart moves with it, the way a chart they had built themselves would. A picture of a chart is out of date the first time anybody touches the numbers beside it.
Figures are formatted the way the same figure reads on screen, and the file is written by the same document writers the rest of the suite uses — the ones we check against what Excel and Word actually do with a file, for the reasons we gave when we built Rutba Office.
The sources travel inside the file
Every section of the report carries the call it was built from, and the last sheet, Sources, lists them. That matters most for the reader who never saw the conversation: the board member who opens the attachment can see that the regional figures came from the budget-against-actual report and the invoice summary, and ask somebody with access to open the same screens.
It is the same promise every answer makes, carried into a document that outlives the chat.
Refused before anything is built
A report you are not allowed to produce should fail at the door, in the door’s own words — not after you have waited for a file to be assembled. So the order is fixed, and every check comes before the first byte is drawn:
- Read your Drive — is Drive licensed and reachable at all.
- Find or create the folder the report goes in.
- Create the file — the check that says whether you may put it there.
- Only then, render the spreadsheet.
- Save it as the file’s first version.
The tidy-looking order — build the file, then upload it — produces exactly the failure this avoids: a person waits, and is then told they were never allowed to have it, in a renderer’s error rather than a sentence they can act on. The cost of doing it this way round is that a rendering fault can leave an empty file in Drive. That is our bug, it is visible, and it goes in the bin.


