registrystack / registrystack/registry-stack

Task grants: end-to-end refusal test through production wiring

Open
#1,041 0 comments 0 reactions 0 assignees View on GitHub
agent-ready area:breg area:casework area:evidence criticality:p2
Dominant language
Rust
Stars
2
Forks
0
Avg merge
2h 57m
Merged PRs (30d)
128

Description

Follow-up to #1029.

Some live task grant tests build clients by hand, for example BREG's status client with `.with_audience`. A wiring defect that only real deployments hit can then pass CI: the missing status assertion audience fixed in #1029 escaped this way.

Add one end-to-end test in which Casework, ThunderID, BREG and Evidence are configured only through the maintained tooling and runtime configuration, with no hand-built clients, and an officer approves a grant for one agent and one household:

- [ ] A read of the approved household succeeds; a read of another household is refused
- [ ] The same assertion exchanged by a different registered client yields a token that BREG and Evidence refuse
- [ ] After revocation in Casework, a grant-bound BREG write is refused
- [ ] A re-exchange after `registry_grant_exp` yields a token that BREG and Evidence refuse (`crates/registry-evidence-client/tests/against_a_real_deployment.rs` already covers Evidence; reuse it)
- [ ] The test runs in CI, or its README states where it runs and why

Contributor guide

Open the contributing guide

Research direction

Start with the maintained tooling and runtime configuration for Casework, ThunderID, BREG, and Evidence, then read the hand-built-client coverage described in #1029 and crates/registry-evidence-client/tests/against_a_real_deployment.rs. Build the end-to-end grant flow and verify each listed refusal case, including the post-expiry re-exchange. Done means the test runs in CI, or its README documents where and why it runs.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
authorization, backend-api-design, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.