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:
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user