← Back to issue list

Specify a project's lifecycle

View original Github issue

Metadata

Project
craft-application
Number
#222
Type
issue
State
open
Author
lengau
Labels
—
Created
Updated
Closed
—

Current evaluation

Project creation, mutation/freezing, access, and optional-project command semantics lack a documented contract. Loading and adopt-info handling are documented, but the broader lifecycle design remains open.

Suggested action: keep open

Reason: This remains a valid, maintainer-authored architectural design task with concrete questions but no agreed lifecycle contract. docs/reference/services/project.rst now documents loading and adopt-info validation, while structure-of-a-craft-app.rst covers some service interaction, but neither establishes the requested creation, mutation, freezing, access, and optional-project semantics.

Evaluated by: mr-cal-bot

Impact: 54 Quick Win: 4 Complexity: 84 Confidence: 88 Actionability: 52

Issue body

### What needs to get done Define and document: 1. When (and if) a Project gets created 2. How project mutation works (difficult case: `LifecycleService` writing `adopt-info`. See: https://github.com/canonical/craft-application/pull/217/files#r1496586665) 3. How commands and services should interact with Projects Some questions to consider: - Should a Project be frozen? (Pros/cons) - What should/should not have access to a project? - How do we handle commands where project access is optional? (e.g. remote-build) ### Why it needs to get done This is loosely defined currently and has worked fine so far, but we're reaching edge cases that make us need a

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 54
Quick Win: 4
Complexity: 84
Confidence: 88
Actionability: 52
keep open Project creation, mutation/freezing, access, and optional-project command semantics lack a documented contract. Loading and adopt-info handling are documented, but the broader lifecycle design remains open.
qwen/qwen3.6-35b-a3b
Impact: 40
Quick Win: 10
Complexity: 50
Confidence: 70
Actionability: 50
needs triage Design and documentation issue for defining the Project lifecycle, mutation behavior, and command/service interaction patterns in craft-application.
qwen/qwen3.8-27b
Impact: 45
Quick Win: 11
Staleness: 80
Complexity: 75
Confidence: 60
Support Request: 5
needs triage Design task to define and document Project lifecycle in craft-application: creation, mutation (adopt-info), and command/service interaction. Unlabelled, no maintainer response, inactive 465 days.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 60
Confidence: 85
Support Request: 5
needs triage Define and document project lifecycle rules for creation, mutation, and command/service interactions. Currently unlabelled and inactive for over a year, awaiting maintainer assessment.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 75
Confidence: 80
Support Request: 5
needs triage Request to define and document the Project lifecycle, including creation, mutation, and service interactions. Currently unlabelled and inactive for over a year.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-application#217 (confidence 100%)

    The issue explicitly cites this PR's review discussion as the difficult adopt-info mutation case.

  • Related To: canonical/craft-application#646 (confidence 88%)

    This PR introduced ProjectService and its loading reference, but available history does not show it resolving the full lifecycle proposal.

Related issues

No related issues found above the similarity threshold.