refactor(ServiceFactory): de-dataclass the ServiceFactory
Metadata
Current evaluation
Merged a refactor removing the dataclass decorator from ServiceFactory, as it was only retained for historical registration methods. Approved by two reviewers, passed CI, and required PR #653. Modified 2 files.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the guidelines for contributing?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint && make test`?
- [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
---
This makes the ServiceFactory no longer a dataclass. It's only a dataclass for historical reasons around the old way of registering services, but this is no longer necessary.
Requires #653
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged a refactor removing the dataclass decorator from ServiceFactory, as it was only retained for historical registration methods. Approved by two reviewers, passed CI, and required PR #653. Modified 2 files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the refactoring that removes the dataclass decorator from ServiceFactory. The change eliminates a historical artifact no longer required for service registration, validated by passing lint and test checks. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #75 refactor: pass the service factory to the services | craft-application | merged | Merged into main. Refactored service initialization to pass the ServiceFactory instance, enabling inter-service communication. Approved by two reviewers, passed CI, and achieved 100% diff coverage across 12 modified files. | |
| #1001 docs: Reference document for the Service Factory | craft-application | merged | Merged documentation update adding a reference guide for the Service Factory. Approved by two reviewers, passed all CI checks, and changed 24 lines across two files. Minor discussion on method signature rendering was resolved. |