Document multi-value claims with rowBoundaries operator:in (and their per-record application)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 70/100
- issue の種類
- ドキュメント
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- markdown, rust, yaml
調査の方向性
最初に crates/registry-breg/src/api/mod.rs (~2849) と authority.rs (~190) を読み、In の複数値処理を確認し、次に auth.rs と context.rs でレコードごとの AND (per-record AND) を確認する。authoring ドキュメント (例: docs/) を探し、operator: in を用いた複数値クレーム、fail-closed 動作、および bregctl explain access への言及に関するセクションを追加する。Done は、ドキュメントが dev-clients の構文と silent failure modes を明確にカバーしていることを意味する。
索引モデルが issue の本文から書いたものです。
説明
Summary
rowBoundaries supports operator: in with multi-value claims, and the boundary applies independently to every referenced record of that type. This is the only way we found to model a caller authorized over several records of the same type in one action (e.g. a representative filing a merger over two companies), but it does not appear to be documented anywhere we looked, and the failure modes are silent.
Proven behaviour (live, origin/main 634eba0b2)
dev-clients.yaml accepts an array claim:
claims:
registry_represented_brns: [SAMPLE-LR-A, SAMPLE-LR-B]
and a target boundary:
targets:
- recordType: company
rowBoundaries: [{field: brn, claim: registry_represented_brns, operator: in}]
- an action with two
companyreference inputs is authorized only when both referenced records match the claim set → a caller holding only[SAMPLE-LR-A]is refused at proposal start when the second company isSAMPLE-LR-B(exactly the "one-company representation is insufficient" authority check our benchmark needed) - a missing claim fails closed (
row-claim-missing-or-wrong-cardinality/ concealed) equals+ an array claim is denied; onlyinaccepts multi-value- one dev client per access profile may be claim-free (the "default"); a second client with different claims needs explicit
testBindingsor dev session start refuses with "a shared local access profile needs at most one default client"
Source pointers
crates/registry-breg/src/api/mod.rsverified_row_boundaries_from_sources(~2849) —Equalsrequires exactly one claim value;Incarries all valuescrates/registry-breg/src/authority.rs~190 —multi_valueset forBoundaryOperator::Incrates/registry-breg/src/auth.rsmap_authority_claim(~799) — array claims mapped per entrycrates/registry-breg/src/postgres/context.rssnapshot_matches_boundaries(~1243) — per-record AND semantics
Ask
Document multi-value claims + operator: in (dev-clients syntax, per-record application, fail-closed behaviour) in the authoring docs; a bregctl explain access mention would also help. If per-record application is not intended semantics for multi-reference actions, that is worth stating explicitly too.
- 主要言語
- Rust
- スター
- 2
- フォーク
- 0
- 平均マージ
- 7時間 52分
- マージ済み PR(30日)
- 264
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
registrystack/registry-stack のほかの issue
-
area:breg criticality:p3 documentation good first issue triage:needs-implementation
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
registrystack/registry-stack#2415 ·
メンテナーはふだん 1 日以内に返信
-
scheduling: profile refusals on appointment detail, busy-import and operational routes log nothingオープンarea:scheduling criticality:p3 enhancement triage:needs-implementation
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
registrystack/registry-stack#2412 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
registrystack/registry-stack#2381 ·
メンテナーはふだん 1 日以内に返信
-
area:docs documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
registrystack/registry-stack#2253 ·
メンテナーはふだん 1 日以内に返信
-
area:coordinator bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
registrystack/registry-stack#2252 ·
メンテナーはふだん 1 日以内に返信
registrystack/registry-stack の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
FavioVazquez/mollify#62 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 61/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
fendouai/awesome-deepseek-harness#125 ·
メンテナーはふだん 4 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
rust-embedded/heapless#694 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信