Decisions
Decisions record design choices with revisions and provenance. Accepted decisions are part of the briefing a session receives, so new agents start from the same constraints.
majlis decision propose '<statement>' --rationale '<rationale>' \ --task "$TASK_ID" --path 'src/...'majlis decision listmajlis decision show <id>majlis --operator decision accept <id> --revision <n> \ --principal <authenticated-operator-principal> --idempotency-key <key>majlis decision contest <id> ...majlis decision supersede <id> ...majlis decide is an alias for acceptance.
--tasktakes a durable task ID, not an alias. Get it frommajlis --json task show T-14(data.id).- An authenticated human operator accepts. Agents can propose, contest and supersede; those commands grant no human authority or independent acceptance.
- Advice is not acceptance. Whoever proposed a decision cannot be its independent accepter.
- History is kept. Contested and superseded decisions stay in the log. Concurrent edits conflict; re-read and re-apply deliberately.
The bundled majlis-council skill runs a bounded design review on top of these commands. See Bundled skills.