registrystack / registrystack/registry-stack

Governed actions: justify or expose the fixed ceilings

Aperta
#932 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area:breg criticality:p3 enhancement rust triage:needs-implementation
Lingua principale
Rust
Stelle
2
Fork
0
Merge medio
2h 55m
PR unite (30g)
130

Descrizione

Found in the 0.28.0 pre-release review (2026-09-08). Line references are as of main after #926.

Several limits in governed actions are asserted without a matrix row naming the threat, and none is operator-tunable:
- Two Evidence capabilities per action: `MAX_EVIDENCE_CAPABILITIES` in `action_evidence_contracts.rs:17`, also baked into the DDL as `CHECK (ordinal >= 0 AND ordinal < 2)` in `mutation.rs:351`, so raising the constant is a migration. Derive the constraint from the constant or drop the DDL bound and keep the compiler rule.
- Eight concurrent evaluations process-wide: `Semaphore::new(MAXIMUM_EVIDENCE_EVALUATIONS)` in `action_evidence.rs:45`, absent from `EvidenceProviderConfig`, and no test asserts the shipped value. Expose per provider or per runtime.
- The 4096-byte pattern cap in `compiler.rs:1871` is a bare literal written twice with no named constant and no boundary test. Promote it next to the other Rhai and storage limits and test 4096/4097.
- `products/breg/immediate-actions.md:651-660` calls these numbers "Effective defaults" although none is overridable. Rename to fixed limits or make them defaults in fact.

Write slots, refusals, patterns, membership and atomic erasure are already justified by BREG-SEC-36 to 39 and 48; this ticket covers the rest.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia da action_evidence_contracts.rs:17, mutation.rs:351, action_evidence.rs:45 e compiler.rs:1871, poi esamina products/breg/immediate-actions.md:651-660. Controlla i test esistenti sui limiti e sul compilatore prima di decidere come debbano essere rappresentati i limiti indicati. Il lavoro è completo quando ogni limite elencato è giustificato o configurabile in modo coerente, il confine 4096/4097 è coperto e la documentazione corrisponde al comportamento.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
backend, compilers, database, documentation, security
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
55/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.