SpecWorkspaceActions

The writes of the spec workspace: save a work unit, set its status, run it.

Group libtrove

In the namespace octomy::trove::workspace. Declared in src/libs/libtrove/trove/workspace/SpecWorkspaceActions.hpp.

Detailed description

trove-spec-workspace §SW-5: the editor is not a second write path into the store. It is a second caller of the first one. Each write here makes the task object of the OPAL surface over the same store and calls its execute(): spec.workunit.edit, spec.workunit.set-status and trove.dispatch. The Definition of Done stays mandatory, the revision log stays complete and the blame stays attributed, whichever door wrote.

The task runs in the process, not through an OPAL plan. The button press is the operator's own act, so the confirmation that a plan asks a model for has no one else to ask.

The revision log records the workspace as operatorClient() in the lane field of the actor.

A save runs octomy::trove::opal::SpecWorkUnitEditTask.

The recurring panel writes the same way (trove-recurring §TRC-D-10): the switch and its settings through spec.recurring.set, trust through spec.recurring.trust, the probes through spec.probe.put and spec.probe.delete, and Run now through spec.run.start. The panel asks the operator before it trusts a spec, so the task's confirmation is the operator's own.

See also SpecWorkspace, WorkUnitEditor, octomy::trove::opal::TroveDispatchTask.

In this section