You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
[1.10.0] — 2026-09-20
Added
Grounded AI documentation safeguards (DEF-101-1..4 and DEF-VISION) in src/linexcel/aidoc.py
and localized prompts across all nine languages (en, fr, de, es, it, pt, nl, ja, zh), enforcing verbatim backticks, preserving explicit non-zero formula lower bounds,
and requiring unopened external workbooks ([Old.xlsx], [Budget FY26.xlsx]) to be identified
as author file cache snapshots rather than disk-read values.
Empirical performance and scalability benchmark suites for Issue #65:
Dense workbook memory reading RSS comparing Calamine and Openpyxl across 1M to 19M cells,
empirically justifying the MAX_DENSE_CELLS = 20M threshold.
Broken reference recovery costs across six pathological variants up to 80,200 edges, proving
sub-second traversal (<0.96s) and bounded memory (<85 MB RSS).
Standalone HTML viewer scaling benchmarks on Desktop (1440×900) and Mobile (390×844) from
500 to 10,000+ nodes, identifying Cytoscape's in-browser Dagre layout complexity as the
operational threshold beyond 2,500 nodes.
Comprehensive numerical oracle qualification replaying the 40 diagnostic and 42 extension
observations with LibreOffice 26.2.4.2 across 1900 and 1904 epochs (Issues #29, #32, #55, #64, #73),
root-causing SUMPRODUCT string coercion (Lookups!B8) and range intersection NImpl (Lookups!B12).
Architectural evaluation for Issue #37 formally rejecting formulas as a mandatory core dependency
due to heavy binary dependencies (SciPy/NumPy >150 MB) in favor of lean native pure-Python fallbacks.
Documentation dossiers distinguish represented group membership from sampled
values, range dimensions from cell counts, and engine input reads from formula
results. Bounded directed connections ground workbook calculation-flow prose.
Bounded checks of formula quotations in AI documentation against the exact
source dossier. Unsupported quotations receive a visible qualification;
optional API evidence retains the original response and individual checks.
Manual validation artifacts retain these quotation checks independently of
generation success and factual review.
Isolated analysis with a configurable 120-second default budget, memory
limits, cancellation and descendant cleanup. Structured execution and coverage
evidence distinguish completed pipelines from complete or verified workbooks.
Reproducible native capability probes preserve type-level discrepancies and
mark potentially affected formulas and represented dependents as unverified.
Keyboard-navigable search results, explicit search scope, cell/sheet return
navigation, history, exact copying, selection links and view export. Dense
neighborhoods expand progressively and coverage categories open their nodes.
Changed
Isolated API results no longer expose a live native engine. Use ExecutionPolicy(isolated=False) explicitly for that legacy behavior, without
hard resource guarantees. HTML and AI documentation use the retained graph.
Removed heuristic duration announcements. estimatedSeconds now returns
null; the CLI reports actual phases and configured budgets.
AI HTTP requests use a separate configurable timeout and no automatic retries.
Fixed
Render AI quotation notices as escaped quote blocks instead of exposing their
Markdown markers, and use singular wording for one exploration step.
Documentation omissions explicitly concern the supplied dossier; missing step
values no longer imply that evaluation was never attempted.
Reject dangerous formula structures before native import/AST conversion while
retaining source formulas and stored values. Flat functions remain admissible.
Check targeted cell budgets before evaluation, preserve XML-escaped sheet
identities and avoid unnecessary error-overlay scans on clean sheets.
Interrupted analyses retain unknown counts and do not launch optional AI or
rendering. Group disagreements and range samples retain honest coverage.
Workbook AI dossiers distinguish actual recalculation from live API engine
availability and explicitly label formula-scoped name evidence as a filtered
selection. Prompts distinguish conservative risk warnings from causal evidence.
Larger graph labels and a vertical initial layout for small mobile graphs
improve legibility without hiding their nodes or connections.
Validation
Completed both generated-workbook runs with Qwen3.8: 75 node cards, three
overviews and 15 sheet-image descriptions, plus desktop/mobile browser checks.
Independent review observed corrected group/topology/provenance explanations
but retained false external-cache and visual claims. Generation and response
integrity are not factual certification.
Compared 71 documentation dossiers before and after at the same 6,000-character
node budget: no additional formula, decomposition, neighbor or sample omissions
in that corpus. This is a retention measurement, not a runtime speedup.
Repeated complete local Qwen3.8 documentation and vision generation for the
quotation-checking changes. Raw responses and source checks remain separate
from factual review: conceptual formula shorthand can trigger notices, and
topology, provenance and image-description errors remain documented limits.
Recorded two separately compiled native prototypes for scoped constants and
number/text comparisons, plus an isolated performance baseline. The installed
engine is unchanged; these experiments are not shipped numerical fixes.
Completed both generated-workbook runs with local Qwen3.8, including all
expected language runs, node documentation, overviews, sheet captures and
vision. Desktop/mobile investigation and an independent reviewer checked
the final artifacts. The acceptance guide records known native discrepancies,
remaining AI factual errors and the limited scope of performance measurements.