Task: Create the script library in ores.shell

Table of Contents

This page documents a task in the Provisioning script library story. It captures the goal, current status, acceptance, and any notes or results.

Goal

Create projects/ores.shell/scripts/ as the home of the ores-shell script library: org-mode sources with detailed commentary (purpose, preconditions such as services up / fresh database, per-step explanation) tangling to runnable .ores scripts via org-babel. Establish the conventions — file layout, header structure, tangle targets, how tangled output is kept in sync — and prove them with a first small script.

Status

Field Value
State DONE
Parent story Provisioning script library
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-06-06

Acceptance

  • scripts/ exists with at least one org source tangling to a runnable .ores script.
  • Conventions (layout, commentary structure, tangle headers) are documented in the library's own README or overview org file.
  • Tangled output is committed and identical to a fresh tangle.

Plan

  1. projects/ores.shell/scripts/README.org — the library's conventions: one org per script (same basename), tangle in document order, Purpose/Expectations/per-step commentary, committed tangled output regenerated by the build, stop-on-error reliance, manual tangle command until the CMake target lands.
  2. Convert the existing hand-written bootstrap.ores into the first literate source bootstrap.org, preserving command order exactly; tangle with emacs batch and verify the output is stable across re-tangles.

Notes

PRs

PR Title
#1153 [ores.shell] Create the script library: conventions and bootstrap.org

Review

Comment summary File Decision Notes
       

Result

Result

Library established at projects/ores.shell/scripts/:

  • README.org documents the conventions and indexes the scripts.
  • bootstrap.org is the first literate source, converted from the pre-existing hand-written bootstrap.ores (the historical smoke bootstrap, noted as predating the provision porcelain). Command order is preserved exactly; the only change to the tangled output is org-babel's blank line between blocks, which load skips by design (unit-tested in run_script).
  • Tangle verified reproducible: emacs 30.2 batch tangle, twice, with identical output.

Emacs 29.1 (Org mode 9.6.6)