feat(extensions): add writable app data for v2 frameworks
Metadata
Current evaluation
Adds writable /app-data directory to v2 12-factor framework extensions. 0 reviewers, most CI passing, source-spread-tests failing. Author requests merge.
Suggested action: needs review
Reason: The PR has 0 reviewers and the author (@alithethird) has requested merge. Most CI checks pass but source-spread-tests is failing, which needs investigation before merge. The feature adds a useful /app-data directory across 6 v2 extensions with 205 passing unit tests.
Impact:
60
Quick Win:
30.0
Staleness:
10
Complexity:
50
Confidence:
70
Issue body
Add a dedicated writable `/app-data` directory to the v2 12-factor framework extensions for Django, ExpressJS, FastAPI, Flask, Go, and Spring Boot on Ubuntu 26.04 and later.
The directory is created by a shared v2 mixin and owned by the `_daemon_` UID/GID sourced from `SUPPORTED_GLOBAL_USERNAMES`. The v1 extension classes are unchanged, with explicit unit-test regression coverage confirming that v1 expansion does not include the new part.
Coverage includes all six v2 extension expansions and Ubuntu 26.04 spread ownership/writability checks. The FastAPI spread fixture additionally performs an application-level `POST` that writes deterministic content to `/app-data`, then verifies the file content and `_daemon_` ownership.
Validation performed:
- 205 targeted extension unit tests passed
- Targeted Ruff lint and formatting checks passed
- Targeted `ty` checks passed
- `make lint-shellcheck` passed
- `git diff --check` passed
Full spread builds were not run locally.
---
- [x] I've followed the [contribution guidelines](https://github.com/canonical/rockcraft/blob/main/CONTRIBUTING.md).
- [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [ ] I've successfully run `make lint && make test`.
- [ ] I've added or updated any relevant documentation.
- [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing.
- [ ] I've updated the relevant release notes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b |
Impact:
60
Quick Win:
30.0
Staleness:
10
Complexity:
50
Confidence:
70
|
needs review | Adds writable /app-data directory to v2 12-factor framework extensions. 0 reviewers, most CI passing, source-spread-tests failing. Author requests merge. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
30.25
Staleness:
55
Complexity:
45
Confidence:
70
|
needs review | Adds writable /app-data directory to v2 framework extensions (Django, ExpressJS, FastAPI, Flask, Go, Spring Boot) with unit tests and spread coverage. CI passing, no reviewer engagement after 23 days. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
30.25
Staleness:
25
Complexity:
45
Confidence:
75
|
needs review | Adds writable /app-data directory to v2 framework extensions (Django, ExpressJS, FastAPI, Flask, Go, Spring Boot) with unit tests and spread coverage. CI passing, awaiting maintainer review. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
33.0
Staleness:
45
Complexity:
40
Confidence:
70
|
needs review | Adds writable /app-data directory to v2 framework extensions (Django, ExpressJS, FastAPI, Flask, Go, Spring Boot). 21 days old, no reviews, CI failing on Fast tests for ubuntu-22.04/24.04. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
33.0
Staleness:
45
Complexity:
40
Confidence:
75
|
needs review | Adds writable /app-data directory to v2 framework extensions for Django, ExpressJS, FastAPI, Flask, Go, and Spring Boot. CI passing, 0 reviewers, 0 comments, 21 days inactive. | |
| qwen/qwen3.6-35b-a3b |
Impact:
50
Quick Win:
25.0
Staleness:
50
Complexity:
50
Confidence:
75
|
needs review | Adds writable /app-data directory to v2 12-factor framework extensions (Django, ExpressJS, FastAPI, Flask, Go, Spring Boot). 205 unit tests pass, one lint check failing, no maintainer engagement after 21 days. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
40
Quick Win:
20.0
Staleness:
20
Complexity:
50
Confidence:
80
|
needs review | Adds a writable /app-data directory to v2 framework extensions (Django, ExpressJS, FastAPI, Flask, Go, Spring Boot) with a shared mixin and test coverage. Awaiting maintainer review and pending CI checks. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
55
Quick Win:
30.25
Staleness:
25
Complexity:
45
Confidence:
70
|
needs review | Adds writable /app-data directory to v2 framework extensions for Django, ExpressJS, FastAPI, Flask, Go, and Spring Boot. 18 days old, 0 reviewers, 0 comments, no CI checks triggered. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
45
Confidence:
85
|
needs review | Adds a writable /app-data directory to v2 framework extensions for Django, ExpressJS, FastAPI, Flask, Go, and Spring Boot. Currently awaiting maintainer review and CI execution. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
10
Complexity:
35
Confidence:
90
|
needs review | Adds a writable /app-data directory to v2 framework extensions for six languages on Ubuntu 26.04+. Includes unit tests and lint checks. Currently awaiting maintainer review and CI execution. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
10
Complexity:
40
Confidence:
90
|
needs review | Adds a writable /app-data directory to v2 framework extensions via a shared mixin, owned by _daemon_. Includes unit and spread tests, linting passes. Currently pending maintainer review with 0 reviewers and 1 unresolved comment. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Adds a writable /app-data directory to v2 framework extensions for Django, ExpressJS, FastAPI, Flask, Go, and Spring Boot. Currently pending maintainer review with no CI checks run or comments yet. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related issues
No related issues found above the similarity threshold.