musiclink/docs/reviews/infra.md

33 lines
1.3 KiB
Markdown

# Code Review: Project/Infra Metadata
## Scope
- `go.mod`, `go.sum`
- `flake.nix`, `flake.lock`
- `LICENSE`
## Findings
### ✅ Strengths
- Nix flake provides build + dev shell and a hardened systemd service definition.
- Go module dependencies are explicit; module list is straightforward.
- LICENSE is standard MIT.
### ⚠️ Issues / Opportunities
1. **Flake description still Matterbridge-centric**
- Description/metadata mention Matterbridge sidecar; Matrix-native mode is now supported.
- Consider updating description/homepage to avoid confusion.
2. **Nix service unit assumes Matterbridge**
- `after = [ "network.target" "matterbridge.service" ]` bakes in Matterbridge even for Matrix-native mode.
- Consider making the dependency conditional or optional.
3. **Go toolchain version mismatch with README/worklog**
- `go.mod` is now 1.24.0, while README says 1.22+ and worklog mentions 1.22.8.
- Consider aligning documentation and nix dev shell Go version.
4. **Vendor hash may need update after deps**
- `vendorHash` in flake may need updating due to new deps (mautrix/sqlite).
- Nix builds will fail until hash is refreshed.
## Notes
- Dev shell includes `matterbridge`; consider adding `sqlite` if using the pure-Go driver for local inspection.