Files
chanora/docs/governance/git-commit-message-convention.md
T
EdisonJwa f1bc9a6c85 chore(repo): initial baseline import (docs v0.9.2 + bootstrap)
Imports the v0.9.2 documentation baseline and the bootstrap files
required by docs/governance/repository-bootstrap-plan.md v0.1.0 §3,
minus the justfile (added in the next commit).

This commit establishes the git history for the project. All previous
work lived only as filesystem state with no version control.
2026-05-14 12:25:33 +08:00

186 lines
4.7 KiB
Markdown

# CHANORA_CFG_Git_Commit_Message_Convention_v0.9.2.2.1
**Document type:** Configuration / Engineering Convention
**Version:** 0.9.2
**Status:** Baseline Candidate
**Language:** English
**Product:** Chanora
**Repo path:** `docs/governance/git-commit-message-convention.md` ---
## 1. Purpose
This document defines the Git commit message convention for Chanora.
Chanora shall use a Conventional Commits style format with project-specific scopes.
## 2. Commit Format
```text
<type>(<scope>): <summary>
```
Optional body:
```text
<type>(<scope>): <summary>
<body>
Refs: <issue or requirement IDs>
```
Breaking change format:
```text
<type>(<scope>)!: <summary>
BREAKING CHANGE: <description>
```
## 3. Commit Types
| Type | Meaning |
|---|---|
| `feat` | New user-visible or system-visible capability |
| `fix` | Bug fix |
| `docs` | Documentation-only change |
| `style` | Formatting change without behavior change |
| `refactor` | Code restructuring without intended behavior change |
| `perf` | Performance improvement |
| `test` | Test addition or test update |
| `build` | Build system, dependency, packaging, CI artifact change |
| `ci` | CI/CD pipeline change |
| `chore` | Maintenance task |
| `revert` | Revert a previous commit |
| `release` | Release preparation, version bump, release metadata |
| `sec` | Security-specific change |
| `i18n` | Localization, internationalization, Unicode, locale behavior |
| `ux` | UI/UX behavior or interaction change |
## 4. Recommended Scopes
| Scope | Area |
|---|---|
| `flutter` | Flutter app in general |
| `ui` | UI components and screens |
| `theme` | Material 3, design tokens, theme extensions |
| `adaptive` | Adaptive layout and window classes |
| `voice` | Voice UI or voice control behavior |
| `audio` | Audio capture, playback, processing, DSP |
| `core` | Rust Core orchestration |
| `protocol` | `tsclientlib` integration and protocol adapter |
| `bridge` | Flutter/Rust bridge and DTOs |
| `state` | State synchronization, reducers, snapshots, events |
| `storage` | Local database or non-secret persistence |
| `secure-storage` | Keychain/Keystore/secret storage |
| `diagnostics` | Logs, redaction, diagnostic export |
| `i18n` | Localization, Unicode, locale formatting, RTL |
| `android` | Android-specific behavior |
| `ios` | iOS-specific behavior |
| `windows` | Windows-specific behavior |
| `macos` | macOS-specific behavior |
| `linux` | Linux-specific behavior |
| `build` | Build tooling |
| `ci` | CI pipeline |
| `release` | Release packaging and release metadata |
| `docs` | Documentation |
| `req` | Requirements documents |
| `sysdes` | System architectural design |
| `srs` | Software requirements |
| `sad` | Software architecture |
| `sdd` | Software detailed design |
| `ver` | Verification documents |
## 5. Examples
```text
feat(voice): add push-to-talk state handling
```
```text
fix(protocol): recover channel tree after reconnect snapshot
```
```text
docs(sad): add interface catalog and performance view
```
```text
i18n(ui): add fallback behavior for missing localization keys
```
```text
sec(diagnostics): redact server password from export bundle
```
```text
test(audio): add unit tests for audio meter level clamping
```
```text
release(android): prepare internal alpha build metadata
```
## 6. Requirement and Document References
When relevant, the commit body should reference affected IDs.
Allowed examples:
```text
Refs: SRS-156, SAD-013, SDD-017
```
```text
Refs: SWE4-UV-011
```
Do not force every commit to reference a requirement. Use references when the change affects requirements, architecture, detailed design, verification, release, security, or traceability.
## 7. Pull Request Title Rule
Pull request titles should follow the same format as commit messages when possible:
```text
feat(voice): add persistent VoiceBar controls
```
## 8. Branch Naming
Recommended branch format:
```text
<type>/<short-topic>
```
Examples:
```text
feature/voicebar-controls
fix/reconnect-state-sync
docs/baseline-candidate-v09
release/internal-alpha-001
hotfix/diagnostic-redaction
```
## 9. Change History
| Version | Date | Description |
|---|---|---|
| 0.9.0 | 2026-05-14 | Initial Git commit message convention for Chanora. |
## Baseline Candidate 0.9.1 Update
| Version | Date | Description |
|---|---|---|
| 0.9.1 | 2026-05-14 | Updated baseline after product decision closure: Apple App Store SDK gate uses Xcode 26+ and iOS 26 / iPadOS 26 SDK+ since 2026-04-28, platform baselines and decision traceability propagated across the document set. |
## Baseline Candidate 0.9.2 Update
| Version | Date | Description |
|---|---|---|
| 0.9.2 | 2026-05-14 | Corrected Apple App Store Connect upload gate to 2026-04-28 and checked full-package naming, references, and coverage. |