Vocabulary
- Task
What you want, in your words. “Find pupils whose score fell two terms in a row and flag anyone below 60.” A task names columns and conditions, not people or values.
- Approved context
The material you have reviewed and chosen to send to the remote AI: the task text, the structure of the data it refers to, and shareable development material. Approval is your review step. It is not a filter that makes private content safe.
- Structure
Table names, column names and types. Structure lets a job address the right columns without seeing any values. Column names can themselves be revealing, which is why you see them before they go.
- Shareable development material
Invented example rows and checks, generated independently of your workbook, that let the AI test its own job. Nothing in it comes from your data.
- Job
A small program the AI writes for your task. It arrives as readable steps and as source. You read it before it runs. A job can read the table you pointed at, compute, and propose output; it cannot reach the network.
- Run
One execution of a job on your computer against a specific snapshot of your data. A run can finish, be cancelled, fail, or pause. Each outcome says what was and was not done.
- Snapshot and revision
A run reads a snapshot of the inputs it needs. If you edit a cell meanwhile, the sheet has a new revision; the run either keeps its snapshot or explicitly re-reads, and tells you which.
- Pause and observation
A job can stop at a condition you asked for. At the pause, it reports the state that led there: a bounded explanation with the specific row or event that triggered it. Observations stay local.
- Intervention and scenario
At a pause you can change an assumption or a value and continue as a named alternative. The original is the baseline; the changed version is a scenario. They are kept apart and compared explicitly.
- Local explanation
A description of a result written on your computer by the job, from the data it saw. It is not an AI reading your results, because the AI does not receive them.
- Keep and apply
Keeping an experiment's job, scenario or result retains it in your session. Applying writes selected results into a declared area of your workbook. They are separate steps; applying always asks.
- Session
The container for an investigation: your task, the job revisions, snapshots, observations and scenarios. A session is not a single run; runs come and go inside it.
For technical readers
Jobs are programs in Scheme, a small Lisp-family language chosen because its programs are short, inspectable and easy to reason about. SparkBench runs them with its own runtime, written for the browser JavaScript environment that Excel add-ins live in, inside a web worker. Excel access is brokered: the job asks for a declared input and proposes a declared output; it does not hold a handle to the workbook.
The language target is the complete R7RS-small standard with named exclusions for capabilities that do not belong in an Excel add-in, such as file-system access and process exit. The current runtime is a documented partial profile on the way to that target; it is not full conformance, and no page on this site should be read as claiming it.
Source that captures private values is treated as private, whatever field it travels in. Public, independently synthetic tests are a separate shareable branch of development material.
What a job looks like, illustratively
Illustrative sketch, not output of the product. Names and shapes will differ.
(define (two-falls? t1 t2 t3 min-fall)
(and (>= (- t1 t2) min-fall)
(>= (- t2 t3) min-fall)))
(define (flag-row row threshold min-fall)
(let ((t1 (cell row "Term 1"))
(t2 (cell row "Term 2"))
(t3 (cell row "Term 3")))
(and (two-falls? t1 t2 t3 min-fall)
(< t3 threshold))))
(for-each-row "ReadingScores"
(lambda (row)
(when (flag-row row 60 1)
(emit-result row))))
The point of the sketch is the shape: small named steps, explicit inputs, a declared output. The explanation a user sees is produced by the running job from the rows it processed, here on the user's machine.