Editing changes
Auth Changes are meant to be revised as you learn. Artifacts under .authright/changes/AUTH-YYYY-NNNN-…/ are the source of truth for that unit of work.
What you can edit freely
intent.md,analysis.md,security.md,contract.md,request.md(immutable verbatim intake — do not overwrite)decisions.yaml— markstatus: acceptedand settype: architecture|technology|engineering(required for--ready). Whenrequest.mdstates non-functional obligations, mappreserve/constraintcommitments and accepted decisions withlinks.topic: implementer_nfr(text,nfr_bucket, optionalsource_quote/source_commitment_id)decision-package.yaml— package index +verification_criteria(optionalconstraints) and mappedengineering_strategy(mode: keep_styleonly)decision-graph.yaml— written bychange --analyze; advisory candidates only
Prefer small, explicit edits over regenerating everything blindly.
Ready / export gate
authright change <id> --ready requires:
- ≥1 accepted decision with
type: architectureortechnology(or indexes indecision-package.yaml) - Non-empty
contract.md - Real verification content — non-placeholder bullets under
## Verification, or non-emptyverification_criteriaindecision-package.yaml(values likeTBD/(TBD acceptance checks)do not count) - Accepted
type: engineeringandengineering_strategy.mode: keep_style. There is no Keep vs Centralize strategy choose —--readysilently acceptskeep_styleand fills emptymust_preserve/do_notfrom impact templates. Whenrequest.mdexplicitly asks to relocate/centralize auth, that maps intoallowed_improvements(stillkeep_style) unlessmust_preserve/do_not(including mergedimplementer_nfr) forbid it. Pending technology/architecture chooses also block. Recommended is not a default.--skip-human-gatedoes not skip those chooses. Stockanalysis.mdOptions/Security/Recommendation placeholders warn (stderr / JSONwarnings) and do not fail--ready.
Lifecycle moves
authright change AUTH-YYYY-NNNN
authright change AUTH-YYYY-NNNN --readyOnly legal lifecycle moves succeed. Prefer --ready to reach DECIDED on the happy path. DECISION_REQUIRED is manual only—the CLI will not invent that jump for you. See CLI and Concepts.
authright change <id> --analyze refuses changes that are already past ANALYZED—don't expect re-analyze to rewind a decided export.
Re-export
Request match must already be clear or accepted. Then:
authright to-openspec AUTH-YYYY-NNNNIf openspec/changes/<slug>/ already exists, the command fails unless you pass --force. Use force when you intentionally refreshed the handoff package; coordinate with anyone mid-apply.
Agent files out of date
After upgrading the global CLI:
authright updateThat regenerates managed skills/commands; it does not rewrite your Auth Change markdown.