Priority
Forked from the common list Priority
- Forked
- Sep 2, 2026
- Copied version
- 7
- Common list now
- 9
The common list has changed since you forked. Your fork is unaffected — nothing is merged automatically. To take a change, open the common list and edit your fork by hand.
| Label (en) | Code | Status | Actions |
|---|---|---|---|
| Low | LOW | active | Edit |
| Medium | NORMAL | active | Edit |
| High | HIGH | active | Edit |
| Urgent | URGENT | active | Edit |
| Blocker | BLOCKER | active | Edit |
“Copied from” reads origin_item_id against the common items, which the page already loads for the
provenance check; if the source is unavailable the column shows “copied” without a label. origin_item_id: null
= added in this fork. Item codes are copied and immutable, so NORMAL stays even though Acme relabelled it “Medium”.
“Behind source” — every state
The indicator is a fact about two numbers, never a call to action that changes data. It needs the source's current revision over HTTP — see the contract dependency below.
Up to date — source revision = copied revision
Forked from the common list Priority
Same version as the common list (7).
Reachable only once SelectionList.revision exists, and only from this page's own
source read — never assumed from a 201. Under 4.1.0 a brand-new fork lands in
comparison unavailable.
Checking — the source is being read
Forked from the common list Priority · Sep 2, 2026
Checking the common list…
The recorded facts render immediately from forked_from; only the comparison waits.
The value editor never waits for it.
Source archived
Forked from the common list Priority
The common list was retired (archived). Your fork is unaffected.
No “Revert to common list” here: there is no active common list to revert to (see revert).
Source unavailable — 404 (purged, or no longer readable)
Forked from a common list that is no longer available
Your fork is unaffected. Copied version 7 on Sep 2, 2026.
Dangling provenance is legal (design record §5). No link to the source; no error colour; no “Revert to common list” (see revert).
Check failed — 5xx / network
Forked from the common list Priority · Sep 2, 2026
Couldn't check the common list.
Comparison unavailable — source revision not provided
Forked from the common list Priority · Sep 2, 2026
Copied version 7. Changes to the common list since then are not tracked here.
Rendered whenever the source response carries no revision — under 4.1.0 that is every fork, including a
brand-new one arriving from a 201 (the fork response carries only forked_from.revision).
Never a guess from updated_at: item and translation edits do not touch the list row's timestamp, so it would
say “up to date” when it isn't.
Revert to the common list = archive your fork
Archiving the fork only sends forms back to the common list if an active common list with the same key exists: the effective-list lookup considers the organization's own active list, then the active common list, then nothing. So the action, and what its confirmation promises, follow the provenance read above.
Header action by provenance state
| Provenance state | Header action | Confirmation |
|---|---|---|
| behind · up to date · comparison unavailable (source read returned status active) | Revert to common list… | “Revert to the common list” (below, left) |
| source archived · source gone (404) | Archive fork… | archived: “No common list to go back to”; 404: the conditional confirm (below) — never the revert promise |
| checking · check failed | none until the read answers (Retry re-runs it) | — |
Both actions call the same POST /v1/selection-lists/{forkId}/archive; only the label and the
promised consequence differ. If the common list is archived between the read and the confirm, the archive still succeeds and the
picker renders its no effective list state — the UI never claims more than its last read.
Source active — confirm in place
- Your fork is archived, not deleted — you can restore it later with its values and translations intact.
- Forms go back to the common list. Values saved from your fork keep showing (archived values still resolve).
- Your edits stay in the archived fork; they are not applied to the common list.
Source archived — “Archive fork…” confirm
- There is no common list to go back to. Every form that uses priority in Acme Logistics will show “List unavailable” and offer no values until you restore this list.
- Values already saved keep showing (archived values still resolve).
- Your fork is archived, not deleted — restore it later with its values and translations intact.
Only when the source read returned the list with status: archived — a fact,
so the consequence is stated outright. Cancel is the safe default and holds initial focus.
Source gone (404) — “Archive fork…” confirm, conditional
- We couldn't read the common list this was copied from — it may have been removed, or it may no longer be shared with you. If no active common Priority list is available to your organization, every form that uses priority will show “List unavailable” until you restore this list.
- Values already saved keep showing (archived values still resolve).
- Your fork is archived, not deleted — restore it later with its values and translations intact.
Why the 404 copy is conditional
A 404 on the source read means “purged or not readable by
you” — the contract makes the two indistinguishable on purpose. The common list may still be active and readable by other members
(for example if your own role lost shared read), so their forms would fall through to it. The UI therefore states the consequence
under its condition and never claims every form becomes unavailable. Cancel is the safe default and holds initial focus.
Header action — source archived or gone
Replaces “Revert to common list…”; the word revert never appears when no active common list was read.
Refused — 403 (not the owner)
POST /v1/selection-lists/{forkId}/archive needs delete (list-owner).
Either action renders for editable: true; a list-editor gets this message from both confirms. There is no purge here — purge is the
4.0.0 owner flow, unchanged.
Flag OFF
No provenance card, no Fork badge, no visibility badge, no “Copied from” column, no “Revert to common list” or “Archive fork”. Acme's fork renders as an ordinary list in the approved 4.0.0 detail — which it is.
Test hooks: [data-frame='07-fork-detail'] · [data-badge='fork'] · [data-editable='true'] · [data-panel='fork-provenance'] · [data-forked-revision='7'] · [data-source-revision='9'] · [data-behind-state='behind'] · [data-behind-state='up-to-date'] · [data-behind-state='checking'] · [data-behind-state='source-archived'] · [data-behind-state='source-gone'] · [data-behind-state='error'] · [data-behind-state='unknown'] · [data-origin-item] · [data-action='view-source'] · [data-action='revert-to-common'] · [data-confirm='revert-to-common'] · [data-action='confirm-revert'] · [data-panel='revert-gate'] · [data-revert-gate='source-active'] · [data-revert-gate='source-unavailable'] · [data-revert-gate='source-unknown'] · [data-action='archive-fork'] · [data-confirm='archive-fork-no-common'] · [data-confirm='archive-fork-source-unknown'] · [data-source-state='archived'] · [data-source-state='gone'] · [data-consequence='conditional-no-effective-list'] · [data-case='revert-unavailable'] · [data-consequence='no-effective-list'] · [data-action='confirm-archive-fork'] · [data-case='revert-not-owner'] · [data-action='change-visibility'] · [data-state='flag-off'] · [data-action='retry']
Contract: GET /v1/selection-lists/{forkId} (forked_from, editable, visibility) · GET /v1/selection-lists/{forked_from.list_id} + …/items?status=all (shared read; 404 → source-gone) ·
POST /v1/selection-lists/{forkId}/archive. Needs SelectionList.revision (not in 4.1.0) for behind/up-to-date.
Tokens only — no raw hex, spacing or type outside tokens.css / frame.css.