Compare commits

...
Author SHA1 Message Date
Frank e030486ce6 docs: pin cwd meaning in attribution footer
Mirror of command-center clarification: first dogfooding round stamped the
build worktree instead of the session's own working directory. Rule text
now says which one, and to note the build worktree in the body.
2026-10-18 16:41:21 -07:00
Frank d89ae23195 docs: attribution footer for machine-opened issues and PRs
Mirror of dank/command-center's rule (there: PR off docs/session-trailer-rule).
Every agent-opened issue/PR body ends with cwd + omp session id so machine-filed
artifacts trace back to the box and session that produced them.

Refs #11 (command-center tracker)
2026-10-18 16:32:59 -07:00
dank f206ddfde5 Merge pull request 'Docs: codify trunk-based git workflow in AGENTS.md' (#6) from chore/trunk-based-git-workflow into main 2026-10-18 15:43:29 -07:00
Frank bf29518a15 Docs: PRs get opened in Frank's browser the moment they're filed
Fleet law alignment with dank/command-center: no PR-hunting in Gitea.
tests/run.sh ALL TESTS PASSED before commit.
2026-10-18 15:41:14 -07:00
Frank 169dbe2f38 Docs: codify trunk-based git workflow in AGENTS.md
The section mandated a source-test-push loop but never stated a branch
regime - agents pushed straight to main. Fleet alignment (operator
decision 2026-10-18, mirrors dank/command-center): main is the only
long-lived branch; branch fresh off origin/main per work item; PRs
target main with --no-ff; merge only on Frank's explicit OK; tags on
main. Their tests/run.sh suite: ALL TESTS PASSED before push.
2026-10-18 15:27:53 -07:00
+28 -8
View File
@@ -48,17 +48,37 @@ the [runbook index](#runbook-index). The full swap history lives in
pages (`serverAppConfigs-docs/log.md` carries the wave plan and results)
- `tests/` — bats suite + Playwright e2e
## Git Workflow
## Git Workflow — trunk-based (fleet law, aligned 2026-10-18)
All edits flow through git. Never edit files on a remote machine directly.
1. **Source** the live config from the target machine
2. **Commit** the fetched version here (redact secrets into `.env`)
3. **Edit** locally
4. **Test** — `./tests/run.sh` must pass
5. **Commit and push** — origin is Gitea on Dankclaw
6. **Pull** on the target (`deploy.sh` does this)
7. **Deploy** — `scripts/deploy.sh` plans and dispatches only changed services
`main` is the only long-lived branch: no `develop`, no release branches, no
back-merges. Frank is the only dev; this repo and `dank/command-center` follow
the same regime.
1. **Branch fresh** — `git fetch`, then branch off the current `origin/main`
(`<type>/<slug>`, type ∈ feat|fix|docs|chore). If main moves under you,
merge it into your branch — never rebase.
2. **Source** the live config from the target machine
3. **Commit** the fetched version here (redact secrets into `.env`)
4. **Edit** locally
5. **Test** — `./tests/run.sh` must pass
6. **Push the branch and open a PR against `main`** — origin is Gitea on
Dankclaw. Merge with `--no-ff`; **never merge a PR without an explicit,
current OK from Frank.** **The moment the PR is open, open it in Frank's
browser** (`xdg-open <PR-URL>` — a Firefox tab on the workstation); never
make him hunt for it in Gitea. Releases: tag `vX.Y.Z` straight on `main`.
7. **Pull** on the target (`deploy.sh` does this)
8. **Deploy** — `scripts/deploy.sh` plans and dispatches only changed services
**Attribution footer (issues and PRs)** — every issue or PR body you open MUST end with:
```
---
cwd: <working directory> · session: <omp session id>
```
Session id from `/status`; `cwd` is that session's own working directory — not the build checkout, when they differ (note the build worktree in the body instead). Machine-made artifacts stay attributable to the box and session that spawned them.
## Deployment