In crates/nuncio-filter/src/engine.rs, eval_leaf's handling of FilterField::Account reads email.folder_id, not email.account_id. So an
NSQL WHERE-clause predicate like account = 'acct-a' silently matches
against the folder id instead of the account id.
This is distinct from the rule-level ON ACCOUNT scoping fixed in #177 (that
gates which account a whole rule applies to). This is the accountcondition
field inside a WHERE clause pointing at the wrong Email field.
AC
FilterField::Account evaluates against email.account_id.
Regression test: WHERE account = '<id>' matches only messages of that
account and not messages that merely share a folder id.
cargo verify green.
Found during the 3.A review (#177).
In `crates/nuncio-filter/src/engine.rs`, `eval_leaf`'s handling of
`FilterField::Account` reads `email.folder_id`, not `email.account_id`. So an
NSQL **WHERE-clause** predicate like `account = 'acct-a'` silently matches
against the folder id instead of the account id.
This is distinct from the rule-level `ON ACCOUNT` scoping fixed in #177 (that
gates which account a whole rule applies to). This is the `account` *condition
field* inside a WHERE clause pointing at the wrong `Email` field.
### AC
- [ ] `FilterField::Account` evaluates against `email.account_id`.
- [ ] Regression test: `WHERE account = '<id>'` matches only messages of that
account and not messages that merely share a folder id.
- [ ] `cargo verify` green.
Superseded by #191 (M4) in the roadmap restructuring (milestones M1–M7). The replacement story carries the full, self-contained spec for a remote implementer. See docs/ROADMAP.md, docs/STORY-WORKFLOW.md, docs/HANDOFF.md.
Superseded by #191 (M4) in the roadmap restructuring (milestones M1–M7). The replacement story carries the full, self-contained spec for a remote implementer. See docs/ROADMAP.md, docs/STORY-WORKFLOW.md, docs/HANDOFF.md.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Found during the 3.A review (#177).
In
crates/nuncio-filter/src/engine.rs,eval_leaf's handling ofFilterField::Accountreadsemail.folder_id, notemail.account_id. So anNSQL WHERE-clause predicate like
account = 'acct-a'silently matchesagainst the folder id instead of the account id.
This is distinct from the rule-level
ON ACCOUNTscoping fixed in #177 (thatgates which account a whole rule applies to). This is the
accountconditionfield inside a WHERE clause pointing at the wrong
Emailfield.AC
FilterField::Accountevaluates againstemail.account_id.WHERE account = '<id>'matches only messages of thataccount and not messages that merely share a folder id.
cargo verifygreen.Superseded by #191 (M4) in the roadmap restructuring (milestones M1–M7). The replacement story carries the full, self-contained spec for a remote implementer. See docs/ROADMAP.md, docs/STORY-WORKFLOW.md, docs/HANDOFF.md.