Configuration Management Plan¶
- Status: draft
Configuration Items¶
- Source code, build configuration, and documentation: this git repository.
- TBD: third-party dependencies (SOUP list per IEC 62304 §8.1.2), build artifacts, releases.
Version Control¶
- System: git, hosted at TBD.
- Branching model: TBD (proposal: trunk-based with short-lived feature branches).
- Releases: TBD (tagging scheme, versioning scheme — proposal: SemVer).
Document Baselines and Change Control¶
Controlled documents (requirements, process documents, architecture documentation) are versioned exclusively through git and follow a lightweight life cycle:
- Draft: documents marked
Status: draftmay be modified freely; normal commits suffice. Review feedback is incorporated without formal change control. - Baseline (release): a completed review is concluded by flipping the document
status to
releasedand creating an annotated git tag (e.g.requirements-v1.0) whose message names the reviewed documents and the reviewer. The tagged commit is the immutable reference state for verification and traceability. - Change after baseline: modifying a released document requires: the change with a stated reason and impact assessment (affected requirements, tests, ADRs) in the commit message, re-review of the change, and a new baseline tag. Requirement IDs are never reused; superseded requirements are struck through with a pointer to their successor.
No version tables inside documents — git history and baseline tags are the record.
Commit Messages¶
Commit messages follow Conventional Commits 1.0.0:
- Types:
feat,fix,docs,refactor,test,build,ci,chore. Breaking changes are marked with!after the type/scope. - Scope: optional; a module or document area (e.g.
doc-lifecycle,arch,process). - Subject: English, imperative mood, no trailing period.
- Traceability: commits that implement or change requirements, ADRs, or risk
mitigations reference them in a
Refs:trailer (e.g.Refs: REQ-DOC-012, ADR-0003).
Example:
feat(doc-lifecycle): add release transition guard
Released documents now require all configured
reviewer roles to have approved.
Refs: REQ-DOC-012, ADR-0003
SOUP List¶
Versions are pinned in gradle/libs.versions.toml (single source for build
dependencies); this table records purpose and review status.
| Component | Version | Purpose | Source |
|---|---|---|---|
| Gradle | 9.5.1 | Build system | gradle.org |
| Kotlin | 2.3.21 | Backend language (Quarkus-BOM-aligned) | kotlinlang.org |
| Quarkus platform | 3.36.1 | Application framework (REST, CDI, test support) | quarkus.io |
| JUnit | 6.0.1 | Test framework | junit.org |
| REST Assured | (via Quarkus BOM) | API-level testing | rest-assured.io |
| PostgreSQL | 18 (image postgres:18-alpine) |
Database | postgresql.org |
| PostgreSQL JDBC driver | 42.7.11 (BOM-aligned) | Database access | jdbc.postgresql.org |
| jOOQ | 3.21.5 | Type-safe SQL, codegen from migrated schema | jooq.org |
| Flyway | 12.0.0 (BOM-aligned) | Schema migrations | flywaydb.org |
| Testcontainers | 2.0.5 (BOM-aligned) | Throwaway PostgreSQL for tests & codegen | testcontainers.org |
| Konsist | 0.17.3 | Architecture/module-boundary tests | konsist.lemonappdev.com |