Task: Create the script library in ores.shell
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
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.- Convert the existing hand-written
bootstrap.oresinto the first literate sourcebootstrap.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.orgdocuments the conventions and indexes the scripts.bootstrap.orgis the first literate source, converted from the pre-existing hand-writtenbootstrap.ores(the historical smoke bootstrap, noted as predating theprovisionporcelain). Command order is preserved exactly; the only change to the tangled output is org-babel's blank line between blocks, whichloadskips by design (unit-tested in run_script).- Tangle verified reproducible: emacs 30.2 batch tangle, twice, with identical output.