@se-studio/skills 1.7.5 → 1.7.6

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @se-studio/skills
2
2
 
3
+ ## 1.7.6
4
+
5
+ ### Patch Changes
6
+
7
+ - Customer production merges require an explicit human ask and a second confirmation (`production-merge.md`). se-core-product `main` stays never-agent.
8
+
3
9
  ## 1.7.5
4
10
 
5
11
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/skills",
3
- "version": "1.7.5",
3
+ "version": "1.7.6",
4
4
  "description": "SE Studio agent skills for marketing site development with Contentful CMS",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,11 +1,12 @@
1
1
  # cms-edit-only production merge
2
2
 
3
- The **only** agent exception to “no production git”. Marketing site source, core `main`, and Vercel CLI deploys stay human-only.
3
+ Extra path allowlist for hosted cms-edit rollouts. **Still requires** the human-ask + confirm gate in [`production-merge.md`](./production-merge.md). Marketing source, core `main`, and Vercel CLI deploys are not exempt from that confirm.
4
4
 
5
5
  ## When it applies
6
6
 
7
7
  All of the following must be true:
8
8
 
9
+ 0. [`production-merge.md`](./production-merge.md) passed (explicit ask **and** a second confirmation after restating the production merge).
9
10
  1. The user asked to ship **hosted cms-edit** (host package bump, editor-pack-only, or continue a cms-edit host rollout).
10
11
  2. Any required `@se-studio/contentful-cms` version is **already on npm**.
11
12
  3. The merge is **customer** `develop` → that site’s production branch (`main`, HSD **`production`**). Never `se-core-product` `main`.
@@ -32,4 +33,4 @@ Do **not** use HSD `production-hsd-website` (or any `productionPath`) as the wor
32
33
 
33
34
  Reconnect Grok `/mcps` → `i` is an editor step if OAuth tokens were dead — not a substitute for the health check.
34
35
 
35
- If the diff is not cms-edit-only, **stop and hand off** — no production merge.
36
+ If the diff is not cms-edit-only, still merge **only** if [`production-merge.md`](./production-merge.md) passed (human ask + confirm). Do not skip confirmation because the diff is small.
@@ -10,8 +10,9 @@ Default mode for this repo: **site-first**.
10
10
 
11
11
  ### Branch policy
12
12
 
13
- - Agents may commit and push **`develop`** and **`feature/*`**. Customer production (`main`, HSD `production`) only when the **cms-edit-only** gate passes (`se-core-product` `packages/skills/references/agent-session/cms-edit-prod-merge.md`).
14
- - **Never** merge marketing `src/` to production. **Never** ship from a production checkout (e.g. HSD `production-hsd-website`). Use the develop checkout only.
13
+ - Agents may commit and push **`develop`** and **`feature/*`**.
14
+ - Customer production (`main`, HSD `production`) **only** after the human-ask + confirm gate (`production-merge.md` in `@se-studio/skills`). The human must ask to merge integration → production in this conversation; the agent must restate site, branches, and that it publishes production; then wait for a second **yes**.
15
+ - **Never** treat “deploy”, “ship it”, or “rollout” as permission. **Never** ship from a production checkout (e.g. HSD `production-hsd-website`). Use the develop checkout only. **Never** merge se-core-product `main`.
15
16
  - Prefer **draft PRs** to `develop` over direct pushes when `gh` is available.
16
17
 
17
18
  ### Core vs customer placement
@@ -60,4 +61,4 @@ Never hand-edit `package.json` dependency versions.
60
61
 
61
62
  ### Production handoff
62
63
 
63
- When **marketing** work is ready, agents **stop** and hand off. **cms-edit-only** host rollouts may merge `develop` → production one site at a time (health-check, stop at first failure). No `vercel deploy`. See skill Step 7–8 and `cms-edit-prod-merge.md`.
64
+ When **marketing** work is ready, agents **stop** and hand off. Merge `develop` → production only after ask + confirm (`production-merge.md`). One site at a time. No `vercel deploy`. cms-edit host extra gate: `cms-edit-prod-merge.md`.
@@ -0,0 +1,17 @@
1
+ # No push to `main` or production
2
+
3
+ Do **not** merge or push production unless a human **asked** in this conversation to merge the integration branch to production **and** you **confirmed** that intent before merging. Canonical gate: skill `site-workflows-agent-session` → `production-merge.md` (in `@se-studio/skills`).
4
+
5
+ Agents must **not**:
6
+
7
+ - Run `git push origin main`, `git push origin master`, or push to any production remote branch **without** that ask + confirm
8
+ - Merge because a workflow “must live on default branch”, CI “needs” `main`, or a production PR already exists
9
+ - Treat “deploy”, “roll out”, or “ship it” as permission
10
+ - Treat the first “merge develop to main” as enough — restate **site**, **branches**, and that it **publishes production**, then wait for a second **yes**
11
+ - Use a production checkout or `vercel deploy` / `pnpm cms-edit:deploy`
12
+
13
+ Agents must:
14
+
15
+ - Commit and push only to **`develop`** (or another named integration branch) and `feature/*`
16
+ - Stop when work is ready for production unless the confirm gate passed
17
+ - Merge **one repo at a time** via `gh` from the develop checkout after confirmation
@@ -0,0 +1,61 @@
1
+ # Customer production merge (human ask + confirm)
2
+
3
+ Agents may merge a **customer** integration branch to that site’s production branch **only** when this gate passes. The point is **no automatic or accidental publishing**.
4
+
5
+ This is **not** a silent exception. Two human messages in **this conversation** are required: an explicit merge request, then a separate confirmation after the agent restates what will publish.
6
+
7
+ **se-core-product `main` stays never-agent.** Package releases go `dev` → CI. Do not merge core `main`.
8
+
9
+ Canonical skill: `site-workflows-agent-session`. Customer `AGENTS.md` copies the short form from `customer-agents-block.md`.
10
+
11
+ ## Production branches
12
+
13
+ | Repo | Integration | Production (Git-connected Vercel) |
14
+ |------|-------------|-----------------------------------|
15
+ | Customer marketing sites | `develop` (or registry override, e.g. Highlander `port-2026`) | usually `main` |
16
+ | HopSkipDrive | `develop` | **`production`** |
17
+
18
+ Never ship from a registry `productionPath` checkout. Merge with `gh` from the **develop** checkout.
19
+
20
+ ## Gate (all must hold)
21
+
22
+ 1. **Ask.** In this conversation the human named the **site or repo** and asked to merge **integration → production** (e.g. “merge develop to main”, “merge develop into production for OM1”).
23
+ 2. **Confirm.** The agent **stops**, restates the exact merge, and waits for a **second** affirmative reply (`yes` / `confirm` / `do it`) to **that** restatement. The original ask is not confirmation.
24
+ 3. **One repo.** Merge one customer repo at a time. Do not fan out “all sites to production”.
25
+ 4. **Git only.** `gh pr merge` or equivalent to `origin/<productionBranch>`. **Never** `vercel deploy`, `pnpm cms-edit:deploy`, or Netlify promote.
26
+
27
+ ### Restatement (required before merge)
28
+
29
+ Send this shape, filled in, then wait:
30
+
31
+ > You asked to merge **\<display name\>** (`\<repo\>`)
32
+ > `origin/<integration>` → `origin/<productionBranch>`.
33
+ > That publishes **production** (Git-connected Vercel).
34
+ > I will not merge until you reply **yes** to this message.
35
+
36
+ If they say no, stop. If they name a different repo, restate again.
37
+
38
+ ## Not permission (do not merge)
39
+
40
+ These are **not** an ask, and never count as confirmation:
41
+
42
+ - “ship it”, “deploy”, “rollout”, “publish”, “go live”, “it’s ready”
43
+ - Opening or merging a PR to `develop`
44
+ - A production PR already existing
45
+ - “when Vercel is green, merge it” (pre-authorisation)
46
+ - Scheduler / previous-session leftovers
47
+ - CI needing `main`, default-branch workflows
48
+ - cms-edit host “must be on production” without an explicit merge request
49
+
50
+ ## After a confirmed merge
51
+
52
+ - Wait for that site’s marketing (and cms-edit host, if Git-connected) Vercel **production** Ready.
53
+ - Do not merge a second site until the first is Ready or the human asks again and confirms again.
54
+
55
+ ## cms-edit-only extra gate
56
+
57
+ Hosted cms-edit rollouts still use [`cms-edit-prod-merge.md`](./cms-edit-prod-merge.md) **in addition** to this confirm gate (path allowlist, npm version, health check). Confirmation is required there too.
58
+
59
+ ## If the gate fails
60
+
61
+ Do **not** merge. Open a PR targeting production if useful, hand off, and wait.
@@ -89,11 +89,11 @@ git commit -m "chore(cms-edit): regenerate editor pack"
89
89
 
90
90
  ### Customer repo with `cms-edit/host/` (SE Studio, Pedestal, Headwater, Brightline, …)
91
91
 
92
- Commit `editor-pack/` (and any other `cms-edit/**` changes) and push **`develop`**. Hosted MCP Production is the marketing production branch (`main`, HSD `production`) — a **human** merge publishes. `ignoreCommand` skips `develop` and feature refs.
92
+ Commit `editor-pack/` (and any other `cms-edit/**` changes) and push **`develop`**. Hosted MCP Production is the marketing production branch (`main`, HSD `production`). Merge there only after ask + confirm (`production-merge.md`). `ignoreCommand` skips `develop` and feature refs.
93
93
 
94
94
  ```bash
95
95
  git push origin develop
96
- # then hand off: human merges to main (HSD: production)
96
+ # then production-merge.md: human asks, agent confirms, then merge to main (HSD: production)
97
97
  ```
98
98
 
99
99
  Do **not** run `pnpm cms-edit:deploy` or `vercel deploy` after this step.
@@ -5,7 +5,7 @@ description: "Start and manage agent work sessions across se-core-product and cu
5
5
 
6
6
  # Agent session workflow
7
7
 
8
- Orchestrates **where** to work, **where code belongs**, and **how to isolate parallel features**. **Humans only** merge marketing production and core `main` — except **cms-edit-only** customer merges (reference `cms-edit-prod-merge.md`).
8
+ Orchestrates **where** to work, **where code belongs**, and **how to isolate parallel features**. Customer production merges need a **human ask plus a second confirmation** ([`production-merge.md`](../../references/agent-session/production-merge.md)). **se-core-product `main` is never agent.**
9
9
 
10
10
  **Registry:** [`packages/skills/references/agent-session/projects.registry.json`](../../references/agent-session/projects.registry.json) — repo paths, `worktreesRoot`, `productionPath` / `productionBranch`, integration branches, hosted MCP keys, `localEnvRoot`.
11
11
 
@@ -62,7 +62,7 @@ Integration branches (agents push feature branches here via PR or merge — **ne
62
62
  | Repo type | Integration branch | Production |
63
63
  |-----------|-------------------|------------|
64
64
  | `se-core-product` | `dev` | `main` — **never** agent |
65
- | Customer sites | `develop` (or registry override) | Usually `main`; HSD **`production`**. Marketing: human-only. **cms-edit-only:** agents may merge — see below |
65
+ | Customer sites | `develop` (or registry override) | Usually `main`; HSD **`production`**. Merge only after [`production-merge.md`](../../references/agent-session/production-merge.md) (ask + confirm) |
66
66
 
67
67
  **Never** work in `productionPath`. Agent work uses `path` (develop checkout) only.
68
68
 
@@ -268,9 +268,9 @@ Agents may push to:
268
268
 
269
269
  - `dev` / `develop` (via feature branch merge or direct if user prefers)
270
270
  - `feature/*` branches
271
- - Customer production (`main`, HSD `production`) **only** when the [cms-edit-only gate](../../references/agent-session/cms-edit-prod-merge.md) passes
271
+ - Customer production (`main`, HSD `production`) **only** after [`production-merge.md`](../../references/agent-session/production-merge.md): human **asked** in this conversation, agent **restated** the exact merge (site, branches, publishes production), human **confirmed** with a second yes. cms-edit host diffs also need [`cms-edit-prod-merge.md`](../../references/agent-session/cms-edit-prod-merge.md).
272
272
 
273
- Agents must **never** push **se-core-product** `main`, or customer production when the diff is not cms-edit-only. Agents must **never** ship from a registry `productionPath` (e.g. HSD `~/source/customers/hopskipdrive/production-hsd-website`).
273
+ Agents must **never** push **se-core-product** `main`. Agents must **never** ship from a registry `productionPath` (e.g. HSD `~/source/customers/hopskipdrive/production-hsd-website`). Opening a production PR is not a merge.
274
274
 
275
275
  **Preferred:** open a **draft PR** targeting the integration branch:
276
276
 
@@ -284,7 +284,7 @@ If `gh` is unavailable or user prefers direct push, push `feature/*` and note in
284
284
 
285
285
  ## Step 8 — Handoff (production-ready)
286
286
 
287
- When **marketing** work is ready for production, **stop** — do not merge to `main` / `production`. **Exception:** cms-edit-only (Step 7 + [`cms-edit-prod-merge.md`](../../references/agent-session/cms-edit-prod-merge.md)) — merge one customer repo at a time, wait for cms-edit host Ready, verify `/api/health`, stop at the first failure.
287
+ When **marketing** work is ready for production, **stop** and hand off. Do **not** merge `develop` → production unless [`production-merge.md`](../../references/agent-session/production-merge.md) passed in this conversation (ask + restatement + second yes). One customer repo at a time. cms-edit host extra gate: [`cms-edit-prod-merge.md`](../../references/agent-session/cms-edit-prod-merge.md).
288
288
 
289
289
  1. Set manifest `status: ready_for_review`
290
290
  2. Deliver handoff using template below
@@ -317,8 +317,7 @@ When **marketing** work is ready for production, **stop** — do not merge to `m
317
317
  3. <customer PR>
318
318
 
319
319
  ### Production
320
- Marketing: human-only (`main` or site `productionBranch`).
321
- cms-edit-only: agent may merge per `cms-edit-prod-merge.md` (not `productionPath`, not `vercel deploy`).
320
+ Do not merge until the human asks **and** confirms (`production-merge.md`). Not `productionPath`, not `vercel deploy`. se-core-product `main`: never agent.
322
321
  ```
323
322
 
324
323
  ---
@@ -11,7 +11,7 @@ Update npm dependencies to **latest** in se-core-product and consumer repos that
11
11
 
12
12
  **Default:** Process **one repo per invocation**. At the end, summarize changes and offer the next project.
13
13
 
14
- **Never:** push to `main`/`master`/`production` or any production branch; promote from production checkouts (e.g. HSD `production-hsd-website`); bump Next to 17; bump Node to 25+; use `pnpm patch` / `patchedDependencies` / `patches/`; bypass or remove `minimumReleaseAge`; **hand-edit `package.json` dependency versions** (use `pnpm update` instead). Production promotion is **human-only** for all customer sites. All marketing sites pin `overrides.next` to `^16.3.x`.
14
+ **Never:** push to `main`/`master`/`production` unless `production-merge.md` passed (ask + confirm); promote from production checkouts (e.g. HSD `production-hsd-website`); bump Next to 17; bump Node to 25+; use `pnpm patch` / `patchedDependencies` / `patches/`; bypass or remove `minimumReleaseAge`; **hand-edit `package.json` dependency versions** (use `pnpm update` instead). This skill pushes `dev`/`develop` only. All marketing sites pin `overrides.next` to `^16.3.x`.
15
15
 
16
16
  ---
17
17
 
@@ -235,7 +235,7 @@ git push origin <branch>
235
235
 
236
236
  - se-core-product → `dev`
237
237
  - All consumer repos → `develop`
238
- - **Never** push to `main`/`master`/`production` (or any production branch / production checkout)
238
+ - **Never** push to `main`/`master`/`production` from this skill (deps stay on `dev`/`develop`)
239
239
 
240
240
  ---
241
241
 
@@ -140,8 +140,8 @@ Default mode for this repo: **site-first**.
140
140
 
141
141
  ### Branch policy
142
142
 
143
- - Agents may commit and push **`develop`** and **`feature/*`** only.
144
- - **Never** push to `main`, `master`, `production`, or any production branch — human-only for all customer sites.
143
+ - Agents may commit and push **`develop`** and **`feature/*`**.
144
+ - Customer production only after human **ask + confirm** (`production-merge.md`). Never se-core-product `main`.
145
145
  - Prefer **draft PRs** to `develop` over direct pushes when `gh` is available.
146
146
 
147
147
  ### Core vs customer placement
@@ -158,7 +158,7 @@ One feature = one `feature/<scope>/<slug>` branch. **Git worktree required** for
158
158
 
159
159
  ### Production handoff
160
160
 
161
- Agents stop at handoff for **marketing** production. cms-edit-only host merges: see `site-workflows-agent-session` and `cms-edit-prod-merge.md`.
161
+ Agents stop at handoff unless the human asks to merge to production **and** confirms (`production-merge.md`).
162
162
 
163
163
  ## CMS editing (cms-edit)
164
164
 
@@ -19,7 +19,7 @@ Remove **dead weight** from an SE Studio site repo without changing product beha
19
19
 
20
20
  **Default:** Plan mode first — present a classified audit table before deleting anything.
21
21
 
22
- **Never:** push marketing production or use production checkouts (cms-edit-only gate is in `cms-edit-prod-merge.md`); delete `docs/cms-editor/` or committed `cms-edit/*/editor-pack/` without explicit user request; fix Dependabot alerts unless the user asks.
22
+ **Never:** merge production without `production-merge.md` (ask + confirm); use production checkouts; delete `docs/cms-editor/` or committed `cms-edit/*/editor-pack/` without explicit user request; fix Dependabot alerts unless the user asks.
23
23
 
24
24
  ---
25
25
 
@@ -153,7 +153,7 @@ pnpm validate # or repo-specific validate from AGENTS.md
153
153
 
154
154
  Commit on integration branch only. Suggested message: `chore: remove stale scripts, docs, and tooling`.
155
155
 
156
- Hand off **marketing** production. Do not use production checkouts. cms-edit-only: `cms-edit-prod-merge.md`.
156
+ Hand off marketing production unless `production-merge.md` passed. Do not use production checkouts.
157
157
 
158
158
  ---
159
159