Change Management Policy¶
Overview¶
This document defines the change management process for HeliosDB-Lite, ensuring controlled, documented, and auditable changes to code, configuration, and infrastructure.
Change Categories¶
Standard Changes¶
Pre-approved, low-risk changes that follow documented procedures.
| Change Type | Example | Approval | Lead Time |
|---|---|---|---|
| Dependency update (patch) | 1.2.3 → 1.2.4 | Automated | Immediate |
| Documentation update | README changes | 1 reviewer | < 1 day |
| Bug fix (non-security) | Minor fixes | 1 reviewer | < 1 day |
| Test additions | New test coverage | 1 reviewer | < 1 day |
Normal Changes¶
Routine changes requiring standard review and approval.
| Change Type | Example | Approval | Lead Time |
|---|---|---|---|
| Feature implementation | New functionality | 2 reviewers | 2-5 days |
| Dependency update (minor) | 1.2.x → 1.3.0 | 1 reviewer + CI | 1-2 days |
| Configuration change | New settings | 1 reviewer | 1 day |
| Performance optimization | Code improvements | 2 reviewers | 2-3 days |
Significant Changes¶
High-impact changes requiring extensive review.
| Change Type | Example | Approval | Lead Time |
|---|---|---|---|
| Breaking API change | Protocol changes | 3 reviewers + arch | 1-2 weeks |
| Security-related change | Crypto updates | Security team | 1 week |
| Dependency update (major) | 1.x → 2.0 | 2 reviewers + test | 3-5 days |
| Architecture change | Module restructure | Architecture review | 2-4 weeks |
Emergency Changes¶
Urgent changes to address critical issues.
| Change Type | Example | Approval | Lead Time |
|---|---|---|---|
| Security patch | CVE remediation | Security lead | < 24 hours |
| Critical bug fix | Data corruption | 2 reviewers | < 24 hours |
| Incident response | Active attack | Incident commander | Immediate |
Change Request Process¶
1. Request Initiation¶
## Change Request
**Title**: [Brief description]
**Category**: [Standard/Normal/Significant/Emergency]
**Requestor**: [Name]
**Date**: [YYYY-MM-DD]
### Description
[Detailed description of the proposed change]
### Justification
[Why is this change needed?]
### Impact Assessment
- Affected components: [List]
- Risk level: [Low/Medium/High]
- Rollback plan: [Description]
### Testing Plan
[How will the change be tested?]
### Implementation Plan
[Step-by-step implementation]
2. Review & Approval¶
| Category | Reviewers Required | Approval Authority |
|---|---|---|
| Standard | 1 peer | Automated/Self |
| Normal | 2 peers | Team lead |
| Significant | 3 peers + specialist | Architecture team |
| Emergency | 1 peer + lead | Security/Ops lead |
3. Implementation¶
# Feature branch workflow
git checkout -b feature/change-description
git commit -m "feat: description"
git push origin feature/change-description
# Create pull request
gh pr create --title "feat: description" --body "$(cat change_request.md)"
4. Verification¶
- Automated tests pass (CI)
- Manual review completed
- Security scan clean
- Documentation updated
- Changelog updated
5. Deployment¶
# Merge to main
gh pr merge --squash
# Create release (for tagged releases)
git tag -a v3.5.9 -m "Release v3.5.9"
git push origin v3.5.9
CI/CD Pipeline Controls¶
Automated Checks¶
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: cargo build --all-features
- name: Test
run: cargo test --all-features
- name: Clippy
run: cargo clippy -- -D warnings
- name: Security Audit
run: cargo audit
- name: License Check
run: cargo deny check licenses
Branch Protection¶
# Required for main branch
branch_protection:
required_reviews: 2
dismiss_stale_reviews: true
require_code_owner_review: true
required_status_checks:
- build
- test
- clippy
- security-audit
enforce_admins: true
allow_force_pushes: false
allow_deletions: false
Security-Sensitive Paths¶
Changes to these paths require security team review:
CODEOWNERS:
/src/crypto/ @security-team
/src/auth/ @security-team
/Cargo.toml @security-team
/docs/compliance/ @security-team
/.github/workflows/ @devops-team @security-team
Release Process¶
Version Numbering¶
Semantic Versioning (SemVer): - MAJOR: Breaking changes (X.0.0) - MINOR: New features, backward compatible (0.X.0) - PATCH: Bug fixes, backward compatible (0.0.X)
Release Checklist¶
- [ ] All tests passing
- [ ] Security audit clean
- [ ] CHANGELOG.md updated
- [ ] Version bumped in Cargo.toml
- [ ] Documentation updated
- [ ] Release notes drafted
- [ ] Tag created and pushed
- [ ] Binaries built and published
- [ ] Announcement prepared
Hotfix Process¶
# Create hotfix branch from latest release
git checkout -b hotfix/3.5.8 v3.5.8
# Apply fix
git cherry-pick <fix-commit>
# Update version
# Edit Cargo.toml: 3.5.8 → 3.5.9
# Tag and release
git tag -a v3.5.9 -m "Hotfix: description"
git push origin v3.5.9
# Merge back to main
git checkout main
git merge hotfix/3.5.8
Rollback Procedures¶
Code Rollback¶
# Revert specific commit
git revert <commit-hash>
# Rollback to previous version
git checkout v3.5.7
cargo build --release
Database Rollback¶
-- HeliosDB branch-based rollback
CHECKOUT BRANCH 'pre_change_branch';
-- Or time-travel query
SELECT * FROM users AS OF '2026-01-23T12:00:00Z';
Configuration Rollback¶
# Restore previous configuration
cp /etc/heliosdb/heliosdb.toml.backup /etc/heliosdb/heliosdb.toml
systemctl restart heliosdb
Audit Trail¶
Change Log Format¶
{
"change_id": "CHG-2026-0001",
"timestamp": "2026-01-24T12:00:00Z",
"type": "normal",
"description": "Add FIPS 140-3 support",
"requestor": "developer@heliosdb.io",
"approvers": ["reviewer1@heliosdb.io", "reviewer2@heliosdb.io"],
"commit": "abc123",
"pr_number": 456,
"files_changed": 15,
"lines_added": 500,
"lines_removed": 100,
"test_results": "passed",
"security_review": "approved"
}
Retention¶
| Record Type | Retention Period |
|---|---|
| Change requests | 3 years |
| Approval records | 3 years |
| Deployment logs | 1 year |
| Rollback events | 3 years |
Compliance Mapping¶
SOC 2 (CC8)¶
- CC8.1: Changes authorized before implementation ✓
- CC8.2: Changes tested before deployment ✓
- CC8.3: Changes follow documented process ✓
ITIL Change Management¶
- Request for Change (RFC) ✓
- Change Advisory Board (CAB) → Architecture review ✓
- Post-Implementation Review (PIR) → PR merge review ✓