From 6adb88da7e5dfbcc48aebda0215eabb14d28b470 Mon Sep 17 00:00:00 2001 From: WaylandYang <145302500+WaylandYang@users.noreply.github.com> Date: Tue, 19 May 2026 19:14:29 +0800 Subject: [PATCH 1/2] docs(contributing): document main / dev / feat-* branching convention (#2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Companion to the new branch protection rules just applied to the repo: - main is release-grade, PR-only, linear history, no force-push/delete - dev is integration, accepts direct push but still no force/delete - feat/* is documented convention only; no GitHub-side rule — contributors push freely, rebase freely, PR to dev when done Adds a typical-loop snippet so contributors don't have to read GitHub settings to figure out the workflow. Co-authored-by: Claude Opus 4.7 (1M context) --- CONTRIBUTING.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d0d1948..d177423 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -47,6 +47,36 @@ that fail CI will be asked to fix it before review. - Public APIs need docstrings; private helpers usually don't. - Tests live in `tests/`, named `test_*.py`. +## Branching + +We use a three-branch convention. + +- **`main`** — release-grade. Protected: every change lands via PR, + history stays linear (rebase + squash, no merge commits), force + push and deletion are disabled. +- **`dev`** — integration. Protected against force push and deletion + but accepts direct pushes from maintainers for fast iteration. CI + runs the same checks here as on `main`. +- **`feat/`** — feature branches. Cut from `dev`, push + freely, rebase as needed, and open a PR to `dev` when done. Delete + after merge. No GitHub-side protection; the prefix is a documented + convention, not an enforced rule. + +Typical loop: + +```bash +git checkout dev && git pull +git checkout -b feat/add-coap-transport +# ... work, commit, push as many times as you want ... +git push -u origin feat/add-coap-transport +gh pr create --base dev --fill +# after review/CI: squash-merge into dev, branch auto-deletes +# release manager periodically merges dev -> main via PR +``` + +If your branch is a bugfix rather than a feature, use the prefix +`fix/` instead. Same rules apply. + ## Commit and PR style - Subject line under 70 chars, present tense (`Add MQTT transport`, not From ceac556da2792ba32c9264fa59230fcd85c001f8 Mon Sep 17 00:00:00 2001 From: WaylandYang <145302500+WaylandYang@users.noreply.github.com> Date: Wed, 20 May 2026 23:38:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?paper:=20dual=20affiliation=20=E2=80=94=20C?= =?UTF-8?q?IBR=20+=20deeplethe=20(#4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Author Dongxu Yang's current institutional affiliation is the Chinese Institute for Brain Research in Beijing; deeplethe is the company under which the open-source DCP work is being developed. CIBR is aware of the side project; there is no IP conflict. Reflecting both attributions on the paper is the cleanest disclosure. \author[1,2]{Dongxu Yang...} \affil[1]{Chinese Institute for Brain Research, Beijing} \affil[2]{deeplethe} The arXiv submission will use the same dual-affiliation string in the metadata. The footer email and correspondence remain unchanged. Co-authored-by: Claude Opus 4.7 (1M context) --- docs/paper/main.tex | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/paper/main.tex b/docs/paper/main.tex index a1953cb..439fdd4 100644 --- a/docs/paper/main.tex +++ b/docs/paper/main.tex @@ -57,8 +57,9 @@ \large A Compact, Safety-First Architecture for\\ LLM-Driven Control of Constrained Devices} -\author[1]{Dongxu Yang\thanks{Correspondence: \texttt{wayland0916@gmail.com}.}} -\affil[1]{deeplethe} +\author[1,2]{Dongxu Yang\thanks{Correspondence: \texttt{wayland0916@gmail.com}.}} +\affil[1]{Chinese Institute for Brain Research, Beijing} +\affil[2]{deeplethe} \date{May 2026}