{
	"actionTypeId": "amber.session.start",
	"version": 1,
	"title": "Start session",
	"goal": "Create a new governed session for an agent task.",
	"mode": "interactive",
	"parameters": {
		"goal": {
			"type": "string",
			"required": true,
			"description": "Task goal statement."
		},
		"route": {
			"type": "string",
			"description": "Route id to bind (e.g. feature-standard, bugfix-quick)."
		}
	},
	"submissionCriteria": ["goal is non-empty", "no active session exists for the same goal"],
	"effects": {
		"edits": [
			".amber/sessions/<id>/manifest.json",
			".amber/sessions/<id>/timeline.jsonl",
			".amber/sessions/<id>/gates/<gate>.gate.json",
			"MEMORY.md",
			"notes.md",
			"tasks/README.md"
		],
		"sideEffects": ["timeline-event"],
		"rollback": true
	},
	"evidenceRequired": ["timeline-event"],
	"timeout": 300,
	"governance": {
		"policy": "governance/policy.md#session-lifecycle",
		"approver": ["system"],
		"evidence": ["timeline-event"],
		"circuitBreaker": true,
		"worktreeIsolation": false
	},
	"execution": {
		"command": "session",
		"subcommand": "start",
		"args": [
			{ "flag": "--goal", "source": "parameters.goal" },
			{ "flag": "--route", "source": "parameters.route", "optional": true },
			{ "flag": "--agent", "source": "parameters._agent", "optional": true }
		]
	}
}
