Files
multica/server/internal/featureflags
8908fcfbc4 feat(server): reserve the triage status key (MUL-7212) (#8298)
Make `triage` a platform-reserved issue status: it has no catalog row, is not
a category a custom status can declare, and no ordinary write can set it or
move an issue out of it.

- issuestatus: Triage constant; IsBuiltIn covers it, so ValidateKey, DeriveKey
  and firstFreeKey refuse or skip the key; Resolve refuses it with
  ErrReservedStatus; Effective and Category resolve it without a catalog read
- migrations: a barrier file adds CHECK (key <> 'triage') NOT VALID on its own,
  so it commits before the repair file renames a pre-existing custom `triage`
  key per workspace (firstFreeKey rule) across the catalog, issues and saved
  views and VALIDATEs; issue_effective_status() gains 'triage' on its fast path
- writes: status_reserved_for_triage on create/update/batch; issue_in_triage
  when status, project_id or parent_issue_id is written on an issue in Triage;
  merged PRs no longer auto-advance a Triage issue
- status sort ranks triage first; duplicate guard ignores triage issues
- notification label, CLI help, TriageV1 feature flag key
- cmd/migrate forwards notices marked 'migration report: ' to its log

Co-authored-by: J <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-09-14 15:20:19 +08:00
..