Deal Desk Traceability

Deal Desk · audit run 12 Nov 2026 · demo deal POD-2026-900

Deal Desk traceability

Every price, date, name, service and term in the seven documents traces back to an input you control, and the arithmetic held under every test. No dollar figure is typed in a template. What is fixed in code is the wording around those values: labels, billing-rule sentences and the contract frame. Twelve gaps are listed below to set aside for a separate session; two are display defects.

The documents, word by word

A demo deal rendered by the real pipeline on PeakOne's live settings and price book, for a fictional client. Each input value was changed on its own and all seven documents rendered again; a word is colored by the input that moves it. Click any word to see its source and where to change it. Dotted grey words move with no input: they are typed in the templates.

From a spreadsheet cell to the page

The path one number takes. The monthly fee is typed once, in Excel; nothing downstream holds its own copy.

1 · Excel

Offer!B8

Recurring price for V1 in the deal sheet workbook on SharePoint.

2 · Pull

console/sheets/parse.mjs

Reads named cells, refuses cents, text, unknown services and broken discounts, drops costs and held versions.

3 · Import file

sheet.json

versions[0].recurring = 7000, with the workbook version it came from.

4 · Model

renderer/model.js

Adds add-ons, builds the signing invoice ($999 + $250 + $7,000 = $8,249) and change-order deltas in whole dollars.

5 · Templates

templates/

Format and place model fields. They do no pricing.

6 · Check

renderer/check.js

Re-renders and compares fees, text and hashes before a run is published.

Change a cell, watch the documents

Each row is one edit made in the workbook as a person would in Excel, then pulled and rendered. A lit document printed the old value before and prints the new one after; a dim one never prints that value.

CellFieldChanged toResultDocuments updated

Stress tests

Run in the project's own Docker images against the real code, with fixed random seeds.

TestSizeResultWhat it shows

Gaps to set aside

Nothing here was changed. Each is evidence for a separate session.

Every input value and where it lands