carson 2.6.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/API.md +1 -1
- data/MANUAL.md +1 -1
- data/README.md +1 -1
- data/RELEASE.md +72 -12
- data/VERSION +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fdf6978ed4ecdbef69aba67dba84b678d1145038ff47925a1dfbfdc777170135
|
|
4
|
+
data.tar.gz: a79ce86bc59f79528e0bf73d51098cd8f1ef1c96c2034d98900c282e26d047c7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5c11f2bd0fa18ca630b6c51bc23aae320e96bc63cfd24359c685b4664dd45594c68e3333554a9628c0411833de6c4a1779ef18cdd1d6b048516b116848a88484
|
|
7
|
+
data.tar.gz: c6d3810f02303d1dbe6f614bc85b6d4a4186a171fa08b9705f66a86cac206eaf1f7c63e67c8a346d5ec9fd0a4c3454fbedbf5fed7275e46a9f1d03f5bd6d55fb
|
data/API.md
CHANGED
|
@@ -40,7 +40,7 @@ carson <command> [subcommand] [arguments]
|
|
|
40
40
|
|
|
41
41
|
`--loop SECONDS` runs the govern cycle continuously, sleeping SECONDS between cycles. The loop isolates errors per cycle — a single failing cycle does not stop the daemon. `Ctrl-C` cleanly exits with a cycle count summary. SECONDS must be a positive integer.
|
|
42
42
|
|
|
43
|
-
`govern.merge.method` accepts `squash`, `merge`, or `rebase` (default: `squash`). Squash keeps main linear — one PR, one commit. When the target repository enforces linear history via branch protection,
|
|
43
|
+
`govern.merge.method` accepts `squash`, `merge`, or `rebase` (default: `squash`). Squash keeps main linear — one PR, one commit. When the target repository enforces linear history via branch protection, both `squash` and `rebase` are accepted by GitHub — only `merge` is rejected.
|
|
44
44
|
|
|
45
45
|
### Review commands
|
|
46
46
|
|
data/MANUAL.md
CHANGED
|
@@ -160,7 +160,7 @@ Carson's `govern.merge.method` controls how `carson govern` merges ready PRs. Th
|
|
|
160
160
|
|
|
161
161
|
**When to use other methods:**
|
|
162
162
|
|
|
163
|
-
- `rebase` — if you want to preserve individual commits from the branch on main.
|
|
163
|
+
- `rebase` — if you want to preserve individual commits from the branch on main. Both `squash` and `rebase` are compatible with GitHub's "Require linear history" branch protection — only `merge` is rejected.
|
|
164
164
|
- `merge` — if you want explicit merge commits. This creates a non-linear graph but preserves branch topology.
|
|
165
165
|
|
|
166
166
|
**Important:** Carson's merge method must match your GitHub repository's allowed merge types. If your repo only allows squash merges and Carson is set to `merge`, govern will fail when it tries to auto-merge. Check your repository settings under Settings > General > Pull Requests.
|
data/README.md
CHANGED
|
@@ -43,7 +43,7 @@ This separation is Carson's defining trait — the **outsider boundary**: no Car
|
|
|
43
43
|
The data flow:
|
|
44
44
|
|
|
45
45
|
1. You maintain a **policy source** — a directory or git repository containing your lint rules (e.g. `CODING/rubocop.yml`). Carson copies these to `~/.carson/lint/` via `carson lint setup`.
|
|
46
|
-
2. `carson
|
|
46
|
+
2. `carson onboard` installs git hooks, synchronises `.github/*` templates, and runs a first governance audit on a host repository.
|
|
47
47
|
3. From that point, every commit triggers `carson audit` through the managed `pre-commit` hook. The same `carson audit` runs in GitHub Actions. If it passes locally, it passes in CI.
|
|
48
48
|
4. `carson review gate` enforces review accountability: it blocks merge until every actionable reviewer comment has been formally acknowledged by the PR author through a **disposition comment**.
|
|
49
49
|
5. `carson govern` triages all open PRs across your portfolio. Ready PRs are merged and housekept. Failing PRs get a coding agent dispatched to fix them. Stuck PRs are escalated for your attention.
|
data/RELEASE.md
CHANGED
|
@@ -5,25 +5,87 @@ Release-note scope rule:
|
|
|
5
5
|
- `RELEASE.md` records only version deltas, breaking changes, and migration actions.
|
|
6
6
|
- Operational usage guides live in `MANUAL.md` and `API.md`.
|
|
7
7
|
|
|
8
|
-
## 2.
|
|
8
|
+
## 2.7.0 — Documentation and Test Fixes
|
|
9
|
+
|
|
10
|
+
### What changed
|
|
11
|
+
|
|
12
|
+
- **Stale command reference fixed.** README.md referenced the pre-2.3.0 command name `carson init` instead of `carson onboard`.
|
|
13
|
+
- **Linear history guidance corrected.** API.md and MANUAL.md incorrectly stated that GitHub's "Require linear history" only accepts rebase merges. Both squash and rebase are accepted — only merge commits are rejected.
|
|
14
|
+
- **Release notes separated.** The combined 2.6.0 entry has been split into distinct 2.5.0 (agent discovery) and 2.6.0 (squash default) entries.
|
|
15
|
+
- **Config default test made hermetic.** `test_config_govern_defaults` now isolates HOME to a temp directory, preventing the developer's local `~/.carson/config.json` from affecting test results.
|
|
16
|
+
|
|
17
|
+
### What users must do now
|
|
18
|
+
|
|
19
|
+
1. Upgrade Carson to `2.7.0`.
|
|
20
|
+
|
|
21
|
+
### Breaking or removed behaviour
|
|
22
|
+
|
|
23
|
+
- None.
|
|
24
|
+
|
|
25
|
+
### Upgrade steps
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
cd ~/Dev/carson
|
|
29
|
+
git pull
|
|
30
|
+
bash install.sh
|
|
31
|
+
carson version
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2.6.0 — Default Squash Merge
|
|
9
37
|
|
|
10
38
|
### What changed
|
|
11
39
|
|
|
12
40
|
- **Default merge method changed from `merge` to `squash`.** Squash-to-main keeps history linear: one PR = one commit on main. Every commit on main corresponds to a reviewed, CI-passing unit of work and is individually revertable. This aligns Carson's built-in default with how most teams should run.
|
|
41
|
+
|
|
42
|
+
### What users must do now
|
|
43
|
+
|
|
44
|
+
1. Upgrade Carson to `2.6.0`.
|
|
45
|
+
2. If you previously set `govern.merge.method` to `"merge"` explicitly in `~/.carson/config.json`, review whether `"squash"` (now the default) is the right choice.
|
|
46
|
+
|
|
47
|
+
### Breaking or removed behaviour
|
|
48
|
+
|
|
49
|
+
- `govern.merge.method` default changed from `merge` to `squash`. If your GitHub repository only allows merge commits, set `"govern": { "merge": { "method": "merge" } }` in `~/.carson/config.json`.
|
|
50
|
+
|
|
51
|
+
### Upgrade steps
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
cd ~/Dev/carson
|
|
55
|
+
git pull
|
|
56
|
+
bash install.sh
|
|
57
|
+
carson version
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Engineering Appendix
|
|
61
|
+
|
|
62
|
+
#### Modified components
|
|
63
|
+
|
|
64
|
+
- `lib/carson/config.rb` — `govern.merge.method` default changed from `"merge"` to `"squash"`.
|
|
65
|
+
- `test/runtime_govern_test.rb` — unit test updated for squash default.
|
|
66
|
+
|
|
67
|
+
#### Verification evidence
|
|
68
|
+
|
|
69
|
+
- CI passes on PR #78.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 2.5.0 — Agent Discovery Templates
|
|
74
|
+
|
|
75
|
+
### What changed
|
|
76
|
+
|
|
13
77
|
- **Agent discovery via managed templates.** Interactive agents (Claude Code, Codex, Copilot) working in Carson-governed repos now discover Carson automatically. A new source-of-truth file `.github/carson-instructions.md` contains the full governance baseline. Agent-specific files (`.github/CLAUDE.md`, `.github/AGENTS.md`, `.github/copilot-instructions.md`) are one-line pointers to it. Zero drift risk — one file to maintain, all agents follow the same reference.
|
|
14
78
|
- **Managed template set expanded.** `carson template apply` now writes five files: `carson-instructions.md`, `copilot-instructions.md`, `CLAUDE.md`, `AGENTS.md`, and `pull_request_template.md`.
|
|
15
79
|
|
|
16
80
|
### What users must do now
|
|
17
81
|
|
|
18
|
-
1. Upgrade Carson to `2.
|
|
82
|
+
1. Upgrade Carson to `2.5.0`.
|
|
19
83
|
2. Run `carson prepare` in each governed repository.
|
|
20
84
|
3. Run `carson template apply` to write the new managed files.
|
|
21
85
|
4. Commit the new `.github/*` files.
|
|
22
|
-
5. If you previously set `govern.merge.method` to `"merge"` explicitly in `~/.carson/config.json`, review whether `"squash"` (now the default) is the right choice.
|
|
23
86
|
|
|
24
87
|
### Breaking or removed behaviour
|
|
25
88
|
|
|
26
|
-
- `govern.merge.method` default changed from `merge` to `squash`. If your GitHub repository only allows merge commits, set `"govern": { "merge": { "method": "merge" } }` in `~/.carson/config.json`.
|
|
27
89
|
- `.github/copilot-instructions.md` content replaced with a one-line reference. The governance baseline now lives in `.github/carson-instructions.md`.
|
|
28
90
|
|
|
29
91
|
### Upgrade steps
|
|
@@ -39,12 +101,6 @@ carson template apply
|
|
|
39
101
|
|
|
40
102
|
### Engineering Appendix
|
|
41
103
|
|
|
42
|
-
#### Modified components
|
|
43
|
-
|
|
44
|
-
- `lib/carson/config.rb` — `govern.merge.method` default changed from `"merge"` to `"squash"`; `template.managed_files` expanded to include `carson-instructions.md`, `CLAUDE.md`, and `AGENTS.md`.
|
|
45
|
-
- `script/ci_smoke.sh` — offboard removal check updated for new managed files.
|
|
46
|
-
- `test/runtime_govern_test.rb` — unit test updated for squash default.
|
|
47
|
-
|
|
48
104
|
#### New files
|
|
49
105
|
|
|
50
106
|
- `templates/.github/carson-instructions.md` — governance baseline source of truth.
|
|
@@ -55,15 +111,19 @@ carson template apply
|
|
|
55
111
|
|
|
56
112
|
- `templates/.github/copilot-instructions.md` — replaced full content with one-line reference.
|
|
57
113
|
|
|
114
|
+
#### Modified components
|
|
115
|
+
|
|
116
|
+
- `lib/carson/config.rb` — `template.managed_files` expanded to include `carson-instructions.md`, `CLAUDE.md`, and `AGENTS.md`.
|
|
117
|
+
- `script/ci_smoke.sh` — offboard removal check updated for new managed files.
|
|
118
|
+
|
|
58
119
|
#### Public interface and config changes
|
|
59
120
|
|
|
60
|
-
- `govern.merge.method` default: `"merge"` → `"squash"`.
|
|
61
121
|
- `template.managed_files` default expanded from 2 to 5 files.
|
|
62
122
|
- Exit status contract unchanged.
|
|
63
123
|
|
|
64
124
|
#### Verification evidence
|
|
65
125
|
|
|
66
|
-
- CI passes on
|
|
126
|
+
- CI passes on PR #77.
|
|
67
127
|
|
|
68
128
|
---
|
|
69
129
|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.7.0
|