vidbyte-cli 0.1.0__py3-none-any.whl

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 (269) hide show
  1. vidbyte_cli/__init__.py +11 -0
  2. vidbyte_cli/__main__.py +6 -0
  3. vidbyte_cli/cli.py +18 -0
  4. vidbyte_cli/commands/__init__.py +86 -0
  5. vidbyte_cli/commands/agent_options.py +53 -0
  6. vidbyte_cli/commands/agents/__init__.py +31 -0
  7. vidbyte_cli/commands/agents/suggestion/__init__.py +38 -0
  8. vidbyte_cli/commands/agents/suggestion/prompts/__init__.py +3 -0
  9. vidbyte_cli/commands/agents/suggestion/prompts/all_categories.md +5 -0
  10. vidbyte_cli/commands/agents/suggestion/prompts/approaches.md +100 -0
  11. vidbyte_cli/commands/agents/suggestion/prompts/avoid.md +100 -0
  12. vidbyte_cli/commands/agents/suggestion/prompts/blockers.md +100 -0
  13. vidbyte_cli/commands/agents/suggestion/prompts/capability.md +100 -0
  14. vidbyte_cli/commands/agents/suggestion/prompts/categories.md +5 -0
  15. vidbyte_cli/commands/agents/suggestion/prompts/category.md +5 -0
  16. vidbyte_cli/commands/agents/suggestion/prompts/completed.md +100 -0
  17. vidbyte_cli/commands/agents/suggestion/prompts/constraint.md +100 -0
  18. vidbyte_cli/commands/agents/suggestion/prompts/context.md +100 -0
  19. vidbyte_cli/commands/agents/suggestion/prompts/count.md +5 -0
  20. vidbyte_cli/commands/agents/suggestion/prompts/critic_model.md +100 -0
  21. vidbyte_cli/commands/agents/suggestion/prompts/decision.md +100 -0
  22. vidbyte_cli/commands/agents/suggestion/prompts/dry_run.md +5 -0
  23. vidbyte_cli/commands/agents/suggestion/prompts/extra_compute.md +5 -0
  24. vidbyte_cli/commands/agents/suggestion/prompts/feedback_accept.md +7 -0
  25. vidbyte_cli/commands/agents/suggestion/prompts/feedback_group.md +7 -0
  26. vidbyte_cli/commands/agents/suggestion/prompts/feedback_project.md +100 -0
  27. vidbyte_cli/commands/agents/suggestion/prompts/feedback_reason.md +98 -0
  28. vidbyte_cli/commands/agents/suggestion/prompts/feedback_reject.md +7 -0
  29. vidbyte_cli/commands/agents/suggestion/prompts/feedback_suggestion.md +101 -0
  30. vidbyte_cli/commands/agents/suggestion/prompts/files.md +100 -0
  31. vidbyte_cli/commands/agents/suggestion/prompts/forbidden.md +100 -0
  32. vidbyte_cli/commands/agents/suggestion/prompts/goal.md +100 -0
  33. vidbyte_cli/commands/agents/suggestion/prompts/handoff.md +7 -0
  34. vidbyte_cli/commands/agents/suggestion/prompts/horizon.md +5 -0
  35. vidbyte_cli/commands/agents/suggestion/prompts/hypotheses.md +100 -0
  36. vidbyte_cli/commands/agents/suggestion/prompts/idea.md +100 -0
  37. vidbyte_cli/commands/agents/suggestion/prompts/in_progress.md +100 -0
  38. vidbyte_cli/commands/agents/suggestion/prompts/input.md +100 -0
  39. vidbyte_cli/commands/agents/suggestion/prompts/library.py +29 -0
  40. vidbyte_cli/commands/agents/suggestion/prompts/max_messages.md +5 -0
  41. vidbyte_cli/commands/agents/suggestion/prompts/max_output_tokens.md +5 -0
  42. vidbyte_cli/commands/agents/suggestion/prompts/max_total_tokens.md +5 -0
  43. vidbyte_cli/commands/agents/suggestion/prompts/mistakes.md +100 -0
  44. vidbyte_cli/commands/agents/suggestion/prompts/outcomes.md +100 -0
  45. vidbyte_cli/commands/agents/suggestion/prompts/project.md +100 -0
  46. vidbyte_cli/commands/agents/suggestion/prompts/project_create.md +7 -0
  47. vidbyte_cli/commands/agents/suggestion/prompts/project_description.md +98 -0
  48. vidbyte_cli/commands/agents/suggestion/prompts/project_group.md +7 -0
  49. vidbyte_cli/commands/agents/suggestion/prompts/project_key.md +96 -0
  50. vidbyte_cli/commands/agents/suggestion/prompts/project_list.md +7 -0
  51. vidbyte_cli/commands/agents/suggestion/prompts/project_title.md +99 -0
  52. vidbyte_cli/commands/agents/suggestion/prompts/provider.md +5 -0
  53. vidbyte_cli/commands/agents/suggestion/prompts/question.md +100 -0
  54. vidbyte_cli/commands/agents/suggestion/prompts/risks.md +100 -0
  55. vidbyte_cli/commands/agents/suggestion/prompts/rounds.md +5 -0
  56. vidbyte_cli/commands/agents/suggestion/prompts/run.md +5 -0
  57. vidbyte_cli/commands/agents/suggestion/prompts/success.md +100 -0
  58. vidbyte_cli/commands/agents/suggestion/prompts/timeout.md +5 -0
  59. vidbyte_cli/commands/agents/suggestion/prompts/trajectory.md +100 -0
  60. vidbyte_cli/commands/agents/suggestion/prompts/view.md +5 -0
  61. vidbyte_cli/commands/agents/suggestion/prompts/view_all.md +5 -0
  62. vidbyte_cli/commands/agents/suggestion/render.py +77 -0
  63. vidbyte_cli/commands/agents/suggestion/request_builder.py +240 -0
  64. vidbyte_cli/commands/agents/suggestion/suggest.py +154 -0
  65. vidbyte_cli/commands/agents/suggestion/suggestion_categories.py +77 -0
  66. vidbyte_cli/commands/agents/suggestion/suggestion_feedback.py +85 -0
  67. vidbyte_cli/commands/agents/suggestion/suggestion_handoff.py +67 -0
  68. vidbyte_cli/commands/agents/suggestion/suggestion_projects.py +95 -0
  69. vidbyte_cli/commands/auth/__init__.py +0 -0
  70. vidbyte_cli/commands/auth/login.py +100 -0
  71. vidbyte_cli/commands/auth/logout.py +41 -0
  72. vidbyte_cli/commands/auth/whoami.py +51 -0
  73. vidbyte_cli/commands/billing/__init__.py +20 -0
  74. vidbyte_cli/commands/billing/prompts/__init__.py +1 -0
  75. vidbyte_cli/commands/billing/prompts/confirm.md +16 -0
  76. vidbyte_cli/commands/billing/prompts/group.md +13 -0
  77. vidbyte_cli/commands/billing/prompts/idempotency_key.md +16 -0
  78. vidbyte_cli/commands/billing/prompts/library.py +18 -0
  79. vidbyte_cli/commands/billing/prompts/top_up.md +16 -0
  80. vidbyte_cli/commands/billing/top_up.py +65 -0
  81. vidbyte_cli/commands/config/__init__.py +0 -0
  82. vidbyte_cli/commands/config/get.py +45 -0
  83. vidbyte_cli/commands/config/set.py +39 -0
  84. vidbyte_cli/commands/provider/__init__.py +9 -0
  85. vidbyte_cli/commands/provider/login.py +102 -0
  86. vidbyte_cli/commands/provider/logout.py +45 -0
  87. vidbyte_cli/commands/provider/whoami.py +49 -0
  88. vidbyte_cli/commands/research/__init__.py +5 -0
  89. vidbyte_cli/commands/research/add.py +41 -0
  90. vidbyte_cli/commands/research/options.py +134 -0
  91. vidbyte_cli/commands/research/render.py +157 -0
  92. vidbyte_cli/commands/research/resume.py +37 -0
  93. vidbyte_cli/commands/research/start.py +37 -0
  94. vidbyte_cli/commands/research/status.py +32 -0
  95. vidbyte_cli/commands/research/thread.py +30 -0
  96. vidbyte_cli/commands/research/threads.py +35 -0
  97. vidbyte_cli/commands/research/watch.py +93 -0
  98. vidbyte_cli/commands/runtime/__init__.py +23 -0
  99. vidbyte_cli/commands/runtime/adversarial_team.py +41 -0
  100. vidbyte_cli/commands/runtime/doctor.py +44 -0
  101. vidbyte_cli/commands/runtime/list.py +47 -0
  102. vidbyte_cli/commands/runtime/persistence.py +141 -0
  103. vidbyte_cli/commands/runtime/same_host_ensemble.py +221 -0
  104. vidbyte_cli/commands/runtime/stages.py +553 -0
  105. vidbyte_cli/commands/runtime/task_board.py +1342 -0
  106. vidbyte_cli/commands/setup/__init__.py +0 -0
  107. vidbyte_cli/commands/setup/doctor.py +64 -0
  108. vidbyte_cli/commands/setup/prompts/__init__.py +1 -0
  109. vidbyte_cli/commands/setup/prompts/browser.md +7 -0
  110. vidbyte_cli/commands/setup/prompts/library.py +18 -0
  111. vidbyte_cli/commands/setup/prompts/star.md +13 -0
  112. vidbyte_cli/commands/setup/star.py +132 -0
  113. vidbyte_cli/lib/__init__.py +0 -0
  114. vidbyte_cli/lib/api/__init__.py +0 -0
  115. vidbyte_cli/lib/api/client.py +236 -0
  116. vidbyte_cli/lib/api/endpoints/__init__.py +0 -0
  117. vidbyte_cli/lib/api/endpoints/auth.py +24 -0
  118. vidbyte_cli/lib/api/endpoints/billing.py +36 -0
  119. vidbyte_cli/lib/api/endpoints/research.py +103 -0
  120. vidbyte_cli/lib/api/endpoints/runtime.py +113 -0
  121. vidbyte_cli/lib/api/problem.py +86 -0
  122. vidbyte_cli/lib/api/response.py +101 -0
  123. vidbyte_cli/lib/api/retry.py +116 -0
  124. vidbyte_cli/lib/api/runtime_payment.py +89 -0
  125. vidbyte_cli/lib/auth/__init__.py +16 -0
  126. vidbyte_cli/lib/auth/credentials.py +223 -0
  127. vidbyte_cli/lib/auth/input.py +59 -0
  128. vidbyte_cli/lib/auth/keyring_store.py +126 -0
  129. vidbyte_cli/lib/auth/provider_credentials.py +157 -0
  130. vidbyte_cli/lib/auth/provider_input.py +54 -0
  131. vidbyte_cli/lib/auth/provider_resolver.py +89 -0
  132. vidbyte_cli/lib/auth/provider_store.py +149 -0
  133. vidbyte_cli/lib/auth/provider_verifier.py +219 -0
  134. vidbyte_cli/lib/auth/resolver.py +63 -0
  135. vidbyte_cli/lib/auth/verifier.py +38 -0
  136. vidbyte_cli/lib/config/__init__.py +25 -0
  137. vidbyte_cli/lib/config/atomic.py +47 -0
  138. vidbyte_cli/lib/config/config.py +141 -0
  139. vidbyte_cli/lib/config/migration.py +81 -0
  140. vidbyte_cli/lib/config/models.py +145 -0
  141. vidbyte_cli/lib/config/paths.py +66 -0
  142. vidbyte_cli/lib/config/resolver.py +137 -0
  143. vidbyte_cli/lib/constants/__init__.py +1 -0
  144. vidbyte_cli/lib/constants/runtime.py +186 -0
  145. vidbyte_cli/lib/errors/__init__.py +12 -0
  146. vidbyte_cli/lib/errors/cli_error.py +86 -0
  147. vidbyte_cli/lib/errors/codes.py +43 -0
  148. vidbyte_cli/lib/errors/failures.py +2910 -0
  149. vidbyte_cli/lib/errors/handler.py +72 -0
  150. vidbyte_cli/lib/files/__init__.py +6 -0
  151. vidbyte_cli/lib/files/documents.py +94 -0
  152. vidbyte_cli/lib/files/store.py +156 -0
  153. vidbyte_cli/lib/io/__init__.py +16 -0
  154. vidbyte_cli/lib/io/attachments.py +129 -0
  155. vidbyte_cli/lib/io/codex_attachments.py +47 -0
  156. vidbyte_cli/lib/io/prompt.py +71 -0
  157. vidbyte_cli/lib/io/streams.py +37 -0
  158. vidbyte_cli/lib/io/terminal.py +66 -0
  159. vidbyte_cli/lib/output/__init__.py +7 -0
  160. vidbyte_cli/lib/output/formats.py +29 -0
  161. vidbyte_cli/lib/output/manager.py +95 -0
  162. vidbyte_cli/lib/output/models.py +49 -0
  163. vidbyte_cli/lib/runtime/__init__.py +9 -0
  164. vidbyte_cli/lib/runtime/application.py +134 -0
  165. vidbyte_cli/lib/runtime/context.py +250 -0
  166. vidbyte_cli/lib/runtime/options.py +159 -0
  167. vidbyte_cli/lib/runtime/version.py +30 -0
  168. vidbyte_cli/lib/runtime_primitives/__init__.py +28 -0
  169. vidbyte_cli/lib/runtime_primitives/executor.py +54 -0
  170. vidbyte_cli/lib/runtime_primitives/gate.py +105 -0
  171. vidbyte_cli/lib/runtime_primitives/hosts.py +45 -0
  172. vidbyte_cli/lib/runtime_primitives/planner.py +79 -0
  173. vidbyte_cli/lib/runtime_primitives/stages.py +338 -0
  174. vidbyte_cli/lib/runtime_primitives/task_board.py +982 -0
  175. vidbyte_cli/lib/runtime_primitives/task_board_checkpoints.py +473 -0
  176. vidbyte_cli/lib/runtime_primitives/task_board_system.md +33 -0
  177. vidbyte_cli/lib/runtime_primitives/task_board_tasks.py +111 -0
  178. vidbyte_cli/lib/runtime_primitives/verification.py +68 -0
  179. vidbyte_cli/services/__init__.py +5 -0
  180. vidbyte_cli/services/ensemble/__init__.py +7 -0
  181. vidbyte_cli/services/ensemble/prompts/__init__.py +6 -0
  182. vidbyte_cli/services/ensemble/prompts/implementer_system.md +546 -0
  183. vidbyte_cli/services/ensemble/prompts/implementer_turn.md +49 -0
  184. vidbyte_cli/services/ensemble/prompts/library.py +188 -0
  185. vidbyte_cli/services/ensemble/prompts/planner_system.md +728 -0
  186. vidbyte_cli/services/ensemble/prompts/planner_turn.md +6 -0
  187. vidbyte_cli/services/ensemble/prompts/role_system.md +104 -0
  188. vidbyte_cli/services/ensemble/prompts/role_turn.md +19 -0
  189. vidbyte_cli/services/ensemble/prompts/selector_final_turn.md +19 -0
  190. vidbyte_cli/services/ensemble/prompts/selector_round_turn.md +17 -0
  191. vidbyte_cli/services/ensemble/prompts/selector_system.md +89 -0
  192. vidbyte_cli/services/ensemble/runner.py +30 -0
  193. vidbyte_cli/services/ensemble/sdk.py +134 -0
  194. vidbyte_cli/services/ensemble/service.py +233 -0
  195. vidbyte_cli/services/ensemble/settings.py +60 -0
  196. vidbyte_cli/services/persistence/__init__.py +6 -0
  197. vidbyte_cli/services/persistence/prompts/__init__.py +6 -0
  198. vidbyte_cli/services/persistence/prompts/library.py +46 -0
  199. vidbyte_cli/services/persistence/prompts/persistence_system.md +1 -0
  200. vidbyte_cli/services/persistence/prompts/persistence_turn.md +3 -0
  201. vidbyte_cli/services/persistence/runner.py +35 -0
  202. vidbyte_cli/services/persistence/session.py +116 -0
  203. vidbyte_cli/services/suggestions/__init__.py +7 -0
  204. vidbyte_cli/services/suggestions/categories.py +270 -0
  205. vidbyte_cli/services/suggestions/context.py +222 -0
  206. vidbyte_cli/services/suggestions/extra_compute.py +53 -0
  207. vidbyte_cli/services/suggestions/handoff.py +173 -0
  208. vidbyte_cli/services/suggestions/message_tools.py +47 -0
  209. vidbyte_cli/services/suggestions/project.py +253 -0
  210. vidbyte_cli/services/suggestions/prompts/__init__.py +1 -0
  211. vidbyte_cli/services/suggestions/prompts/categories/__init__.py +3 -0
  212. vidbyte_cli/services/suggestions/prompts/categories/adjacent_opportunity.md +37 -0
  213. vidbyte_cli/services/suggestions/prompts/categories/alternative.md +38 -0
  214. vidbyte_cli/services/suggestions/prompts/categories/big_bets.md +37 -0
  215. vidbyte_cli/services/suggestions/prompts/categories/bottleneck.md +38 -0
  216. vidbyte_cli/services/suggestions/prompts/categories/business_growth.md +38 -0
  217. vidbyte_cli/services/suggestions/prompts/categories/completion.md +37 -0
  218. vidbyte_cli/services/suggestions/prompts/categories/continuation.md +37 -0
  219. vidbyte_cli/services/suggestions/prompts/categories/coordination.md +37 -0
  220. vidbyte_cli/services/suggestions/prompts/categories/creative_exploration.md +37 -0
  221. vidbyte_cli/services/suggestions/prompts/categories/cross_domain.md +37 -0
  222. vidbyte_cli/services/suggestions/prompts/categories/delegation.md +37 -0
  223. vidbyte_cli/services/suggestions/prompts/categories/experiment.md +37 -0
  224. vidbyte_cli/services/suggestions/prompts/categories/feedback.md +37 -0
  225. vidbyte_cli/services/suggestions/prompts/categories/goal_clarification.md +37 -0
  226. vidbyte_cli/services/suggestions/prompts/categories/immediate_next_steps.md +37 -0
  227. vidbyte_cli/services/suggestions/prompts/categories/investigation.md +37 -0
  228. vidbyte_cli/services/suggestions/prompts/categories/learning.md +37 -0
  229. vidbyte_cli/services/suggestions/prompts/categories/leverage.md +37 -0
  230. vidbyte_cli/services/suggestions/prompts/categories/long_term_directions.md +37 -0
  231. vidbyte_cli/services/suggestions/prompts/categories/preparation.md +37 -0
  232. vidbyte_cli/services/suggestions/prompts/categories/prerequisite.md +37 -0
  233. vidbyte_cli/services/suggestions/prompts/categories/prioritization.md +37 -0
  234. vidbyte_cli/services/suggestions/prompts/categories/product_experience.md +37 -0
  235. vidbyte_cli/services/suggestions/prompts/categories/quick_wins.md +37 -0
  236. vidbyte_cli/services/suggestions/prompts/categories/reframing.md +37 -0
  237. vidbyte_cli/services/suggestions/prompts/categories/risk_prevention.md +37 -0
  238. vidbyte_cli/services/suggestions/prompts/categories/simplification.md +37 -0
  239. vidbyte_cli/services/suggestions/prompts/categories/stop_or_defer.md +37 -0
  240. vidbyte_cli/services/suggestions/prompts/categories/strategy.md +37 -0
  241. vidbyte_cli/services/suggestions/prompts/categories/technical_possibilities.md +37 -0
  242. vidbyte_cli/services/suggestions/prompts/categories/verification.md +37 -0
  243. vidbyte_cli/services/suggestions/prompts/critic.md +209 -0
  244. vidbyte_cli/services/suggestions/prompts/critic_message.md +8 -0
  245. vidbyte_cli/services/suggestions/prompts/generator.md +64 -0
  246. vidbyte_cli/services/suggestions/prompts/library.py +72 -0
  247. vidbyte_cli/services/suggestions/prompts/message_generator_argument.md +1 -0
  248. vidbyte_cli/services/suggestions/prompts/message_generator_tool.md +1 -0
  249. vidbyte_cli/services/suggestions/prompts/message_parent_argument.md +1 -0
  250. vidbyte_cli/services/suggestions/prompts/message_parent_tool.md +1 -0
  251. vidbyte_cli/services/suggestions/prompts/message_receipt.md +1 -0
  252. vidbyte_cli/services/suggestions/prompts/revision.md +8 -0
  253. vidbyte_cli/services/suggestions/sdk.py +228 -0
  254. vidbyte_cli/services/suggestions/selection.py +78 -0
  255. vidbyte_cli/services/suggestions/service.py +540 -0
  256. vidbyte_cli/types/__init__.py +0 -0
  257. vidbyte_cli/types/api.py +101 -0
  258. vidbyte_cli/types/attachments.py +79 -0
  259. vidbyte_cli/types/ensemble.py +189 -0
  260. vidbyte_cli/types/provider.py +62 -0
  261. vidbyte_cli/types/research.py +260 -0
  262. vidbyte_cli/types/runtime.py +1098 -0
  263. vidbyte_cli/types/suggestions.py +518 -0
  264. vidbyte_cli-0.1.0.dist-info/METADATA +335 -0
  265. vidbyte_cli-0.1.0.dist-info/RECORD +269 -0
  266. vidbyte_cli-0.1.0.dist-info/WHEEL +5 -0
  267. vidbyte_cli-0.1.0.dist-info/entry_points.txt +2 -0
  268. vidbyte_cli-0.1.0.dist-info/licenses/LICENSE +21 -0
  269. vidbyte_cli-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,96 @@
1
+ **Project key**
2
+ Project key is the unique identifier this command registers for a new local suggestion project.
3
+ It is the one value every later command uses to address the project, including feedback accept, feedback reject, and a suggestion run with the project option.
4
+ The key also names the project's memory file on disk, which is why its character set is deliberately narrow.
5
+ Choose it once and keep it stable, because a project cannot be renamed and a new key starts an empty feedback history.
6
+ A good key is short and names the body of work, such as a repository, product area, or long-running goal, rather than a single run.
7
+ The command stores the key exactly as validated, so the value a caller passes later must match it character for character.
8
+
9
+ **Purpose of Project key**
10
+ The purpose of Project key is to give a parent agent a stable handle it can store, pass between sessions, and paste into later commands without ambiguity.
11
+ Titles and descriptions are free prose that may change in meaning or wording, while the key is the exact selector the catalog compares.
12
+ Keeping identity separate from description lets the title read naturally for a person while the key stays safe for scripts and file names.
13
+ The key is what makes feedback cumulative, because every reaction recorded under the same key lands in the same ordered history.
14
+ A predictable key also lets an agent that lost its transcript recover the project from project list instead of creating a duplicate.
15
+ That recovery is only reliable when the key names the work plainly enough for an agent to recognize it later.
16
+
17
+ **When not to use Project key**
18
+ Do not register a new key for work that already has a project, because feedback split across two keys is never merged and each run sees only half of it.
19
+ Do not encode dates, run numbers, or session identifiers in the key unless the project truly is scoped to that period.
20
+ Avoid keys that describe a single suggestion or idea, since a project is meant to collect many reactions over time.
21
+ Do not place private data, credentials, or customer names in the key, because it appears in listings, result documents, and file names.
22
+ Do not rely on case or punctuation to distinguish two projects, since uppercase letters and punctuation other than hyphens and underscores are rejected.
23
+ If you are unsure whether a suitable project exists, run project list before creating anything new.
24
+
25
+ **Project key inputs**
26
+ The value is one string of 1 to 64 characters drawn from lowercase letters, numbers, hyphens, and underscores.
27
+ The first character must be a lowercase letter or a number, so a key cannot begin with a hyphen or an underscore.
28
+ Whitespace around the value is trimmed before validation, and whitespace inside the key is rejected.
29
+ Slashes, dots, and other path characters are rejected outright, which keeps the key from ever naming a location outside the project directory.
30
+ The option is required, so the command refuses to run without it before reading any file.
31
+ Validation happens in the command's input dataclass, before the catalog is opened, so an invalid key never touches disk.
32
+
33
+ **Defaults and precedence for Project key**
34
+ There is no default key, because the CLI cannot guess which body of work the caller means.
35
+ The value comes only from this command-line option and is never read from an environment variable or a configuration file.
36
+ A key that already exists in the catalog is refused rather than overwritten, so creation never silently replaces an existing project or its history.
37
+ A leftover memory file with the same name is also treated as an existing project, which protects feedback that outlived a damaged catalog entry.
38
+ The trimmed key is the canonical form, and the same trimming is applied wherever a key is accepted later.
39
+ No other option can change the key after creation, and there is no rename command in this version.
40
+
41
+ **Project key output contract**
42
+ On success the command returns a suggestions.project.created document whose data holds the key, title, description, and linked memory file.
43
+ Human output prints a single confirmation line naming the created key.
44
+ The memory file link is always the relative path projects slash key dot json inside the suggestion data directory, and it is recorded in the catalog.
45
+ The command writes the memory file before it publishes the catalog entry, so a listed project always has a readable memory file.
46
+ If publishing the catalog fails, the new memory file is removed again so the same key can be retried cleanly.
47
+ Errors go to the error channel as typed envelopes, and stdout stays empty when creation fails.
48
+
49
+ **How to use Project key**
50
+ Pick a short lowercase name for the work the suggestions will be about, joining words with hyphens.
51
+ Pass it together with a title and a description in one project create call.
52
+ Save the key wherever the parent agent keeps durable notes, because every later feedback call and project run needs it.
53
+ Reuse the same key for every run and every reaction about that work rather than creating a new project per session.
54
+ If a create call reports that the key exists, list the projects and decide whether the existing one is the right scope before choosing another key.
55
+ Keep the key free of secrets, since it is printed in listings and embedded in the feedback commands a run returns.
56
+
57
+ ```text
58
+ vidbyte-cli agents suggest project create --key "{project-key}" --title "{title}" --description "{description}"
59
+ ```
60
+
61
+ **Examples for Project key**
62
+ A repository-scoped key such as vidbyte-cli collects every reaction about suggestions for that one codebase.
63
+ A goal-scoped key such as q3-onboarding collects reactions about a single long-running objective that spans several repositories.
64
+ An area-scoped key such as billing_api narrows memory to one component when feedback about neighbouring areas would mislead the generator.
65
+ A rejected example is a key with uppercase letters or a slash, which fails before anything is written and can simply be retyped.
66
+ JSON output returns the created key in the document data, which is the value to store for later calls.
67
+ If a key collides with an existing project, choose a more specific key only after confirming the existing project is not the right one.
68
+
69
+ ```text
70
+ vidbyte-cli agents suggest project create --key "{project-key}" --title "{title}" --description "{description}"
71
+ vidbyte-cli --json agents suggest project create --key "{project-key}" --title "{title}" --description "{description}"
72
+ ```
73
+
74
+ **Related commands for Project key**
75
+ Use agents suggest project list to see every registered key before creating a new one.
76
+ Use agents suggest run with the project option and this key to load the project's memory into a suggestion run.
77
+ Use agents suggest feedback accept with this key to record a suggestion the user explicitly wanted.
78
+ Use agents suggest feedback reject with this key to record a suggestion the user explicitly refused.
79
+ The key is the only value these commands share, so an exact match is what connects them.
80
+ None of these commands creates a project implicitly, which is why creation with this key must come first.
81
+
82
+ **Failure modes for Project key**
83
+ A missing key fails as a usage error before any validation of the other fields.
84
+ A key that is too long, begins with a hyphen or underscore, or contains uppercase or path characters fails as an invalid project.
85
+ A key already present in the catalog fails as an existing project and leaves the existing entry and its feedback untouched.
86
+ A memory file already present under the key's name also fails as an existing project rather than being replaced.
87
+ An unreadable or malformed catalog fails as unreadable project state, because adding to a broken catalog could discard the projects it lists.
88
+ Recover by correcting the key's characters, choosing an unused key, or repairing the named invalid file before retrying.
89
+
90
+ **Authentication and permissions for Project key**
91
+ Creating a project requires no Vidbyte login, API key, or model provider.
92
+ The key is written only to the local catalog and memory file inside the platform-native Vidbyte data directory.
93
+ Nothing about the key is sent to Vidbyte or to any provider by this command.
94
+ The command needs permission to create and replace files in that data directory, and it reports a write failure when the filesystem refuses.
95
+ A key grants no permission of its own, and knowing a key does not let a caller do anything beyond reading or appending to that local project.
96
+ Repair permission problems at the data directory rather than by choosing a different key.
@@ -0,0 +1,7 @@
1
+ Project list prints every local suggestion project registered in the catalog, sorted by key. Each entry shows the key, the title, and the description, which is enough to choose the right project for a run or a feedback call without opening any memory file.
2
+
3
+ Use it at the start of a session that does not remember which projects exist, before creating a new project to avoid a duplicate, and whenever a feedback or run command reports an unknown key. The listing reads only the catalog, so it never loads feedback bodies and stays fast however long a project's history grows.
4
+
5
+ An absent catalog means no project has been created yet and returns an empty successful result rather than an error. A catalog that exists but is malformed, unreadable, or in an unsupported schema fails as unreadable project state, because treating it as empty would hide projects that still have feedback on disk.
6
+
7
+ The command needs no credentials and makes no model call. JSON output returns a projects array whose entries carry key, title, description, and memory_file, while human output prints one block per project.
@@ -0,0 +1,99 @@
1
+ **Project title**
2
+ Project title is the short human-readable name stored with a new local suggestion project.
3
+ It is what a person or parent agent reads in project list output to recognize which body of work a key refers to.
4
+ The title is also loaded into the context of every project-backed run, so the generator knows which work the recorded feedback belongs to.
5
+ It is descriptive metadata only and does not select, authorize, or configure anything by itself.
6
+ A title should be recognizable at a glance, such as a product name, a repository name, or the plain name of a long-running goal.
7
+ The command keeps the title verbatim apart from trimming surrounding whitespace, so the stored wording is exactly what the caller supplied.
8
+
9
+ **Purpose of Project title**
10
+ The purpose of Project title is to make a project identifiable to readers who never saw the command that created it.
11
+ Keys are constrained to lowercase identifiers, while a title can use natural capitalization, spaces, and punctuation that make the scope obvious.
12
+ In a suggestion run the title appears as a labelled context line, which helps the generator connect stored reactions to the right work.
13
+ In a listing the title sits next to the key, which lets an agent without a transcript choose the correct project instead of creating a duplicate.
14
+ A precise title reduces the chance that feedback from one project is mistaken for guidance about another.
15
+ It complements the description, which carries scope, by giving that scope a short memorable name.
16
+
17
+ **When not to use Project title**
18
+ Do not use the title to hold instructions to the model, because it is loaded as data and never treated as a directive.
19
+ Do not repeat the whole description in the title, since the description field already carries scope and a long title makes listings hard to scan.
20
+ Avoid titles that only restate the key in different casing, because they add no information a reader could use.
21
+ Do not include credentials, private personal data, or confidential customer details, since the title appears in listings and in run context.
22
+ Avoid temporary phrasing such as this week's plan unless the project truly ends when that period ends.
23
+ If the right name is still unclear, create the project with a plain working title rather than inventing a misleading one.
24
+
25
+ **Project title inputs**
26
+ The value is one nonempty string of at most 200 characters after surrounding whitespace is trimmed.
27
+ Spaces, capital letters, digits, and ordinary punctuation are all accepted inside the title.
28
+ A value made only of whitespace is rejected, because an empty title would make the project unrecognizable in listings.
29
+ The option is required, so creation refuses to run without a title.
30
+ Validation happens in the command's input dataclass together with the key and description, before the catalog is read.
31
+ The title is stored as plain text and is never parsed, templated, or reinterpreted as a selector.
32
+ Because the title is loaded on every project-backed run, a short title also leaves more of the shared context budget for feedback.
33
+
34
+ **Defaults and precedence for Project title**
35
+ There is no default title, because only the caller knows how the project should be named for its readers.
36
+ The value comes only from this option and is never taken from an environment variable, a configuration file, or the key.
37
+ Trimming surrounding whitespace is the only normalization applied, so capitalization and internal punctuation are preserved exactly.
38
+ The title is fixed at creation in this version, and there is no command that edits it afterwards.
39
+ The key, not the title, is what every other command compares, so two projects may share a title without conflict.
40
+ Sharing a title is still discouraged because it makes listings ambiguous for a reader choosing between keys.
41
+
42
+ **Project title output contract**
43
+ On success the created document's data includes the title exactly as stored after trimming.
44
+ Project list prints the title next to each key in human output and includes it as a field in JSON output.
45
+ A project-backed suggestion run includes the title as a context line labelled Project title within the project context kind.
46
+ The title is recorded in the result manifest only as part of that context item, with its size and inclusion status.
47
+ The title never appears in the file name of the memory document, which is derived from the key alone.
48
+ Errors about the title are reported as an invalid project without echoing the rejected value.
49
+
50
+ **How to use Project title**
51
+ Write a short name a teammate would recognize without further explanation.
52
+ Pass it in quotes together with the key and description in one project create call.
53
+ Prefer the name the work is already known by, such as the repository or product name, over a new invented label.
54
+ Keep it under a line so project list output remains easy to scan when several projects exist.
55
+ Put detail about scope, boundaries, and goals in the description rather than lengthening the title.
56
+ Check the stored title with project list after creation if another agent will rely on it later.
57
+ Because the title cannot be edited later in this version, a moment spent choosing a clear name saves confusion for every later reader.
58
+
59
+ ```text
60
+ vidbyte-cli agents suggest project create --key "{project-key}" --title "{title}" --description "{description}"
61
+ ```
62
+
63
+ **Examples for Project title**
64
+ A repository example uses a title such as Vidbyte CLI for a project keyed vidbyte-cli.
65
+ A goal example uses a title such as Q3 onboarding revamp for a project that spans several components.
66
+ A component example uses a title such as Billing API for a project limited to one service.
67
+ A weak example uses a title identical to the key, which works but tells a reader nothing new.
68
+ JSON output returns the stored title in the created document, which confirms trimming behaved as expected.
69
+ If creation fails because of the title, supply a nonempty value within the length bound and retry with the same key.
70
+
71
+ ```text
72
+ vidbyte-cli agents suggest project create --key "{project-key}" --title "{title}" --description "{description}"
73
+ vidbyte-cli --json agents suggest project list
74
+ ```
75
+
76
+ **Related commands for Project title**
77
+ Use agents suggest project list to read every stored title next to its key.
78
+ Use agents suggest run with the project option to load this title into a run's context as part of the project item.
79
+ Use the description option of project create to state the project's scope in full sentences.
80
+ Use agents suggest feedback accept and reject with the key, not the title, because the key is the selector.
81
+ The title and key are always created together and cannot be changed independently in this version.
82
+ None of these related commands needs credentials to read the title.
83
+ Choosing the right project from its title and description before a feedback call keeps each reaction in the scope it was really about.
84
+
85
+ **Failure modes for Project title**
86
+ A missing title fails as a usage error before any file is read.
87
+ A title that is empty after trimming fails as an invalid project and nothing is written.
88
+ A title longer than 200 characters fails as an invalid project with the bound named in the error.
89
+ A title that is valid never fails on its own content, because its wording is not interpreted.
90
+ Creation can still fail for reasons unrelated to the title, such as an existing key or an unwritable data directory.
91
+ Recover from a title failure by shortening or filling in the value and repeating the same create call.
92
+
93
+ **Authentication and permissions for Project title**
94
+ Supplying a title requires no Vidbyte login, API key, or provider credential.
95
+ The title is stored only in the local project catalog inside the platform-native Vidbyte data directory.
96
+ It leaves the machine only when a model-backed run with the project option sends its context to the configured provider.
97
+ Dry runs and listings read the title locally and send nothing anywhere.
98
+ The title grants no permission to any agent and cannot widen what a generator or critic may do.
99
+ Keep sensitive material out of the title because it is shared with the provider whenever the project is used in a real run.
@@ -0,0 +1,5 @@
1
+ The provider identifies the configured model service responsible for suggestion reasoning. Explicit selection makes the source of generated and reviewed output reproducible.
2
+
3
+ The provider must correspond to a supported SDK integration and available credentials. Invalid or unavailable selections fail as provider configuration problems rather than empty suggestion results.
4
+
5
+ Provider choice does not alter schemas, categories, or context meaning. When none is selected, the established default behavior remains in effect.
@@ -0,0 +1,100 @@
1
+ **Open Questions**
2
+ Open Questions is the named unresolved question value that this command accepts for one suggestion workflow.
3
+ It gives the parent agent a stable way to state an uncertainty that a useful next action should answer or narrow.
4
+ This value is completely optional. Supplying it is helpful when the additional signal can change the next action.
5
+ The command keeps this value as caller task data and does not treat it as an instruction to execute work.
6
+ The value is carried into the bounded request with its source and semantic identity intact.
7
+ A precise value gives the generator and independent critic more signal than a broad label or an unstated assumption.
8
+
9
+ **Purpose of Open Questions**
10
+ The purpose of Open Questions is to make an uncertainty that a useful next action should answer or narrow explicit before candidate generation starts.
11
+ That explicit record lets the workflow compare ideas against the situation the caller actually described.
12
+ It also lets the critic explain whether a candidate is supported, missing evidence, or in conflict.
13
+ The field is most valuable when its content changes feasibility, novelty, timing, risk, or the definition of progress.
14
+ A short accurate statement is more useful than a long narrative that hides the decision-relevant fact.
15
+ The resulting ideas should refer to this signal only when the connection is material and explain why it matters.
16
+
17
+ **When not to use Open Questions**
18
+ Do not provide Open Questions merely because the option exists or because an empty value would look complete.
19
+ Omit it when the caller has no reliable signal of this kind and let the workflow mark the context as missing.
20
+ Do not use this field to smuggle execution instructions, credentials, private data, or a second command configuration.
21
+ Use a narrower context option when the statement has a clearly different meaning such as a risk, decision, or prohibition.
22
+ Avoid repeating the goal or copying an entire unrelated transcript because repetition lowers the signal available to the critic.
23
+ If the caller is unsure whether the record is current, state that uncertainty in the value rather than presenting it as a fact.
24
+
25
+ **Open Questions inputs**
26
+ The value is one nonempty text statement per repeated option.
27
+ Repeated occurrences remain separate records so the agent can cite and compare them without parsing a delimiter.
28
+ Whitespace around a value is trimmed at the request boundary, while an empty value is rejected before provider work.
29
+ The command does not reinterpret the content as an identifier unless the option contract explicitly says it is one.
30
+ Use plain caller-readable text and keep each record focused on one fact, choice, boundary, or result.
31
+ The input is bounded before it enters the agent context so oversized content becomes an explicit truncation or omission.
32
+ A caller should keep related facts separate when their provenance, confidence, or expected effect differs enough to influence review.
33
+
34
+ **Defaults and precedence for Open Questions**
35
+ When it is omitted, the default is no supplied unresolved question..
36
+ Command-line values are the only source for this field, and the run does not read a separate configuration document.
37
+ Environment variables do not silently populate this context value, which keeps an invocation reproducible.
38
+ When multiple values are supplied, their command-line order becomes their stable context order.
39
+ Explicit caller input therefore takes precedence over absence, while other settings such as count and rounds remain independent.
40
+ The result manifest records what was supplied and whether the bounded value was included, truncated, or omitted.
41
+ Use the manifest and warnings to distinguish absence from an explicitly bounded value when a downstream agent needs to explain why a suggestion changed.
42
+
43
+ **Open Questions output contract**
44
+ Open Questions is not printed as a separate progress message because stdout is reserved for the command result.
45
+ For a model-backed run, the value appears inside the fresh managed context window used by the relevant agent.
46
+ For dry-run output, the manifest exposes source identity and bounded character information without exposing file bodies by default.
47
+ Human output summarizes the resulting suggestions, while JSON and JSONL output preserve stable machine-readable fields.
48
+ Errors go to the CLI error channel as typed envelopes with a repair-oriented description and no secret echo.
49
+ The field influences ideas and handoffs but never grants authority, starts work, or changes the caller's permissions.
50
+
51
+ **How to use Open Questions**
52
+ Use the command below as the smallest valid invocation shape for this value.
53
+ Replace each brace-delimited placeholder with the caller's actual text while preserving shell quoting around spaces.
54
+ Repeat the option when more than one independent record should be supplied.
55
+ Combine the option with a precise goal because the field is evidence or context rather than a standalone task.
56
+ Add category and budget options only when they answer a real selection or resource question.
57
+ The command remains a single argv-built request and does not require a temporary configuration file.
58
+ Keep the invocation close to the caller's actual decision so another agent can reproduce the request without guessing omitted context, quoting, or precedence.
59
+
60
+ ```text
61
+ vidbyte-cli agents suggest run --goal "{goal}" --question "{open question}"
62
+ ```
63
+
64
+ **Examples for Open Questions**
65
+ A minimal example supplies only the required goal and leaves this optional signal absent when it has no value.
66
+ A normal example adds one focused record that directly changes how the next action should be judged.
67
+ An advanced example repeats the option for several independent records and combines it with a selected category.
68
+ Piping is appropriate only for a caller that captures the emitted result document, because input itself is passed through argv.
69
+ JSON output is the stable choice when another agent will inspect identifiers, manifests, warnings, and handoffs.
70
+ If an example fails, preserve the same goal and correct the named input or path before changing the reasoning settings.
71
+
72
+ ```text
73
+ vidbyte-cli agents suggest run --goal "{goal}" --question "{open question}"
74
+ vidbyte-cli --json agents suggest run --goal "{goal}" --question "{value}"
75
+ ```
76
+
77
+ **Related commands for Open Questions**
78
+ Use agents suggest categories --view-all when the caller needs to choose a reasoning lens before running.
79
+ Use agents suggest categories --view {category-id} when one category needs a fuller conceptual definition.
80
+ Use the other context options when the signal is more accurately a decision, constraint, risk, or current commitment.
81
+ Use agents suggest handoff only after a result document exists and a specific idea identifier has been selected.
82
+ Use dry-run when the request shape and file manifest need inspection without credentials or model usage.
83
+ These commands share the same result conventions but do not imply that one command can authorize another.
84
+ Choose the narrowest neighboring command that answers the immediate question, then return to this option when the run itself needs the signal.
85
+
86
+ **Failure modes for Open Questions**
87
+ A missing required value fails before the provider is loaded because the request dataclass requires a meaningful boundary.
88
+ An empty repeated value fails as invalid input instead of becoming a misleading blank context record.
89
+ An unsupported path, malformed JSON file, directory, or unreadable file fails with a typed context error.
90
+ An oversized value is truncated only within the documented bound and the result records that status as a warning.
91
+ A provider or schema failure is reported as a provider failure and is never converted into a false no-suggestions result.
92
+ Recover by correcting the specific value named by the error, rerunning dry-run when useful, and preserving the same intent.
93
+
94
+ **Authentication and permissions for Open Questions**
95
+ This input itself does not grant access to files, providers, accounts, repositories, or execution tools.
96
+ Text values are available to local validation without credentials, while model-backed runs still require the configured provider.
97
+ The --files option reads only paths explicitly named by the caller and does not scan a workspace or agent history.
98
+ Read-only deny-all settings apply to generator and critic agents so suggestions cannot mutate the host through this workflow.
99
+ Provider credentials are used only when a real model-backed run is requested and are never copied into result prose.
100
+ Permission failures should be repaired at the provider or filesystem boundary rather than by weakening the context contract.
@@ -0,0 +1,100 @@
1
+ **Risks**
2
+ Risks is the named plausible exposure value that this command accepts for one suggestion workflow.
3
+ It gives the parent agent a stable way to state a plausible harm, failure mode, or exposure around the goal.
4
+ This value is completely optional. Supplying it is helpful when the additional signal can change the next action.
5
+ The command keeps this value as caller task data and does not treat it as an instruction to execute work.
6
+ The value is carried into the bounded request with its source and semantic identity intact.
7
+ A precise value gives the generator and independent critic more signal than a broad label or an unstated assumption.
8
+
9
+ **Purpose of Risks**
10
+ The purpose of Risks is to make a plausible harm, failure mode, or exposure around the goal explicit before candidate generation starts.
11
+ That explicit record lets the workflow compare ideas against the situation the caller actually described.
12
+ It also lets the critic explain whether a candidate is supported, missing evidence, or in conflict.
13
+ The field is most valuable when its content changes feasibility, novelty, timing, risk, or the definition of progress.
14
+ A short accurate statement is more useful than a long narrative that hides the decision-relevant fact.
15
+ The resulting ideas should refer to this signal only when the connection is material and explain why it matters.
16
+
17
+ **When not to use Risks**
18
+ Do not provide Risks merely because the option exists or because an empty value would look complete.
19
+ Omit it when the caller has no reliable signal of this kind and let the workflow mark the context as missing.
20
+ Do not use this field to smuggle execution instructions, credentials, private data, or a second command configuration.
21
+ Use a narrower context option when the statement has a clearly different meaning such as a risk, decision, or prohibition.
22
+ Avoid repeating the goal or copying an entire unrelated transcript because repetition lowers the signal available to the critic.
23
+ If the caller is unsure whether the record is current, state that uncertainty in the value rather than presenting it as a fact.
24
+
25
+ **Risks inputs**
26
+ The value is one nonempty text statement per repeated option.
27
+ Repeated occurrences remain separate records so the agent can cite and compare them without parsing a delimiter.
28
+ Whitespace around a value is trimmed at the request boundary, while an empty value is rejected before provider work.
29
+ The command does not reinterpret the content as an identifier unless the option contract explicitly says it is one.
30
+ Use plain caller-readable text and keep each record focused on one fact, choice, boundary, or result.
31
+ The input is bounded before it enters the agent context so oversized content becomes an explicit truncation or omission.
32
+ A caller should keep related facts separate when their provenance, confidence, or expected effect differs enough to influence review.
33
+
34
+ **Defaults and precedence for Risks**
35
+ When it is omitted, the default is no supplied plausible exposure..
36
+ Command-line values are the only source for this field, and the run does not read a separate configuration document.
37
+ Environment variables do not silently populate this context value, which keeps an invocation reproducible.
38
+ When multiple values are supplied, their command-line order becomes their stable context order.
39
+ Explicit caller input therefore takes precedence over absence, while other settings such as count and rounds remain independent.
40
+ The result manifest records what was supplied and whether the bounded value was included, truncated, or omitted.
41
+ Use the manifest and warnings to distinguish absence from an explicitly bounded value when a downstream agent needs to explain why a suggestion changed.
42
+
43
+ **Risks output contract**
44
+ Risks is not printed as a separate progress message because stdout is reserved for the command result.
45
+ For a model-backed run, the value appears inside the fresh managed context window used by the relevant agent.
46
+ For dry-run output, the manifest exposes source identity and bounded character information without exposing file bodies by default.
47
+ Human output summarizes the resulting suggestions, while JSON and JSONL output preserve stable machine-readable fields.
48
+ Errors go to the CLI error channel as typed envelopes with a repair-oriented description and no secret echo.
49
+ The field influences ideas and handoffs but never grants authority, starts work, or changes the caller's permissions.
50
+
51
+ **How to use Risks**
52
+ Use the command below as the smallest valid invocation shape for this value.
53
+ Replace each brace-delimited placeholder with the caller's actual text while preserving shell quoting around spaces.
54
+ Repeat the option when more than one independent record should be supplied.
55
+ Combine the option with a precise goal because the field is evidence or context rather than a standalone task.
56
+ Add category and budget options only when they answer a real selection or resource question.
57
+ The command remains a single argv-built request and does not require a temporary configuration file.
58
+ Keep the invocation close to the caller's actual decision so another agent can reproduce the request without guessing omitted context, quoting, or precedence.
59
+
60
+ ```text
61
+ vidbyte-cli agents suggest run --goal "{goal}" --risks "{risk}"
62
+ ```
63
+
64
+ **Examples for Risks**
65
+ A minimal example supplies only the required goal and leaves this optional signal absent when it has no value.
66
+ A normal example adds one focused record that directly changes how the next action should be judged.
67
+ An advanced example repeats the option for several independent records and combines it with a selected category.
68
+ Piping is appropriate only for a caller that captures the emitted result document, because input itself is passed through argv.
69
+ JSON output is the stable choice when another agent will inspect identifiers, manifests, warnings, and handoffs.
70
+ If an example fails, preserve the same goal and correct the named input or path before changing the reasoning settings.
71
+
72
+ ```text
73
+ vidbyte-cli agents suggest run --goal "{goal}" --risks "{risk}"
74
+ vidbyte-cli --json agents suggest run --goal "{goal}" --risks "{value}"
75
+ ```
76
+
77
+ **Related commands for Risks**
78
+ Use agents suggest categories --view-all when the caller needs to choose a reasoning lens before running.
79
+ Use agents suggest categories --view {category-id} when one category needs a fuller conceptual definition.
80
+ Use the other context options when the signal is more accurately a decision, constraint, risk, or current commitment.
81
+ Use agents suggest handoff only after a result document exists and a specific idea identifier has been selected.
82
+ Use dry-run when the request shape and file manifest need inspection without credentials or model usage.
83
+ These commands share the same result conventions but do not imply that one command can authorize another.
84
+ Choose the narrowest neighboring command that answers the immediate question, then return to this option when the run itself needs the signal.
85
+
86
+ **Failure modes for Risks**
87
+ A missing required value fails before the provider is loaded because the request dataclass requires a meaningful boundary.
88
+ An empty repeated value fails as invalid input instead of becoming a misleading blank context record.
89
+ An unsupported path, malformed JSON file, directory, or unreadable file fails with a typed context error.
90
+ An oversized value is truncated only within the documented bound and the result records that status as a warning.
91
+ A provider or schema failure is reported as a provider failure and is never converted into a false no-suggestions result.
92
+ Recover by correcting the specific value named by the error, rerunning dry-run when useful, and preserving the same intent.
93
+
94
+ **Authentication and permissions for Risks**
95
+ This input itself does not grant access to files, providers, accounts, repositories, or execution tools.
96
+ Text values are available to local validation without credentials, while model-backed runs still require the configured provider.
97
+ The --files option reads only paths explicitly named by the caller and does not scan a workspace or agent history.
98
+ Read-only deny-all settings apply to generator and critic agents so suggestions cannot mutate the host through this workflow.
99
+ Provider credentials are used only when a real model-backed run is requested and are never copied into result prose.
100
+ Permission failures should be repaired at the provider or filesystem boundary rather than by weakening the context contract.
@@ -0,0 +1,5 @@
1
+ The round limit bounds how many critique-and-revision cycles may improve the candidate pool. It accepts one through eight rounds, while two rounds usually balance refinement against latency and model usage.
2
+
3
+ A single round suits simple goals with clear context, while eight allows difficult ideas several revision opportunities. The workflow computes this loop shape rather than asking the model when to stop, and it ends early only when a revision returns no candidates.
4
+
5
+ Each round is one critic review followed by one generator revision of the whole slate. Values outside the supported range are rejected before model work begins, and token or timeout limits still stop the run first.
@@ -0,0 +1,5 @@
1
+ The suggestion agent develops concrete next actions for one meaningful goal. It returns only ideas that can be explained, evaluated, and handed to another agent.
2
+
3
+ Supplied context shapes what counts as relevant, feasible, novel, and timely. A broader internal candidate pool gives independent critique enough material to reject weak or redundant directions.
4
+
5
+ The final slate may be smaller than the requested maximum when stronger ideas are exhausted. Every surviving idea includes evidence, decision context, and an execution-ready action structure.
@@ -0,0 +1,100 @@
1
+ **Successes**
2
+ Successes is the named proven pattern value that this command accepts for one suggestion workflow.
3
+ It gives the parent agent a stable way to state a method or outcome that has worked for the caller before.
4
+ This value is completely optional. Supplying it is helpful when the additional signal can change the next action.
5
+ The command keeps this value as caller task data and does not treat it as an instruction to execute work.
6
+ The value is carried into the bounded request with its source and semantic identity intact.
7
+ A precise value gives the generator and independent critic more signal than a broad label or an unstated assumption.
8
+
9
+ **Purpose of Successes**
10
+ The purpose of Successes is to make a method or outcome that has worked for the caller before explicit before candidate generation starts.
11
+ That explicit record lets the workflow compare ideas against the situation the caller actually described.
12
+ It also lets the critic explain whether a candidate is supported, missing evidence, or in conflict.
13
+ The field is most valuable when its content changes feasibility, novelty, timing, risk, or the definition of progress.
14
+ A short accurate statement is more useful than a long narrative that hides the decision-relevant fact.
15
+ The resulting ideas should refer to this signal only when the connection is material and explain why it matters.
16
+
17
+ **When not to use Successes**
18
+ Do not provide Successes merely because the option exists or because an empty value would look complete.
19
+ Omit it when the caller has no reliable signal of this kind and let the workflow mark the context as missing.
20
+ Do not use this field to smuggle execution instructions, credentials, private data, or a second command configuration.
21
+ Use a narrower context option when the statement has a clearly different meaning such as a risk, decision, or prohibition.
22
+ Avoid repeating the goal or copying an entire unrelated transcript because repetition lowers the signal available to the critic.
23
+ If the caller is unsure whether the record is current, state that uncertainty in the value rather than presenting it as a fact.
24
+
25
+ **Successes inputs**
26
+ The value is one nonempty text statement per repeated option.
27
+ Repeated occurrences remain separate records so the agent can cite and compare them without parsing a delimiter.
28
+ Whitespace around a value is trimmed at the request boundary, while an empty value is rejected before provider work.
29
+ The command does not reinterpret the content as an identifier unless the option contract explicitly says it is one.
30
+ Use plain caller-readable text and keep each record focused on one fact, choice, boundary, or result.
31
+ The input is bounded before it enters the agent context so oversized content becomes an explicit truncation or omission.
32
+ A caller should keep related facts separate when their provenance, confidence, or expected effect differs enough to influence review.
33
+
34
+ **Defaults and precedence for Successes**
35
+ When it is omitted, the default is no supplied proven pattern..
36
+ Command-line values are the only source for this field, and the run does not read a separate configuration document.
37
+ Environment variables do not silently populate this context value, which keeps an invocation reproducible.
38
+ When multiple values are supplied, their command-line order becomes their stable context order.
39
+ Explicit caller input therefore takes precedence over absence, while other settings such as count and rounds remain independent.
40
+ The result manifest records what was supplied and whether the bounded value was included, truncated, or omitted.
41
+ Use the manifest and warnings to distinguish absence from an explicitly bounded value when a downstream agent needs to explain why a suggestion changed.
42
+
43
+ **Successes output contract**
44
+ Successes is not printed as a separate progress message because stdout is reserved for the command result.
45
+ For a model-backed run, the value appears inside the fresh managed context window used by the relevant agent.
46
+ For dry-run output, the manifest exposes source identity and bounded character information without exposing file bodies by default.
47
+ Human output summarizes the resulting suggestions, while JSON and JSONL output preserve stable machine-readable fields.
48
+ Errors go to the CLI error channel as typed envelopes with a repair-oriented description and no secret echo.
49
+ The field influences ideas and handoffs but never grants authority, starts work, or changes the caller's permissions.
50
+
51
+ **How to use Successes**
52
+ Use the command below as the smallest valid invocation shape for this value.
53
+ Replace each brace-delimited placeholder with the caller's actual text while preserving shell quoting around spaces.
54
+ Repeat the option when more than one independent record should be supplied.
55
+ Combine the option with a precise goal because the field is evidence or context rather than a standalone task.
56
+ Add category and budget options only when they answer a real selection or resource question.
57
+ The command remains a single argv-built request and does not require a temporary configuration file.
58
+ Keep the invocation close to the caller's actual decision so another agent can reproduce the request without guessing omitted context, quoting, or precedence.
59
+
60
+ ```text
61
+ vidbyte-cli agents suggest run --goal "{goal}" --success "{proven pattern}"
62
+ ```
63
+
64
+ **Examples for Successes**
65
+ A minimal example supplies only the required goal and leaves this optional signal absent when it has no value.
66
+ A normal example adds one focused record that directly changes how the next action should be judged.
67
+ An advanced example repeats the option for several independent records and combines it with a selected category.
68
+ Piping is appropriate only for a caller that captures the emitted result document, because input itself is passed through argv.
69
+ JSON output is the stable choice when another agent will inspect identifiers, manifests, warnings, and handoffs.
70
+ If an example fails, preserve the same goal and correct the named input or path before changing the reasoning settings.
71
+
72
+ ```text
73
+ vidbyte-cli agents suggest run --goal "{goal}" --success "{proven pattern}"
74
+ vidbyte-cli --json agents suggest run --goal "{goal}" --success "{value}"
75
+ ```
76
+
77
+ **Related commands for Successes**
78
+ Use agents suggest categories --view-all when the caller needs to choose a reasoning lens before running.
79
+ Use agents suggest categories --view {category-id} when one category needs a fuller conceptual definition.
80
+ Use the other context options when the signal is more accurately a decision, constraint, risk, or current commitment.
81
+ Use agents suggest handoff only after a result document exists and a specific idea identifier has been selected.
82
+ Use dry-run when the request shape and file manifest need inspection without credentials or model usage.
83
+ These commands share the same result conventions but do not imply that one command can authorize another.
84
+ Choose the narrowest neighboring command that answers the immediate question, then return to this option when the run itself needs the signal.
85
+
86
+ **Failure modes for Successes**
87
+ A missing required value fails before the provider is loaded because the request dataclass requires a meaningful boundary.
88
+ An empty repeated value fails as invalid input instead of becoming a misleading blank context record.
89
+ An unsupported path, malformed JSON file, directory, or unreadable file fails with a typed context error.
90
+ An oversized value is truncated only within the documented bound and the result records that status as a warning.
91
+ A provider or schema failure is reported as a provider failure and is never converted into a false no-suggestions result.
92
+ Recover by correcting the specific value named by the error, rerunning dry-run when useful, and preserving the same intent.
93
+
94
+ **Authentication and permissions for Successes**
95
+ This input itself does not grant access to files, providers, accounts, repositories, or execution tools.
96
+ Text values are available to local validation without credentials, while model-backed runs still require the configured provider.
97
+ The --files option reads only paths explicitly named by the caller and does not scan a workspace or agent history.
98
+ Read-only deny-all settings apply to generator and critic agents so suggestions cannot mutate the host through this workflow.
99
+ Provider credentials are used only when a real model-backed run is requested and are never copied into result prose.
100
+ Permission failures should be repaired at the provider or filesystem boundary rather than by weakening the context contract.
@@ -0,0 +1,5 @@
1
+ The workflow deadline bounds elapsed time across generation, critique, and revision. It protects callers from an open-ended suggestion cycle when model responses are slow.
2
+
3
+ The deadline prevents new work after expiration but does not promise cancellation within an in-flight provider request. The last fully reviewed batch remains the safe fallback.
4
+
5
+ The value must be positive whenever it is specified. A time-limited result names the stopping reason so partial completion cannot resemble ordinary success.