Skip to content

Commit cebff4f

Browse files
committed
docs(spec): regenerate the approval reference table and add the changeset
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GDA48PuRFrHyRfdkBz8m21
1 parent a386b10 commit cebff4f

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
'@objectstack/spec': patch
3+
---
4+
5+
Approval nodes: `minApprovals` now documents its real per-behavior default.
6+
7+
The property described itself as "Default 1", but an omitted threshold has never
8+
meant 1 under `behavior: 'quorum'` — the approval runtime falls back to the
9+
resolvable approver count, so a quorum node authored without `minApprovals`
10+
requires **every** approver rather than one. Under `behavior: 'per_group'` the
11+
fallback really is one approval per group.
12+
13+
The schema text and the generated reference table now state both defaults. This
14+
is a documentation correction only: no schema default was added, the accepted
15+
value set is unchanged, and no stored approval flow changes behavior.

content/docs/references/automation/approval.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ const result = ApprovalDecision.parse(data);
6969
| :--- | :--- | :--- | :--- |
7070
| **approvers** | `{ type: Enum<'manager' \| 'position' \| 'department' \| 'team' \| 'field' \| 'expression' \| …>; value?: string; resolveAs?: Enum<'user' \| 'department' \| 'position' \| 'team'>; group?: string; … }[]` || Allowed approvers for this node |
7171
| **behavior** | `Enum<'first_response' \| 'unanimous' \| 'quorum' \| 'per_group'>` | optional (default: `"first_response"`) | How to combine multiple approvers |
72-
| **minApprovals** | `integer` | optional | Approvals required — total (quorum) or per group (per_group). Default 1 |
72+
| **minApprovals** | `integer` | optional | Approvals required — total (quorum) or per group (per_group). Omitted ⇒ all resolvable approvers for quorum, 1 per group for per_group |
7373
| **lockRecord** | `boolean` | optional (default: `true`) | Lock the record from editing while pending |
7474
| **approvalStatusField** | `string` | optional | Business-object field to mirror request status onto |
7575
| **onEmptyApprovers** | `Enum<'admin_rescue' \| 'fail' \| 'auto_approve'>` | optional (default: `"admin_rescue"`) | Behavior when no concrete approver resolves at node entry |

0 commit comments

Comments
 (0)