23 — Development Workflow

Status: Ratified Version: 1.0.0 Applies to: All contributors, maintainers, CI/CD, releases


1. Git Workflow

HunterX uses a trunk-based development model with short-lived feature branches and protected main. (Stable releases are cut from main via release branches.)

feature/xxx ──► PR ──► main ──► release/x.y.z ──► tag vX.Y.Z ──► publish
hotfix/xxx  ──► PR (patch) ──► main (+ backport)

2. Branch Strategy

Branch Purpose Protected
main Integration branch; always releasable yes
release/x.y.z Freeze branch for a release yes
feature/<slug> New work (from main) no
fix/<slug> Bug fix no
docs/<slug> Documentation no
deps/<slug> Dependency updates no
backport/x.y.z Hotfix backports no

Rules:


3. Conventional Commits

Commit messages follow Conventional Commits:

<type>(<scope>): <subject>

<body>
footer (BREAKING CHANGE, issue refs)

Types: feat, fix, docs, refactor, test, perf, chore, build, ci, style, security, revert.


4. Pull Request Standards

Every PR MUST:

PR title: <type>(<scope>): <summary> (mirrors commit).


5. Code Review


6. CI/CD Pipeline

GitHub Actions (or equivalent) — see 15 §11 for the test matrix:

PR: lint → format → types → architecture → unit → golden → component →
    security → (integration if services) → coverage gates → build check
Merge to main: everything above + build packages + SBOM + image build
Release: all + acceptance (sandboxed targets) + performance smoke +
         publish (PyPI/container) + docs site

Quality gates fail → blocked merge/publish.


7. Semantic Versioning

SemVer 2.0.0 (MAJOR.MINOR.PATCH), derived from Conventional Commits:

Change Bump
Breaking API/schema/behavior change MAJOR
New backward-compatible feature MINOR
Bug fix, docs, internal PATCH
Pre-release -alpha.N, -beta.N, -rc.N

Versioned artifacts:


8. Release Process

1. Freeze: create release/x.y.z from main
2. Validation: full CI + acceptance + performance smoke on freeze branch
3. Changelog: verify CHANGELOG completeness; update docs site
4. Tag: vX.Y.Z (signed tag)
5. Publish: PyPI package (sdist+wheel), container images (signed), SBOM
6. Docs: rebuild docs site for the tag
7. Announce: release notes (RELEASE_NOTES)
8. Hotfix path: fix → PR → release branch → backport to main

Release checklist: see RELEASE_CHECKLIST.md.


9. Definition of Ready / Done

Ready (start work): issue has clear acceptance criteria, linked scope (engagement-free), impacted Bible docs identified.

Done: 01 - Vision.md §9 + 24 §3 (team checklist) + CI green + docs updated + changelog entry.


10. Environment Hygiene


11. References