Skip to content

chore(repo): v2.0.2 repository health - #383

Closed
GiZano wants to merge 2 commits into
mainfrom
chore/v2.0.2-repository-health
Closed

chore(repo): v2.0.2 repository health#383
GiZano wants to merge 2 commits into
mainfrom
chore/v2.0.2-repository-health

Conversation

@GiZano

@GiZano GiZano commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Overview

Comprehensive repository health release (v2.0.2) implementing 19 improvements across CI/CD hardening, architectural documentation, developer experience, and compliance foundations. This patch brings the repository to professional-grade maturity without touching any application logic.

Originated from a systematic 10-point repository health audit covering: root meta files, GitHub community health, architectural documentation, backend infrastructure, firmware, hardware, mobile, security/compliance, academic citation, and maturity signals.

Changes Made

  • .github/dependabot.yml: Automated dependency updates for pip (backend), npm (mobile), and GitHub Actions — opens PRs with security patches automatically.
  • .github/workflows/gitleaks.yml: Secret scanning CI workflow on push/PR to main — prevents accidental credential leaks (critical for ECDSA keys, MQTT passwords).
  • .github/ISSUE_TEMPLATE/hardware_issue.md: Dedicated issue template for PCB, wiring, and component assembly reports — fields for PCB revision, assembly method, serial output, photos.
  • docs/adr/ (4 ADRs): Architecture Decision Records documenting key technical choices: Redis Streams ingestion (0001), HiveMQ Cloud broker (0002), Hybrid Edge AI pattern (0003), CERN-OHL hardware licensing (0004). MADR-compatible format for academic reviewers.
  • docs/diagrams/ (5 files): Mermaid diagrams renderable directly on GitHub: C4 Context/Container diagram, device provisioning sequence, alert delivery sequence, multi-node triangulation sequence.
  • firmware/src/main.cpp: Added #define FIRMWARE_VERSION "2.0.2" printed at boot via serial for field identification and remote debugging. Updated header comment from v1.3.0 to v2.0.2.
  • firmware/PINOUT.md: Unified pinout reference: GPIO mapping, LED behavior patterns, I2C bus addresses, all 4 PCB connector pinouts (J1-J4), and passive component table.
  • firmware/FLASHING.md: Standalone flashing guide for CLI/PlatformIO Core users without VS Code — covers env config, boot mode entry, first boot sequence, and troubleshooting table.
  • mobile/PRIVACY_POLICY.md: Privacy policy documenting data collection (location, push token, preferences), data NOT collected, third-party services (Expo, Maps), and retention policies. Required for App Store/Play Store.
  • SUPPORT.md: Help channel routing: bugs, features, hardware issues, security, discussions, documentation, direct contact.
  • backend/Dockerfile: Refactored to multi-stage build (builder stage with gcc/python3-dev → runtime stage with only compiled packages). Reduces final image size.
  • backend/docker-compose.override.yml.example: Local development template with source bind-mounts for hot reload and debug logging.
  • hardware/QuakeGuard_PCB/output/BOM.csv: Enriched with 5 new columns: Manufacturer, Part Number, Unit Cost (EUR), Distributor, Link. Added socketable modules (ESP32-C3, ADXL345, NEO-6M) as line items.
  • README.md: Added "PRs welcome" badge, prominent landing page / wiki / whitepaper / roadmap links, CERN-OHL license reference, hardware compliance disclaimer ("not certified for CE/FCC/RoHS, prototyping/educational use only"), v2.0.2 roadmap entry.
  • .gitignore: Added KiCad .history/ directory exclusion.
  • Version bump: CITATION.cff (v2.0.2, date 2026-09-03), SECURITY.md, CHANGELOG.md, ROADMAP.md.

Impact & Next Steps

  • Zero application logic changes — this is purely CI/docs/DX.
  • The Dependabot configuration will immediately start opening PRs for outdated dependencies (GitHub already flagged 9 vulnerabilities on push).
  • Gitleaks will scan all future PRs for leaked secrets.
  • ADRs and Mermaid diagrams are ready for academic paper references.
  • Remaining TODO items (OpenAPI spec export, structured logging, Alembic migrations, GIF demo) are documented in TODO.md for future releases.
  • Manual GitHub Settings needed post-merge: Enable Discussions, set Topics/Tags, set Social Preview image.

Testing Performed

  • All files pass basic structural validation (valid YAML, Markdown, CSV, C++)
  • Git commit and push successful — no CI-breaking changes expected
  • Dockerfile multi-stage build maintains the same entrypoint and ENV as before
  • FIRMWARE_VERSION define does not affect any compilation flags or logic

Related Issues

Closes the repository health audit items from TODO.md §6 (Tier 1 complete, Tier 2 largely complete, select Tier 3 items completed early).

… DX improvements

## Added
- .github/dependabot.yml — automated dep updates (pip, npm, actions)
- .github/workflows/gitleaks.yml — secret scanning CI
- .github/ISSUE_TEMPLATE/hardware_issue.md — dedicated HW issue template
- docs/adr/ — 4 initial ADRs (Redis Streams, HiveMQ, Hybrid AI, CERN-OHL)
- docs/diagrams/ — C4 context/container + 3 sequence diagrams (Mermaid)
- firmware/PINOUT.md — unified GPIO/LED/connector reference
- firmware/FLASHING.md — standalone CLI flashing guide
- mobile/PRIVACY_POLICY.md — App Store/Play Store compliance
- SUPPORT.md — help channel routing
- backend/docker-compose.override.yml.example — local dev overrides

## Changed
- backend/Dockerfile — multi-stage build (builder + runtime)
- hardware/QuakeGuard_PCB/output/BOM.csv — enriched with manufacturer/cost/links
- firmware/src/main.cpp — FIRMWARE_VERSION define + boot print
- README.md — landing page link, PRs badge, CERN-OHL ref, HW disclaimer
- CHANGELOG.md, CITATION.cff, SECURITY.md, ROADMAP.md — version bump to 2.0.2
- .gitignore — exclude KiCad .history/
@GiZano
GiZano requested a review from riccardo0731 as a code owner September 3, 2026 14:25
@sonarqubecloud

sonarqubecloud Bot commented Sep 3, 2026

Copy link
Copy Markdown

@GiZano

GiZano commented Sep 3, 2026

Copy link
Copy Markdown
Owner Author

Adding everything on v2.1.0 branch

@GiZano GiZano closed this Sep 3, 2026
@GiZano
GiZano deleted the chore/v2.0.2-repository-health branch September 3, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant