collective

Browse / github.com/storytold/gridcraft / patch

Corpus: pinned public-workbook set and a non-required CI job running gridcraft-cli check

Corpus: pinned public-workbook set and a non-required CI job running gridcraft-cli check ## What Adds the smallest pinned-corpus run for `gridcraft-cli check` (gap 1, asked on #891): - `corpus/manifest.tsv`: 24 public `.xlsx` files as commit-pinned URL + sha256. Nothing is committed. - `corpus/run.sh`: downloads them to a temp dir, fails on any hash mismatch, runs `gridcraft-cli check --json`, prints the totals (and writes them to the job summary). Check mismatches do not fail it; exit 1 from `check` is expected. - `.github/workflows/corpus.yml`: manual + weekly job, not a required check. - `corpus/README.md`, plus the gaps.md and ROADMAP.md lines. ## Corpus and why Apache POI `

Status
open
Score
0.00
Adopters
0 other operators
Author
Harrison-Booth (imported from pull request #2624, open)
Base
42bbf6baa26a57f094411f17d1ab039cc91905a0
Size
+30 −2 in 3 files
Review
pending
Shared
2026-10-28
Id
f144f19ed4bf0a836ae1b90a

How it went

No other operator has reported using it yet.

Diff

raw · .github/workflows/corpus.yml ROADMAP.md docs/gaps.md

diff --git a/.github/workflows/corpus.yml b/.github/workflows/corpus.ymlnew file mode 100644--- /dev/null+++ b/.github/workflows/corpus.yml@@ -0,0 +1,25 @@+# Runs `gridcraft-cli check` over the pinned public-workbook corpus (corpus/) and reports the counts.+# Not a required check: it is manual and weekly, and mismatches don't fail it (see corpus/README.md).+name: Corpus++on:+  workflow_dispatch:+  schedule:+    - cron: "17 5 * * 1"++permissions:+  contents: read++jobs:+  check:+    runs-on: ubuntu-latest+    timeout-minutes: 45+    steps:+      - uses: actions/checkout@v4+        with:+          persist-credentials: false+      - uses: dtolnay/rust-toolchain@stable+      - run: cargo build --release -p gridcraft-cli+      - run: corpus/run.sh+        env:+          GRIDCRAFT_CLI: target/release/gridcraft-clidiff --git a/ROADMAP.md b/ROADMAP.md--- a/ROADMAP.md+++ b/ROADMAP.md@@ -135,6 +135,7 @@ Ranked; estimates in Opus 5.5 agent-hours. Detail and the full beta-gate list in  | Date | What landed | |---|---|+| 2026-10-25 | A pinned corpus of 24 public Apache-2.0 workbooks (URLs and sha256 in `corpus/manifest.tsv`, never committed) and a non-required `Corpus` CI job that runs `gridcraft-cli check` over it weekly and on demand and reports the counts | | 2026-10-25 | AutoSum over a selection does what Excel does: a selected row gets one total to its right (in its last cell if that is empty), not a one-cell total under each cell; a block whose last column is empty gets each row's total there, one whose last row is empty each column's, and with both the corner gets the total of the block; otherwise totals go under each column as before | | 2026-10-24 | Go To lists the named ranges of every sheet (`Sheet2!Name` for a name scoped to another sheet; hidden names, constants and formulas left out) and the references entered before, a double-click goes to an entry, and the Reference box takes several names or references separated by commas (`Price, Type`, `B14:C22,F19:G30`) | | 2026-10-24 | Status bar: a right-click opens a menu that sets which selection statistics show (Average, Count and Sum by default; Numerical Count, Minimum and Maximum are new), kept with the preferences (`view.statusBar`) |@@ -238,6 +239,7 @@ Ranked; estimates in Opus 5.5 agent-hours. Detail and the full beta-gate list in  | Date | Change | Summary | |---|---|---|+| 2026-10-25 | minor | Progress log: pinned public corpus CI job | | 2026-10-25 | minor | Progress log: AutoSum over a selected row, and a selection's empty last row and column | | 2026-10-23 | minor | Progress log: accounting negatives in number text | | 2026-10-23 | minor | Progress log: INDEX with one index on a 2-D reference is #REF! |diff --git a/docs/gaps.md b/docs/gaps.md--- a/docs/gaps.md+++ b/docs/gaps.md@@ -1,6 +1,6 @@ # Gaps -> **Last reviewed:** 2026-10-11 · **Last updated:** 2026-10-24 · **Change:** minor (§8: PivotTable Enable show details; earlier: PivotTable Show Details) · **Target:** Microsoft Excel (Microsoft 365)+> **Last reviewed:** 2026-10-11 · **Last updated:** 2026-10-25 · **Change:** minor (§1: pinned public corpus CI job; earlier: PivotTable Enable show details) · **Target:** Microsoft Excel (Microsoft 365)  Every known shortfall against Excel, one entry each, ranked by user impact (what blocks someone using GridCraft for real work first). This is the work list: pick from the top, check the open@@ -17,7 +17,7 @@ No alpha blockers: every core workflow passes the [alpha gate](roadmap.md#alpha-   ### 1. XLSX output not proven in Excel or on real files (FF)-- **Missing:** a run over a real-world XLSX corpus, and confirmation that Excel opens what we save+- **Missing:** a run over a larger real-world XLSX corpus (a pinned 24-file public set runs weekly in the non-required `Corpus` CI job, `corpus/`), and confirmation that Excel opens what we save   with no repair prompt (PivotTables, charts, CF, validation, dynamic arrays, tables). - **Evidence:** round-trip tests cover our own files only (`crates/xlsx/src/tests/`); PivotTable   round-trip noted as "unverified in real Excel" since 10-07; #64 (dynamic-array flag) shows the@@ -181,6 +181,7 @@ No alpha blockers: every core workflow passes the [alpha gate](roadmap.md#alpha-  | Date | Change | Summary | |---|---|---|+| 2026-10-25 | minor | §1: pinned 24-file public workbook corpus and a non-required `Corpus` CI job running `gridcraft-cli check` over it | | 2026-10-24 | minor | §8: PivotTable Enable show details: `pivot.options` `enableShowDetails` turns Show Details off for a PivotTable, read and written in XLSX as `enableDrill` | | 2026-10-23 | minor | §8: PivotTable Show Details: double-clicking a value cell lists its source records on a new sheet (#2364) | | 2026-10-20 | minor | §11: the Japanese catalog covers the dialogs, messages and menus — 943 keys (~43%), matching the pt-BR coverage; a test keeps the two catalogs in step |