Add plan baseline: business case, stakeholders, project plan, four milestones, reviews

Refs: plan accepted by S01 in chat (autonomous mode)
This commit is contained in:
2026-10-13 15:40:07 +08:00
parent 79812cb44f
commit b113e6eacd
16 changed files with 1040 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
# SQA Review Record
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-001 |
| CrossReference | [BC-001], [QC-BC-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Proposed | Claude (AI) for S01 | AI as stand-in for S01 | Initial review record: Go | pending |
---
## Artifact Under Review
- Instance reviewed: [BC-001]
- Checklist used: [QC-BC-001] and [QC-LANG-001]
- Scope: full review
- Language and domain: en / it
- Language reviewer: none (the reviewer reads English and knows the domain, as stand-in for S01)
- Mode: autonomous, not independent (the reviewer is `AI as stand-in for S01`; the author is the same AI)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | ROI/Cost-Benefit analysis is quantitative, or where qualitative, is explicitly justified | Pass | Cost-Benefit table is qualitative and says why: the project is an exercise with no licence or hosting cost. |
| 2 | Risks are identified with documented impact and mitigation | Pass | Risks table: five risks, each with impact and mitigation. |
| 3 | Success criteria are measurable, stating explicit targets rather than vague aspirations | Pass | Six criteria with target and measure (pytest exit code 0, `check-readme.sh` passes, at least 5 topics). |
| 4 | Scope explicitly separates In Scope vs Out of Scope | Pass | `### In Scope` and `### Out of Scope` subsections. |
| 5 | Stakeholders are cross-referenced to Stakeholder Analysis IDs rather than re-described inline | Pass | Stakeholders table cites S01, S02, S03 and [SA-001]. |
| 6 | Methodology and quality-standard foundation are stated explicitly (e.g. ISO/IEC 25010, Larman) | Pass | Section names the framework, ISO/IEC 25010:2023 and the coding conventions. |
| 7 | Assumptions and constraints are explicit and clearly distinguished from one another | Pass | Separate Assumptions and Constraints sections. |
| 8 | Document supports executive decision-making with a clear, unambiguous recommendation | Pass | Recommendation: Proceed, with rationale. |
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder | Pass | `Language` = en, `Domain` = it in Metadata. |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list | Pass | `en`; `it` is in the registry's domain table. |
| 3 | The content (prose and table cells) is written in the stated language | Pass | All prose and cells are English. Checked by the stand-in for S01, who reads English. |
| 4 | The register matches the one the registry gives for the artifact type | Pass | IT Executive English: plain objective-level prose with no implementation detail beyond what the scope needs. |
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms | Pass | No `DICT` exists for domain `it` and none is in the plan; the document uses standard Python and software terms consistently (for example `states_to_learn.csv`, `missing_states`, Doxygen). Recorded as a stand-in decision. |
| 6 | Metadata keys, section headings, IDs and statuses are in English | Pass | All structural vocabulary is English. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document | Pass | `check-languages.sh` reports no twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again | Pass | First version; no earlier accepted version. |
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly | Pass | The reviewer, AI as stand-in for S01, reads English and the software domain; no second language reviewer is named. S01 is the Product Owner and reads both; a person may challenge this in the run summary. |
| 10 | Abbreviations are spelled out on first use, in the stated language | Pass | Continuous integration (CI), Architecture Decision Record (ADR) and comma-separated values (CSV) are spelled out where first used in prose; file names and tool names are not abbreviations. |
## Overall Verdict
Go - The Business Case is complete against its checklist. Every Mandatory criterion of both checklists passes.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | |
---
[BC-001]: ../../business-case.md
[QC-BC-001]: ../../../framework/qc/artifacts/qc-business-case.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
@@ -0,0 +1,67 @@
# SQA Review Record
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-002 |
| CrossReference | [SA-001], [QC-SA-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Proposed | Claude (AI) for S01 | AI as stand-in for S01 | Initial review record: Go | pending |
---
## Artifact Under Review
- Instance reviewed: [SA-001]
- Checklist used: [QC-SA-001] and [QC-LANG-001]
- Scope: full review
- Language and domain: en / it
- Language reviewer: none (the reviewer reads English and knows the domain, as stand-in for S01)
- Mode: autonomous, not independent (the reviewer is `AI as stand-in for S01`; the author is the same AI)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | Power/Interest grid is filled for every stakeholder, with no gaps or unclassified entries | Pass | S01, S02, S03 each have power, interest and quadrant. |
| 2 | Each stakeholder is assigned a unique, stable ID (e.g. S01-S11 style) reusable for RACI assignments in other artifacts | Pass | S01, S02, S03; used by the Business Case, plan and milestones. |
| 3 | Roles and organizational context are defined with explicit Power and Interest levels, not just narrative description | Pass | Role, organisation, power and interest in the summary table. |
| 4 | Communication needs (channel, frequency, deliverable type) are mapped to project phases or milestones | Pass | Communication table names milestone for each stakeholder. |
| 5 | Conflicting stakeholder interests are identified with documented mitigation or resolution strategies | Pass | Two conflicts, each with a mitigation. |
| 6 | Stakeholder concerns are explicitly traced to Business Case objectives | Pass | Business Goal Alignment table cites [BC-001] objectives. |
| 7 | Primary concerns are expressed in both business language and a recognized quality-attribute mapping (e.g. FURPS+) | Pass | Concerns table with FURPS+ attribute. |
| 8 | Document is understandable and navigable by non-technical stakeholders reviewing their own entry | Pass | One table row per stakeholder, plain wording. |
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder | Pass | `Language` = en, `Domain` = it in Metadata. |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list | Pass | `en`; `it` is in the registry's domain table. |
| 3 | The content (prose and table cells) is written in the stated language | Pass | All prose and cells are English. Checked by the stand-in for S01, who reads English. |
| 4 | The register matches the one the registry gives for the artifact type | Pass | IT Professional English: concrete technical terms and checkable statements. |
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms | Pass | No `DICT` exists for domain `it` and none is in the plan; the document uses standard Python and software terms consistently (for example `states_to_learn.csv`, `missing_states`, Doxygen). Recorded as a stand-in decision. |
| 6 | Metadata keys, section headings, IDs and statuses are in English | Pass | All structural vocabulary is English. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document | Pass | `check-languages.sh` reports no twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again | Pass | First version; no earlier accepted version. |
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly | Pass | The reviewer, AI as stand-in for S01, reads English and the software domain; no second language reviewer is named. S01 is the Product Owner and reads both; a person may challenge this in the run summary. |
| 10 | Abbreviations are spelled out on first use, in the stated language | Pass | The only abbreviations are stakeholder IDs (S01 and so on), defined by the summary table, and FURPS+ (functionality, usability, reliability, performance, supportability plus), named in the method of the Purpose. |
## Overall Verdict
Go - The Stakeholder Analysis meets its checklist. Every Mandatory criterion of both checklists passes.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | |
---
[SA-001]: ../../stakeholder-analysis.md
[QC-SA-001]: ../../../framework/qc/artifacts/qc-stakeholder-analysis.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
+65
View File
@@ -0,0 +1,65 @@
# SQA Review Record
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-003 |
| CrossReference | [MIL-001], [QC-MIL-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Proposed | Claude (AI) for S01 | AI as stand-in for S01 | Initial review record: Go | pending |
---
## Artifact Under Review
- Instance reviewed: [MIL-001]
- Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Scope: full review
- Language and domain: en / it
- Language reviewer: none (the reviewer reads English and knows the domain, as stand-in for S01)
- Mode: autonomous, not independent (the reviewer is `AI as stand-in for S01`; the author is the same AI)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | A concrete deliverable is defined for every gate | Pass | Deliverable section: repository tooling, layout, assets, CI and surface |
| 2 | Explicit Go/No-Go criteria are stated for each gate | Pass | Go / No-Go table with objectively checkable criteria. |
| 3 | Dependencies on other milestones are explicitly mapped | Pass | First milestone; the table says None. |
| 4 | Each milestone is traceable to a Business Case objective or KPI | Pass | Traceability table cites [BC-001] objectives and success criteria. |
| 5 | Milestone owner and approving reviewer are identified | Pass | Ownership table: owner S01, approving reviewer S01 (stand-in in autonomous mode). |
| 6 | Milestone has a defined target date consistent with project constraints | Pass | 2026-10-13, consistent with the one-working-day duration constraint of [BC-001]. |
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder | Pass | `Language` = en, `Domain` = it in Metadata. |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list | Pass | `en`; `it` is in the registry's domain table. |
| 3 | The content (prose and table cells) is written in the stated language | Pass | All prose and cells are English. Checked by the stand-in for S01, who reads English. |
| 4 | The register matches the one the registry gives for the artifact type | Pass | IT Executive English: plain objective-level prose with no implementation detail beyond what the scope needs. |
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms | Pass | No `DICT` exists for domain `it` and none is in the plan; the document uses standard Python and software terms consistently (for example `states_to_learn.csv`, `missing_states`, Doxygen). Recorded as a stand-in decision. |
| 6 | Metadata keys, section headings, IDs and statuses are in English | Pass | All structural vocabulary is English. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document | Pass | `check-languages.sh` reports no twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again | Pass | First version; no earlier accepted version. |
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly | Pass | The reviewer, AI as stand-in for S01, reads English and the software domain; no second language reviewer is named. S01 is the Product Owner and reads both; a person may challenge this in the run summary. |
| 10 | Abbreviations are spelled out on first use, in the stated language | Pass | CI and ADR are spelled out on first use in the milestone documents; Doxygen, pytest and README are tool or file names. |
## Overall Verdict
Go - The milestone meets its checklist. Every Mandatory criterion of both checklists passes.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | |
---
[MIL-001]: ../../milestones/mil-001-baseline-setup.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
+65
View File
@@ -0,0 +1,65 @@
# SQA Review Record
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-004 |
| CrossReference | [MIL-002], [QC-MIL-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Proposed | Claude (AI) for S01 | AI as stand-in for S01 | Initial review record: Go | pending |
---
## Artifact Under Review
- Instance reviewed: [MIL-002]
- Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Scope: full review
- Language and domain: en / it
- Language reviewer: none (the reviewer reads English and knows the domain, as stand-in for S01)
- Mode: autonomous, not independent (the reviewer is `AI as stand-in for S01`; the author is the same AI)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | A concrete deliverable is defined for every gate | Pass | Deliverable section: display-free game logic with tests and an ADR |
| 2 | Explicit Go/No-Go criteria are stated for each gate | Pass | Go / No-Go table with objectively checkable criteria. |
| 3 | Dependencies on other milestones are explicitly mapped | Pass | Depends on MIL-001 with a reason. |
| 4 | Each milestone is traceable to a Business Case objective or KPI | Pass | Traceability table cites [BC-001] objectives and success criteria. |
| 5 | Milestone owner and approving reviewer are identified | Pass | Ownership table: owner S01, approving reviewer S01 (stand-in in autonomous mode). |
| 6 | Milestone has a defined target date consistent with project constraints | Pass | 2026-10-13, consistent with the one-working-day duration constraint of [BC-001]. |
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder | Pass | `Language` = en, `Domain` = it in Metadata. |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list | Pass | `en`; `it` is in the registry's domain table. |
| 3 | The content (prose and table cells) is written in the stated language | Pass | All prose and cells are English. Checked by the stand-in for S01, who reads English. |
| 4 | The register matches the one the registry gives for the artifact type | Pass | IT Executive English: plain objective-level prose with no implementation detail beyond what the scope needs. |
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms | Pass | No `DICT` exists for domain `it` and none is in the plan; the document uses standard Python and software terms consistently (for example `states_to_learn.csv`, `missing_states`, Doxygen). Recorded as a stand-in decision. |
| 6 | Metadata keys, section headings, IDs and statuses are in English | Pass | All structural vocabulary is English. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document | Pass | `check-languages.sh` reports no twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again | Pass | First version; no earlier accepted version. |
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly | Pass | The reviewer, AI as stand-in for S01, reads English and the software domain; no second language reviewer is named. S01 is the Product Owner and reads both; a person may challenge this in the run summary. |
| 10 | Abbreviations are spelled out on first use, in the stated language | Pass | CI and ADR are spelled out on first use in the milestone documents; Doxygen, pytest and README are tool or file names. |
## Overall Verdict
Go - The milestone meets its checklist. Every Mandatory criterion of both checklists passes.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | |
---
[MIL-002]: ../../milestones/mil-002-game-core.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
+65
View File
@@ -0,0 +1,65 @@
# SQA Review Record
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-005 |
| CrossReference | [MIL-003], [QC-MIL-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Proposed | Claude (AI) for S01 | AI as stand-in for S01 | Initial review record: Go | pending |
---
## Artifact Under Review
- Instance reviewed: [MIL-003]
- Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Scope: full review
- Language and domain: en / it
- Language reviewer: none (the reviewer reads English and knows the domain, as stand-in for S01)
- Mode: autonomous, not independent (the reviewer is `AI as stand-in for S01`; the author is the same AI)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | A concrete deliverable is defined for every gate | Pass | Deliverable section: runnable game on the tested core |
| 2 | Explicit Go/No-Go criteria are stated for each gate | Pass | Go / No-Go table with objectively checkable criteria. |
| 3 | Dependencies on other milestones are explicitly mapped | Pass | Depends on MIL-002 with a reason. |
| 4 | Each milestone is traceable to a Business Case objective or KPI | Pass | Traceability table cites [BC-001] objectives and success criteria. |
| 5 | Milestone owner and approving reviewer are identified | Pass | Ownership table: owner S01, approving reviewer S01 (stand-in in autonomous mode). |
| 6 | Milestone has a defined target date consistent with project constraints | Pass | 2026-10-13, consistent with the one-working-day duration constraint of [BC-001]. |
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder | Pass | `Language` = en, `Domain` = it in Metadata. |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list | Pass | `en`; `it` is in the registry's domain table. |
| 3 | The content (prose and table cells) is written in the stated language | Pass | All prose and cells are English. Checked by the stand-in for S01, who reads English. |
| 4 | The register matches the one the registry gives for the artifact type | Pass | IT Executive English: plain objective-level prose with no implementation detail beyond what the scope needs. |
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms | Pass | No `DICT` exists for domain `it` and none is in the plan; the document uses standard Python and software terms consistently (for example `states_to_learn.csv`, `missing_states`, Doxygen). Recorded as a stand-in decision. |
| 6 | Metadata keys, section headings, IDs and statuses are in English | Pass | All structural vocabulary is English. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document | Pass | `check-languages.sh` reports no twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again | Pass | First version; no earlier accepted version. |
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly | Pass | The reviewer, AI as stand-in for S01, reads English and the software domain; no second language reviewer is named. S01 is the Product Owner and reads both; a person may challenge this in the run summary. |
| 10 | Abbreviations are spelled out on first use, in the stated language | Pass | CI and ADR are spelled out on first use in the milestone documents; Doxygen, pytest and README are tool or file names. |
## Overall Verdict
Go - The milestone meets its checklist. Every Mandatory criterion of both checklists passes.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | |
---
[MIL-003]: ../../milestones/mil-003-turtle-game.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md
+65
View File
@@ -0,0 +1,65 @@
# SQA Review Record
## Metadata
| Key | Value |
| --- | --- |
| ID | RC-006 |
| CrossReference | [MIL-004], [QC-MIL-001] |
## Version History
| Date | Status | Author | Reviewer | Change | Commit |
| --- | --- | --- | --- | --- | --- |
| 2026-10-13 | Proposed | Claude (AI) for S01 | AI as stand-in for S01 | Initial review record: Go | pending |
---
## Artifact Under Review
- Instance reviewed: [MIL-004]
- Checklist used: [QC-MIL-001] and [QC-LANG-001]
- Scope: full review
- Language and domain: en / it
- Language reviewer: none (the reviewer reads English and knows the domain, as stand-in for S01)
- Mode: autonomous, not independent (the reviewer is `AI as stand-in for S01`; the author is the same AI)
## Checklist Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | A concrete deliverable is defined for every gate | Pass | Deliverable section: README, Doxygen, screenshots and a three-language wiki |
| 2 | Explicit Go/No-Go criteria are stated for each gate | Pass | Go / No-Go table with objectively checkable criteria. |
| 3 | Dependencies on other milestones are explicitly mapped | Pass | Depends on MIL-003 with a reason. |
| 4 | Each milestone is traceable to a Business Case objective or KPI | Pass | Traceability table cites [BC-001] objectives and success criteria. |
| 5 | Milestone owner and approving reviewer are identified | Pass | Ownership table: owner S01, approving reviewer S01 (stand-in in autonomous mode). |
| 6 | Milestone has a defined target date consistent with project constraints | Pass | 2026-10-13, consistent with the one-working-day duration constraint of [BC-001]. |
## Language and Domain Results
| # | Criterion | Status | Evidence/Notes |
| --- | --- | --- | --- |
| 1 | The Metadata table has a `Language` row and a `Domain` row, and neither is a placeholder | Pass | `Language` = en, `Domain` = it in Metadata. |
| 2 | `Language` is a BCP 47 code and `Domain` is a value from the registry's domain list | Pass | `en`; `it` is in the registry's domain table. |
| 3 | The content (prose and table cells) is written in the stated language | Pass | All prose and cells are English. Checked by the stand-in for S01, who reads English. |
| 4 | The register matches the one the registry gives for the artifact type | Pass | IT Executive English: plain objective-level prose with no implementation detail beyond what the scope needs. |
| 5 | Domain terms are the PO terms of the domain's dictionary, with no synonyms | Pass | No `DICT` exists for domain `it` and none is in the plan; the document uses standard Python and software terms consistently (for example `states_to_learn.csv`, `missing_states`, Doxygen). Recorded as a stand-in decision. |
| 6 | Metadata keys, section headings, IDs and statuses are in English | Pass | All structural vocabulary is English. |
| 7 | No translated twin (`<name>.<language>.md`) exists beside the document | Pass | `check-languages.sh` reports no twin. |
| 8 | A change of language or domain since the previous accepted version has a Version History row and was reviewed again | Pass | First version; no earlier accepted version. |
| 9 | A reviewer competent in the domain, and in the language, has confirmed that the domain terms are used correctly | Pass | The reviewer, AI as stand-in for S01, reads English and the software domain; no second language reviewer is named. S01 is the Product Owner and reads both; a person may challenge this in the run summary. |
| 10 | Abbreviations are spelled out on first use, in the stated language | Pass | CI and ADR are spelled out on first use in the milestone documents; Doxygen, pytest and README are tool or file names. |
## Overall Verdict
Go - The milestone meets its checklist. Every Mandatory criterion of both checklists passes.
## Action Items
| Action | Owner | Due |
| --- | --- | --- |
| None | S01 | |
---
[MIL-004]: ../../milestones/mil-004-docs-release.md
[QC-MIL-001]: ../../../framework/qc/artifacts/qc-milestones-gateways.md
[QC-LANG-001]: ../../../framework/qc/artifacts/qc-language-domain.md