@gentbajko/slopify 3.16.0 → 3.18.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.
Files changed (143) hide show
  1. package/dist/edge/http/actions.js +2 -2
  2. package/dist/edge/http/actor.js +10 -0
  3. package/dist/edge/http/app.js +21 -0
  4. package/dist/edge/http/checkpoints.js +14 -6
  5. package/dist/edge/http/external-reviews.js +95 -0
  6. package/dist/edge/http/projects.js +36 -18
  7. package/dist/edge/http/reviews.js +53 -18
  8. package/dist/edge/http/revisions.js +5 -1
  9. package/dist/edge/http/settings.js +9 -1
  10. package/dist/edge/http/starts.js +41 -0
  11. package/dist/edge/http/studio.js +5 -130
  12. package/dist/edge/mcp/attribution.js +38 -0
  13. package/dist/edge/mcp/call-route.js +203 -0
  14. package/dist/edge/mcp/excluded-routes.js +95 -0
  15. package/dist/edge/mcp/file-tools.js +141 -0
  16. package/dist/edge/mcp/http.js +79 -0
  17. package/dist/edge/mcp/instructions.js +17 -0
  18. package/dist/edge/mcp/library-tools.js +143 -0
  19. package/dist/edge/mcp/remake-tools.js +90 -0
  20. package/dist/edge/mcp/review-tools.js +64 -0
  21. package/dist/edge/mcp/route-tool.js +61 -0
  22. package/dist/edge/mcp/server.js +48 -0
  23. package/dist/edge/mcp/state-shapes.js +60 -0
  24. package/dist/edge/mcp/tools-channels.js +153 -0
  25. package/dist/edge/mcp/tools-library.js +151 -0
  26. package/dist/edge/mcp/tools-planning.js +137 -0
  27. package/dist/edge/mcp/tools-projects.js +167 -0
  28. package/dist/edge/mcp/tools-publishing.js +148 -0
  29. package/dist/edge/mcp/tools-runs.js +94 -0
  30. package/dist/edge/mcp/tools-schedules.js +143 -0
  31. package/dist/edge/mcp/tools-setup.js +234 -0
  32. package/dist/edge/mcp/tools-storage.js +99 -0
  33. package/dist/edge/mcp/tools.js +21 -0
  34. package/dist/extension/slopify-studio-chrome.zip +0 -0
  35. package/dist/extension/slopify-studio-firefox.zip +0 -0
  36. package/dist/kernel/db/migrations/0055-external-reviews.sql +56 -0
  37. package/dist/kernel/db/migrations/0056-agent-actions.sql +20 -0
  38. package/dist/kernel/db/migrations/0057-agent-action-once.sql +5 -0
  39. package/dist/kernel/db/migrations/0058-revision-work-admission.sql +3 -0
  40. package/dist/kernel/db/migrations/0059-external-review-canceled.sql +29 -0
  41. package/dist/kernel/db/migrations/0060-reservation-work.sql +4 -0
  42. package/dist/kernel/db/migrations/0061-project-control-counts.sql +4 -0
  43. package/dist/kernel/db/migrations/0062-told-failures.sql +8 -0
  44. package/dist/kernel/pipeline.js +6 -0
  45. package/dist/kernel/runner/graph.js +37 -2
  46. package/dist/kernel/runner/index.js +6 -3
  47. package/dist/main.js +29 -13
  48. package/dist/patch-notes/3.17.0.md +10 -0
  49. package/dist/patch-notes/3.18.0.md +13 -0
  50. package/dist/patch-notes/index.json +12 -0
  51. package/dist/slices/admission/admitted-work.js +53 -0
  52. package/dist/slices/admission/heads.js +5 -0
  53. package/dist/slices/admission/repo.js +47 -29
  54. package/dist/slices/admission/schema.js +1 -0
  55. package/dist/slices/admission/stage-writes.js +21 -0
  56. package/dist/slices/admission/start.js +2 -1
  57. package/dist/slices/admission/state-words.js +110 -0
  58. package/dist/slices/agents/attention-work.js +233 -0
  59. package/dist/slices/agents/attention.js +168 -0
  60. package/dist/slices/agents/connection.js +15 -0
  61. package/dist/slices/agents/model.js +29 -0
  62. package/dist/slices/agents/repo.js +66 -0
  63. package/dist/slices/cancel/index.js +4 -1
  64. package/dist/slices/control/index.js +2 -1
  65. package/dist/slices/episodes/summarize.js +2 -1
  66. package/dist/slices/estimate/index.js +6 -2
  67. package/dist/slices/images/run.js +2 -1
  68. package/dist/slices/library/transfer.js +69 -0
  69. package/dist/slices/narration/run.js +2 -1
  70. package/dist/slices/notifications/address.js +40 -0
  71. package/dist/slices/notifications/notifier.js +43 -10
  72. package/dist/slices/notifications/rules.js +111 -45
  73. package/dist/slices/notifications/server.js +14 -0
  74. package/dist/slices/notifications/settings.js +1 -1
  75. package/dist/slices/notifications/subject.js +30 -0
  76. package/dist/slices/notifications/told.js +33 -0
  77. package/dist/slices/play-drafts/readiness.js +9 -2
  78. package/dist/slices/play-drafts/schema.js +2 -1
  79. package/dist/slices/rebuild/narration-words.js +76 -0
  80. package/dist/slices/rebuild/recipe-model.js +1 -0
  81. package/dist/slices/rebuild/recipe-reviews.js +44 -23
  82. package/dist/slices/rebuild/recovery-repo.js +0 -20
  83. package/dist/slices/rebuild/recovery-selection.js +14 -3
  84. package/dist/slices/rebuild/recovery.js +5 -2
  85. package/dist/slices/rebuild/remake-outdated.js +27 -0
  86. package/dist/slices/rebuild/repo.js +7 -2
  87. package/dist/slices/rebuild/review-redo.js +12 -0
  88. package/dist/slices/rebuild/runtime-agent-review.js +121 -0
  89. package/dist/slices/rebuild/runtime-export-inputs.js +26 -11
  90. package/dist/slices/rebuild/runtime-review.js +12 -2
  91. package/dist/slices/rebuild/runtime-run.js +11 -2
  92. package/dist/slices/rebuild/runtime-store.js +32 -5
  93. package/dist/slices/reruns/index.js +2 -1
  94. package/dist/slices/research/run.js +2 -1
  95. package/dist/slices/reviews/external-model.js +21 -0
  96. package/dist/slices/reviews/external-release.js +38 -0
  97. package/dist/slices/reviews/external-repo.js +109 -0
  98. package/dist/slices/reviews/external-rows.js +68 -0
  99. package/dist/slices/reviews/external-waiting.js +75 -0
  100. package/dist/slices/reviews/holds.js +144 -0
  101. package/dist/slices/reviews/model.js +14 -0
  102. package/dist/slices/reviews/repo.js +27 -10
  103. package/dist/slices/reviews/rules.js +5 -3
  104. package/dist/slices/reviews/verdict.js +18 -8
  105. package/dist/slices/revisions/repo.js +3 -0
  106. package/dist/slices/revisions/schema.js +1 -0
  107. package/dist/slices/schedules/agenda.js +47 -17
  108. package/dist/slices/schedules/prepare.js +6 -0
  109. package/dist/slices/schedules/schema.js +13 -1
  110. package/dist/slices/storage/consequences.js +27 -0
  111. package/dist/slices/storage/portable.js +3 -0
  112. package/dist/slices/storage/project-files.js +66 -0
  113. package/dist/slices/studio/settings.js +0 -35
  114. package/dist/slices/studio/stats.js +2 -34
  115. package/dist/slices/subtitles/prepare.js +2 -1
  116. package/dist/slices/uploads/repo.js +12 -6
  117. package/dist/slices/uploads/rules.js +5 -0
  118. package/dist/slices/video/write-export.js +1 -1
  119. package/dist/slices/video/write-subtitles.js +1 -1
  120. package/dist/tutorials/Agents-MCP.md +168 -0
  121. package/dist/tutorials/Calendar.md +2 -1
  122. package/dist/tutorials/First-Launch-and-Welcome.md +1 -0
  123. package/dist/tutorials/Home-and-Projects.md +16 -9
  124. package/dist/tutorials/Home.md +1 -0
  125. package/dist/tutorials/Notifications.md +25 -6
  126. package/dist/tutorials/Project-Page.md +8 -2
  127. package/dist/tutorials/Publishing-to-YouTube.md +1 -0
  128. package/dist/tutorials/Recovery-and-Retries.md +17 -3
  129. package/dist/tutorials/Reviews-and-Checkpoints.md +22 -5
  130. package/dist/tutorials/Schedules.md +1 -1
  131. package/dist/tutorials/Settings-Reference.md +15 -0
  132. package/dist/tutorials/Troubleshooting.md +3 -1
  133. package/dist/tutorials/Your-First-Short.md +1 -0
  134. package/dist/tutorials/_Sidebar.md +1 -0
  135. package/dist/web/assets/{index-VbpUYLAp.css → index-BKbZIxAq.css} +1 -1
  136. package/dist/web/assets/index-Drth_MfQ.js +325 -0
  137. package/dist/web/assets/{pdf-C6KhxeKQ.js → pdf-CQFUyijy.js} +1 -1
  138. package/dist/web/index.html +2 -2
  139. package/package.json +1 -1
  140. package/dist/slices/studio/performance.js +0 -83
  141. package/dist/slices/studio/report-stats.js +0 -39
  142. package/dist/slices/studio/report.js +0 -172
  143. package/dist/web/assets/index-Dvz8bsiD.js +0 -325
@@ -39,6 +39,11 @@ The status beside the title reads one of:
39
39
  | **Done with problems** | The main output was made (the video, or the narration when there is no video, or the article when there is neither), but another step failed. Each failed step shows its error and its fix. |
40
40
  | **Failed** | A step failed and the main output was not made. |
41
41
  | **Canceled** | You canceled the run. Finished outputs are kept. |
42
+ | **Waiting for your review** | A review checkpoint is holding the run for you to approve. |
43
+ | **Waiting for the agent** | An [External agent](Agents-MCP#the-external-agent-reviewer) is reviewing what was made. It goes on by itself once the agent answers, or after 2 hours. |
44
+ | **Prepared** | Made ahead by its schedule; only the video is left, for its day. See [Schedules](Schedules#prepare-a-video-ahead). |
45
+ | **Stopped** | The run stopped before it finished (for example after a restart). Press **Continue the run**. |
46
+ | **Kept as is** | What is left was set aside with **Keep as is** and won't run. Editing the project brings it back. |
42
47
 
43
48
  ## The next action button
44
49
 
@@ -49,7 +54,8 @@ The right rail always shows at most one button, named for what it will do. It is
49
54
  | The bundled sample project | Sample project | **Make my own copy** (the sample is read-only; your copy can be edited and made again) |
50
55
  | Paused | Paused | **Continue the run** |
51
56
  | A step failed and will not retry by itself | Failed | The step's fix-it button (for example **Copy sign-in command** with **Check again**, **Soften and retry**, **Edit the prompt**, **Switch model**), or **Try the article again**, **Try images again** and so on. See [Recovery and Retries](Recovery-and-Retries#fix-it-buttons). |
52
- | A checkpoint is holding the run | Waiting for you | **Approve and record the narration**, **Approve and make the images**, **Approve and render the video**, or **Approve the ...** when nothing waits on it |
57
+ | A checkpoint is holding the run | Waiting for your review | **Approve and record the narration**, **Approve and make the images**, **Approve and render the video**, or **Approve the ...** when nothing waits on it |
58
+ | An External agent is reviewing what was made | Waiting for the agent | No button. "An agent is reviewing what was made." The run carries on once the agent answers, and a review nobody answers passes by itself after 2 hours. |
53
59
  | A CLI plan limit is used up | Waiting for limits | No button. The line says, for example, "Waiting for Codex limits (resets at 14:00)." and that the run carries on by itself. |
54
60
  | A step is waiting to retry | Waiting to try again | No button. The line says the time it tries again. |
55
61
  | Running | Running | **Pause** |
@@ -84,7 +90,7 @@ A step that is waiting to retry or waiting for a CLI limit also stays held while
84
90
  2. Choose **Cancel the run…**.
85
91
  3. Confirm with **Cancel run**, or press **Keep running** to leave it alone.
86
92
 
87
- Canceling stops every running stage; finished outputs are kept. You can continue a canceled run later with **Continue the run**. A project has to be canceled (not running) before you can delete it from Projects.
93
+ Canceling stops every running stage; finished outputs are kept. You can continue a canceled run later with **Continue the run**. If you took a step up again after canceling (**Try ... again**), Continue carries on only that work; see [Recovery and Retries](Recovery-and-Retries#cancel-then-continue). A project has to be canceled (not running) before you can delete it from Projects.
88
94
 
89
95
  ## The sections
90
96
 
@@ -122,6 +122,7 @@ Slopify does not check YouTube, so it can't know when you've published. After yo
122
122
  - Set the playlists once in Settings (per channel if your channels upload to different playlists), and tick the few a single video joins in its Prepare upload.
123
123
  - Upload the long video first, then paste its link as the shorts' **Full video link** so each short's description points to it.
124
124
  - If the AI use answer surprises you, read its reason: it names the voice, footage or prompt that made it Yes.
125
+ - A connected [agent](Agents-MCP) can take a video as far as **Ready to upload** and mark it uploaded, but never uploads it or sends it to the extension: that stays yours.
125
126
 
126
127
  ## Related pages
127
128
 
@@ -109,15 +109,28 @@ A failed step stops only the steps that need its output. The video never reads t
109
109
  ## After a crash or restart
110
110
 
111
111
  - A stage that was **running** when Slopify stopped is marked failed with the reason "interrupted". Nothing re-runs by itself: press **Try ... again**. If the project was paused at the time, the stage simply goes back to waiting.
112
- - A project that has unfinished work nothing will start on its own shows **Stopped** and **Continue the run**. Continuing makes only what is missing.
112
+ - A project that has unfinished work nothing will start on its own reads **Stopped** on its header, in Projects and on Home, where it is listed under **Needs you** with **Continue the run** (and **Keep as is** to leave the rest unmade). The project page says "The run stopped before it finished." with the same button. Continuing makes only what is missing; everything made so far is kept. An [agent](Agents-MCP) running the attend routine may continue it for you.
113
113
  - Steps waiting to retry, or waiting for CLI limits, carry on by themselves after the restart.
114
114
  - A queued batch project waits its turn as before.
115
115
 
116
+ ## Cancel, then continue
117
+
118
+ **Cancel** stops every step that has not finished; what was made is kept. Later:
119
+
120
+ - **Continue the run** on the canceled project makes everything that is missing.
121
+ - If you took one step up again after the cancel (with **Try ... again**), **Continue the run** carries on only that work. The steps you canceled stay canceled until you take them up too.
122
+
123
+ A canceled run's reviews waiting for an agent stop, and never pass on their own. See [Reviews and Checkpoints](Reviews-and-Checkpoints#the-external-agent-reviewer).
124
+
116
125
  ## Checkpoints and paused runs
117
126
 
118
- A checkpoint holds the run before a step so you can check what came before it. While held, the project shows **Waiting for you** and an **Approve ...** button; nothing after it runs until you approve. Checkpoints are stored with the project, so a restart does not lose them; when you save a new revision, a checkpoint whose reviewed inputs changed asks for your review again (the Checkpoints view says "Inputs changed. Review the current revision before approving."). See [Reviews and Checkpoints](Reviews-and-Checkpoints).
127
+ A checkpoint holds the run before a step so you can check what came before it. While held, the project shows **Waiting for your review** and an **Approve ...** button; nothing after it runs until you approve. Checkpoints are stored with the project, so a restart does not lose them; when you save a new revision, a checkpoint whose reviewed inputs changed asks for your review again (the Checkpoints view says "Inputs changed. Review the current revision before approving."). See [Reviews and Checkpoints](Reviews-and-Checkpoints).
128
+
129
+ A paused project keeps everything. **Continue the run** picks up where it stopped. See [Project Page](Project-Page#pause-continue-and-cancel-a-run). A connected [agent](Agents-MCP) may continue any paused run once nothing else on it needs fixing; cancel instead of pausing if you want a run to stay put.
130
+
131
+ ## A failed step beside a wait
119
132
 
120
- A paused project keeps everything. **Continue the run** picks up where it stopped. See [Project Page](Project-Page#pause-continue-and-cancel-a-run).
133
+ When a step fails while another step of the run is waiting (for an agent's review, your checkpoint, or a prepared run's day), the run is not over: the project still reads by what it waits for (**Waiting for the agent** or **Waiting for your review**), and the failed step shows on the page with its fix. Home lists it as a failed item too, and a "Step failed" notification goes out right away (see [Notifications](Notifications#step-failed)). The project reads **Failed** only once nothing else can go on.
121
134
 
122
135
  ## Updating while work runs
123
136
 
@@ -139,3 +152,4 @@ When an update or install cannot finish, Slopify puts the previous version back.
139
152
  - [Providers and Keys](Providers-and-Keys)
140
153
  - [AI CLIs](AI-CLIs)
141
154
  - [Reviews and Checkpoints](Reviews-and-Checkpoints)
155
+ - [Agents (MCP)](Agents-MCP)
@@ -52,13 +52,15 @@ The checkpoint then says "Checkpoint approved. Work will run when its dependenci
52
52
 
53
53
  | Message | Meaning |
54
54
  | --- | --- |
55
- | "Images is held for your review. Its dependent work waits for this approval; independent work can continue." | Waiting for you. |
55
+ | "Images is held for your review. Its dependent work waits for this approval; independent work can continue." | Waiting for you. The project reads **Waiting for your review**. |
56
56
  | "Inputs changed. Review the current revision before approving." | You edited something the held step uses. Check the new version before approving. |
57
57
  | "Authorized for this revision. Work can run when dependencies are ready and the project is resumed." | Approved; it runs when it can. |
58
58
  | "Checkpoint satisfied. Its reviewed work is complete." | Done. |
59
59
 
60
60
  If the project is paused, the panel says "The project is paused. Continue the run before approving held work." Pausing always applies on top of checkpoints.
61
61
 
62
+ A checkpoint is approved once. If it was already approved (by you in another tab, or by an [agent](Agents-MCP)), approving again changes nothing and says so.
63
+
62
64
  ### Change checkpoints after the run started
63
65
 
64
66
  On the project page → **Checkpoints** → **Checkpoint choices**:
@@ -70,11 +72,12 @@ Only generated steps can have one. If the project was edited elsewhere in the me
70
72
 
71
73
  ## Automatic reviews
72
74
 
73
- A reviewer model checks each finished item and saves its verdict and reasons on the project page. Each review is a text-model call, counted in usage and in the estimate.
75
+ A reviewer checks each finished item and saves its verdict and reasons on the project page. The reviewer is a model Slopify asks (each review is a text-model call, counted in usage and in the estimate), or an agent you connected (free; see [The External agent reviewer](#the-external-agent-reviewer)).
74
76
 
75
77
  | Option | What it does | Default / range |
76
78
  | --- | --- | --- |
77
- | **Reviewer** | Who runs the review model. Picture reviews (images, the thumbnail and shorts) need Claude Code or Codex, which can look at images; other providers review text only. | None |
79
+ | **Who reviews** | **Model**: Slopify asks the reviewer model below, one paid call per item. **External agent (MCP)**: an agent connected in Settings → Connections → Agents (MCP) answers each review instead, at no API cost. | Model |
80
+ | **Reviewer** | Who runs the review model (greyed for **External agent (MCP)**). Picture reviews (images, the thumbnail and shorts) need Claude Code or Codex, which can look at images; other providers review text only. | None |
78
81
  | **Reviewer model** | The model that judges each item. A stronger model catches more but costs more per review. It can differ from the model that wrote the text. | None |
79
82
  | **Redos per item** | How many times **Flag and redo** makes a failed item again before it keeps the last one and flags it. Each redo costs the item again plus one more review. | 2; 0 to 5 |
80
83
 
@@ -106,16 +109,28 @@ The prompt next to each mode is **Built-in** or a **Review** prompt from the Lib
106
109
  4. For each stage you want checked, pick **Flag only** or **Flag and redo**, and optionally a Review prompt.
107
110
  5. Check the estimate: each review adds one text-model call. Redos are not in the estimate; each costs what the item cost, at most the redos allowed.
108
111
 
112
+ ### The External agent reviewer
113
+
114
+ With **Who reviews** set to **External agent (MCP)**, no model is called: each review waits for an agent connected to Slopify to answer it (see [Agents (MCP)](Agents-MCP)). Every stage can use it, picture stages included, since the agent is shown the pictures. It adds nothing to the estimate.
115
+
116
+ - While a review waits, what depends on the item waits, as with any review. If nothing else holds the run, the project reads **Waiting for the agent** (header, Projects, Home's Running now, the calendar). It is not in **Needs you**, sends no "Waiting for you" notice and has no **Continue the run**: it goes on by itself.
117
+ - The agent answers **pass** or **fail**. A fail needs at least one reason, at most 10, each up to 500 characters. The answer then follows the stage's mode like a model's verdict: **Flag only** flags it, **Flag and redo** makes it again up to **Redos per item**.
118
+ - The first answer saved wins. A second answer to the same review is refused ("This review was already answered").
119
+ - **No answer in 2 hours:** the review passes by itself. Its badge reads **Passed without review**, the work goes on and a notification says "Passed without review: no agent answered in 2 h". The deadline is saved, so it survives a restart. A paused project's review still passes at its deadline, but nothing runs until you continue the run.
120
+ - **Canceled runs:** canceling stops the run's waiting reviews, and they never pass. Taking the step up again asks again, with a fresh two hours.
121
+
109
122
  ### Reviews on the project page
110
123
 
111
- Beside the article, the narration, the thumbnail and each short, and on each image tile, the verdict shows as **Review passed**, **Flagged by review**, **Waiting to be made again**, **Being made again**, **Redone after review** or **Accepted by you**, with the reasons. For a failed item nobody has acted on:
124
+ Beside the article, the narration, the thumbnail and each short, and on each image tile, the verdict shows as **Review passed**, **Flagged by review**, **Waiting to be made again**, **Being made again**, **Redone after review** or **Accepted by you**, with the reasons. With the External agent reviewer, or when an agent acted on it, it reads **Passed by agent**, **Flagged by agent**, **Redone after agent review**, **Accepted by agent**, **Made again by agent**, or **Passed without review** when no agent answered in time. For a failed item nobody has acted on:
112
125
 
113
126
  - **Overrule** accepts it as it is.
114
127
  - **Redo** makes it again (a new version of the project, then the item and what depends on it are rebuilt), and it is reviewed again.
115
128
 
129
+ A flagged item takes one decision. If it was already decided (by an agent, for example), pressing **Overrule** or **Redo** changes nothing and says how it was decided.
130
+
116
131
  Both buttons wait while other work on the project is running, with one exception: while a **Flag and redo** review's automatic redo is still waiting to start (**Waiting to be made again**), **Overrule** stays available and calls the redo off. The item is accepted as it is, the badge turns to **Accepted by you**, and the work waiting on it goes ahead. Once the redo has started, Overrule is greyed: "Slopify is already making this item again; wait for the new version".
117
132
 
118
- When an automatic review flags an item and keeps it (its redos ran out, or the stage is on **Flag only**), Slopify sends a **Review needs a decision** notification (see [Notifications](Notifications)), and the project shows in the Calendar's **Needs you** with **Open to review** (see [Calendar](Calendar#needs-you)). Everything that uses a reviewed item waits for its review, in the same way a checkpoint holds work. Reviewing the same output with the same reviewer and prompt again reuses the earlier verdict.
133
+ When an automatic review flags an item and keeps it (its redos ran out, or the stage is on **Flag only**), Slopify sends a **Review needs a decision** notification (see [Notifications](Notifications)), and the project shows in the Calendar's **Needs you** with **Open to review** (see [Calendar](Calendar#needs-you)). When an agent's review flagged it, the notification ends in **· by agent**. Everything that uses a reviewed item waits for its review, in the same way a checkpoint holds work. Reviewing the same output with the same reviewer and prompt again reuses the earlier verdict.
119
134
 
120
135
  ## Checkpoints or reviews?
121
136
 
@@ -125,6 +140,7 @@ When an automatic review flags an item and keeps it (its redos ran out, or the s
125
140
  | Look at the images before the render | **Before Images** is too early; use **Before Video / export** |
126
141
  | Catch broken hands or stray text without watching every run | **Images** review, **Flag and redo** |
127
142
  | Run unattended on a schedule and fix things later | Reviews on **Flag only**, no checkpoints |
143
+ | Have reviews done without paying a reviewer model | **External agent (MCP)** with an hourly agent routine; see [Agents (MCP)](Agents-MCP) |
128
144
 
129
145
  ## Tips
130
146
 
@@ -140,4 +156,5 @@ When an automatic review flags an item and keeps it (its redos ran out, or the s
140
156
  - [Recovery and Retries](Recovery-and-Retries)
141
157
  - [Prompts](Prompts)
142
158
  - [AI CLIs](AI-CLIs)
159
+ - [Agents (MCP)](Agents-MCP)
143
160
  - [Costs and Run Cost](Costs-and-Run-Cost)
@@ -95,7 +95,7 @@ Slopify makes the project now, exactly as the schedule would on the day (the tem
95
95
  On the scheduled day the schedule finds that project by its title and continues it instead of making another: the hold is lifted and the video, its captions, shorts and YouTube description are made. The same goes for an unfinished project you made yourself under the same title. A finished one counts as a video already made, and the day makes a new one.
96
96
 
97
97
  - You can open the prepared project and change anything before its day, for example with Edit project.
98
- - A **Before Video** checkpoint the template already has stays: the day waits for you to approve it.
98
+ - A **Before Video** checkpoint the template already has stays: the day waits for you to approve it, and the project reads **Waiting for your review** and is listed under **Needs you** (and for a connected [agent](Agents-MCP)). A project held only by Prepare's own hold reads **Prepared** and is not listed as waiting anywhere: it waits for its day, not for you.
99
99
  - A setup that makes no video has nothing to hold back, so Prepare runs it to the end.
100
100
  - A schedule without topics gives every run the same title, so only a prepared project continues there.
101
101
  - The spend limit applies to Prepare as it does to a scheduled run.
@@ -11,6 +11,7 @@ Every section of Settings, what each control does and its default. Sections with
11
11
  | Connections | [Providers](#providers) | API keys, command-line tools, the system voice, health check | [Providers-and-Keys](Providers-and-Keys), [AI-CLIs](AI-CLIs) |
12
12
  | Connections | [Voices](#voices) | Voice IDs for narration | [Providers-and-Keys](Providers-and-Keys#add-a-voice) |
13
13
  | Connections | [Models](#models) | Model catalogue, retired models | [Models](Models) |
14
+ | Connections | [Agents (MCP)](#agents-mcp) | The MCP address and setup lines for Claude Code and Codex, the last connection, what agents did | [Agents-MCP](Agents-MCP) |
14
15
  | Production defaults | [Production defaults](#production-defaults) | Silence gap, volume levelling for new runs | This page |
15
16
  | Notifications | [Notifications](#notifications) | Browser and phone notifications | [Notifications](Notifications) |
16
17
  | Publishing | [Channel links](#channel-links) | A pointer to each channel's own links | [Channels](Channels#channel-links) |
@@ -99,6 +100,20 @@ See [Providers-and-Keys](Providers-and-Keys#add-a-voice).
99
100
 
100
101
  Templates and schedules that pick a retired model are also flagged on their own rows, with the same **Switch to <model>**. See [Models](Models).
101
102
 
103
+ ## Agents (MCP)
104
+
105
+ "Let an AI agent on this computer, such as Claude Code or Codex, run Slopify."
106
+
107
+ | Control | What it does |
108
+ |---|---|
109
+ | **MCP address** | This install's address with `/mcp`, for example `http://127.0.0.1:6969/mcp`. No token: only requests from a web page at another address are refused. |
110
+ | **Claude Code** → **Copy** | Copies `claude mcp add --transport http slopify <address>`. Run it once in a terminal. |
111
+ | **Codex** → **Copy** | Copies the `[mcp_servers.slopify]` lines. Add them to `~/.codex/config.toml`. |
112
+ | Last connected | When an agent last connected, or "No agent has connected yet." |
113
+ | **What agents did** | The latest 20 changes agents made, with the project or schedule and the time. |
114
+
115
+ There is nothing to turn on: the address works whenever Slopify runs. See [Agents (MCP)](Agents-MCP).
116
+
102
117
  ## Production defaults
103
118
 
104
119
  "How new runs pace the narration and level the volume."
@@ -127,7 +127,9 @@ If an install or update fails, the message names what failed and, in Docker, the
127
127
  | **Queued** | Other videos in the batch queue go first. The Calendar's **Batch queue** shows the order. |
128
128
  | **Waiting for limits** / "Waiting for Codex limits (resets at 14:00)" | A CLI plan is used up; the run waits and carries on after the reset time shown. |
129
129
  | **Waiting to try again** | A rate limit or timeout; it retries at the time shown. |
130
- | **Waiting for you** | A checkpoint is holding the run. Press **Approve ...**. |
130
+ | **Waiting for your review** | A checkpoint is holding the run. Press **Approve ...**. |
131
+ | **Waiting for the agent** | A review set to **External agent (MCP)** waits for your agent. Check the agent's routine is running; with no answer, the review passes by itself after 2 hours. See [Agents (MCP)](Agents-MCP). |
132
+ | **Prepared** | Its schedule made it ahead; the video is made on its day. |
131
133
  | A step says **taking longer than usual** | It has run longer than the same step usually takes in your finished runs. It is still going; open **Live** to see whether text or images are still arriving. |
132
134
  | **Paused** | Press **Continue the run**. |
133
135
  | **Stopped** | The run was interrupted (for example by a restart). Press **Continue the run**. |
@@ -109,6 +109,7 @@ It is a normal project: you can edit the script, change an image, pick another v
109
109
  - Make a long video with more control: [Play Overview](Play-Overview).
110
110
  - Cut shorts from a long video automatically: [Shorts](Shorts).
111
111
  - Reuse the style: add the starter pack and pick its template on Play ([Templates](Templates)).
112
+ - Let Claude Code or Codex look after your runs, fix failures and answer reviews: [Agents (MCP)](Agents-MCP).
112
113
 
113
114
  ## Tips
114
115
 
@@ -49,6 +49,7 @@
49
49
  - [Schedules](Schedules)
50
50
  - [Calendar](Calendar)
51
51
  - [Notifications](Notifications)
52
+ - [Agents (MCP)](Agents-MCP)
52
53
  - [Backups](Backups)
53
54
 
54
55
  **Channels**