← Back to issue list

inspectors: validate artefacts using opinions

View original Github issue

Metadata

Project
fetch-service
Number
#26
Type
pull request
State
merged
Author
cmatsuoka
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #26 (commit b0e6cac) replaced single-format inspection with an opinion-based scheme: all inspectors examine related formats and emit opinions; an artefact is validated only if every capable inspector approves. Fixes fetch-service#23 (CRAFT-2114).

Resolution: closed resolved

Reason: The pull request was approved by two reviewers and merged to main as commit b0e6cac, landing the opinion-based inspector validation and closing issue #23, which was later fully implemented for apt/deb artefacts by PR #61 (566f57c). Follow-ups #41 (f687096) and #82 extended opinions to requests and artefact metadata.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Instead if having a certain format being examined only by one inspector which would then ask other inspectors to validate the artefact, let inspectors examine all related formats and emit opinions. An artefact is validated only if approved by all inspectors that can opine. For example, the inspection of a deb package downloaded before updating apt metadata could result in the following set of opinions: ``` "opinions": [ { "inspector-id": "deb", "opinion": "Approved", "reason": "deb package parsed" }, { "inspector-id": "apt.packages", "opinion": "Rejected", "reason": "deb file digest not listed in packages file" } ], ``` This means that the deb package itself can be consistent, but the apt inspector rejected it because its digest was not found in the apt metadata. Fixes #23 - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- CRAFT-2114

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #26 (commit b0e6cac) replaced single-format inspection with an opinion-based scheme: all inspectors examine related formats and emit opinions; an artefact is validated only if every capable inspector approves. Fixes fetch-service#23 (CRAFT-2114).
qwen/qwen3.6-35b-a3b — closed resolved Refactored inspector validation to use an opinion-based system where artefacts require approval from all capable inspectors. Fixes #23.

Update history

Date Change
created

Related work

  • Likely Fixed By: canonical/fetch-service#61 (confidence 82%)

    Added the stateful apt/deb inspectors that emit the Approved/Rejected opinions described in the PR body; commit 566f57c

  • Related To: canonical/fetch-service#41 (confidence 80%)

    PR 'inspectors: add request opinions' (commit f687096) extends the same opinion model to inspection requests

  • Related To: canonical/fetch-service#82 (confidence 70%)

    'metadata,inspectors: refactor artefact inspection interface' (commit a05ab1e) is a later refactor of the inspection interface

Related issues

Issue Project State Summary Similarity
#41 inspectors: add request opinions fetch-service merged Merged request inspection opinions via PR #41 (commit f687096), adding metadata support for placing artefacts in a pending-verification state.
78%
#16 inspectors: refactor to inspect requests and collect opinions fetch-service merged Merged as commit 68fe099: reorganised inspection flow, added inspect requests and an opinion system replacing artefact annotations. Fixes #15; per-inspector migration followed in #26, #28, #41.
77%
#82 metadata,inspectors: refactor artefact inspection interface fetch-service merged Merged PR #82 in commit a05ab1e, splitting request/response inspection methods, removing redundant APIs and attributes, and moving opinions to a dedicated package.
76%
#158 metadata,inspectors: fix inspection result and add tests fetch-service merged Merged in canonical/fetch-service#158 via commits 87f24f5 and f811522; artefact approval now requires a positive request-inspection opinion, with expanded metadata tests.
76%
#606 refactor: set inspector opinion and artifact metadata fetch-service merged Merged in canonical/fetch-service#606 (commit d73ca4a), combining inspector opinion and artifact metadata updates to prevent metadata loss or omissions.
73%
#140 many: limit inspector access to artefact metadata fetch-service merged Merged PR #140 in commit 19fd664, adding request/response interfaces that restrict inspectors to authorized artefact metadata updates and prevent invalid opinion states.
72%