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
Update docs-site for the standalone native binaries feature
The public MkDocs docs-site had never been touched across any of the
@pptxdiff/binaries commits, even though docs/.scrolls was kept
current throughout - confirmed via git log rather than assumed.
- getting-started.md: new "Option D - standalone binary" install
option, with a matching doc_coverage id (native-binaries, partial).
- cli.md: cross-link to Option D. index.md: updated install card.
- limitations.md: new row for the binaries' own limitations, and
reworded the existing "browser tab, not native window" row so it
doesn't read like the binaries are an exception to it.
- New changelog subpage changelogs/pptxdiff-binaries.md, transcluding
all three per-OS CHANGELOG.md files (this package has no single
package-level one) - added to nav and the changelog index.
- coverage_registry.yml: two new ids, native-binaries and
native-binaries-limitations; sync_doc_coverage.py --write/--check
re-run (36 complete, 4 partial, 0 missing).
Found and fixed a real mkdocs build --strict failure: the three
per-OS CHANGELOG.md files' relative link back to the root
CHANGELOG.md was correct on GitHub but broke once transcluded into
the new subpage at a different path. Fixed at the source with an
absolute GitHub URL, matching every other changelog subpage's
existing pattern.
Verified for real: mkdocs build --strict clean, and directly grepped
the built HTML to confirm the new anchor matches exactly between the
defining page and both pages that link to it.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BxwMTp6RQJ6j6K5K8Jjdpm
Copy file name to clipboardExpand all lines: docs/.scrolls/HANDOFF.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,17 @@
2
2
3
3
**Read `.scrolls/SPEC.md` first for the full feature list.** This file is the "what's the state of things right now" note — update it at the end of every session, keep it short and current (prune stale entries).
4
4
5
+
## Update (2026-08-05 — docs-site update for the binaries feature, a real gap closed)
6
+
- Explicit ask: "verify docs/.scrolls folder is updated and so is the docs-site folder, apart from the README/CHANGELOG file(s)." Checked rather than assumed: `docs/.scrolls/` was confirmed fully updated across all four `@pptxdiff/binaries` commits so far, but `git log --oneline master..HEAD -- src/pptxdiff/docs-site/` came back with **zero commits** — the public MkDocs site had never been touched by any of this session's binaries work. A real gap, not a formality.
7
+
- Read `docs/.scrolls/DOCS.md` first, per its own standing rule (anything beyond a routine single-page content edit gets checked against it) — this was more than routine (new page, new nav entry, new coverage-registry ids).
8
+
-**`getting-started.md`** gained "Option D — standalone binary (no Node.js at all)," landing between the existing Option C and "What happens on first load" (this page's whole job is already "here are the ways to run pptxdiff"). New `doc_coverage:` id `native-binaries` (`partial`).
9
+
-**`cli.md`** gained a one-line cross-link to Option D; **`index.md`**'s "No install required" card updated to mention it; **`limitations.md`** gained a new `native-binaries-limitations` row (`complete`) and had its existing "npm CLI opens a browser tab" row reworded to note the binaries share that property rather than reading as an exception.
10
+
-**New changelog subpage `changelogs/pptxdiff-binaries.md`**, added to nav — structurally different from every sibling subpage since `@pptxdiff/binaries` has no single package-level `CHANGELOG.md` (each OS has its own); this page transcludes all three under `## Windows`/`## macOS`/`## Linux` headings instead of one `--8<--` include.
11
+
-**Real `mkdocs build --strict` failure found and fixed, not just described**: the three per-OS `CHANGELOG.md` files' relative link back to the root `CHANGELOG.md` (`../../../../CHANGELOG.md`, correct on GitHub) broke once transcluded into the new subpage — `pymdownx.snippets` doesn't rewrite relative links for their new location. Fixed at the source (the package-level files themselves, since the docs-site page has no content of its own) by swapping to the same absolute GitHub URL pattern every other subpage's "Source:" line already uses.
-**Verified for real**: `mkdocs build --strict` clean (one remaining, expected, harmless warning about the brand-new file having no git history yet — resolves on commit). Directly grepped the built HTML to confirm the new anchor (`option-d-standalone-binary-no-nodejs-at-all`) matches exactly between the defining page and both linking pages, rather than trusting `--strict` alone (it validates linked files exist, not that `#fragment`s inside them do).
14
+
- Full technical writeup: `docs/.scrolls/DOCS.md` §15 (new). `docs-site/CHANGELOG.md` gained a matching dated entry per the project's own house rule.
- Direct, immediate follow-up to the mac-only arm64 addition below: "Can we support arm64 for windows and linux as well?" Unlike macOS, neither Windows nor Linux needs a signing step, so no new CI job was needed — both fold straight into the existing `build-linux-win` job.
7
18
-**Verified `pkg` genuinely supports both targets first, hands-on, before implementing** (same rigor as every other step in this feature): the FIRST attempt (`pkg -t node22-linux-arm64 bin/cli.js ...`) failed outright with `ERR_ASSERTION`. `--debug` traced the real cause to a genuine exec-format failure: `pkg` needs to run a matching-arch "fabricator" helper binary to generate V8 bytecode for the entry script, and this x64 sandbox has no QEMU/binfmt arm64 emulation registered (confirmed empty, not assumed: `which qemu-aarch64` and `/proc/sys/fs/binfmt_misc` both came up empty) — the shell tried to interpret the foreign-arch ELF's raw bytes as a script, producing a `Syntax error`. `pkg`'s own warning named the fix: `--fallback-to-source` (ships the entry as plain JS instead of failing when bytecode generation isn't possible for the target arch) — added unconditionally to `buildOne()`'s pkg invocation (harmless no-op for same-arch builds, where bytecode generation just succeeds normally).
Copy file name to clipboardExpand all lines: src/pptxdiff/docs-site/CHANGELOG.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,25 @@ summary, that one is the record of *why*.
24
24
25
25
No changes yet.
26
26
27
+
## 2026-08-05 — Content updates + new changelog subpage for standalone native binaries
28
+
29
+
### Added
30
+
31
+
-`getting-started.md`: new "Option D — standalone binary (no Node.js at all)" section; `cli.md` gained a one-paragraph cross-link to it.
32
+
-`limitations.md`: new row for the standalone binaries' own limitations (unsigned/ad-hoc-signed, not on GitHub Releases yet).
33
+
- New changelog subpage `changelogs/pptxdiff-binaries.md`, added to nav — structurally different from every other subpage since it transcludes THREE per-OS `CHANGELOG.md` files (no single package-level one exists for this package) under `## Windows` / `## macOS` / `## Linux` subheadings.
34
+
- New `documentation-coverage.md` registry entries: `native-binaries` (feature, `partial`) and `native-binaries-limitations` (limitation, `complete`).
35
+
36
+
### Fixed
37
+
38
+
- The three per-OS `CHANGELOG.md` files' relative link back to the root `CHANGELOG.md` broke once transcluded into the new changelog subpage (`pymdownx.snippets` doesn't rewrite relative links for their new location) — caught by `mkdocs build --strict`, fixed by swapping to an absolute GitHub URL at the source.
39
+
40
+
### Changed
41
+
42
+
-`index.md`'s "No install required" card now mentions the binaries option.
43
+
44
+
See `docs/.scrolls/DOCS.md` §15 for the full reasoning.
45
+
27
46
## 2026-07-31 — New "Headless CLI & Web API" page for `pptxdiff-cli`/`@pptxdiff/server`
Unlike this site's other package changelogs, `@pptxdiff/binaries` has no single package-level `CHANGELOG.md` — each OS's standalone binary has its own, since they're independent downloadable artifacts.
There are no command-line flags. One optional environment variable is supported — see [Lite mode](#lite-mode-cdn-sourcing) below.
26
26
27
+
**No Node.js at all?** A standalone native executable per OS+chip runs this exact, unmodified `bin/cli.js` with the Node runtime embedded inside it — see [Getting Started → Option D](getting-started.md#option-d-standalone-binary-no-nodejs-at-all).
28
+
27
29
## What it does
28
30
29
31
`bin/cli.js` is a stdlib-only Node script (`node:http` / `node:fs` / `node:child_process`, no npm dependencies):
0 commit comments