Skip to content

Commit a9b97c5

Browse files
chore(mainline): initialize mainline repo policy
Register repo with the machine-global mainlined daemon. Rewrite AGENTS.md mainline section: agents submit from worktrees, the daemon handles integration and publish. Co-authored-by: Andrew <andrewxhill@gmail.com>
1 parent 42ed2b2 commit a9b97c5

1 file changed

Lines changed: 11 additions & 24 deletions

File tree

AGENTS.md

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ This repo uses `mainline` (`mq`) to coordinate the protected `main` branch.
88
The repo root checkout is the canonical protected `main`. Keep it clean
99
and boring. All feature work happens in topic worktrees.
1010

11+
A machine-global daemon (`mainlined --all`) runs as a LaunchAgent and
12+
drains all registered repos automatically. Agents only need to submit.
13+
1114
### Rules
1215

1316
- **Never commit, merge, rebase, push, or reset on `main`.** The root
@@ -21,41 +24,25 @@ and boring. All feature work happens in topic worktrees.
2124

2225
### Agent path
2326

24-
From a feature worktree:
27+
From a feature worktree, finish with:
2528

2629
```
2730
mq submit --check-only --json # dry-run before expensive work
28-
mq submit --wait --timeout 15m --json # submit and block until integrated
31+
mq submit --wait --timeout 15m --json # submit and block until landed
2932
```
3033

31-
Plain `mq submit` queues then opportunistically tries to drain. If
32-
another worker holds the integration lock it exits cleanly.
34+
The daemon handles integration (rebase-then-ff onto `main`) and publish
35+
(push to remote). The agent's job ends at submit.
3336

34-
For durable tracking by submission id instead of blocking inline:
37+
For durable tracking by `submission_id` instead of blocking inline:
3538

3639
```
37-
mq submit --json # capture submission_id
40+
mq submit --json # capture submission_id
3841
mq wait --submission <id> --for landed --json --timeout 30m # wait by id
3942
```
4043

41-
For controller/operator use (submit + integrate + publish in one shot):
42-
43-
```
44-
mq land --json --timeout 30m
45-
```
46-
47-
### Manual path
48-
49-
When step-by-step control is needed:
50-
51-
```
52-
# From the feature worktree
53-
mq submit
54-
55-
# From the repo root (protected main)
56-
mq run-once # integrate one queued submission
57-
mq publish # push protected tip to remote
58-
```
44+
`submission_id` is the stable handle for a queued change, not the
45+
branch name.
5946

6047
### Handling failures
6148

0 commit comments

Comments
 (0)