Chore: switch SDLC to trunk-based; retire develop

Single-dev repo: develop bought nothing and cost a back-merge every
release. New law: branch off freshest origin/main per work item, PRs
target main directly, --no-ff merges kept, tags vX.Y.Z straight on main.
No release branches, no back-merges. Changelog entry added.
This commit is contained in:
Frank
2026-10-18 13:18:31 -07:00
parent e5d00fd91f
commit 8089693e58
2 changed files with 17 additions and 9 deletions
+13 -9
View File
@@ -13,26 +13,30 @@ with YAML frontmatter, spec at `omp-docs/references/okf-spec.md`).
(`dank/command-center` on the Dankclaw instance). There is no staging copy:
**the checkout is the deployment.** Branch switches swap live config files out
from under the running agent — keep feature branches short-lived, and never end
a work session checked out on anything but `develop` or `main`.
a work session checked out on anything but `main`.
- Contents that belong here: `AGENTS.md`, `omp-docs/` (knowledge base),
`scripts/` (small system utilities), `agent/` + `plugins/` (harness config and
plugin manifests). Everything else under this directory is runtime state and is
gitignored on principle — see `.gitignore`. History must mean "the configuration
changed", not "the agent breathed".
## Git-flow SDLC (full flow, from day one)
## Trunk-based SDLC (since 2026-10-18; replaces the old git-flow regime)
- `main` is the only long-lived branch. Frank is the only dev; `develop` and the
release-branch ceremony are retired — no `develop`, no back-merges, no
`release/X.Y.Z` branches.
- **Before every work item: fetch and branch off the freshest `origin/main`.**
If main moves under you, merge it into your branch (never rebase — Frank
dislikes the history rewrite).
- Work item = Gitea issue on `dank/command-center` (Gitea at 192.168.0.143:3000,
owner `dank`). Small fixes may go straight to a branch; anything with more than
one moving part gets an issue first.
- Branch naming: `<type>/<issue#>-<slug>`, type ∈ feat|fix|docs|chore.
Release cuts: `release/X.Y.Z` from `develop`; hotfixes: `hotfix/<slug>` from `main`.
- **Merge, never rebase**, when updating a branch against a moved main — Frank
dislikes the history rewrite. **Never merge a PR without an explicit OK from Frank.**
- Merge into `develop` with `--no-ff` so feature arcs stay visible in history.
- Releases: cut `release/X.Y.Z` from `develop`, verify, merge to `main`, tag
`vX.Y.Z`, back-merge `main` into `develop`. Tags are the deploy markers every
other machine pulls to.
- **Pull requests target `main` directly.** Merge with `--no-ff` so feature arcs
stay visible in history. **Never merge a PR without an explicit OK from Frank.**
- Releases: tag `vX.Y.Z` straight on `main` after verifying; tags are the deploy
markers every other machine pulls to. Hotfixes are ordinary branches off the
tag you are fixing forward from.
- Trash convention: never `rm` anything user-authored — move it to `.AGENTTRASH/`
(gitignored). Deletion is a pruning session with Frank present.