@easysociable/cli 0.1.11 → 0.1.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easysociable/cli",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "Agent-first CLI for EasySociable: Content Engine, Template, Slideshow, and MCP",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -26,9 +26,15 @@ Page order is the argument of **this pack**, not a catalog recipe.
26
26
  3. Choose a Brand (or Profile/Theme) and an explicit Page Template for every
27
27
  page. The server never silently chooses or replaces a Page Template.
28
28
  Prefer templates already chosen on the Content Engine pack (**Template
29
- Selection** after **Page Contracts**). Otherwise select by **platform +
30
- canvas + slotSummary + density + layoutFamily**. `role` / `supportedRoles`
31
- are weak retrieval tags, not sequence position.
29
+ Selection** after **Page Contracts**). Otherwise get a shortlist from
30
+ `easysociable slideshows recommend --file contracts.json --seed <slug>`
31
+ (MCP `recommend_slideshow_templates`) and pick one per page with a reason.
32
+ The recommender filters platform + native canvas + slotSummary + cover rule,
33
+ demotes Layout Families used in the owner's recent Runs, and keeps one
34
+ unused family per page. `role` / `supportedRoles` are weak retrieval tags,
35
+ not sequence position. Never browse with bare `templates list` (first 20
36
+ ids only); use `--platform <p> --all` if you must see the full catalog.
37
+ Do not copy a previous pack's Template Selection as the default.
32
38
  4. **Cover / hook placement (hard):** a template is cover/hook class when
33
39
  `supportedRoles` includes `cover` or `hook`. `pages[0]` must use one.
34
40
  Cover/hook class templates must not appear on any later page. Later pages
@@ -81,10 +87,13 @@ Page order is the argument of **this pack**, not a catalog recipe.
81
87
  `python3 scripts/validate-pack.py runs/<slug>/pack.md` (in the Content Engine).
82
88
  Refuse create if contracts are empty or contain `templateId`.
83
89
  3. Resolve or create the user's Brand through the unified CLI/MCP.
84
- 4. Prefer pack **Template Selection** ids. If re-listing the catalog, verify
85
- hard filters and cover/hook placement; never place a cover/hook class
86
- template after page 1. Record Layout Family evidence as `hypothesis` unless
87
- comparable history supports `tested` / `supported`.
90
+ 4. Prefer pack **Template Selection** ids. Otherwise run
91
+ `easysociable slideshows recommend --file contracts.json --seed <slug> --json`
92
+ and choose from each page's `candidates`; never place a cover/hook class
93
+ template after page 1. Report `gaps` (pages with < 2 role-matching
94
+ templates) to the user as authoring backlog. Record Layout Family evidence
95
+ as `hypothesis` unless published comparable results support `tested` /
96
+ `supported` — a template having been used before is not evidence.
88
97
  5. List existing Runs when the Pack has a stable content slug:
89
98
 
90
99
  ```bash
@@ -11,12 +11,14 @@
11
11
  `pageTemplateId`s from Template Selection (explicit — server must not
12
12
  silent-replace).
13
13
  4. Check platform hardMin/hardMax.
14
- 5. List published Page Templates only to **verify** hard filters still hold:
15
- platform → canvas → slotSummary → density → page-position cover/hook.
16
- Prefer ranking by Layout Family (`layoutFamily`) + history; `supportedRoles`
17
- is a weak tag. `pages[0]` must be cover/hook class. Do not use that class on
18
- later pages. Prefer families already recorded on linked W- judgments
19
- (`fits` / `avoid` / `trial`) when comparable evidence exists.
14
+ 5. No Template Selection on the pack → shortlist with
15
+ `easysociable slideshows recommend --file contracts.json --seed <slug> --json`
16
+ (MCP `recommend_slideshow_templates`). Input is the Page Contracts:
17
+ `{ platform, pages: [{ role, density?, slotSummary?: { text, number, image }, requiresImage? }] }`.
18
+ Pick one candidate per page and record the reason; `supportedRoles` is a
19
+ weak tag. `pages[0]` must be cover/hook class. Do not use that class on
20
+ later pages. W- judgments (`fits` / `avoid`) with comparable evidence may
21
+ override the recommender's order. Surface `gaps` to the user.
20
22
  6. If `contentSlug` already has a Run: update only when topology matches
21
23
  (same page count and `pageTemplateId`s). Otherwise create a new Run.
22
24
  7. **Before** `create_run` / `slideshows create` (every create, not only the