MIL-007 task 7: adoption in two throwaway repositories, seeded failures verified #125
@@ -20,6 +20,12 @@ Each release lists its changes in these groups, in this order:
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Changed
|
||||
|
||||
- The C++ and C# guides and their wiki pages say that `clang-tidy` and `dotnet` print
|
||||
absolute paths in the workspace of the runner (found in the adoption check,
|
||||
MIL-007 task 7).
|
||||
|
||||
## [1.2.0] - 2026-10-13
|
||||
|
||||
### Added
|
||||
|
||||
@@ -11,7 +11,7 @@ each document lives in *this* project and the next version to use.
|
||||
| SA | Stakeholder Analysis | docs/stakeholder-analysis.md | 002 |
|
||||
| PP | Project Plan | docs/project-plan.md | 002 |
|
||||
| MIL | Milestone / Gateway | docs/milestones/*.md | 008 |
|
||||
| RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 059 |
|
||||
| RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 060 |
|
||||
| TM | Traceability Matrix | docs/sqa/traceability-matrix.md | 002 |
|
||||
| ADR | Architecture Decision Record | docs/adr/adr-NNNN-*.md | 0009 |
|
||||
| UCD | Use Case Diagram | docs/use-case-diagram.md | 002 |
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-11 | Deprecated | Jens Tirsvad Nielsen | S01 | Current tool versions only, .NET SDK 10 or later: results of run 699 replace the SDK 8 result; tasks 3 and criterion 1 amended | [7bcc67a] |
|
||||
| 2026-10-11 | Accepted | Jens Tirsvad Nielsen | S01 | Amendment reviewed (RC-055) and accepted: current tool versions, .NET SDK 10 or later, results of run 699, the contract of ADR-0008 in task 3 | [faf13b2] |
|
||||
| 2026-10-11 | Deprecated | Jens Tirsvad Nielsen | S01 | Amendment reviewed (RC-055) and accepted: current tool versions, .NET SDK 10 or later, results of run 699, the contract of ADR-0008 in task 3 | [faf13b2] |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Task 7 results added and reviewed (RC-059): adoption in two throwaway repositories, seeded failures verified, a guide gap fixed | [2481c26] |
|
||||
|
||||
---
|
||||
|
||||
@@ -112,6 +112,30 @@ network), a private runner with no internet, and an image that differs from
|
||||
`ubuntu-latest`. Those belong to the contract (task 3) and to the adoption
|
||||
(task 7).
|
||||
|
||||
Task 7 was run on 2026-10-13 in two throwaway private repositories of the
|
||||
organisation, `TirSystem/qc-adoption-cpp` and `TirSystem/qc-adoption-csharp`
|
||||
(no real C++ or C# project exists there; the user chose throwaways in chat).
|
||||
Each holds a small passing project, a style file, and a workflow that calls the
|
||||
released `v1.2.0` (`quality-checks-cpp.yml`, `quality-checks-csharp.yml`) with
|
||||
the guide's call. A branch `seeded-failure` with a pull request added a
|
||||
formatting error and a null dereference.
|
||||
|
||||
| Repository | Baseline on `main` | Seeded failure (pull request 1) |
|
||||
| --- | --- | --- |
|
||||
| `qc-adoption-cpp` | Pass (runs 899, 900) | Fail (run 906): `main.cpp:3:13: error: code should be clang-formatted`, `main.cpp:5:18: error: Dereference of null pointer ... [clang-analyzer-core.NullDereference]`, `FAIL clang-format`, `FAIL clang-tidy (C++)`, last line `Quality checks failed: clang-format clang-tidy (C++)` |
|
||||
| `qc-adoption-csharp` | Pass (runs 901, 902) | Fail: `src/Program.cs(5,3): error WHITESPACE`, `src/Program.cs(8,27): error CS8602`, `FAIL dotnet format --verify-no-changes`, `FAIL dotnet build -warnaserror` |
|
||||
|
||||
Both statuses (`quality` and `quality-checks-cpp` / `quality-checks-csharp`)
|
||||
appear on the pull requests. One gap in the guides was found and fixed: they
|
||||
said the paths are relative to `working-directory`, but `clang-tidy` and
|
||||
`dotnet` print absolute paths in the workspace of the runner. The guides and
|
||||
their three wiki languages now say so.
|
||||
|
||||
Not covered: a real C++ project with a compile database and a real C# solution
|
||||
with many packages; both stay open until a project of that kind adopts the
|
||||
workflows. The throwaway repositories are kept until the user says to delete
|
||||
them.
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
@@ -124,3 +148,4 @@ network), a private runner with no internet, and an image that differs from
|
||||
[ADR-0008]: ../adr/adr-0008-cpp-csharp-quality-check-contract.md
|
||||
[7bcc67a]: https://git.tirsystem.com/TirSystem/github-action/commit/7bcc67a065ac5f67b4e13ebf243a4bbbe2af47d9
|
||||
[faf13b2]: https://git.tirsystem.com/TirSystem/github-action/commit/faf13b2c2a4901c0171977de1ffc2841023f537a
|
||||
[2481c26]: https://git.tirsystem.com/TirSystem/github-action/commit/2481c26d802464decd51d75539157093b60e08e8
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# Review Record: MIL-007 (task 7 results)
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-059 |
|
||||
| CrossReference | [MIL-007], [QC-MIL-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version | [2481c26] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: [MIL-007] with the verification results of task 7 (adoption in two throwaway repositories, seeded failures)
|
||||
- Checklist used: [QC-MIL-001]
|
||||
- Scope: delta re-review of the added results and of Go/No-Go criteria 3 and 4; the earlier record is [RC-055]
|
||||
- Language and domain: n/a (technical type)
|
||||
- Language reviewer: none
|
||||
- Mode: autonomous, not independent (the reviewer is `AI as stand-in for S01`; the user chose the throwaway repositories in chat on 2026-10-13)
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | A concrete deliverable is defined for every gate | Pass | Unchanged. |
|
||||
| 2 | Explicit Go/No-Go criteria are stated for each gate | Pass | Criterion 3 (tool, file and line in the log) and 4 (status on pull requests) are met for both workflows by runs 906 and the C# run of the same pull request, as the verification results table lists. |
|
||||
| 3 | Dependencies on other milestones are explicitly mapped | Pass | Unchanged: MIL-003 and MIL-004. |
|
||||
| 4 | Each milestone is traceable to a Business Case objective or KPI | Pass | Unchanged: O4, US-001.09, .10, .16, .17. |
|
||||
| 5 | Milestone owner and approving reviewer are identified | Pass | Owner S05, approving reviewer S01. |
|
||||
| 6 | Milestone has a defined target date consistent with project constraints | Pass | 2027-01-16, unchanged. |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go - all six criteria pass. Criteria 3 and 4 of the milestone are verified on throwaway repositories only; a real project with a compile database or many packages is still open and is said so in the results. S01 is stood in for by the AI as the user chose autonomous mode; there is no independent reader, and the decision stays open to challenge.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Decide whether to delete `TirSystem/qc-adoption-cpp` and `TirSystem/qc-adoption-csharp`, and adopt the workflows in a real C++ and C# project | S05 | before the milestone closes |
|
||||
|
||||
---
|
||||
|
||||
[MIL-007]: ../../milestones/mil-007-cpp-csharp-quality-checks.md
|
||||
[RC-055]: ./rc-055-mil-007-amendment.md
|
||||
[QC-MIL-001]: ../../../framework/qc/qc-milestones-gateways.md
|
||||
[2481c26]: https://git.tirsystem.com/TirSystem/github-action/commit/2481c26d802464decd51d75539157093b60e08e8
|
||||
@@ -4,13 +4,13 @@
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | TM-001 |
|
||||
| CrossReference | [BC-001], [SA-001], [PP-001], [MIL-001], [MIL-002], [MIL-003], [MIL-004], [MIL-005], [MIL-006], [MIL-007], [RC-001], [RC-002], [RC-003], [RC-004], [RC-005], [RC-006], [RC-007], [RC-008], [RC-009], [RC-010], [RC-011], [RC-012], [RC-013], [RC-014], [RC-015], [RC-016], [RC-017], [RC-018], [RC-019], [RC-020], [RC-021], [RC-022], [RC-023], [RC-024], [RC-025], [RC-026], [RC-027], [RC-028], [RC-029], [RC-030], [RC-031], [RC-032], [RC-033], [RC-034], [RC-035], [RC-036], [RC-037], [RC-038], [RC-039], [RC-040], [RC-041], [RC-042], [RC-043], [RC-044], [RC-045], [RC-046], [RC-047], [RC-048], [RC-049], [RC-050], [RC-051], [RC-052], [RC-053], [RC-054], [RC-055], [RC-056], [RC-057], [RC-058], [ADR-0007], [ADR-0008], [UC-007], [UC-006], [ADR-0006], [UC-005], [ADR-0005], [UCD-001], [US-001], [UC-001], [UC-002], [UC-003], [UC-004], [ADR-0001], [ADR-0002], [ADR-0003], [ADR-0004] |
|
||||
| CrossReference | [BC-001], [SA-001], [PP-001], [MIL-001], [MIL-002], [MIL-003], [MIL-004], [MIL-005], [MIL-006], [MIL-007], [RC-001], [RC-002], [RC-003], [RC-004], [RC-005], [RC-006], [RC-007], [RC-008], [RC-009], [RC-010], [RC-011], [RC-012], [RC-013], [RC-014], [RC-015], [RC-016], [RC-017], [RC-018], [RC-019], [RC-020], [RC-021], [RC-022], [RC-023], [RC-024], [RC-025], [RC-026], [RC-027], [RC-028], [RC-029], [RC-030], [RC-031], [RC-032], [RC-033], [RC-034], [RC-035], [RC-036], [RC-037], [RC-038], [RC-039], [RC-040], [RC-041], [RC-042], [RC-043], [RC-044], [RC-045], [RC-046], [RC-047], [RC-048], [RC-049], [RC-050], [RC-051], [RC-052], [RC-053], [RC-054], [RC-055], [RC-056], [RC-057], [RC-058], [RC-059], [ADR-0007], [ADR-0008], [UC-007], [UC-006], [ADR-0006], [UC-005], [ADR-0005], [UCD-001], [US-001], [UC-001], [UC-002], [UC-003], [UC-004], [ADR-0001], [ADR-0002], [ADR-0003], [ADR-0004] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-11 | Deprecated | Jens Tirsvad Nielsen | S01 | Added RC-056 and RC-057 (UC-005 and US-001 for C++ and C#) | [1bc56f8] |
|
||||
| 2026-10-13 | Proposed | Jens Tirsvad Nielsen | S01 | Added RC-058 (MIL-006 task 6 amendment) | [8051cc4] |
|
||||
| 2026-10-13 | Proposed | Jens Tirsvad Nielsen | S01 | Added RC-059 (MIL-007 task 7 results) | [2481c26] |
|
||||
|
||||
---
|
||||
|
||||
@@ -39,7 +39,7 @@ updated whenever an artifact instance is created or reviewed.
|
||||
| [RC-006] | RC | [MIL-003] | - | - |
|
||||
| [MIL-005] | MIL | [BC-001], [PP-001], [MIL-002] | [MIL-006] | [RC-010], [RC-011], [RC-030], [RC-050] |
|
||||
| [MIL-006] | MIL | [BC-001], [PP-001], [MIL-002], [MIL-005] | - | [RC-016], [RC-031], [RC-049], [RC-058] |
|
||||
| [MIL-007] | MIL | [BC-001], [PP-001], [MIL-003], [MIL-004], [ADR-0008] | - | [RC-052], [RC-055] |
|
||||
| [MIL-007] | MIL | [BC-001], [PP-001], [MIL-003], [MIL-004], [ADR-0008] | - | [RC-052], [RC-055], [RC-059] |
|
||||
| [RC-007] | RC | [MIL-004] | - | - |
|
||||
| [RC-008] | RC | [BC-001] | - | - |
|
||||
| [RC-009] | RC | [PP-001] | - | - |
|
||||
@@ -109,6 +109,7 @@ updated whenever an artifact instance is created or reviewed.
|
||||
| [RC-056] | RC | [UC-005] | - | - |
|
||||
| [RC-057] | RC | [US-001] | - | - |
|
||||
| [RC-058] | RC | [MIL-006] | - | - |
|
||||
| [RC-059] | RC | [MIL-007] | - | - |
|
||||
|
||||
## Coverage Notes
|
||||
|
||||
@@ -197,6 +198,7 @@ updated whenever an artifact instance is created or reviewed.
|
||||
[RC-056]: ./reviews/rc-056-uc-005-cpp-csharp.md
|
||||
[RC-057]: ./reviews/rc-057-us-001-cpp-csharp.md
|
||||
[RC-058]: ./reviews/rc-058-mil-006-task-6.md
|
||||
[RC-059]: ./reviews/rc-059-mil-007-adoption.md
|
||||
[ADR-0008]: ../adr/adr-0008-cpp-csharp-quality-check-contract.md
|
||||
[ADR-0007]: ../adr/adr-0007-release-publish-destination.md
|
||||
[UC-007]: ../uc-007/uc.md
|
||||
@@ -207,3 +209,4 @@ updated whenever an artifact instance is created or reviewed.
|
||||
[faf13b2]: https://git.tirsystem.com/TirSystem/github-action/commit/faf13b2c2a4901c0171977de1ffc2841023f537a
|
||||
[1bc56f8]: https://git.tirsystem.com/TirSystem/github-action/commit/1bc56f8b771531f221f218fc00b147ecc73c051e
|
||||
[8051cc4]: https://git.tirsystem.com/TirSystem/github-action/commit/8051cc4489ee9bcf3b6c62f2eafcb2013b7d2f90
|
||||
[2481c26]: https://git.tirsystem.com/TirSystem/github-action/commit/2481c26d802464decd51d75539157093b60e08e8
|
||||
|
||||
@@ -70,7 +70,9 @@ package, and old tools are not run (ADR-0008).
|
||||
3. A tool ends with `PASS <tool>` or `FAIL <tool>`; the last line of a failed
|
||||
run names them: `Quality checks failed: clang-format`.
|
||||
4. A finding is written by the tool itself as `path:line:column: message`.
|
||||
Paths are relative to `working-directory`.
|
||||
`clang-format` prints paths relative to `working-directory`; `clang-tidy`
|
||||
prints absolute paths in the workspace of the runner
|
||||
(`/workspace/<owner>/<repo>/main.cpp:5:18`).
|
||||
|
||||
## Typical failures and fixes
|
||||
|
||||
|
||||
@@ -67,6 +67,8 @@ a notice. Project tests are not run.
|
||||
run names them:
|
||||
`Quality checks failed: dotnet format --verify-no-changes`.
|
||||
4. A finding is written by the tool itself as `path(line,column): CODE message`.
|
||||
The path is absolute in the workspace of the runner
|
||||
(`/workspace/<owner>/<repo>/src/Program.cs(8,27)`).
|
||||
|
||||
## Typical failures and fixes
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- translation of QualityChecksCSharp.md, source sha256 2baa0d48f712 -->
|
||||
<!-- translation of QualityChecksCSharp.md, source sha256 36e34031e0b9 -->
|
||||
|
||||
> Dette er en oversættelse af [`QualityChecksCSharp`](QualityChecksCSharp). Den engelske side er autoritativ, og ændringer her bliver overskrevet, næste gang wikien publiceres.
|
||||
|
||||
@@ -56,7 +56,7 @@ Usporede filer kontrolleres ikke. Et repository uden `*.cs`-filer består med en
|
||||
1. Åbn statuskontrollen på pull requesten og derefter jobbet `quality-checks-csharp`.
|
||||
2. Hvert værktøj har sin egen logggruppe. Begge kører, selv om det første fejlede, så én kørsel viser alle fund.
|
||||
3. Et værktøj ender med `PASS <værktøj>` eller `FAIL <værktøj>`; sidste linje i en mislykket kørsel nævner dem: `Quality checks failed: dotnet format --verify-no-changes`.
|
||||
4. Et fund skrives af værktøjet selv som `path(line,column): CODE message`.
|
||||
4. Et fund skrives af værktøjet selv som `path(line,column): CODE message`. Stien er absolut i runnerens arbejdsområde (`/workspace/<owner>/<repo>/src/Program.cs(8,27)`).
|
||||
|
||||
## Typiske fejl og rettelser
|
||||
|
||||
|
||||
@@ -73,6 +73,8 @@ a notice. Project tests are not run.
|
||||
run names them:
|
||||
`Quality checks failed: dotnet format --verify-no-changes`.
|
||||
4. A finding is written by the tool itself as `path(line,column): CODE message`.
|
||||
The path is absolute in the workspace of the runner
|
||||
(`/workspace/<owner>/<repo>/src/Program.cs(8,27)`).
|
||||
|
||||
## Typical failures and fixes
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- translation of QualityChecksCSharp.md, source sha256 2baa0d48f712 -->
|
||||
<!-- translation of QualityChecksCSharp.md, source sha256 36e34031e0b9 -->
|
||||
|
||||
> Ini ialah terjemahan [`QualityChecksCSharp`](QualityChecksCSharp). Halaman bahasa Inggeris ialah teks yang sah, dan perubahan di sini akan ditimpa pada penerbitan wiki yang seterusnya.
|
||||
|
||||
@@ -56,7 +56,7 @@ Fail yang tidak dijejaki tidak disemak. Repositori tanpa fail `*.cs` lulus denga
|
||||
1. Buka semakan status pada pull request, kemudian kerja `quality-checks-csharp`.
|
||||
2. Setiap alat mempunyai kumpulan lognya sendiri. Kedua-duanya dijalankan walaupun yang pertama gagal, jadi satu larian menunjukkan semua dapatan.
|
||||
3. Satu alat berakhir dengan `PASS <alat>` atau `FAIL <alat>`; baris terakhir larian yang gagal menamakannya: `Quality checks failed: dotnet format --verify-no-changes`.
|
||||
4. Satu dapatan ditulis oleh alat itu sendiri sebagai `path(line,column): CODE message`.
|
||||
4. Satu dapatan ditulis oleh alat itu sendiri sebagai `path(line,column): CODE message`. Laluan itu mutlak dalam ruang kerja runner (`/workspace/<owner>/<repo>/src/Program.cs(8,27)`).
|
||||
|
||||
## Kegagalan biasa dan pembetulan
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- translation of QualityChecksCpp.md, source sha256 baf659e82523 -->
|
||||
<!-- translation of QualityChecksCpp.md, source sha256 6faa57183a11 -->
|
||||
|
||||
> Dette er en oversættelse af [`QualityChecksCpp`](QualityChecksCpp). Den engelske side er autoritativ, og ændringer her bliver overskrevet, næste gang wikien publiceres.
|
||||
|
||||
@@ -58,7 +58,7 @@ Usporede filer kontrolleres ikke. Et repository uden disse filer består med en
|
||||
1. Åbn statuskontrollen på pull requesten og derefter jobbet `quality-checks-cpp`.
|
||||
2. Hvert værktøj har sin egen logggruppe. Alle værktøjer kører, selv om et tidligere fejlede, så én kørsel viser alle fund.
|
||||
3. Et værktøj ender med `PASS <værktøj>` eller `FAIL <værktøj>`; sidste linje i en mislykket kørsel nævner dem: `Quality checks failed: clang-format`.
|
||||
4. Et fund skrives af værktøjet selv som `path:line:column: message`. Stier er relative til `working-directory`.
|
||||
4. Et fund skrives af værktøjet selv som `path:line:column: message`. `clang-format` skriver stier relative til `working-directory`; `clang-tidy` skriver absolutte stier i runnerens arbejdsområde (`/workspace/<owner>/<repo>/main.cpp:5:18`).
|
||||
|
||||
## Typiske fejl og rettelser
|
||||
|
||||
|
||||
@@ -76,7 +76,9 @@ package, and old tools are not run (ADR-0008).
|
||||
3. A tool ends with `PASS <tool>` or `FAIL <tool>`; the last line of a failed
|
||||
run names them: `Quality checks failed: clang-format`.
|
||||
4. A finding is written by the tool itself as `path:line:column: message`.
|
||||
Paths are relative to `working-directory`.
|
||||
`clang-format` prints paths relative to `working-directory`; `clang-tidy`
|
||||
prints absolute paths in the workspace of the runner
|
||||
(`/workspace/<owner>/<repo>/main.cpp:5:18`).
|
||||
|
||||
## Typical failures and fixes
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<!-- translation of QualityChecksCpp.md, source sha256 baf659e82523 -->
|
||||
<!-- translation of QualityChecksCpp.md, source sha256 6faa57183a11 -->
|
||||
|
||||
> Ini ialah terjemahan [`QualityChecksCpp`](QualityChecksCpp). Halaman bahasa Inggeris ialah teks yang sah, dan perubahan di sini akan ditimpa pada penerbitan wiki yang seterusnya.
|
||||
|
||||
@@ -58,7 +58,7 @@ Fail yang tidak dijejaki tidak disemak. Repositori tanpa fail ini lulus dengan s
|
||||
1. Buka semakan status pada pull request, kemudian kerja `quality-checks-cpp`.
|
||||
2. Setiap alat mempunyai kumpulan lognya sendiri. Setiap alat dijalankan walaupun yang terdahulu gagal, jadi satu larian menunjukkan semua dapatan.
|
||||
3. Satu alat berakhir dengan `PASS <alat>` atau `FAIL <alat>`; baris terakhir larian yang gagal menamakannya: `Quality checks failed: clang-format`.
|
||||
4. Satu dapatan ditulis oleh alat itu sendiri sebagai `path:line:column: message`. Laluan relatif kepada `working-directory`.
|
||||
4. Satu dapatan ditulis oleh alat itu sendiri sebagai `path:line:column: message`. `clang-format` menulis laluan relatif kepada `working-directory`; `clang-tidy` menulis laluan mutlak dalam ruang kerja runner (`/workspace/<owner>/<repo>/main.cpp:5:18`).
|
||||
|
||||
## Kegagalan biasa dan pembetulan
|
||||
|
||||
|
||||
Reference in New Issue
Block a user