gooseworks 0.5.9-dev.58.1cb81d21 → 0.5.9-dev.61.827a2d9f

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.
@@ -1,26 +1,25 @@
1
1
  "use strict";
2
- // The entry skill text our server builds, copied here because the CLI
3
- // cannot import gooseworks-app. Do not edit by hand.
2
+ // Server-backed entry snapshots for the CLI. The production guidance stays at
3
+ // its shipped snapshot; this change backports only the current approval text.
4
+ // Regenerate committed skills from these snapshots; do not edit their output.
4
5
  //
5
- // Source: gooseworks-app akhil/staging-soft-blockers @ bd2f9f70e
6
- // apps/api/src/services/playbooks/entry-skill.ts buildVideoEntrySkill(slug)
7
- // apps/api/src/app-mcp-server/lib/video-policy.ts renderEntrySkillRules(product)
8
- //
9
- // The video entry skills are the server's whole SKILL.md. The rules blocks are
10
- // the rulebook's entry-skill rules for the skills the CLI writes itself
11
- // (gooseworks, goose-ads, goose-product-photos), so no skill restates a rule
12
- // by hand. tests/skills/server-entry-skills.test.ts checks this file against
13
- // tests/fixtures/server-entry-skills.json, and that fixture against a
14
- // gooseworks-app checkout when GOOSEWORKS_APP_DIR points at one.
6
+ // Base: gooseworks dev 75ddf26 (goose-video 4.4.4, make-custom-video 3.5.1).
7
+ // Approval fragments: gooseworks-app PR #2047, captured 2026-10-14:
8
+ // goose-video 4.4.6: universal in-chat approval rule (rulebook 1.4.1).
9
+ // make-custom-video 3.5.3: human summary, review heading and approval paragraph.
10
+ // Other production text and shared rules are unchanged from the base.
11
+ // This is an approval-only backport, not a full current-server skill snapshot.
12
+ // tests/skills/server-entry-skills.test.ts checks delivery against the fixture;
13
+ // its optional whole-server comparison is strict when a complete sync is wanted.
15
14
  Object.defineProperty(exports, "__esModule", { value: true });
16
15
  exports.SERVER_ENTRY_SKILL_RULES = exports.SERVER_VIDEO_ENTRY_SKILLS = exports.SERVER_RULEBOOK_VERSION = void 0;
17
- /** The rulebook version this text was built from. */
16
+ /** The rulebook version of the unchanged shared rules snapshot. */
18
17
  exports.SERVER_RULEBOOK_VERSION = '1.3.2';
19
18
  exports.SERVER_VIDEO_ENTRY_SKILLS = {
20
19
  'goose-video': `---
21
20
  name: goose-video
22
21
  description: "Make a video ad in this chat. Study a supplied video reference before comparing styles; follow the next_step in every answer."
23
- version: 4.4.4
22
+ version: 4.4.6
24
23
  ---
25
24
 
26
25
  # GooseWorks video
@@ -29,7 +28,7 @@ From an installed entry, first catalog_fetch type skill goose-video on this same
29
28
 
30
29
  For a video already started, call video_read and follow its next_step.
31
30
 
32
- Explicit custom: skip steps 5–6. Keep their mechanics and assets; research the brand/product and study the reference for its custom plan. Check current custom support before any write.
31
+ Explicit custom: skip steps 5–6. Keep their mechanics and assets; research the brand/product, study the reference and follow the custom rule below.
33
32
 
34
33
  For other new videos start with get_started (wants video, request). A card is not a style choice or proof of viewing. Follow the reference rule before style selection or a plan.
35
34
 
@@ -44,7 +43,7 @@ For other new videos start with get_started (wants video, request). A card is no
44
43
 
45
44
  Watch the actual video before choosing a style or writing a custom plan. Play through it, or inspect timestamped frames spanning it plus its audio/transcript. A URL, title, caption or thumbnail is not a viewing. Record the hook, scene order, pacing, narration/dialogue, framing, product interactions, text and ending, with timestamps and gaps. If access or sampling cannot answer an essential detail, ask for an accessible video or their choice to continue from the brief; never claim it was watched.
46
45
  When they have not chosen custom, call video_formats after brand research. For plausible matches, catalog_fetch type template returns the style's plan_note, scenes, duration, cast, sound and assets. Compare these against the observed reference and their essential choices. A similar title or high brand ranking does not prove a match. Explain fit or mismatch before they choose. Keep an explicit style choice; do not quietly change constraints or over-adapt it. Reassess a later reference before creating or rewriting a plan.
47
- If no available style fits, or they explicitly want custom, catalog_fetch type skill make-custom-video on this connection before a project write. Require its complete production-harness dependency and current custom schemas. Follow its separate authenticated script and ingredient approvals, cumulative budgets and verified execution capability. If anything is unavailable, say so and keep the brief; do not substitute a template, import the reference as a finished video, use retired actions or switch environments. Fetching a skill alone proves no execution capability.
46
+ If no available style fits, or they explicitly want custom, catalog_fetch type skill make-custom-video on this connection before a project write and follow it: its full harness, current schemas, two authenticated approvals, cumulative budgets and verified execution. If anything is unavailable, say so and keep the brief; never run a template's renderer and call it custom, import the reference as a finished video, use retired actions or switch environments. Fetching a skill proves no execution capability.
48
47
 
49
48
  ## Rules
50
49
 
@@ -56,59 +55,59 @@ If no available style fits, or they explicitly want custom, catalog_fetch type s
56
55
  - Card on screen (display_hint "widget"): one short line at most, then the wait in its next_step or end your turn; never re-list it or open a question box.
57
56
  - Paid work needs the customer's yes to the credit total first, on the card or in chat at the price shown; never decide it for them, and pass on a yes only once they gave it to that total.
58
57
  - A yes is to the credit total the customer was shown: their press on the plan card, or their yes in chat sent with that total.
59
- - Where the app shows no card, print the plan and its price and ask for the customer's yes here; never send them to a website to approve.
58
+ - Every video approval, including a higher price or a priced fix, can happen in this chat. Show the plan and its price here when no card is visible; cards and websites are optional for approval.
60
59
  - Never invent an offer, a claim or proof.
61
60
  - GooseWorks holds every provider key and bills the work: never ask for a key, token, password or ad account id, and never call a vendor yourself.
62
61
  `,
63
62
  'make-custom-video': `---
64
63
  name: make-custom-video
65
64
  description: "Make a custom video from its brief and studied reference, with authenticated script and ingredient reviews."
66
- version: 3.5.1
65
+ version: 3.5.3
67
66
  requires_skills: [video-production-harness]
68
67
  harness_binding: gooseworks/video-actions/v1
69
68
  ---
70
69
 
71
70
  # Human version
72
71
 
73
- The owner approves the script, then actual storyboard/ingredients and budget. Both authenticated reviews must pass before production.
72
+ Approve the script, then actual storyboard/ingredients and budget in this chat. Both reviews are required; cards and Studio are optional.
74
73
 
75
74
  ---
76
75
 
77
76
  # Agent version
78
77
 
79
- Installed entry: catalog_fetch type skill make-custom-video here once. Check live custom schemas before writes. Keep this environment; no retired actions, template fallback or reference-as-final import.
78
+ Installed entry: catalog_fetch type skill make-custom-video here once. Check live custom schemas before writes. Keep this environment; no retired actions or reference-as-final import.
80
79
 
81
80
  ## Load the production harness
82
81
 
83
- Require complete video-production-harness content/scripts/files/version/contentHash. An inline read lists it by slug only: get it with catalog_fetch delivery archive (making needs that shell anyway), or catalog_fetch its slug. Read its orchestrator, phases and editorial/specialist guides. Save safe paths separately with hashes/dependencies. Incomplete/mixed packages block work. Resume recorded packages, inputs and jobs.
82
+ Require the complete video-production-harness (content, scripts, files, version, contentHash). An inline read lists it by slug only, so get it with catalog_fetch delivery archive (making needs that shell anyway), unpack it, then read its SKILL.md and follow the reading order it gives (each step file when you reach that step). Save safe paths separately with hashes/dependencies. Incomplete/mixed packages block work. Resume recorded packages, inputs and jobs.
84
83
 
85
84
  ## Keep the brief and study the reference
86
85
 
87
86
  Explicit custom skips video_formats and the picker. Keep requested mechanics/assets; animated text and product photos must not become a creator montage. Implicit references use goose-video to watch and compare template constraints; custom follows no match or their choice.
88
- Read brand_read (kit, products, rules), then knowledge_search. Use supported claims, real photos/logo. Watch playback, or timed frames spanning the video plus audio/transcript. Record hook, scene order, pace, framing, dialogue, text, product interactions and ending with times/gaps. URLs/thumbnails are not viewing. Missing access needs an accessible source or explicit brief-only choice.
87
+ Read brand_read (kit, products, rules), then knowledge_search. Use supported claims, real photos/logo. Watch the reference by playback, or timed frames spanning it plus audio/transcript, and log its beats as the harness says; URLs/thumbnails are not viewing. Missing access needs an accessible source or explicit brief-only choice.
88
+ Before video_create, catalog_fetch type template for the style nearest the brief and use its plan as your skeleton (harness design brief); with no customer reference, create with its demo video (media_url) as reference_url. Never run a template's renderer or unchanged style and call it custom.
89
89
 
90
90
  ## Create or resume
91
91
 
92
92
  New: video_create with brand_id, style custom, request and a required agent-generated UUID idempotency_key; retain products, name, reference_url and campaign. Reuse that key on retries. Resume with video_read the same project: retain plan_revision, custom_review, brand_context, production_manifest and execution; never create a replacement.
93
- Reference resolve accepts direct files; social links cause no automatic paid lookup. If GooseWorks can't download it, upload the file you watched into this project (media_upload scope video_project, media_confirm), wait for media_analyze read to show its duration, then video_change custom reference attach with asset_id and its current_revision as analysis_revision; each refusal names the condition to fix. Skip needs explicit brief-only user_quote. Pending/failed reference blocks approval; a URL is not viewing.
94
- A resolved reference also needs draft.reference_observation: the project's reference source_url, real duration_s, evidence_mode playback or frames_and_audio, observed_through_s covering 95%, and summary: what happens with times and gaps, as text or a list of {t, what}. Its data binds the script token. Resolve/attach is not watching.
93
+ Reference resolve takes direct files and starts no paid social lookup. If it fails, attach the file you watched as next_step says; skip needs the customer's brief-only user_quote. A pending/failed reference blocks approval. A resolved one also needs draft.reference_observation (what you saw and heard); it binds the script token.
95
94
 
96
95
  ## Save script and ingredients
97
96
 
98
- Follow the harness phases. Discover specialists for the actual scenes; check inputs, outputs, dependencies and managed execution. Reuse suitable product photos and deterministic text animation. Never substitute a template driver. Bind operations to this project and approved scene/script revisions.
99
- video_change needs expected_revision (plan_revision), custom draft and optional script. Bind brand_context_digest to the returned bundle; never author server context. Keep packages outside the review payload. Quote paid operations through the live managed estimate path with real inputs/project. Save preview_estimate/render_estimate for the work still to buy; the server adds committed_credits. Never edit a field the owner approved: the save sets their approval aside until the approved text is back. Missing price/unsupported inputs blocks production; no guessed rates/direct keys.
97
+ Follow the harness phases for the actual scenes; reuse suitable product photos and deterministic text animation. Bind operations to this project and approved scene/script revisions.
98
+ video_change needs expected_revision (plan_revision), custom draft and optional script. Bind brand_context_digest to the returned bundle; never author server context. Keep packages outside the review payload. Price each paid request free with estimate_only=1 and save preview_estimate/render_estimate, with its redo allowance, for the work still to buy (harness design brief); the server adds committed_credits. Never edit a field the owner approved: the save sets their approval aside until the approved text is back. Missing price/unsupported inputs blocks production; no guessed rates/direct keys.
100
99
 
101
- ## Two authenticated owner reviews
100
+ ## Two owner reviews
102
101
 
103
- Show the complete saved script and exact cumulative budget on the authenticated review card. Only the owner's actual signed button press approves. Chat yes, OAuth, user_quote, widget origin or a copied token is not proof; never manufacture a click or self-approve. Text-only/large reviews use returned authenticated Studio phase buttons and approval_surface URL.
102
+ Show the full saved script or actual playable ingredients and exact cumulative budget here. After the owner's explicit yes, call video_approve with custom phase, review_token and total_credits from custom_review.approval_quote, expected_revision from custom_review.plan_revision, and their words as user_quote. Never infer consent or approve yourself. Cards and Studio are optional.
104
103
  Reread video_read after owner actions. Script approval permits quoted previews only. Save the actual storyboard, playable ingredients and render budget; ingredient approval permits clips. Require current script_approved/ingredients_approved, matching tokens/revision and budget. Changed reviews need renewed approval. A prior yes does not authorize changed work.
105
104
 
106
105
  ## Execute, check and deliver
107
106
 
108
- Require execution.local from a verified customer shell. No cloud, style-only kit, API host, worker or coworker sandbox. Otherwise report the gap.
109
- video_make needs expected_revision and custom render state. Resume the same render with approved tokens; report running/failed/complete honestly and honor Stop. Save actual prompts, settings, every scene and clip checks through video_change custom production. Watch the full output against the approved script, product and brand; save its full quality report. Completion needs a confirmed upload and rebuild recipe here; pin only the checked complete render. Read back manifest/final before delivery. Repairs need affected assets only and renewed approvals/budget.
107
+ When the nearest template's parts fit every scene, save the harness's kit block in the ingredients draft; after ingredient approval, follow video_make's next_step (the kit makes, checks and finishes the video; send no render state), then read the final back with video_read. Otherwise require execution.local from a verified customer shell (no cloud, API host, worker or coworker sandbox), or report the gap.
108
+ When you build it yourself, video_make needs expected_revision and custom render state. Resume the same render with approved tokens; report running/failed/complete honestly and honor Stop. Report running with a progress_note after each paid piece and at least every 15 minutes. Send each generated clip to custom clip_check and redo a failed one once inside the allowance (harness clip step). Save actual prompts, settings, every scene and clip checks through video_change custom production. Watch the full output against the approved script, product and brand; save its full quality report. Export an MP4 (H.264 + AAC) and complete with output_url set to the output_url media_confirm returned for it; GooseWorks checks the file, so report complete again while it says still checking. Pin only the checked complete render. Read back manifest/final before delivery. Repairs need affected assets only and renewed approvals/budget.
110
109
 
111
- Rebuild recipe: every input the build reads, uploaded here or a linked Library original, plus recipe/source.json; prove a clean-folder rebuild, then save it as custom production source. The next step gives the format.
110
+ When you build it yourself, completion also needs the rebuild recipe saved as custom production source: the harness's references/recipe-format.md and the next_step give the steps.
112
111
 
113
112
  Use plain words and returned credits. No invented claims, approvals, assets or passing checks.
114
113
  `,
@@ -1 +1 @@
1
- {"version":3,"file":"server-entry-skills.js","sourceRoot":"","sources":["../../src/skills/server-entry-skills.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,qDAAqD;AACrD,EAAE;AACF,iEAAiE;AACjE,mFAAmF;AACnF,uFAAuF;AACvF,EAAE;AACF,+EAA+E;AAC/E,wEAAwE;AACxE,6EAA6E;AAC7E,6EAA6E;AAC7E,sEAAsE;AACtE,iEAAiE;;;AAEjE,qDAAqD;AACxC,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAElC,QAAA,yBAAyB,GAAG;IACvC,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ChB;IACC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDtB;CACS,CAAC;AAIX,wFAAwF;AAC3E,QAAA,wBAAwB,GAAG;IACtC,GAAG,EAAE;;;;;;;;mJAQ4I;IACjJ,GAAG,EAAE;;;;;;;;;mJAS4I;IACjJ,MAAM,EAAE;;;;;;;;;mJASyI;CACzI,CAAC"}
1
+ {"version":3,"file":"server-entry-skills.js","sourceRoot":"","sources":["../../src/skills/server-entry-skills.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,EAAE;AACF,6EAA6E;AAC7E,oEAAoE;AACpE,yEAAyE;AACzE,mFAAmF;AACnF,sEAAsE;AACtE,+EAA+E;AAC/E,gFAAgF;AAChF,iFAAiF;;;AAEjF,mEAAmE;AACtD,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAElC,QAAA,yBAAyB,GAAG;IACvC,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ChB;IACC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDtB;CACS,CAAC;AAIX,wFAAwF;AAC3E,QAAA,wBAAwB,GAAG;IACtC,GAAG,EAAE;;;;;;;;mJAQ4I;IACjJ,GAAG,EAAE;;;;;;;;;mJAS4I;IACjJ,MAAM,EAAE;;;;;;;;;mJASyI;CACzI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gooseworks",
3
- "version": "0.5.9-dev.58.1cb81d21",
3
+ "version": "0.5.9-dev.61.827a2d9f",
4
4
  "description": "GooseWorks CLI — give your coding agent real data tools",
5
5
  "bin": {
6
6
  "gooseworks": "./dist/index.js"
@@ -72,7 +72,7 @@
72
72
  "homepage": "https://gooseworks.ai",
73
73
  "author": "GooseWorks <help@gooseworks.ai>",
74
74
  "gooseworksRelease": {
75
- "commit": "1cb81d21322a1ab4c4b53c001a4053c736a46c83",
75
+ "commit": "827a2d9f97fce2826d0d3c6e5941339017c940cc",
76
76
  "branch": "dev"
77
77
  }
78
78
  }
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: goose-video
3
3
  description: "Make a video ad in this chat. Study a supplied video reference before comparing styles; follow the next_step in every answer."
4
- version: 4.4.4
4
+ version: 4.4.6
5
5
  ---
6
6
 
7
7
  # GooseWorks video
@@ -10,7 +10,7 @@ From an installed entry, first catalog_fetch type skill goose-video on this same
10
10
 
11
11
  For a video already started, call video_read and follow its next_step.
12
12
 
13
- Explicit custom: skip steps 5–6. Keep their mechanics and assets; research the brand/product and study the reference for its custom plan. Check current custom support before any write.
13
+ Explicit custom: skip steps 5–6. Keep their mechanics and assets; research the brand/product, study the reference and follow the custom rule below.
14
14
 
15
15
  For other new videos start with get_started (wants video, request). A card is not a style choice or proof of viewing. Follow the reference rule before style selection or a plan.
16
16
 
@@ -25,7 +25,7 @@ For other new videos start with get_started (wants video, request). A card is no
25
25
 
26
26
  Watch the actual video before choosing a style or writing a custom plan. Play through it, or inspect timestamped frames spanning it plus its audio/transcript. A URL, title, caption or thumbnail is not a viewing. Record the hook, scene order, pacing, narration/dialogue, framing, product interactions, text and ending, with timestamps and gaps. If access or sampling cannot answer an essential detail, ask for an accessible video or their choice to continue from the brief; never claim it was watched.
27
27
  When they have not chosen custom, call video_formats after brand research. For plausible matches, catalog_fetch type template returns the style's plan_note, scenes, duration, cast, sound and assets. Compare these against the observed reference and their essential choices. A similar title or high brand ranking does not prove a match. Explain fit or mismatch before they choose. Keep an explicit style choice; do not quietly change constraints or over-adapt it. Reassess a later reference before creating or rewriting a plan.
28
- If no available style fits, or they explicitly want custom, catalog_fetch type skill make-custom-video on this connection before a project write. Require its complete production-harness dependency and current custom schemas. Follow its separate authenticated script and ingredient approvals, cumulative budgets and verified execution capability. If anything is unavailable, say so and keep the brief; do not substitute a template, import the reference as a finished video, use retired actions or switch environments. Fetching a skill alone proves no execution capability.
28
+ If no available style fits, or they explicitly want custom, catalog_fetch type skill make-custom-video on this connection before a project write and follow it: its full harness, current schemas, two authenticated approvals, cumulative budgets and verified execution. If anything is unavailable, say so and keep the brief; never run a template's renderer and call it custom, import the reference as a finished video, use retired actions or switch environments. Fetching a skill proves no execution capability.
29
29
 
30
30
  ## Rules
31
31
 
@@ -37,6 +37,6 @@ If no available style fits, or they explicitly want custom, catalog_fetch type s
37
37
  - Card on screen (display_hint "widget"): one short line at most, then the wait in its next_step or end your turn; never re-list it or open a question box.
38
38
  - Paid work needs the customer's yes to the credit total first, on the card or in chat at the price shown; never decide it for them, and pass on a yes only once they gave it to that total.
39
39
  - A yes is to the credit total the customer was shown: their press on the plan card, or their yes in chat sent with that total.
40
- - Where the app shows no card, print the plan and its price and ask for the customer's yes here; never send them to a website to approve.
40
+ - Every video approval, including a higher price or a priced fix, can happen in this chat. Show the plan and its price here when no card is visible; cards and websites are optional for approval.
41
41
  - Never invent an offer, a claim or proof.
42
42
  - GooseWorks holds every provider key and bills the work: never ask for a key, token, password or ad account id, and never call a vendor yourself.
@@ -1,51 +1,51 @@
1
1
  ---
2
2
  name: make-custom-video
3
3
  description: "Make a custom video from its brief and studied reference, with authenticated script and ingredient reviews."
4
- version: 3.5.1
4
+ version: 3.5.3
5
5
  requires_skills: [video-production-harness]
6
6
  harness_binding: gooseworks/video-actions/v1
7
7
  ---
8
8
 
9
9
  # Human version
10
10
 
11
- The owner approves the script, then actual storyboard/ingredients and budget. Both authenticated reviews must pass before production.
11
+ Approve the script, then actual storyboard/ingredients and budget in this chat. Both reviews are required; cards and Studio are optional.
12
12
 
13
13
  ---
14
14
 
15
15
  # Agent version
16
16
 
17
- Installed entry: catalog_fetch type skill make-custom-video here once. Check live custom schemas before writes. Keep this environment; no retired actions, template fallback or reference-as-final import.
17
+ Installed entry: catalog_fetch type skill make-custom-video here once. Check live custom schemas before writes. Keep this environment; no retired actions or reference-as-final import.
18
18
 
19
19
  ## Load the production harness
20
20
 
21
- Require complete video-production-harness content/scripts/files/version/contentHash. An inline read lists it by slug only: get it with catalog_fetch delivery archive (making needs that shell anyway), or catalog_fetch its slug. Read its orchestrator, phases and editorial/specialist guides. Save safe paths separately with hashes/dependencies. Incomplete/mixed packages block work. Resume recorded packages, inputs and jobs.
21
+ Require the complete video-production-harness (content, scripts, files, version, contentHash). An inline read lists it by slug only, so get it with catalog_fetch delivery archive (making needs that shell anyway), unpack it, then read its SKILL.md and follow the reading order it gives (each step file when you reach that step). Save safe paths separately with hashes/dependencies. Incomplete/mixed packages block work. Resume recorded packages, inputs and jobs.
22
22
 
23
23
  ## Keep the brief and study the reference
24
24
 
25
25
  Explicit custom skips video_formats and the picker. Keep requested mechanics/assets; animated text and product photos must not become a creator montage. Implicit references use goose-video to watch and compare template constraints; custom follows no match or their choice.
26
- Read brand_read (kit, products, rules), then knowledge_search. Use supported claims, real photos/logo. Watch playback, or timed frames spanning the video plus audio/transcript. Record hook, scene order, pace, framing, dialogue, text, product interactions and ending with times/gaps. URLs/thumbnails are not viewing. Missing access needs an accessible source or explicit brief-only choice.
26
+ Read brand_read (kit, products, rules), then knowledge_search. Use supported claims, real photos/logo. Watch the reference by playback, or timed frames spanning it plus audio/transcript, and log its beats as the harness says; URLs/thumbnails are not viewing. Missing access needs an accessible source or explicit brief-only choice.
27
+ Before video_create, catalog_fetch type template for the style nearest the brief and use its plan as your skeleton (harness design brief); with no customer reference, create with its demo video (media_url) as reference_url. Never run a template's renderer or unchanged style and call it custom.
27
28
 
28
29
  ## Create or resume
29
30
 
30
31
  New: video_create with brand_id, style custom, request and a required agent-generated UUID idempotency_key; retain products, name, reference_url and campaign. Reuse that key on retries. Resume with video_read the same project: retain plan_revision, custom_review, brand_context, production_manifest and execution; never create a replacement.
31
- Reference resolve accepts direct files; social links cause no automatic paid lookup. If GooseWorks can't download it, upload the file you watched into this project (media_upload scope video_project, media_confirm), wait for media_analyze read to show its duration, then video_change custom reference attach with asset_id and its current_revision as analysis_revision; each refusal names the condition to fix. Skip needs explicit brief-only user_quote. Pending/failed reference blocks approval; a URL is not viewing.
32
- A resolved reference also needs draft.reference_observation: the project's reference source_url, real duration_s, evidence_mode playback or frames_and_audio, observed_through_s covering 95%, and summary: what happens with times and gaps, as text or a list of {t, what}. Its data binds the script token. Resolve/attach is not watching.
32
+ Reference resolve takes direct files and starts no paid social lookup. If it fails, attach the file you watched as next_step says; skip needs the customer's brief-only user_quote. A pending/failed reference blocks approval. A resolved one also needs draft.reference_observation (what you saw and heard); it binds the script token.
33
33
 
34
34
  ## Save script and ingredients
35
35
 
36
- Follow the harness phases. Discover specialists for the actual scenes; check inputs, outputs, dependencies and managed execution. Reuse suitable product photos and deterministic text animation. Never substitute a template driver. Bind operations to this project and approved scene/script revisions.
37
- video_change needs expected_revision (plan_revision), custom draft and optional script. Bind brand_context_digest to the returned bundle; never author server context. Keep packages outside the review payload. Quote paid operations through the live managed estimate path with real inputs/project. Save preview_estimate/render_estimate for the work still to buy; the server adds committed_credits. Never edit a field the owner approved: the save sets their approval aside until the approved text is back. Missing price/unsupported inputs blocks production; no guessed rates/direct keys.
36
+ Follow the harness phases for the actual scenes; reuse suitable product photos and deterministic text animation. Bind operations to this project and approved scene/script revisions.
37
+ video_change needs expected_revision (plan_revision), custom draft and optional script. Bind brand_context_digest to the returned bundle; never author server context. Keep packages outside the review payload. Price each paid request free with estimate_only=1 and save preview_estimate/render_estimate, with its redo allowance, for the work still to buy (harness design brief); the server adds committed_credits. Never edit a field the owner approved: the save sets their approval aside until the approved text is back. Missing price/unsupported inputs blocks production; no guessed rates/direct keys.
38
38
 
39
- ## Two authenticated owner reviews
39
+ ## Two owner reviews
40
40
 
41
- Show the complete saved script and exact cumulative budget on the authenticated review card. Only the owner's actual signed button press approves. Chat yes, OAuth, user_quote, widget origin or a copied token is not proof; never manufacture a click or self-approve. Text-only/large reviews use returned authenticated Studio phase buttons and approval_surface URL.
41
+ Show the full saved script or actual playable ingredients and exact cumulative budget here. After the owner's explicit yes, call video_approve with custom phase, review_token and total_credits from custom_review.approval_quote, expected_revision from custom_review.plan_revision, and their words as user_quote. Never infer consent or approve yourself. Cards and Studio are optional.
42
42
  Reread video_read after owner actions. Script approval permits quoted previews only. Save the actual storyboard, playable ingredients and render budget; ingredient approval permits clips. Require current script_approved/ingredients_approved, matching tokens/revision and budget. Changed reviews need renewed approval. A prior yes does not authorize changed work.
43
43
 
44
44
  ## Execute, check and deliver
45
45
 
46
- Require execution.local from a verified customer shell. No cloud, style-only kit, API host, worker or coworker sandbox. Otherwise report the gap.
47
- video_make needs expected_revision and custom render state. Resume the same render with approved tokens; report running/failed/complete honestly and honor Stop. Save actual prompts, settings, every scene and clip checks through video_change custom production. Watch the full output against the approved script, product and brand; save its full quality report. Completion needs a confirmed upload and rebuild recipe here; pin only the checked complete render. Read back manifest/final before delivery. Repairs need affected assets only and renewed approvals/budget.
46
+ When the nearest template's parts fit every scene, save the harness's kit block in the ingredients draft; after ingredient approval, follow video_make's next_step (the kit makes, checks and finishes the video; send no render state), then read the final back with video_read. Otherwise require execution.local from a verified customer shell (no cloud, API host, worker or coworker sandbox), or report the gap.
47
+ When you build it yourself, video_make needs expected_revision and custom render state. Resume the same render with approved tokens; report running/failed/complete honestly and honor Stop. Report running with a progress_note after each paid piece and at least every 15 minutes. Send each generated clip to custom clip_check and redo a failed one once inside the allowance (harness clip step). Save actual prompts, settings, every scene and clip checks through video_change custom production. Watch the full output against the approved script, product and brand; save its full quality report. Export an MP4 (H.264 + AAC) and complete with output_url set to the output_url media_confirm returned for it; GooseWorks checks the file, so report complete again while it says still checking. Pin only the checked complete render. Read back manifest/final before delivery. Repairs need affected assets only and renewed approvals/budget.
48
48
 
49
- Rebuild recipe: every input the build reads, uploaded here or a linked Library original, plus recipe/source.json; prove a clean-folder rebuild, then save it as custom production source. The next step gives the format.
49
+ When you build it yourself, completion also needs the rebuild recipe saved as custom production source: the harness's references/recipe-format.md and the next_step give the steps.
50
50
 
51
51
  Use plain words and returned credits. No invented claims, approvals, assets or passing checks.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "package": "gooseworks",
3
- "version": "0.5.9-dev.58.1cb81d21",
3
+ "version": "0.5.9-dev.61.827a2d9f",
4
4
  "entries": {
5
5
  "gooseworks": "2b5507cd937b2e5371bc1645530a13bda219914c9ecc4b14ea3871a9f43b95db",
6
6
  "goose-ads": "ee52c2e83edc196bc22121e089b9bce526b789ce762935c35e1c989f918c6569",
7
- "goose-video": "3de2f0aa3d38afb462d59dbe7778e2395adc551283b6ec19a90c63e6f6b6008d",
7
+ "goose-video": "54f9089bcb28074d5817e657a85f4e9a69f5be54dae573d3a89b17230b78fcb3",
8
8
  "goose-video-local": "3c8c8aecbfe3d8e58e6393e28dc67dc36f9d4b8dcfb1603f8bc442786ce839ee",
9
- "make-custom-video": "fe7bd6d35023d372370a1ff66577ba4ae0bbc76451553dac20ed16dd895e51cf",
9
+ "make-custom-video": "4ab070efbe5e2eb7db6009e05496fcf6912c06158626926870b3b68aed0cd9a1",
10
10
  "goose-product-photos": "a8d04bcb320fb71885ff8df90cb32093b94c38d7cbf70f83d9275c6ff7e0be29"
11
11
  }
12
12
  }