docs: add meta adr to describe the process and template#1329
docs: add meta adr to describe the process and template#1329Ron (rjaegers) wants to merge 1 commit into
Conversation
|
There was a problem hiding this comment.
Pull request overview
Adds a “meta” Architecture Decision Record (ADR) to document how this repository will capture and maintain architectural decisions, aligning with the project’s maintainability requirement to record such decisions in-repo.
Changes:
- Introduces ADR
0000adopting the MADR format for architecture decisions. - Documents decision drivers, considered options, and consequences for using MADR in
docs/adr/.
|
|
||
| Chosen option: **Markdown Architectural Decision Records (MADR)**, because it satisfies every decision driver with the least overhead — decisions are captured as plain Markdown in the repository, reviewed through pull requests, and versioned with the code. | ||
|
|
||
| Architecture decisions are recorded as one Markdown file per decision under `docs/adr/`, named `NNNN-title-with-dashes.md` and numbered sequentially starting at `0000` (this record). Each record follows the MADR structure: context and problem statement, decision drivers, considered options, the decision outcome, and its consequences. Records are immutable once accepted; a decision that changes is captured in a new record, and the superseded record's status is updated to point to it. |
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ ACTION | actionlint | 23 | 0 | 0 | 0.17s | |
| ✅ DOCKERFILE | hadolint | 3 | 0 | 0 | 0.19s | |
| ✅ JSON | npm-package-json-lint | yes | no | no | 0.41s | |
| ✅ JSON | prettier | 28 | 6 | 0 | 0 | 0.68s |
| ✅ JSON | v8r | 28 | 0 | 0 | 9.35s | |
| markdownlint | 13 | 0 | 1 | 0 | 1.0s | |
| ✅ MARKDOWN | markdown-table-formatter | 13 | 0 | 0 | 0 | 0.33s |
| ✅ REPOSITORY | checkov | yes | no | no | 21.56s | |
| ✅ REPOSITORY | gitleaks | yes | no | no | 0.78s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.01s | |
| ✅ REPOSITORY | grype | yes | no | no | 42.81s | |
| osv-scanner | yes | 1 | no | 0.97s | ||
| ✅ REPOSITORY | secretlint | yes | no | no | 1.79s | |
| ✅ REPOSITORY | syft | yes | no | no | 1.7s | |
| ✅ REPOSITORY | trivy | yes | no | no | 12.51s | |
| ✅ REPOSITORY | trivy-sbom | yes | no | no | 0.26s | |
| ✅ REPOSITORY | trufflehog | yes | no | no | 2.36s | |
| lychee | 95 | 3 | 0 | 160.61s | ||
| ✅ YAML | prettier | 32 | 0 | 0 | 0 | 1.02s |
| ✅ YAML | v8r | 32 | 0 | 0 | 9.16s | |
| ✅ YAML | yamllint | 32 | 0 | 0 | 1.19s |
Detailed Issues
⚠️ SPELL / lychee - 3 errors
📝 Summary
---------------------
🔍 Total..........143
🔗 Unique.........119
✅ Successful.....132
⏳ Timeouts.........3
🔀 Redirected......17
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors...........3
⛔ Unsupported......3
Errors in .github/CONTRIBUTING.md
[ERROR] https://www.conventionalcommits.org/en/v1.0.0/ (at 89:64) | Network error: Connection reset by peer (os error 104)
Errors in .github/TOOL_VERSION_ISSUE_TEMPLATE.md
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads (at 38:7) | Rejected status code: 403 Forbidden
Errors in README.md
[ERROR] https://www.sigstore.dev/ (at 141:38) | I/O error (ConnectionReset). Check network connectivity and server status
Errors in test/cpp/features/security.feature
[TIMEOUT] https://slsa.dev/spec/v1.0/levels (at 20:30) | Request timed out
[TIMEOUT] https://slsa.dev/spec/v1.0/threats (at 28:19) | Request timed out
[TIMEOUT] https://slsa.dev/spec/v1.0/threats (at 42:44) | Request timed out
Hint: Followed 17 redirects. You might want to consider replacing redirecting URLs with the resolved URLs. Use verbose mode (`-v`/`-vv`) to see redirection details.
Hint: You can configure accepted/rejected response codes with `-a` or `--accept`
⚠️ MARKDOWN / markdownlint - 1 error
docs/adr/0000-record-architecture-decisions.md:30:401 error MD013/line-length Line length [Expected: 400; Actual: 487]
⚠️ REPOSITORY / osv-scanner - 1 error
Scanning dir .
Starting filesystem walk for root: /
Scanned .devcontainer/cpp/requirements.txt file and found 20 packages
Scanned package-lock.json file and found 73 packages
Scanned test/rust/workspace/cargo/Cargo.lock file and found 1 package
Scanned test/rust/workspace/test/Cargo.lock file and found 1 package
Scanned test/rust/workspace/cortex-m/Cargo.lock file and found 20 packages
Scanned test/rust/workspace/clippy/Cargo.lock file and found 1 package
Scanned test/rust/workspace/cortex-mf/Cargo.lock file and found 20 packages
End status: 89 dirs visited, 292 inodes visited, 7 Extract calls, 17.724502ms elapsed, 17.724722ms wall time
Total 2 packages affected by 2 known vulnerabilities (0 Critical, 0 High, 0 Medium, 0 Low, 2 Unknown) from 1 ecosystem.
0 vulnerabilities can be fixed.
+-----------------------------------+------+-----------+------------+---------+---------------+------------------------------------------+
| OSV URL | CVSS | ECOSYSTEM | PACKAGE | VERSION | FIXED VERSION | SOURCE |
+-----------------------------------+------+-----------+------------+---------+---------------+------------------------------------------+
| https://osv.dev/RUSTSEC-2026-0110 | | crates.io | bare-metal | 0.2.5 | -- | test/rust/workspace/cortex-m/Cargo.lock |
| https://osv.dev/RUSTSEC-2026-0110 | | crates.io | bare-metal | 0.2.5 | -- | test/rust/workspace/cortex-mf/Cargo.lock |
+-----------------------------------+------+-----------+------------+---------+---------------+------------------------------------------+
Notices
📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)
See detailed reports in MegaLinter artifacts
You could have the same capabilities but better runtime performances if you use a MegaLinter flavor:
- oxsecurity/megalinter/flavors/salesforce@v9.5.0 (59 linters)
- oxsecurity/megalinter/flavors/javascript@v9.5.0 (62 linters)
Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)
- Documentation: Custom Flavors
- Command:
npx mega-linter-runner@9.5.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,DOCKERFILE_HADOLINT,JSON_V8R,JSON_PRETTIER,JSON_NPM_PACKAGE_JSON_LINT,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_GRYPE,REPOSITORY_OSV_SCANNER,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

Show us your support by starring ⭐ the repository
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|



🚀 Hey, I have created a Pull Request
Description of changes
This pull request introduces a new architectural decision record (ADR) documenting how architecture decisions will be captured and maintained in the project. The record adopts the Markdown Architectural Decision Records (MADR) format to ensure decisions are traceable, durable, and co-located with the codebase.
Documentation and Process Improvements:
docs/adr/0000-record-architecture-decisions.md, establishing the use of MADR for architectural decisions and outlining the rationale, process, and consequences of this approach.✔️ Checklist