Releases: rai-himanshu07/cadence-diff
Release list
cadence-diff 1.2.0
cadence-diff 1.2.0
Performance
Large-workbook dependency analysis is now dramatically faster, resolving a 2+ hour wall time on complex real-world pairs.
Representative pair: 12 sheets / about 1 million cells / 186,000 formula cells / 40 billion projected edges
| Phase | Before (1.1.0) | After (1.2.0) | Speedup |
|---|---|---|---|
| Dependency index build | 177.4 s | 31.45 s | 5.6x |
Excel diff (diffing_excel) |
7,882.9 s | 257.2 s | 30.6x |
| Full unscoped end-to-end (Linux) | 8,805 s | 1,141.8 s | 7.7x |
| Full unscoped end-to-end (Win11 QEMU) | - | 2,281.4 s | - |
Peak RSS on the full run was 2.434 GiB on Windows and 2.636 GiB on Linux, both well within the 6 GiB worker budget.
Memory safety
FormulaCycleGraph candidate memoization is now bounded by two independent hard caps:
- 131,072 entries, above the representative workload's 120,205 entries (zero evictions on that workload)
- 2,000,000 retained memberships, over four times its 462,484 memberships
A dual-cap LRU enforces both limits before insertion. A candidate set that alone exceeds the membership cap is used for the current calculation but is not retained.
Changes
- Added regime/delta closure decomposition with a parts-based impact accumulator.
- Deduplicated rectangular and symbolic dependency storage with grouped dependents and spatial indexes.
- Reworked chart and PowerPoint impact propagation to reuse closure parts instead of repeatedly materializing large downstream cones.
- Added sequential Excel progress phases with per-sheet alignment detail.
- Added adversarial contracts for cache entries, memberships, eviction parity, oversized-set handling, and below-refusal workload shapes.
Compatibility
All finding populations, severity counts, evidence digests, coverage outputs, and public APIs are unchanged. The frozen compatibility harness (50 atomics, 47 decisions, 47 spatial items, evidence digest 7c266bd5...) passes byte-identically.
Verification
- 1,636 tests
- Ruff
- Pyright on native and Windows platforms
- Public-tree, dependency, and distribution audits
- Clean-wheel real preflight
- Full Win11 QEMU unscoped acceptance: 683,883 findings, exact evidence digest, unchanged source hashes, 2.434 GiB peak RSS
cadence-diff 1.1.0
cadence-diff 1.1.0
A trust-boundary and analyst-onboarding release for the local Excel/PowerPoint QC application.
Highlights
- Adds an explicit Windows Desktop shortcut lifecycle through
python -m qc_tool shortcut install|status|remove, targeting the active pip or Conda environment without relying onPATH. - Adds a quiet, authenticated local launcher with safe single-instance reuse, private rotating diagnostics, local-only startup, and refusal of unrelated listeners or unowned shortcuts.
- Makes Desktop Office focus discoverable, explicitly consented, remembered, and immediately revocable while retaining exact-byte, unique-document, AutoSave, active-content, and loopback safeguards.
- Starts fresh browser profiles in Current-file preflight, remembers manual mode choices, and clarifies permanent Run IDs versus stored-run counts.
- Rebuilds README and the packaged Guide around first start, one-file preflight, review, data-directory defaults, history/Re-QC, sharing, sign-off, and troubleshooting.
- Adds bounded Office-package validation and shared traversal-safe OPC relationship handling so corrupt or malformed inputs fail without tracebacks, absolute paths, partial reports, or false-clean history rows.
- Removes headless profile resolution's dependency on NiceGUI and adds approved diagnostic branch coverage, project-scoped dependency auditing, and constrained build tooling.
Install or upgrade
# Works from an activated pip or Conda environment
python -m pip install --upgrade cadence-diff==1.1.0
python -m qc_tool
# Windows: optional per-user Desktop shortcut for this exact environment
python -m qc_tool shortcut installThe application remains local, read-only on source deliverables, deterministic, and free of LLM or external-service processing. Existing 1.0.0 artifacts remain immutable.
cadence-diff 1.0.0
cadence-diff 1.0.0
The first stable release of the local, read-only QC workbench for recurring Excel and PowerPoint deliverables.
Highlights
- Current-file preflight, baseline/current cycle comparison, and final Excel-to-PowerPoint package reconciliation.
- Complete atomic evidence with semantic review groups, guided priority, change stories, comments, explicit analyst dispositions, Re-QC lineage, sign-off, and attestations.
- Streaming OOXML loading, proactive XLSB workload safeguards, bounded large-run processing, compressed lazy history, deferred report generation, and explicit checked/degraded/unavailable coverage.
- Formula, value, structure, dependency, circular-reference, workbook-risk, chart, PowerPoint, repeated-claim, package-period, and confirmed Excel-to-PowerPoint mapping checks.
- Bounded multi-workbook packages with stable member identity, member-qualified evidence, whole-package mappings, and strict package sanitization.
- Windows desktop click-to-focus for exact byte-matched, already-open Excel and PowerPoint documents; disabled by default and explicitly confirmed before use.
- Local-only NiceGUI workflow, structural fingerprints, privacy verification, signed evidence, CLI automation, and a packaged junior-analyst Guide.
Safety and scope
- Source Office files are read-only and never overwritten.
- Unsupported or unreadable representations are disclosed as degraded or unavailable rather than treated as clean.
- Pictures, embedded objects, rendered appearance, OCR, and upstream business correctness remain outside automated proof.
- Excel-to-PowerPoint suggestions are deterministic search aids; analyst-confirmed mappings are rechecked automatically on later runs.
- XLSB formula text depends on installed desktop Excel on Windows or sandboxed LibreOffice on Linux. Saved-value and formula-presence checks remain available when enrichment is unavailable.
- Windows/QEMU acceptance does not replace corporate Group Policy, EDR, add-in, or production-desktop validation.
Compatibility
- Requires Python 3.11 or newer.
- Distribution command:
cadence-diff;qc-toolremains a compatibility alias. - Existing history databases migrate additively when opened by 1.0.0.
- Earlier
0.1.xand0.2.0a1releases remain immutable.
cadence-diff 0.2.0a1 (Alpha)
Alpha release
cadence-diff 0.2.0a1 is an Alpha for representative analyst testing. It does not replace the stable 0.1.1 release.
pip install --pre 'cadence-diff==0.2.0a1'Highlights
- Review-first analyst workbench with semantic pattern groups, typed evidence axes, change stories, searchable history, and bulk archive/export controls.
- Materiality and temporal-context evidence, typed Expected reasons, formula-wrapper recognition, intrinsic workbook risks, and corrected alignment/structural event semantics.
- Compact dependency indexing, workload safeguards, findings budgets before enrichment, and a persistent single-worker queue with reconnect, cancellation, crash, and orphan handling.
- Optional sheet/slide comparison scope and visible analyst acceptance thresholds.
- Cross-platform XLSB formula enrichment with fail-closed presence-only fallback; includes the Windows Excel calculation-mode compatibility repair found during the live pilot.
Compatibility and trust
- Source Office files remain read-only.
- Atomic JSON schema v1, finding identities, history, Re-QC, and attestation evidence remain compatible.
v0.1.0andv0.1.1remain immutable.- PyPI marks this package as
Development Status :: 3 - Alpha; unqualifiedpip install cadence-diffcontinues to select the latest stable release.
Alpha boundaries
- Restricted corporate Windows/Excel Formula2 parity, DACL, cleanup, and policy validation continues after this release. Adapter failures remain visibly degraded and never claim a semantic pass.
- Representative deliverable tuning continues.
- PowerPoint rendered-visual comparison and the optional Windows desktop/watch/tray roadmap are not included.
cadence-diff 0.1.1
Beta patch focused on making high-volume QC comparisons practical to review while preserving complete atomic evidence.
Highlights
- Deterministic review groups collapse compatible, edge-adjacent Excel cell findings into reviewable ranges.
- Group-first UI, history, Excel, HTML, and CLI views show review-item counts alongside affected atomic findings.
- Paged 50-row member detail and explicit bulk review actions preserve individual findings, comments, overrides, Re-QC identity, JSON v1, CI thresholds, and attestations.
- Modern Excel dynamic references support proven
B2#/ANCHORARRAYspill extents and bounded implicit intersection (@) through one shared resolver. - Array-formula text and anchor range metadata are captured consistently by streaming and oracle OOXML loaders.
- Tie-outs retain legacy additive components and add typed
add/subtractterms over A1, named, and supported structured references. - Generated Excel reports include safe internal navigation; static HTML member detail is self-contained and paginated.
Compatibility and safety
- Source Excel and PowerPoint files remain read-only and byte-unchanged.
- Machine-facing atomic findings, JSON schema v1, failure exit codes, coverage counts, Re-QC, and signed evidence remain backward-compatible.
- Unproven spill extents, including XLSB spill extents, degrade coverage rather than guessing.
- No free-form profile expression evaluation was added.
Validation
- 442 tests passed locally and in CI.
- Linux and Windows, Python 3.11 and 3.12: tests, Ruff, and Pyright passed.
- Public-tree, build, Twine, distribution-content, clean-wheel, and all-entry-point checks passed.
- A synthetic 2,000-cell block renders as one review group with 50-row UI/HTML pages; desktop/mobile browser checks found no overflow or page errors.
- CI run: https://github.com/rai-himanshu07/cadence-diff/actions/runs/30636070649
The package remains Beta. Representative workbook review continues against this published build; subsequent corrections will use a new immutable patch version.
cadence-diff 0.1.0
First public beta of cadence-diff, a local, read-only QC and diff tool for recurring Excel and PowerPoint deliverables.
Highlights
- Current-file preflight, baseline/current cycle comparison, and final Excel-to-PowerPoint package reconciliation.
- Parity-proven streaming OOXML loading with false-dimension protection, typed formula caches, shared strings, tables, charts, pivots, data validation, and conditional formatting.
- Structural and semantic QC for formulas, values, cadence periods, tables, combo charts, PowerPoint elements, and confirmed cross-file mappings.
- Explicit checked/degraded/unavailable coverage, workload safeguards, findings budgets, progress reporting, and cooperative cancellation.
- Local NiceGUI interface plus
cadence-diffheadless commands, reports, history, sanitization, structural fingerprints, and signed attestations.
Install
pip install cadence-diff==0.1.0
cadence-diffThe qc-tool command remains available as a compatibility alias.
Validation
Release commit CI passed Linux and Windows on Python 3.11 and 3.12, 415 tests, Ruff, Pyright, build/Twine checks, distribution-content auditing, and clean-wheel installation.
Platform note
Optional XLSB formula-text enrichment uses desktop Excel on Windows or sandboxed LibreOffice plus bubblewrap on Linux. When unavailable, coverage degrades safely to formula-presence checks.