Skip to content

chore: remove unused irma dependency - #199

Merged
rubenhensen merged 2 commits into
mainfrom
chore/remove-unused-irma-dep
Jul 27, 2026
Merged

chore: remove unused irma dependency#199
rubenhensen merged 2 commits into
mainfrom
chore/remove-unused-irma-dep

Conversation

@dobby-coder

@dobby-coder dobby-coder Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

irma 0.2.1 was declared in Cargo.toml but never imported anywhere in src/: no use irma, no irma:: path, nothing in build.rs. Removed it instead of migrating to irmars 0.2.2, per the audit note on the issue.

There is no IRMA client to migrate here. Attributes reach cryptify already signed inside the PostGuard-sealed file and are read back through pg-core's Unsealer at finalize; nothing in this service talks to a Yivi session server.

This drops cryptify's direct declaration only. pg-core 0.6.1 still depends on irma 0.2.1, so the crate is still compiled into the binary (cargo tree -i irmairma v0.2.1 ← pg-core v0.6.1 ← cryptify), and it still brings reqwest 0.11.27 along with cryptify's own reqwest 0.13.4.

Local quality gate passes: cargo fmt --all -- --check, cargo clippy --all-targets -- -D warnings, cargo test --all-targets (151 passed).

Follow-up in another repo: postguard-e2e's compat/manifest.json carries a knownDrift entry for the cryptify/pg-pkg IRMA pair. Record it there as still present transitively, not resolved.

Closes #194
Part of encryption4all/postguard#247

The `irma` crate was declared in Cargo.toml but never imported anywhere in
the crate. Attributes reach cryptify already signed inside the
PostGuard-sealed file and are read back through pg-core's Unsealer, so
there is no IRMA client here to migrate.

`irma` stays in Cargo.lock as a transitive dependency of pg-core.

Closes #194

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@dobby-coder
dobby-coder Bot requested a review from rubenhensen July 27, 2026 07:53
…file

`cargo tree -i irma` shows irma 0.2.1 on the normal dependency edge under
pg-core, so it is built into the binary, not lockfile residue. It also brings
reqwest 0.11.27 alongside cryptify's own reqwest 0.13.4. The old wording could
lead the postguard-e2e knownDrift follow-up to record the pair as resolved.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@dobby-coder dobby-coder Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VERDICT: approve

Rule sweep + consolidated review, cycle 1. No blocking issues. The one finding carried forward from the review stage was a nit; I fixed it on the branch rather than sending the PR back.

The change is correct. git grep -i irma over the tree finds only unrelated string literals (irma-demo.sidn-pbdf.email.email in config.rs, a doc comment in email.rs) — no use irma, no irma::, nothing in build.rs. Removal was the right call over the irmars 0.2.2 migration the issue originally asked for, and it matches rubenhensen's audit note.

Nit, fixed in 57de8c5. The PR body and the new CLAUDE.md section said irma "stays in Cargo.lock", which reads as lockfile residue. It is not: cargo tree -i irma on this HEAD gives irma v0.2.1 ← pg-core v0.6.1 ← cryptify, the normal dependency edge, so irma 0.2.1 is still compiled into the shipped binary. It also brings reqwest 0.11.27 into the build alongside cryptify's own reqwest 0.13.4. Left as-is, that wording could lead the postguard-e2e knownDrift follow-up to record the cryptify/pg-pkg IRMA pair as resolved when the crate is still present. Reworded both.

Rule checks that came back clean: PR title passes the Conventional Commit job; Closes #194 registers in closingIssuesReferences; the cross-repo postguard#247 reference uses the full link form; rubenhensen is assigned as reviewer; CI is green on all five real jobs (fmt/clippy/test, both Docker builds, manifest).

Two Haiku candidates dropped as false positives: pr-review-assignments (a reviewer is in fact requested) and no-justification-paragraphs-for-simple-changes against the new CLAUDE.md section. The latter rule targets user-facing docs justifying a change; CLAUDE.md is the agent-notes file, and recording that cryptify has no IRMA client of its own is what stops a future audit re-filing #194.

Flipping out of draft.

@rubenhensen
rubenhensen merged commit e10088c into main Jul 27, 2026
8 checks passed
@rubenhensen
rubenhensen deleted the chore/remove-unused-irma-dep branch July 27, 2026 13:09
@github-actions github-actions Bot mentioned this pull request Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: migrate irma 0.2.1 → irmars 0.2.2 (align Rust IRMA lib with pg-pkg)

1 participant