Two files. Both short. Both authoritative.
vinOS routines are defined by two specs. The routine spec
is the single-file TOML the runtime consumes. The
routines.yaml spec is the project-scoped bundle you
commit next to your code — the way .github/workflows/
became the standard for CI. Both are drafted against v2.0.5 and live
in the repo, in docs/v2/. Read them there so you always
get the latest revision.
The two specs
vinos-routine-spec.md
The single-file TOML schema the runtime reads from
/etc/vinos/routines/ and ~/.vinos/routines/.
Covers [routine], [schedule],
[agent], [output], [budget],
the tool whitelist, the bwrap sandbox rules, the ledger schema,
and the systemd timer lifecycle.
<div class="spec-block">
<h3>vinos-routines-yaml-spec.md</h3>
<p>
The project-scoped YAML bundle you commit at
<code>.vinos/routines.yaml</code>. Supports multiple routines per
file, a deep-merged <code>defaults:</code> block, template
variables (<code>{{project}}</code>, <code>{{git_root}}</code>,
<code>{{home}}</code>), and the <code>vinos-routine load</code>
install flow. Converts to TOML at load time.
</p>
<p class="small-print">
<a href="https://github.com/vinpatel/vinos/blob/main/docs/v2/vinos-routines-yaml-spec.md" target="_blank" rel="noopener">Read on GitHub →</a><br>
<a href="https://raw.githubusercontent.com/vinpatel/vinos/main/docs/v2/vinos-routines-yaml-spec.md" target="_blank" rel="noopener">Raw markdown →</a>
</p>
</div>
Related
Both specs are marked draft until v2.0.5 ships. Behavior may shift in the last mile. Watch commits/main/docs/v2 for changes; every material revision gets a note in the release notes.