Live
An IG-XL program lives in an open Excel workbook, so that is where ATE·IQ goes. A task pane reads the sheets as context. A local bridge streams the live VBProject — including unsaved edits. A 33-rule registry reviews the VBA. Everything runs against the workbook you actually have open, on your own machine.
One installed application serves two Excel surfaces: the task pane,
an Office add-in sideloaded from manifest.xml and embedded in the
workbook window, and the live agent panel, fed by the ATE·IQ
add-in pushing the open workbook's sheets and VBA over a local bridge. Both
talk to the same server and the same project store as the standalone IDE —
a workbook read in Excel is context in the desktop chat five seconds later.
The task pane reads every IG-XL sheet in the open workbook as context, but not naively. The TestInst sheet is the filter: it names the VBT procedure each test instance calls, so it decides which procedures count as active. Per query, TestInst goes in first, other sheets are scored against the question's domain vocabulary, and only the modules that implement active functions are included in full. A 40-module workbook does not become a 40-module prompt.
VBA needs a different path, because Office.js cannot read VBA — by design, permanently. ATE·IQ has two:
| Path | Mechanism | Reads |
|---|---|---|
| Live stream (primary) | The ATE·IQ add-in reads the VBProject in-process and pushes module source over the bridge, secret-gated. | The open editor state, including unsaved edits. |
| Disk extraction (fallback) | The task pane obtains the workbook path via getFilePropertiesAsync(); the server opens the .xlsm zip, reads the vbaProject.bin OLE stream, and decompresses the VBA source. OneDrive paths map to the local sync folder. |
The last saved copy. Paths are restricted to %USERPROFILE% and OneDrive roots — the server will not read arbitrary files. |
The task pane loads from https://localhost:3000/taskpane; the add-in starts its push loop against the bridge. No cloud endpoint exists to configure.
Per-query scoring assembles the workbook context — TestInst first, relevant sheets next, active modules in full — and sends it to the chat with the project's other knowledge.
When a read completes, ingestion persists the workbook into the current project: sheets as sheet/<Name> rows with their header tokens, modules as vba/<Name>.bas rows with their procedure names, replaced atomically per sync. The context curator scores these rows alongside git-repo files — the task pane and the desktop IDE share one context.
The quality tab extracts the .bas modules and runs the rule registry. Findings carry file, line, rule id and severity.
Rules live in one registry — R01 through R33 — shared by the
task pane and the ingested-program scanner, so both surfaces report the same
finding for the same line. Each rule carries an id, name, description,
severity (error or warning), profile membership and
tunable parameters: R03's max procedure length and R08's magic-number
threshold adjust in settings, not in code. Only standard .bas
modules are analysed; Excel class modules (Sheet*,
ThisWorkbook, UserForm*) are skipped.
| Profile | Default rule set |
|---|---|
| dev | Bug-class rules only: missing Option Explicit, On Error Resume Next, GoTo flow, blocking timing calls, SendKeys, float equality, On Error GoTo 0, missing PassFail. |
| prod | Everything in dev, plus style, maintainability, performance and debug-aid rules. |
The profile is a per-user setting; individual rules can be overridden on top of it. Switching profile clears overrides — a deliberate semantic, so a profile always means what it says.
The generated TMP126 program is an ordinary IG-XL workbook, and this surface treats it as one. Open it in Excel: the TestInst sheet names the 34 VBT procedures the program runs, so a question about a specific test pulls that test's TestInst row, its Limits row and the implementing module — not the whole workbook. Reading the workbook persists the Flow, TestInst, Limits, Binning and Pin Levels sheets and the VBT module into the project, which is where the Code Map's 34/34 active-function coverage figure comes from. The quality tab then reviews the same module the tester will execute.