Story: Provisioning script library

Table of Contents

This page documents a story in Sprint 20. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Create the ores-shell script library decided by the design story: org-mode sources with detailed commentary on what each script does and what it expects, living in projects/ores.shell/scripts/ and tangled to runnable .ores scripts by an emacs batch-mode CMake target. The flagship script is provision_all.ores: connect, provision system (super_admin / Secure-Password-123), logout, login as tenant_admin, provision tenant (synthetic, fixed seed), logout/login, provision party by hard-coded full name, logout — an error-free run against a fresh database ends with a fully provisioned system. Closes with the manual chapter documenting shell provisioning. Depends on the Implement ores-shell provisioning commands story.

Status

Field Value
State DONE
Parent sprint Sprint 20
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-06-08

Acceptance

  • The script library exists in projects/ores.shell/scripts/ as org-mode sources tangled to .ores scripts; tangled output is reproducible and never hand-edited.
  • provision_all.ores runs clean against a fresh database and ends with a fully provisioned system, logins/logoffs included.
  • An emacs batch CMake target tangles the library; the manual documents shell provisioning with the script as a worked example.

Tasks

Task State Start End Description
Create the script library in ores.shell DONE 2026-06-06 2026-06-07 projects/ores.shell/scripts/: org-mode sources with commentary, tangled .ores outputs, conventions for future scripts.
Write the end-to-end provision_all script DONE 2026-06-06 2026-06-07 The literate org script that provisions a complete system: super_admin, base system, tenant_admin, party — logins/logoffs included.
Add the emacs tangle CMake target DONE 2026-06-07 2026-06-07 CMake target running emacs in batch mode to org-babel-tangle the script library.
Update the manual with provisioning from the shell DONE 2026-06-07 2026-06-07 Document command-line provisioning in the user manual: the provision commands, the plumbing primitives, and the end-to-end script. Re-homed from the design story.
Display and manage the ores-shell script library in the Qt UI DONE 2026-06-07 2026-06-08 The provisioning epic introduces a library of .ores scripts (org-mode tangled, in projects/ores.shell/scripts/). The Qt UI should be able to display the available scripts and manage/run them — e.g. a script browser alongside the embedded shell, showing each script's name, description (from its literate org commentary) and contents, with a way to execute one against the current session. Idea recalled from earlier discussions; no prior capture existed.
Connect to a TLS broker from the shell DONE   2026-06-08 The shell connect command discards TLS and subject prefix, so you cannot connect to a secured broker from within the shell — blocking shell-driven provisioning before the Qt UI connects.

Decisions

Out of scope

Emacs 29.1 (Org mode 9.6.6)