Skip to content

linexcel 1.10.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 15:24
· 56 commits to main since this release
48cdc7f

[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.