# vault/examples/release.toml
# Example: Release vault item schema
#
# This example demonstrates the release vault item schema for creating
# versioned releases with vault-gated approval.
#
# The release formula tags Forgejo main, pushes to mirrors, builds and
# tags the agents Docker image, and restarts agent containers.
#
# Example vault item (auto-generated by `disinto release v1.2.0`):
#
#   id = "release-v120"
#   formula = "release"
#   context = "Release v1.2.0"
#   secrets = []
#   mounts = ["ssh"]
#
# Steps executed by the release formula:
#   1. preflight - Validate prerequisites (version, FORGE_TOKEN, Docker)
#   2. tag-main - Create tag on Forgejo main via API
#   3. push-mirrors - Push tag to Codeberg and GitHub mirrors
#   4. build-image - Build agents Docker image with --no-cache
#   5. tag-image - Tag image with version (disinto-agents:v1.2.0)
#   6. restart-agents - Restart agent containers with new image
#   7. commit-result - Write release result to tracking file

id = "release-v120"
formula = "release"
context = "Release v1.2.0 — includes vault redesign, .profile system, architect agent"
secrets = ["GITHUB_TOKEN", "CODEBERG_TOKEN"]
mounts = ["ssh"]

# Optional: specify a larger model for complex release logic
# model = "sonnet"

# Optional: releases may take longer due to Docker builds
# timeout_minutes = 60
