Define and accept the contract of the shared quality-check workflow

Add the brief use case UC-005 (Run Project Quality Checks), the actor and
use case in UCD-001, stories US-001.09 and US-001.10, and ADR-0005 with the
inputs, the pinned tools and what a pass and a fail mean, based on a probe
of the runner image. Review and accept them (RC-035 to RC-038) and update
TM-001 and the registry.

Task: MIL-003#2
This commit is contained in:
2026-10-10 16:06:30 +08:00
parent bf077b1910
commit 385d2fb7cb
10 changed files with 424 additions and 18 deletions
+11 -4
View File
@@ -4,12 +4,13 @@
| Key | Value |
| --- | --- |
| ID | UCD-001 |
| CrossReference | [SA-001], [BC-001], [US-001], [UC-001], [UC-002], [UC-003], [UC-004] |
| CrossReference | [SA-001], [BC-001], [US-001], [UC-001], [UC-002], [UC-003], [UC-004], [UC-005] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Initial version | [a2bf2d4] |
| 2026-10-10 | Deprecated | Jens Tirsvad Nielsen | S01 | Initial version | [a2bf2d4] |
| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Added the actor Software Engineer and the use case Run Project Quality Checks | pending |
---
@@ -21,8 +22,8 @@ them. Inside it are the four P1 goals of the Project Plan: keeping the GitHub
mirror's description and topics equal to Gitea's, configuring the credentials
a workflow needs, bringing a repository onto the shared workflows, and finding
the cause of a failed run. Gitea and GitHub are outside the boundary and are
shown as external systems. Quality checks and releases (P2) and the software
engineer's use cases (P2, P3) are not drawn yet.
shown as external systems. Running quality checks is the first software engineer goal
(P2). Releases and the other P2 and P3 use cases are not drawn yet.
## Diagram
@@ -33,6 +34,7 @@ skinparam packageStyle rectangle
actor "DevOps Professional" as DevOps <<Actor>>
actor "Platform Operator" as Operator <<Actor>>
actor "Software Engineer" as Engineer <<Actor>>
actor "Gitea Instance" as Gitea <<System>>
actor "GitHub" as GitHub <<System>>
@@ -41,6 +43,7 @@ rectangle "Reusable Workflow Collection" <<System>> {
usecase "Configure Workflow Credentials" as UC2
usecase "Onboard a Repository" as UC3
usecase "Diagnose a Failed Workflow" as UC4
usecase "Run Project Quality Checks" as UC5
}
DevOps --> UC1
@@ -49,6 +52,7 @@ DevOps --> UC3
DevOps --> UC4
Operator --> UC2
Operator --> UC4
Engineer --> UC5
UC1 --> Gitea
UC1 --> GitHub
UC3 ..> UC2 : <<include>>
@@ -62,6 +66,7 @@ UC4 ..> UC1 : <<extend>>
| --- | --- | --- | --- |
| DevOps Professional | `<<Actor>>` | S05 | Synchronize Repository Metadata, Configure Workflow Credentials, Onboard a Repository, Diagnose a Failed Workflow |
| Platform Operator | `<<Actor>>` | S03 | Configure Workflow Credentials, Diagnose a Failed Workflow |
| Software Engineer | `<<Actor>>` | S02 | Run Project Quality Checks |
| Gitea Instance | `<<System>>` | - | Synchronize Repository Metadata (source of description and topics) |
| GitHub | `<<System>>` | S04 (audience of the mirror) | Synchronize Repository Metadata (target) |
@@ -73,6 +78,7 @@ UC4 ..> UC1 : <<extend>>
| Configure Workflow Credentials | DevOps Professional, Platform Operator | Least-privilege tokens that a workflow accepts |
| Onboard a Repository | DevOps Professional | A repository consumes the shared workflows |
| Diagnose a Failed Workflow | DevOps Professional, Platform Operator | The cause of a failed run is found and placed in a category |
| Run Project Quality Checks | Software Engineer | Lint, format and type checks run on every change and report a pass or a fail |
## Relationships
@@ -91,3 +97,4 @@ UC4 ..> UC1 : <<extend>>
[UC-003]: ./uc-003/uc.md
[UC-004]: ./uc-004/uc.md
[a2bf2d4]: https://git.tirsystem.com/TirSystem/github-action/commit/a2bf2d420416f7aff2badc6fe32a7690e2e523fd
[UC-005]: ./uc-005/uc.md