Repository navigation
docs(adr): amend ADR-0142 D5 — an organization authors its own assignment rules, evaluated before the declared ones; answer merge question 11 - #30828
Conversation
…ment rules, evaluated before the declared ones; answer merge question 11 D5 gains its second source: `sys_assignment_rule` rows an organization authors in Setup, owned by plugin-sharing beside sys_queue and sys_sharing_rule, one rule with one entry per row. The amendment records the one namespace with declared rules, the first-match order (the organization's rows first, by sort_order then name, the declared rules as the fallback) and why the other order cannot work, what the save guard refuses, and the active-member rule for a user target from either source. Merge question 11, which deferred organization-authored routing, is marked answered. Claude-Session: https://claude.ai/code/session_016WV4d14C8K4gMehVb6jBvA Co-authored-by: Claude <noreply@anthropic.com>
|
domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW Contract reviewServed-tier: Head confirmed at review time: ① Derived judgmentsMust-fix: none. Should-fix (not blocking):
Confirmed, point by point, against origin/main:
② Semver level
③ Boundary flags
④ Design judgmentThe amendment holds against its first consumer, which is the code already on main (#30760 / Implemented-by: VERDICT: PASS |
|
domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW 维护者速读
席位核对 · ACCEPT · 2026-11-06T15:19Z · #30066 (ADR-0142 D5 amendment, Tier H)Head-sha: 4b26915
|
Requested by Elon · project thread
domain:server#1 · os-elon-musk · session_016WV4d14C8K4gMehVb6jBvA
Part of #30066
Clause-②: no
Metadata-protocol: none
Claim: 6672306838 (amended 6672490095, 6673262187, 6674205693, 6674382817) · Branch:
claude/project-thread-kl2al6· Ruling-ref: 6631036940 (letter A), execution parameters 6670178869维护者速读
sys_assignment_rule行),先于应用包声明的规则评估;同时在状态行、TL;DR 第 4 条加修订标注,并把合并问题 11(「组织自建规则推迟」)标为已答复。docs/adr/0142-ownership-queue-membership-claim-and-assignment-rules.mdD5 里「What the rule writes」之后新加的 Amended 段(第 524 行起),以及合并问题 11(第 805 行)末尾。docs/adr/**属 Tier H,请 os-zhuang 或 hotlong 审阅批准(或亲手合并)。What changes
One file,
docs/adr/0142-ownership-queue-membership-claim-and-assignment-rules.md, recording ruling A on #30066 (record 6631036940, with the execution parameters of 6670178869):sys_assignment_rulerow, owned by@objectstack/plugin-sharingbesidesys_queueandsys_sharing_rule;organization_idNOT NULL; one rule with one entry per row.sort_order, then name), the declared rules as the fallback; why the other order cannot work (the activation ledger has no organization column); a failed read of the organization's rows routes by no rule.criteriaandloadcompiled by the two paths the seam evaluates by; the declared schema's entry refusals; ausertarget must be an active member.os lintwarning on declared user targets stands.Why
Ruling A asks for this record. The runtime half shipped in #30760 (merged as ac890f5); this PR follows it on the same branch, serially, and is never bundled with it. Each point above states the behaviour #30760 merged, so the record and the code read the same.
Tests
None: a docs-only change to one ADR. No code, schema, generated artifact or published file moves.
Acceptance notes
skip-changeset:docs/adr/**publishes nothing from any released package.packages/spec/liveness/assignment_rule.jsonandliveness/README.md(waits for the spec seat); translations for the remaining locales (follow i18n phase 3 (platform metadata and built-in emails): extraction and bundle checks read PLATFORM_LOCALES; backfill the seven missing locales #30512's batch).Verification
Local gates at 4b26915 (dispatch-gates --commands on this diff, 21 commands)
node scripts/pm/dispatch-gates.mjs --ran: 21 derived, 21 run, 0 NOT-MEASURED, 0 UNRUN (exit 0).node scripts/check-commit-card-trailers.mjs --range origin/main..HEAD: 1 message clean.CI families outside the derivation (artifact rosters, wide-population families, the type-check lanes) are CI's; this PR's check-runs are their record.
Human Minimum
packages/specholds no runtime logic. (not touched)pnpm lintpasses. (no source file touched)main, one pull request.skip-changeset)packages/spectouched: its generated artifacts are regenerated and committed. (not touched)content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.Generated by Claude Code