From 3b8681d0236c669b794ffbba725433fff600a2d2 Mon Sep 17 00:00:00 2001 From: Jens Tirsvad Nielsen Date: Sat, 10 Oct 2026 20:13:11 +0800 Subject: [PATCH 1/2] Record the adoption of the quality checks in RepoFoundry Run against TirSystem-BashScript/RepoFoundry (39 shell files): shellcheck passes with the project's .shellcheckrc, shfmt fails on 10 files only because of the case indentation and passes after one .editorconfig line; the pull request itself passes. Record the findings for the guide, review the change (RC-039) and update TM-001. The adoption is complete when RepoFoundry PR 76 is merged. Task: MIL-003#4 --- docs/artifact-registry.md | 2 +- docs/milestones/mil-003-quality-checks.md | 37 +++++++++++++++-- docs/sqa/reviews/rc-039-mil-003-adoption.md | 46 +++++++++++++++++++++ docs/sqa/traceability-matrix.md | 11 ++--- 4 files changed, 86 insertions(+), 10 deletions(-) create mode 100644 docs/sqa/reviews/rc-039-mil-003-adoption.md diff --git a/docs/artifact-registry.md b/docs/artifact-registry.md index 55ad91f..4e2469d 100644 --- a/docs/artifact-registry.md +++ b/docs/artifact-registry.md @@ -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 | 007 | -| RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 039 | +| RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 040 | | TM | Traceability Matrix | docs/sqa/traceability-matrix.md | 002 | | ADR | Architecture Decision Record | docs/adr/adr-NNNN-*.md | 0006 | | UCD | Use Case Diagram | docs/use-case-diagram.md | 002 | diff --git a/docs/milestones/mil-003-quality-checks.md b/docs/milestones/mil-003-quality-checks.md index f98156e..154bd3f 100644 --- a/docs/milestones/mil-003-quality-checks.md +++ b/docs/milestones/mil-003-quality-checks.md @@ -9,8 +9,8 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-10 | Deprecated | Jens Tirsvad Nielsen | S01 | Target date 2026-11-14 confirmed on 2026-10-10 by S01 (stand-in for S05) | [ea06eaa] | -| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Task 1 verified: workflow_call and uses work from the same repository, the same organization and another organization (RC-033) | [b3f006f] | +| 2026-10-10 | Deprecated | Jens Tirsvad Nielsen | S01 | Task 1 verified: workflow_call and uses work from the same repository, the same organization and another organization (RC-033) | [b3f006f] | +| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Task 4 recorded: adoption in RepoFoundry, the shfmt .editorconfig gap and the other findings (RC-039) | pending | --- @@ -63,7 +63,7 @@ other repository, and a guide for reading its results. | 1 | Verify reusable workflow support | Check whether this Gitea version supports `workflow_call` and cross-repository `uses`; if not, choose a copied template instead. Verified on 2026-10-10: supported, so no copied template is needed (see Verification results). | No | Verification results | | 2 | Define the quality-check contract | Decide the inputs (language, tool versions, working directory) and what a pass and a fail mean. Start with Python and shell. This is something an engineer does, so it needs a use case first. | Yes | Use case candidate: run project quality checks | | 3 | Implement the reusable quality workflow | Create the workflow in the canonical location with pinned tool versions and least-privilege permissions. | No | | -| 4 | Adopt it in one other repository | Onboard a real project and fix the gaps in the guide that appear. | No | | +| 4 | Adopt it in one other repository | Onboard a real project and fix the gaps in the guide that appear. Adopted in `TirSystem-BashScript/RepoFoundry` (its PR 76, run passes); see Adoption in a real repository. | No | Adoption in a real repository | | 5 | Write the guide for reading results | Explain status checks, logs and typical fixes so an engineer can make a failing check pass. | No | | ## Verification results @@ -86,9 +86,38 @@ provider here is public), passing secrets to a called workflow branch. The quality checks of this milestone need none of the secrets; a private provider and tag references are for the release milestone (MIL-004). +## Adoption in a real repository (task 4) + +On 2026-10-10 the workflow was run against `TirSystem-BashScript/RepoFoundry` +(another organization; 39 shell files, no Python), first on a throwaway +branch and then as a pull request, RepoFoundry PR 76. + +| Run | `shellcheck` | `shfmt -d` | Python | +| --- | --- | --- | --- | +| Unchanged repository | PASS on all 39 files | FAIL on 10 files | skipped with a notice (no files) | +| With `switch_case_indent = true` under `[*.sh]` in `.editorconfig` | PASS | PASS | skipped | +| The pull request itself (`languages: shell`) | PASS | PASS | not selected | + +What the run showed: + +- **`shellcheck` needs no help** when the project has a `.shellcheckrc`: the + workflow runs from the repository root, so the project's own settings + (`external-sources`, `source-path=SCRIPTDIR`) applied and files that share + variables across `src/lib/*.sh` produced no false positives. +- **`shfmt` follows the project's style only through `.editorconfig`.** All ten + differences were the indentation of `case` patterns: the workflow uses shfmt + defaults, the project's own check is `shfmt -i 2 -ci`. One `.editorconfig` + line fixed it without changing a script. A shell project with its own shfmt + flags should expect a first formatting failure and express the flags there. +- **Paths in the log are relative to `working-directory`**, and a caller must + reference the workflow at `main` or a tag, not at a branch that is deleted + when its pull request merges (the first trial lost its reference that way). + +The task closes when RepoFoundry PR 76 is merged. The gaps above are for the +guide of task 5 (issue #19). + --- [BC-001]: ../business-case.md [ADR-0002]: ../adr/adr-0002-s01-approves-as-stand-in.md -[ea06eaa]: https://git.tirsystem.com/TirSystem/github-action/commit/ea06eaaa698247d20e4a8e2694d7acbb1de58b63 [b3f006f]: https://git.tirsystem.com/TirSystem/github-action/commit/b3f006f7a482392189a46c324ad4f28c4c3a2d2a diff --git a/docs/sqa/reviews/rc-039-mil-003-adoption.md b/docs/sqa/reviews/rc-039-mil-003-adoption.md new file mode 100644 index 0000000..d7a09cd --- /dev/null +++ b/docs/sqa/reviews/rc-039-mil-003-adoption.md @@ -0,0 +1,46 @@ +# Review Record: MIL-003 (adoption in RepoFoundry) + +## Metadata +| Key | Value | +| --- | --- | +| ID | RC-039 | +| CrossReference | [MIL-003], [QC-MIL-001] | + +## Version History +| Date | Status | Author | Reviewer | Change | Commit | +| --- | --- | --- | --- | --- | --- | +| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Initial version | pending | + +--- + +## Artifact Under Review + +- Instance reviewed: [MIL-003] +- Checklist used: [QC-MIL-001] + +## 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 | Unchanged; criterion 2 (another repository runs the workflow and its status check appears on pull requests) is evidenced by the pull-request run in RepoFoundry. | +| 3 | Dependencies on other milestones are explicitly mapped | Pass | Unchanged. | +| 4 | Each milestone is traceable to a Business Case objective or KPI | Pass | Unchanged. | +| 5 | Milestone owner and approving reviewer are identified | Pass | Unchanged. | +| 6 | Milestone has a defined target date consistent with project constraints | Pass | Unchanged. | + +## Overall Verdict + +Go - all six criteria pass; the reviewed change records the adoption trial and its findings. The adoption is not complete until RepoFoundry PR 76 is merged, and the record says so. S01 gave the Go in chat on 2026-10-10, standing in for the other reviewers as ADR-0002 records; there is no independent reader. + +## Action Items + +| Action | Owner | Due | +| --- | --- | --- | +| Merge RepoFoundry PR 76 (its maintainers), then close issue #18 | S01 | 2026-11-14 | +| Put the three findings (shfmt style in `.editorconfig`, relative paths, reference `main` or a tag) in the results guide (issue #19) | S01 | 2026-11-14 | + +--- + +[MIL-003]: ../../milestones/mil-003-quality-checks.md +[QC-MIL-001]: ../../../framework/qc/qc-milestones-gateways.md diff --git a/docs/sqa/traceability-matrix.md b/docs/sqa/traceability-matrix.md index 527e4d1..3874e90 100644 --- a/docs/sqa/traceability-matrix.md +++ b/docs/sqa/traceability-matrix.md @@ -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], [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], [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], [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], [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-10 | Deprecated | Jens Tirsvad Nielsen | S01 | Added RC-034 for MIL-004 | [616c5d2] | -| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Added UC-005, ADR-0005 and RC-035 to RC-038 | [385d2fb] | +| 2026-10-10 | Deprecated | Jens Tirsvad Nielsen | S01 | Added UC-005, ADR-0005 and RC-035 to RC-038 | [385d2fb] | +| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Added RC-039 for MIL-003 | pending | --- @@ -29,7 +29,7 @@ updated whenever an artifact instance is created or reviewed. | [PP-001] | PP | [BC-001], [SA-001] | [MIL-001], [MIL-002], [MIL-003], [MIL-004], [MIL-005], [MIL-006], [US-001] | [RC-002], [RC-009], [RC-015], [RC-017], [RC-025], [RC-032] | | [MIL-001] | MIL | [BC-001], [PP-001] | [MIL-002] | [RC-003], [RC-026] | | [MIL-002] | MIL | [BC-001], [PP-001], [MIL-001] | [MIL-003], [MIL-005] | [RC-005], [RC-027] | -| [MIL-003] | MIL | [BC-001], [PP-001], [MIL-002] | [MIL-004] | [RC-006], [RC-028], [RC-033] | +| [MIL-003] | MIL | [BC-001], [PP-001], [MIL-002] | [MIL-004] | [RC-006], [RC-028], [RC-033], [RC-039] | | [MIL-004] | MIL | [BC-001], [PP-001], [MIL-003] | - | [RC-007], [RC-029], [RC-034] | | [RC-001] | RC | [BC-001] | - | - | | [RC-002] | RC | [PP-001] | - | - | @@ -83,6 +83,7 @@ updated whenever an artifact instance is created or reviewed. | [RC-036] | RC | [US-001] | - | - | | [RC-037] | RC | [UC-005] | - | - | | [RC-038] | RC | [ADR-0005] | - | - | +| [RC-039] | RC | [MIL-003] | - | - | ## Coverage Notes @@ -150,7 +151,7 @@ updated whenever an artifact instance is created or reviewed. [RC-036]: ./reviews/rc-036-us-001.md [RC-037]: ./reviews/rc-037-uc-005.md [RC-038]: ./reviews/rc-038-adr-0005.md +[RC-039]: ./reviews/rc-039-mil-003-adoption.md [UC-005]: ../uc-005/uc.md [ADR-0005]: ../adr/adr-0005-quality-check-contract.md -[616c5d2]: https://git.tirsystem.com/TirSystem/github-action/commit/616c5d2e48f0d76399a6f78923891fc7f50c8e22 [385d2fb]: https://git.tirsystem.com/TirSystem/github-action/commit/385d2fb7cb9be1fdc8fd3503d0af624fa38eafc7 -- 2.54.0 From f69b38c2286cadd4ac44263bb049508517c60f9c Mon Sep 17 00:00:00 2001 From: Jens Tirsvad Nielsen Date: Sat, 10 Oct 2026 20:13:13 +0800 Subject: [PATCH 2/2] Resolve pending commit links in MIL-003, RC-039 and TM-001 --- docs/milestones/mil-003-quality-checks.md | 3 ++- docs/sqa/reviews/rc-039-mil-003-adoption.md | 3 ++- docs/sqa/traceability-matrix.md | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/milestones/mil-003-quality-checks.md b/docs/milestones/mil-003-quality-checks.md index 154bd3f..559406f 100644 --- a/docs/milestones/mil-003-quality-checks.md +++ b/docs/milestones/mil-003-quality-checks.md @@ -10,7 +10,7 @@ | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | | 2026-10-10 | Deprecated | Jens Tirsvad Nielsen | S01 | Task 1 verified: workflow_call and uses work from the same repository, the same organization and another organization (RC-033) | [b3f006f] | -| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Task 4 recorded: adoption in RepoFoundry, the shfmt .editorconfig gap and the other findings (RC-039) | pending | +| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Task 4 recorded: adoption in RepoFoundry, the shfmt .editorconfig gap and the other findings (RC-039) | [3b8681d] | --- @@ -121,3 +121,4 @@ guide of task 5 (issue #19). [BC-001]: ../business-case.md [ADR-0002]: ../adr/adr-0002-s01-approves-as-stand-in.md [b3f006f]: https://git.tirsystem.com/TirSystem/github-action/commit/b3f006f7a482392189a46c324ad4f28c4c3a2d2a +[3b8681d]: https://git.tirsystem.com/TirSystem/github-action/commit/3b8681d0236c669b794ffbba725433fff600a2d2 diff --git a/docs/sqa/reviews/rc-039-mil-003-adoption.md b/docs/sqa/reviews/rc-039-mil-003-adoption.md index d7a09cd..cfbfdcb 100644 --- a/docs/sqa/reviews/rc-039-mil-003-adoption.md +++ b/docs/sqa/reviews/rc-039-mil-003-adoption.md @@ -9,7 +9,7 @@ ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | -| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Initial version | pending | +| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Initial version | [3b8681d] | --- @@ -44,3 +44,4 @@ Go - all six criteria pass; the reviewed change records the adoption trial and i [MIL-003]: ../../milestones/mil-003-quality-checks.md [QC-MIL-001]: ../../../framework/qc/qc-milestones-gateways.md +[3b8681d]: https://git.tirsystem.com/TirSystem/github-action/commit/3b8681d0236c669b794ffbba725433fff600a2d2 diff --git a/docs/sqa/traceability-matrix.md b/docs/sqa/traceability-matrix.md index 3874e90..a448af5 100644 --- a/docs/sqa/traceability-matrix.md +++ b/docs/sqa/traceability-matrix.md @@ -10,7 +10,7 @@ | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | | 2026-10-10 | Deprecated | Jens Tirsvad Nielsen | S01 | Added UC-005, ADR-0005 and RC-035 to RC-038 | [385d2fb] | -| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Added RC-039 for MIL-003 | pending | +| 2026-10-10 | Accepted | Jens Tirsvad Nielsen | S01 | Added RC-039 for MIL-003 | [3b8681d] | --- @@ -155,3 +155,4 @@ updated whenever an artifact instance is created or reviewed. [UC-005]: ../uc-005/uc.md [ADR-0005]: ../adr/adr-0005-quality-check-contract.md [385d2fb]: https://git.tirsystem.com/TirSystem/github-action/commit/385d2fb7cb9be1fdc8fd3503d0af624fa38eafc7 +[3b8681d]: https://git.tirsystem.com/TirSystem/github-action/commit/3b8681d0236c669b794ffbba725433fff600a2d2 -- 2.54.0