Skip to content

Clarify static build helper side effects and failure behavior - #27

Open
coderabbitai[bot] wants to merge 8 commits into
mainfrom
coderabbit/document-changed-functions/9a1d99a2
Open

coderabbitai[bot] wants to merge 8 commits into
mainfrom
coderabbit/document-changed-functions/9a1d99a2

Conversation

@coderabbitai

@coderabbitai coderabbitai Bot commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

Expand helper documentation in .github/scripts/build-static.sh: describe fetch destination overwrites, retained files on checksum failure, and propagated exit statuses; document check_idris source and pack state dependencies and failure behavior. Runtime behavior is unchanged.

Validation: pinned-tree shell syntax check (sh -n) and git diff --check passed. Static build was not run.

View coding task

hyperpolymath and others added 8 commits October 13, 2026 20:55
Specify version 1 of a static JSON search index, ahead of implementing it:
location, which pages and fields are indexed, normative tokenisation and
stop words, integer field weights, file structure with key order, JSON
escaping, a deterministic size-limit rule, a worked example, and the
stability policy.

The index is off by default so existing sites gain no new file, and it
carries no timestamp so identical sources give an identical file
(milestone 6 relies on that). Config keys and per-language paths are
provisional until work package 1 lands.

Not implemented and not tested; the document says so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Record exactly what today's Atom feed does (genFeed), including its
defects, because no current test generates a feed and milestone 5 must
start by golden-testing that output.

Define one feed item model rendered as Atom, RSS 2.0 and JSON Feed 1.1:
selection and ordering, site/section/tag feed paths, field-by-field
mapping, worked examples, and a consumer contract for superfeedreader
(stable ids shared across feeds and formats, honest updated times).
Changes to Atom output are marked as intended golden-test diffs.

Validation is by recorded fixtures plus xmllint and jq, since the W3C
validator is Python. Not implemented and not tested.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On a vX.Y.Z tag, build a fully static x86_64-linux-musl binary, publish
it with a SHA-256 checksum and a signed SLSA build provenance
attestation, and verify both with the same commands users are given
before publishing. workflow_dispatch builds and tests only.

The Chez backend cannot produce a single static binary, so the release
uses the RefC backend compiled with zig cc against musl, with GMP and
the Idris 2 C runtimes rebuilt for musl. Because CI tests the Chez
build, test-static.sh requires both binaries to give byte-identical
output on every test subcommand, a fixture site and a large page.

Toolchain pins: the same idris2-pack image digest as ci.yml (Idris 2
0.8.0 at 6ca00e72, checked by reading the image layers), Zig 0.16.0
and GMP 6.3.0 by SHA-256, actions by commit SHA. build-static.sh
refuses to link runtimes from a different Idris 2 commit.

DRAFT, NEVER RUN: written without a Linux toolchain. The scripts were
syntax-checked and exercised against stub binaries only. RELEASING.adoc
has the fork dry-run procedure and an empty record; do not push a
release tag upstream before that dry-run passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#25 restored the Markdown example pages, so the drafts' statements that
examples/ builds no pages are out of date.

- FEEDS.adoc: the CI build job's feed now has entries; it is still
  published to Pages unchecked.
- test-static.sh: also require byte-identical builds of examples/; the
  generated fixture stays for the nested page, draft and extra Markdown.
- RELEASING.adoc: describe both sites, and record the repository's
  SHA-pin policy (which also checks a composite action's inner actions).
  All four actions in release.yml are JavaScript actions, which is why
  it calls actions/attest directly rather than the composite
  attest-build-provenance v4 wrapper.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From the CodeRabbit review on #26, each checked against the text:

- FEEDS.adoc: one scope for the feed-level updated fallback. A feed
  with no dated items uses the site's newest date; only a site with no
  dated pages falls back to the build day or SOURCE_DATE_EPOCH. The
  feed table and the consumer contract now agree.
- FEEDS.adoc: requiring a base URL for RSS and JSON Feed is stated as
  Ddraig's policy; JSON Feed 1.1 itself makes URLs optional.
- FEEDS.adoc: stop mapping the feed's updated to RSS lastBuildDate.
  That element means "when the channel last changed", which the newest
  item date does not track, so it is omitted (it is optional).
- SEARCH-INDEX.adoc: define the excerpt exactly: which code points are
  whitespace, collapse then trim then truncate, and when the ellipsis
  is added.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor Author

Important

Review skipped

This PR was authored by the user configured for CodeRabbit reviews. CodeRabbit does not review PRs authored by this user. It's recommended to use a dedicated user account to post CodeRabbit review feedback.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Essentials
  • Run ID: 61cec51b-3a4a-4a91-8683-d98d2e463404

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Base automatically changed from wp2/drafts to main October 13, 2026 22:39

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant