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.
- vidbyte_cli/__init__.py +11 -0
- vidbyte_cli/__main__.py +6 -0
- vidbyte_cli/cli.py +18 -0
- vidbyte_cli/commands/__init__.py +86 -0
- vidbyte_cli/commands/agent_options.py +53 -0
- vidbyte_cli/commands/agents/__init__.py +31 -0
- vidbyte_cli/commands/agents/suggestion/__init__.py +38 -0
- vidbyte_cli/commands/agents/suggestion/prompts/__init__.py +3 -0
- vidbyte_cli/commands/agents/suggestion/prompts/all_categories.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/approaches.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/avoid.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/blockers.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/capability.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/categories.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/category.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/completed.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/constraint.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/context.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/count.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/critic_model.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/decision.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/dry_run.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/extra_compute.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/feedback_accept.md +7 -0
- vidbyte_cli/commands/agents/suggestion/prompts/feedback_group.md +7 -0
- vidbyte_cli/commands/agents/suggestion/prompts/feedback_project.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/feedback_reason.md +98 -0
- vidbyte_cli/commands/agents/suggestion/prompts/feedback_reject.md +7 -0
- vidbyte_cli/commands/agents/suggestion/prompts/feedback_suggestion.md +101 -0
- vidbyte_cli/commands/agents/suggestion/prompts/files.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/forbidden.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/goal.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/handoff.md +7 -0
- vidbyte_cli/commands/agents/suggestion/prompts/horizon.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/hypotheses.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/idea.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/in_progress.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/input.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/library.py +29 -0
- vidbyte_cli/commands/agents/suggestion/prompts/max_messages.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/max_output_tokens.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/max_total_tokens.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/mistakes.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/outcomes.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/project.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/project_create.md +7 -0
- vidbyte_cli/commands/agents/suggestion/prompts/project_description.md +98 -0
- vidbyte_cli/commands/agents/suggestion/prompts/project_group.md +7 -0
- vidbyte_cli/commands/agents/suggestion/prompts/project_key.md +96 -0
- vidbyte_cli/commands/agents/suggestion/prompts/project_list.md +7 -0
- vidbyte_cli/commands/agents/suggestion/prompts/project_title.md +99 -0
- vidbyte_cli/commands/agents/suggestion/prompts/provider.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/question.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/risks.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/rounds.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/run.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/success.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/timeout.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/trajectory.md +100 -0
- vidbyte_cli/commands/agents/suggestion/prompts/view.md +5 -0
- vidbyte_cli/commands/agents/suggestion/prompts/view_all.md +5 -0
- vidbyte_cli/commands/agents/suggestion/render.py +77 -0
- vidbyte_cli/commands/agents/suggestion/request_builder.py +240 -0
- vidbyte_cli/commands/agents/suggestion/suggest.py +154 -0
- vidbyte_cli/commands/agents/suggestion/suggestion_categories.py +77 -0
- vidbyte_cli/commands/agents/suggestion/suggestion_feedback.py +85 -0
- vidbyte_cli/commands/agents/suggestion/suggestion_handoff.py +67 -0
- vidbyte_cli/commands/agents/suggestion/suggestion_projects.py +95 -0
- vidbyte_cli/commands/auth/__init__.py +0 -0
- vidbyte_cli/commands/auth/login.py +100 -0
- vidbyte_cli/commands/auth/logout.py +41 -0
- vidbyte_cli/commands/auth/whoami.py +51 -0
- vidbyte_cli/commands/billing/__init__.py +20 -0
- vidbyte_cli/commands/billing/prompts/__init__.py +1 -0
- vidbyte_cli/commands/billing/prompts/confirm.md +16 -0
- vidbyte_cli/commands/billing/prompts/group.md +13 -0
- vidbyte_cli/commands/billing/prompts/idempotency_key.md +16 -0
- vidbyte_cli/commands/billing/prompts/library.py +18 -0
- vidbyte_cli/commands/billing/prompts/top_up.md +16 -0
- vidbyte_cli/commands/billing/top_up.py +65 -0
- vidbyte_cli/commands/config/__init__.py +0 -0
- vidbyte_cli/commands/config/get.py +45 -0
- vidbyte_cli/commands/config/set.py +39 -0
- vidbyte_cli/commands/provider/__init__.py +9 -0
- vidbyte_cli/commands/provider/login.py +102 -0
- vidbyte_cli/commands/provider/logout.py +45 -0
- vidbyte_cli/commands/provider/whoami.py +49 -0
- vidbyte_cli/commands/research/__init__.py +5 -0
- vidbyte_cli/commands/research/add.py +41 -0
- vidbyte_cli/commands/research/options.py +134 -0
- vidbyte_cli/commands/research/render.py +157 -0
- vidbyte_cli/commands/research/resume.py +37 -0
- vidbyte_cli/commands/research/start.py +37 -0
- vidbyte_cli/commands/research/status.py +32 -0
- vidbyte_cli/commands/research/thread.py +30 -0
- vidbyte_cli/commands/research/threads.py +35 -0
- vidbyte_cli/commands/research/watch.py +93 -0
- vidbyte_cli/commands/runtime/__init__.py +23 -0
- vidbyte_cli/commands/runtime/adversarial_team.py +41 -0
- vidbyte_cli/commands/runtime/doctor.py +44 -0
- vidbyte_cli/commands/runtime/list.py +47 -0
- vidbyte_cli/commands/runtime/persistence.py +141 -0
- vidbyte_cli/commands/runtime/same_host_ensemble.py +221 -0
- vidbyte_cli/commands/runtime/stages.py +553 -0
- vidbyte_cli/commands/runtime/task_board.py +1342 -0
- vidbyte_cli/commands/setup/__init__.py +0 -0
- vidbyte_cli/commands/setup/doctor.py +64 -0
- vidbyte_cli/commands/setup/prompts/__init__.py +1 -0
- vidbyte_cli/commands/setup/prompts/browser.md +7 -0
- vidbyte_cli/commands/setup/prompts/library.py +18 -0
- vidbyte_cli/commands/setup/prompts/star.md +13 -0
- vidbyte_cli/commands/setup/star.py +132 -0
- vidbyte_cli/lib/__init__.py +0 -0
- vidbyte_cli/lib/api/__init__.py +0 -0
- vidbyte_cli/lib/api/client.py +236 -0
- vidbyte_cli/lib/api/endpoints/__init__.py +0 -0
- vidbyte_cli/lib/api/endpoints/auth.py +24 -0
- vidbyte_cli/lib/api/endpoints/billing.py +36 -0
- vidbyte_cli/lib/api/endpoints/research.py +103 -0
- vidbyte_cli/lib/api/endpoints/runtime.py +113 -0
- vidbyte_cli/lib/api/problem.py +86 -0
- vidbyte_cli/lib/api/response.py +101 -0
- vidbyte_cli/lib/api/retry.py +116 -0
- vidbyte_cli/lib/api/runtime_payment.py +89 -0
- vidbyte_cli/lib/auth/__init__.py +16 -0
- vidbyte_cli/lib/auth/credentials.py +223 -0
- vidbyte_cli/lib/auth/input.py +59 -0
- vidbyte_cli/lib/auth/keyring_store.py +126 -0
- vidbyte_cli/lib/auth/provider_credentials.py +157 -0
- vidbyte_cli/lib/auth/provider_input.py +54 -0
- vidbyte_cli/lib/auth/provider_resolver.py +89 -0
- vidbyte_cli/lib/auth/provider_store.py +149 -0
- vidbyte_cli/lib/auth/provider_verifier.py +219 -0
- vidbyte_cli/lib/auth/resolver.py +63 -0
- vidbyte_cli/lib/auth/verifier.py +38 -0
- vidbyte_cli/lib/config/__init__.py +25 -0
- vidbyte_cli/lib/config/atomic.py +47 -0
- vidbyte_cli/lib/config/config.py +141 -0
- vidbyte_cli/lib/config/migration.py +81 -0
- vidbyte_cli/lib/config/models.py +145 -0
- vidbyte_cli/lib/config/paths.py +66 -0
- vidbyte_cli/lib/config/resolver.py +137 -0
- vidbyte_cli/lib/constants/__init__.py +1 -0
- vidbyte_cli/lib/constants/runtime.py +186 -0
- vidbyte_cli/lib/errors/__init__.py +12 -0
- vidbyte_cli/lib/errors/cli_error.py +86 -0
- vidbyte_cli/lib/errors/codes.py +43 -0
- vidbyte_cli/lib/errors/failures.py +2910 -0
- vidbyte_cli/lib/errors/handler.py +72 -0
- vidbyte_cli/lib/files/__init__.py +6 -0
- vidbyte_cli/lib/files/documents.py +94 -0
- vidbyte_cli/lib/files/store.py +156 -0
- vidbyte_cli/lib/io/__init__.py +16 -0
- vidbyte_cli/lib/io/attachments.py +129 -0
- vidbyte_cli/lib/io/codex_attachments.py +47 -0
- vidbyte_cli/lib/io/prompt.py +71 -0
- vidbyte_cli/lib/io/streams.py +37 -0
- vidbyte_cli/lib/io/terminal.py +66 -0
- vidbyte_cli/lib/output/__init__.py +7 -0
- vidbyte_cli/lib/output/formats.py +29 -0
- vidbyte_cli/lib/output/manager.py +95 -0
- vidbyte_cli/lib/output/models.py +49 -0
- vidbyte_cli/lib/runtime/__init__.py +9 -0
- vidbyte_cli/lib/runtime/application.py +134 -0
- vidbyte_cli/lib/runtime/context.py +250 -0
- vidbyte_cli/lib/runtime/options.py +159 -0
- vidbyte_cli/lib/runtime/version.py +30 -0
- vidbyte_cli/lib/runtime_primitives/__init__.py +28 -0
- vidbyte_cli/lib/runtime_primitives/executor.py +54 -0
- vidbyte_cli/lib/runtime_primitives/gate.py +105 -0
- vidbyte_cli/lib/runtime_primitives/hosts.py +45 -0
- vidbyte_cli/lib/runtime_primitives/planner.py +79 -0
- vidbyte_cli/lib/runtime_primitives/stages.py +338 -0
- vidbyte_cli/lib/runtime_primitives/task_board.py +982 -0
- vidbyte_cli/lib/runtime_primitives/task_board_checkpoints.py +473 -0
- vidbyte_cli/lib/runtime_primitives/task_board_system.md +33 -0
- vidbyte_cli/lib/runtime_primitives/task_board_tasks.py +111 -0
- vidbyte_cli/lib/runtime_primitives/verification.py +68 -0
- vidbyte_cli/services/__init__.py +5 -0
- vidbyte_cli/services/ensemble/__init__.py +7 -0
- vidbyte_cli/services/ensemble/prompts/__init__.py +6 -0
- vidbyte_cli/services/ensemble/prompts/implementer_system.md +546 -0
- vidbyte_cli/services/ensemble/prompts/implementer_turn.md +49 -0
- vidbyte_cli/services/ensemble/prompts/library.py +188 -0
- vidbyte_cli/services/ensemble/prompts/planner_system.md +728 -0
- vidbyte_cli/services/ensemble/prompts/planner_turn.md +6 -0
- vidbyte_cli/services/ensemble/prompts/role_system.md +104 -0
- vidbyte_cli/services/ensemble/prompts/role_turn.md +19 -0
- vidbyte_cli/services/ensemble/prompts/selector_final_turn.md +19 -0
- vidbyte_cli/services/ensemble/prompts/selector_round_turn.md +17 -0
- vidbyte_cli/services/ensemble/prompts/selector_system.md +89 -0
- vidbyte_cli/services/ensemble/runner.py +30 -0
- vidbyte_cli/services/ensemble/sdk.py +134 -0
- vidbyte_cli/services/ensemble/service.py +233 -0
- vidbyte_cli/services/ensemble/settings.py +60 -0
- vidbyte_cli/services/persistence/__init__.py +6 -0
- vidbyte_cli/services/persistence/prompts/__init__.py +6 -0
- vidbyte_cli/services/persistence/prompts/library.py +46 -0
- vidbyte_cli/services/persistence/prompts/persistence_system.md +1 -0
- vidbyte_cli/services/persistence/prompts/persistence_turn.md +3 -0
- vidbyte_cli/services/persistence/runner.py +35 -0
- vidbyte_cli/services/persistence/session.py +116 -0
- vidbyte_cli/services/suggestions/__init__.py +7 -0
- vidbyte_cli/services/suggestions/categories.py +270 -0
- vidbyte_cli/services/suggestions/context.py +222 -0
- vidbyte_cli/services/suggestions/extra_compute.py +53 -0
- vidbyte_cli/services/suggestions/handoff.py +173 -0
- vidbyte_cli/services/suggestions/message_tools.py +47 -0
- vidbyte_cli/services/suggestions/project.py +253 -0
- vidbyte_cli/services/suggestions/prompts/__init__.py +1 -0
- vidbyte_cli/services/suggestions/prompts/categories/__init__.py +3 -0
- vidbyte_cli/services/suggestions/prompts/categories/adjacent_opportunity.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/alternative.md +38 -0
- vidbyte_cli/services/suggestions/prompts/categories/big_bets.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/bottleneck.md +38 -0
- vidbyte_cli/services/suggestions/prompts/categories/business_growth.md +38 -0
- vidbyte_cli/services/suggestions/prompts/categories/completion.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/continuation.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/coordination.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/creative_exploration.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/cross_domain.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/delegation.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/experiment.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/feedback.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/goal_clarification.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/immediate_next_steps.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/investigation.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/learning.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/leverage.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/long_term_directions.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/preparation.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/prerequisite.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/prioritization.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/product_experience.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/quick_wins.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/reframing.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/risk_prevention.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/simplification.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/stop_or_defer.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/strategy.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/technical_possibilities.md +37 -0
- vidbyte_cli/services/suggestions/prompts/categories/verification.md +37 -0
- vidbyte_cli/services/suggestions/prompts/critic.md +209 -0
- vidbyte_cli/services/suggestions/prompts/critic_message.md +8 -0
- vidbyte_cli/services/suggestions/prompts/generator.md +64 -0
- vidbyte_cli/services/suggestions/prompts/library.py +72 -0
- vidbyte_cli/services/suggestions/prompts/message_generator_argument.md +1 -0
- vidbyte_cli/services/suggestions/prompts/message_generator_tool.md +1 -0
- vidbyte_cli/services/suggestions/prompts/message_parent_argument.md +1 -0
- vidbyte_cli/services/suggestions/prompts/message_parent_tool.md +1 -0
- vidbyte_cli/services/suggestions/prompts/message_receipt.md +1 -0
- vidbyte_cli/services/suggestions/prompts/revision.md +8 -0
- vidbyte_cli/services/suggestions/sdk.py +228 -0
- vidbyte_cli/services/suggestions/selection.py +78 -0
- vidbyte_cli/services/suggestions/service.py +540 -0
- vidbyte_cli/types/__init__.py +0 -0
- vidbyte_cli/types/api.py +101 -0
- vidbyte_cli/types/attachments.py +79 -0
- vidbyte_cli/types/ensemble.py +189 -0
- vidbyte_cli/types/provider.py +62 -0
- vidbyte_cli/types/research.py +260 -0
- vidbyte_cli/types/runtime.py +1098 -0
- vidbyte_cli/types/suggestions.py +518 -0
- vidbyte_cli-0.1.0.dist-info/METADATA +335 -0
- vidbyte_cli-0.1.0.dist-info/RECORD +269 -0
- vidbyte_cli-0.1.0.dist-info/WHEEL +5 -0
- vidbyte_cli-0.1.0.dist-info/entry_points.txt +2 -0
- vidbyte_cli-0.1.0.dist-info/licenses/LICENSE +21 -0
- vidbyte_cli-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
**Saved Result File**
|
|
2
|
+
Saved Result File is the named saved suggestion result path value that this command accepts for one suggestion workflow.
|
|
3
|
+
It gives the parent agent a stable way to state a previously emitted suggestions.result JSON document for local handoff extraction.
|
|
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 Saved Result File**
|
|
10
|
+
The purpose of Saved Result File is to make a previously emitted suggestions.result JSON document for local handoff extraction 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 Saved Result File**
|
|
18
|
+
Do not provide Saved Result File 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
|
+
**Saved Result File inputs**
|
|
26
|
+
The value is one existing JSON path.
|
|
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 Saved Result File**
|
|
35
|
+
When it is omitted, the default is no supplied saved suggestion result path..
|
|
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
|
+
**Saved Result File output contract**
|
|
44
|
+
Saved Result File 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 Saved Result File**
|
|
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 handoff --input "{result.json}" --idea "{idea-id}"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Examples for Saved Result File**
|
|
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 handoff --input "{result.json}" --idea "{idea-id}"
|
|
74
|
+
vidbyte-cli --json agents suggest run --goal "{goal}" --input "{value}"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Related commands for Saved Result File**
|
|
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 Saved Result File**
|
|
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 Saved Result File**
|
|
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,29 @@
|
|
|
1
|
+
"""Loads caller-facing suggestion help from packaged Markdown assets.
|
|
2
|
+
|
|
3
|
+
The loader keeps authored prose out of Python and leaves content standards to
|
|
4
|
+
the repository lint suite, so help rendering never becomes a hidden validator.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import annotations
|
|
8
|
+
|
|
9
|
+
from importlib import resources
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SuggestionHelpLibrary:
|
|
13
|
+
"""Reads one named help description at a time."""
|
|
14
|
+
|
|
15
|
+
def __init__(self) -> None:
|
|
16
|
+
self._cache: dict[str, str] = {}
|
|
17
|
+
|
|
18
|
+
def load(self, name: str) -> str:
|
|
19
|
+
if name not in self._cache:
|
|
20
|
+
source = resources.files(__package__).joinpath(f"{name}.md")
|
|
21
|
+
self._cache[name] = source.read_text(encoding="utf-8").strip()
|
|
22
|
+
return self._cache[name]
|
|
23
|
+
|
|
24
|
+
def summary(self, name: str) -> str:
|
|
25
|
+
"""Return the first authored help section for a context item."""
|
|
26
|
+
return self.load(name).split("\n\n", 1)[0]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
__all__ = ["SuggestionHelpLibrary"]
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
The message limit caps how many times critics may message the generator directly during one run. A critic that finds one problem more important than a full review can stop early and send the generator a message, which the generator reads as its next turn in place of that round's review. It accepts zero through eight messages and defaults to two, the same as the default round count, because each critic sends at most one message before it stops.
|
|
2
|
+
|
|
3
|
+
Once the limit is spent, later critics run without the message tool and always return a full structured review. Zero disables critic messages entirely, so every round ends in a graded review.
|
|
4
|
+
|
|
5
|
+
The limit does not cover the generator's message to the parent agent. That message ends the run with the needs_input status, so it can happen at most once and needs no separate cap. Values outside the supported range are rejected before model work begins.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
The per-response token limit bounds the intended size of each individual model reply. It keeps one generation or critique turn from consuming the workflow's entire budget.
|
|
2
|
+
|
|
3
|
+
This threshold is not a billing guarantee because an in-flight request may finish beyond it. Smaller values favor concise artifacts, while larger values accommodate richer context and candidate detail.
|
|
4
|
+
|
|
5
|
+
The limit must be positive whenever it is specified. It applies consistently to generation, critique, and revision responses.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
The total token limit bounds the aggregate model usage scheduled across the workflow. It covers initial generation, critique, and every permitted revision.
|
|
2
|
+
|
|
3
|
+
The threshold stops new work after observed usage reaches the boundary but does not interrupt an active request. Small overruns are therefore possible and should not be interpreted as ignored policy.
|
|
4
|
+
|
|
5
|
+
The limit must be positive whenever it is specified. Reaching it returns the last fully reviewed candidate batch with an explicit partial-result reason.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
**Mistakes and Lessons**
|
|
2
|
+
Mistakes and Lessons is the named prior failure lesson value that this command accepts for one suggestion workflow.
|
|
3
|
+
It gives the parent agent a stable way to state an earlier mistake together with its cause and the lesson that should survive it.
|
|
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 Mistakes and Lessons**
|
|
10
|
+
The purpose of Mistakes and Lessons is to make an earlier mistake together with its cause and the lesson that should survive it 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 Mistakes and Lessons**
|
|
18
|
+
Do not provide Mistakes and Lessons 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
|
+
**Mistakes and Lessons 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 Mistakes and Lessons**
|
|
35
|
+
When it is omitted, the default is no supplied prior failure lesson..
|
|
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
|
+
**Mistakes and Lessons output contract**
|
|
44
|
+
Mistakes and Lessons 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 Mistakes and Lessons**
|
|
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}" --mistakes "{failure, cause, lesson}"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Examples for Mistakes and Lessons**
|
|
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}" --mistakes "{failure, cause, lesson}"
|
|
74
|
+
vidbyte-cli --json agents suggest run --goal "{goal}" --mistakes "{value}"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Related commands for Mistakes and Lessons**
|
|
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 Mistakes and Lessons**
|
|
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 Mistakes and Lessons**
|
|
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
|
+
**Observed Outcomes**
|
|
2
|
+
Observed Outcomes is the named observed result value that this command accepts for one suggestion workflow.
|
|
3
|
+
It gives the parent agent a stable way to state what happened after earlier work, decisions, or suggestions.
|
|
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 Observed Outcomes**
|
|
10
|
+
The purpose of Observed Outcomes is to make what happened after earlier work, decisions, or suggestions 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 Observed Outcomes**
|
|
18
|
+
Do not provide Observed Outcomes 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
|
+
**Observed Outcomes 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 Observed Outcomes**
|
|
35
|
+
When it is omitted, the default is no supplied observed result..
|
|
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
|
+
**Observed Outcomes output contract**
|
|
44
|
+
Observed Outcomes 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 Observed Outcomes**
|
|
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}" --outcomes "{observed result}"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Examples for Observed Outcomes**
|
|
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}" --outcomes "{observed result}"
|
|
74
|
+
vidbyte-cli --json agents suggest run --goal "{goal}" --outcomes "{value}"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Related commands for Observed Outcomes**
|
|
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 Observed Outcomes**
|
|
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 Observed Outcomes**
|
|
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
|
+
**Project**
|
|
2
|
+
Project is the key of one local suggestion project whose stored memory this run should load as context.
|
|
3
|
+
A project is a small record on this machine made of a stable key, a human title, a scope description, and an ordered history of explicit accepted and rejected suggestions.
|
|
4
|
+
The key is created once with agents suggest project create and then reused by every later run and every feedback call about the same body of work.
|
|
5
|
+
When this option is present, the run reads the project title and description plus every recorded reaction and adds them to the bounded context before generation starts.
|
|
6
|
+
When this option is absent, the run is stateless and reads no project file at all, which keeps ordinary runs reproducible from argv alone.
|
|
7
|
+
The project gives a parent agent a durable memory of what the user already liked and refused, so it no longer has to restate that history by hand on every run.
|
|
8
|
+
|
|
9
|
+
**Purpose of Project**
|
|
10
|
+
The purpose of Project is to let suggestions improve across runs on the same work instead of starting from nothing every time.
|
|
11
|
+
A project records which directions the user explicitly accepted, which ones the user explicitly rejected, and why, when the user gave a reason.
|
|
12
|
+
Loading that memory lets the generator lean toward the qualities of accepted ideas and away from directions the user already turned down.
|
|
13
|
+
Rejected suggestions are also used by deterministic selection, so an idea that repeats a rejected suggestion verbatim is removed before ranking.
|
|
14
|
+
The project title and description tell the generator what body of work the feedback belongs to, so reactions are interpreted inside the right scope.
|
|
15
|
+
The result of a project-backed run also returns ready-to-fill feedback commands, which closes the loop between suggesting, asking the user, and remembering the answer.
|
|
16
|
+
|
|
17
|
+
**When not to use Project**
|
|
18
|
+
Do not pass Project for a one-off question that has no relationship to earlier or later runs on the same work.
|
|
19
|
+
Omit it when the stored feedback belongs to a different scope, because reactions to another codebase or goal would mislead the generator rather than help it.
|
|
20
|
+
Do not create a new project for every run just to have a key, since an empty project adds only its title and description and fragments the history the feature exists to keep.
|
|
21
|
+
Do not use a project as a place to store instructions, credentials, private data, or execution authority, because its contents are read as ordinary task data.
|
|
22
|
+
Use the ordinary context options instead when the signal is about this run only, such as a current constraint, a decision, or a risk.
|
|
23
|
+
If the project memory might be stale or wrong, repair the feedback history first rather than asking the generator to ignore part of it.
|
|
24
|
+
|
|
25
|
+
**Project inputs**
|
|
26
|
+
The value is one project key made of 1 to 64 lowercase letters, numbers, hyphens, or underscores, beginning with a letter or number.
|
|
27
|
+
Surrounding whitespace is trimmed before the key is checked, and a key with uppercase letters, slashes, dots, or other characters is rejected before any file is read.
|
|
28
|
+
The key must already exist in the local project catalog, because a run never creates a project implicitly.
|
|
29
|
+
Only one project may be supplied per run, so a run's memory always comes from exactly one scope.
|
|
30
|
+
The project title and description are loaded as one context kind named project, while accepted and rejected reactions are loaded as the accepted_feedback and rejected_feedback kinds.
|
|
31
|
+
Each reaction becomes its own context item, with the user's reason on the line after the suggestion when a reason was recorded.
|
|
32
|
+
Project items are subject to the same per-item and total context bounds as caller-supplied flags, so a very long history is truncated or omitted visibly rather than silently.
|
|
33
|
+
|
|
34
|
+
**Defaults and precedence for Project**
|
|
35
|
+
The default is no project, which means a stateless run that reads no project catalog and no memory file.
|
|
36
|
+
Nothing selects a project implicitly, so neither an environment variable, a configuration value, nor the current directory can turn project memory on.
|
|
37
|
+
When a project is supplied, its items are appended after every caller-supplied context flag, so caller references keep their numbering and project items follow them.
|
|
38
|
+
Caller context and project memory are both kept, and neither overrides the other, so a caller can add a current constraint that narrows what past feedback suggests.
|
|
39
|
+
Other settings such as count, categories, rounds, and provider stay independent and are not stored in the project.
|
|
40
|
+
The feedback history is read fresh on every run, so a reaction recorded a moment ago is already part of the next run's context.
|
|
41
|
+
The result manifest records each project item with its reference, kind, size, and inclusion status, exactly like any other context item.
|
|
42
|
+
|
|
43
|
+
**Project output contract**
|
|
44
|
+
A project-backed result carries the project key in its project_key field so a downstream agent can tell which memory shaped the slate.
|
|
45
|
+
The result also carries a feedback_capture object with an instruction plus one accept command and one reject command already filled in with this project key.
|
|
46
|
+
Human output prints the same accept and reject commands after the ranked ideas, so a person or agent can record the user's reaction without reading help again.
|
|
47
|
+
A stateless run returns a null project_key and a null feedback_capture, which is how a caller can confirm that no project file was read.
|
|
48
|
+
Dry-run output still resolves the project and lists its items in the manifest, which makes dry-run the safe way to inspect what memory a run would load.
|
|
49
|
+
The project option never grants execution authority, never records feedback by itself, and never changes the project files it reads.
|
|
50
|
+
|
|
51
|
+
**How to use Project**
|
|
52
|
+
Create the project once with a key, a short title, and a description of its scope.
|
|
53
|
+
Pass that key with this option on every suggestion run that concerns the same work.
|
|
54
|
+
After showing the ideas to the user, record the user's clear acceptance or rejection with the feedback command printed in the result.
|
|
55
|
+
Include the user's reason whenever the user gives one, because the reason tells the next run which quality mattered rather than only which idea.
|
|
56
|
+
Use project list to recover a key when a new session does not know which projects already exist.
|
|
57
|
+
Run with dry-run first when you want to see exactly which project items would enter the context before any model is called.
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
vidbyte-cli agents suggest run --project "{project-key}" --goal "{goal}"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Examples for Project**
|
|
64
|
+
A minimal example runs one suggestion pass with the memory of an existing project and nothing else beyond the goal.
|
|
65
|
+
A normal example adds a current constraint so the run respects both the stored history and a fact that is only true today.
|
|
66
|
+
An inspection example uses dry-run with JSON output to list the project items in the manifest without calling a provider.
|
|
67
|
+
A full loop creates the project, runs with it, records the user's rejection with a reason, and runs again so the next slate avoids that direction.
|
|
68
|
+
JSON output is the stable choice when another agent will read project_key, feedback_capture, and the manifest programmatically.
|
|
69
|
+
If an example fails with a missing project, list the catalog and correct the key before changing any other option.
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
vidbyte-cli agents suggest run --project "{project-key}" --goal "{goal}"
|
|
73
|
+
vidbyte-cli agents suggest run --project "{project-key}" --goal "{goal}" --constraint "{constraint}"
|
|
74
|
+
vidbyte-cli --json agents suggest run --project "{project-key}" --goal "{goal}" --dry-run
|
|
75
|
+
vidbyte-cli agents suggest feedback reject --project "{project-key}" --suggestion "{suggestion}" --reason "{reason}"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Related commands for Project**
|
|
79
|
+
Use agents suggest project create to register a new key with its title and description before the first project-backed run.
|
|
80
|
+
Use agents suggest project list to see every existing key, title, and description without opening any feedback file.
|
|
81
|
+
Use agents suggest feedback accept to record a suggestion the user clearly wanted, together with the reason when one was given.
|
|
82
|
+
Use agents suggest feedback reject to record a suggestion the user clearly refused, so later runs stop proposing that direction.
|
|
83
|
+
Use agents suggest handoff after a project-backed run exactly as after a stateless one, since the saved result keeps the same shape.
|
|
84
|
+
These commands share one local project store, but none of them calls a model except the run itself.
|
|
85
|
+
|
|
86
|
+
**Failure modes for Project**
|
|
87
|
+
A key that does not match the allowed character pattern fails as an invalid project before any file is read.
|
|
88
|
+
A well-formed key that is not in the catalog fails as a missing project, and nothing is created in its place.
|
|
89
|
+
A catalog or memory file that is not valid JSON, does not match its schema, or belongs to a different key fails as unreadable project state.
|
|
90
|
+
A memory file that the catalog links to but that is missing from disk also fails as unreadable state rather than being treated as an empty history.
|
|
91
|
+
None of these failures calls a model or changes any project file, so the invocation can be corrected and retried safely.
|
|
92
|
+
Recover by listing projects to confirm the key, then repair or remove only the named invalid file if the state itself is broken.
|
|
93
|
+
|
|
94
|
+
**Authentication and permissions for Project**
|
|
95
|
+
Reading project memory requires no Vidbyte login, API key, or provider credential.
|
|
96
|
+
Project files live only in the platform-native Vidbyte data directory on this machine and are never uploaded by this option.
|
|
97
|
+
The run reads exactly the catalog and the one memory file linked to the supplied key and scans nothing else.
|
|
98
|
+
A model-backed run still needs its configured provider, while a dry run resolves the project without any provider at all.
|
|
99
|
+
Permission errors on the data directory surface as unreadable project state and are repaired at the filesystem, not by weakening the option.
|
|
100
|
+
Project contents are passed to agents as task data only and never grant the generator or critic any permission to act.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Project create registers one new local suggestion project under a stable key, with a human-readable title and a plain-language description of its scope. The key becomes the selector every later command uses: feedback accept and feedback reject append reactions to it, and agents suggest run with the project option loads its memory into a run.
|
|
2
|
+
|
|
3
|
+
Creation writes an empty feedback memory file first and then publishes the project in the catalog, so a listed project always has a readable memory file. If the catalog cannot be written, the new memory file is removed again so the same key can be retried. A key that already exists, or whose memory file is already on disk, is refused instead of being overwritten, which keeps an existing project's feedback history safe.
|
|
4
|
+
|
|
5
|
+
Choose one project per body of work that suggestions will be about, such as a repository, a product area, or a long-running goal. Put durable scope in the description, because it frames every accepted and rejected reaction on every later run, and keep run-specific facts in the run's own context options.
|
|
6
|
+
|
|
7
|
+
The command is local and deterministic. It needs no credentials, makes no model call, and sends nothing to Vidbyte. JSON output returns the created record, including the key and its linked memory file, and human output prints one confirmation line.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
**Project description**
|
|
2
|
+
Project description is the plain-language statement of scope stored with a new local suggestion project.
|
|
3
|
+
It tells every later project-backed run what body of work the project covers, what it is trying to achieve, and where its boundaries lie.
|
|
4
|
+
The description is loaded into the run's context next to the title before any accepted or rejected feedback is read.
|
|
5
|
+
That placement matters because a reaction such as rejecting a database suggestion only makes sense once the generator knows what system it was about.
|
|
6
|
+
The description may be several sentences long and should read as a briefing a new teammate could act on.
|
|
7
|
+
It is stored verbatim apart from trimming surrounding whitespace, and it is never rewritten or summarized by the CLI.
|
|
8
|
+
|
|
9
|
+
**Purpose of Project description**
|
|
10
|
+
The purpose of Project description is to give recorded feedback a frame, so the generator can generalize from past reactions without overgeneralizing.
|
|
11
|
+
A clear scope lets the generator tell whether a new idea falls inside the project or drifts into neighbouring work the user never discussed.
|
|
12
|
+
It also records durable facts that would otherwise have to be repeated as context flags on every run, such as the product's audience or the repository's role.
|
|
13
|
+
For a parent agent that lost its transcript, the description is often the fastest way to confirm it picked the right project from the list.
|
|
14
|
+
A description that names what the project is not about is especially useful, because it prevents suggestions from wandering into excluded areas.
|
|
15
|
+
Good descriptions make accepted and rejected feedback more informative per record, which means fewer reactions are needed before suggestions improve.
|
|
16
|
+
|
|
17
|
+
**When not to use Project description**
|
|
18
|
+
Do not put run-specific facts in the description, because it is loaded on every run and stale facts will keep influencing suggestions.
|
|
19
|
+
Use the constraint, decision, or risk options on a run for information that is true only for that run.
|
|
20
|
+
Do not write instructions to the model in the description, since it is loaded as data and never treated as a directive.
|
|
21
|
+
Do not paste long documents, transcripts, or file contents, because the description is capped and long text crowds out more useful context.
|
|
22
|
+
Keep credentials, personal data, and confidential customer details out of the description because it is sent to the provider on real runs.
|
|
23
|
+
If the scope is still unsettled, write what is known today rather than guessing at boundaries that may prove wrong.
|
|
24
|
+
|
|
25
|
+
**Project description inputs**
|
|
26
|
+
The value is one nonempty string of at most 4000 characters after surrounding whitespace is trimmed.
|
|
27
|
+
Multiple sentences, line breaks inside a quoted argument, and ordinary punctuation are all accepted.
|
|
28
|
+
A value made only of whitespace is rejected, because an empty description would leave feedback without a frame.
|
|
29
|
+
The option is required, so creation refuses to run without a description.
|
|
30
|
+
Validation happens in the command's input dataclass together with the key and title, before the catalog is read.
|
|
31
|
+
The description is stored as plain text and is never parsed, templated, or split into separate records.
|
|
32
|
+
Because the description is loaded on every project-backed run, its length also counts against that run's shared context budget.
|
|
33
|
+
|
|
34
|
+
**Defaults and precedence for Project description**
|
|
35
|
+
There is no default description, because only the caller can state the scope of the work.
|
|
36
|
+
The value comes only from this option and is never read from an environment variable, a configuration file, or a repository file.
|
|
37
|
+
Trimming surrounding whitespace is the only normalization applied, so the rest of the wording is preserved exactly.
|
|
38
|
+
The description is fixed at creation in this version, and there is no command that edits it afterwards.
|
|
39
|
+
On a project-backed run, caller-supplied context flags come first and the description follows them as part of the project item.
|
|
40
|
+
Neither source overrides the other, so a run-level constraint can narrow what the description implies for that single run.
|
|
41
|
+
|
|
42
|
+
**Project description output contract**
|
|
43
|
+
On success the created document's data includes the description exactly as stored after trimming.
|
|
44
|
+
Project list prints the description under each key in human output and includes it as a field in JSON output.
|
|
45
|
+
A project-backed run includes the description as a context line labelled Project description within the project context kind.
|
|
46
|
+
The result manifest records that item's size, hash, and inclusion status, so truncation or omission is visible rather than silent.
|
|
47
|
+
The description never appears in file names and never changes where project memory is stored.
|
|
48
|
+
Errors about the description are reported as an invalid project without echoing the rejected value.
|
|
49
|
+
|
|
50
|
+
**How to use Project description**
|
|
51
|
+
Write two to five sentences naming the work, its goal, its audience, and anything it deliberately excludes.
|
|
52
|
+
Pass it in quotes together with the key and title in one project create call.
|
|
53
|
+
Prefer durable facts that will still be true in a month over the details of the current task.
|
|
54
|
+
Mention the boundaries that past or expected feedback depends on, such as a rule against adding new infrastructure.
|
|
55
|
+
Keep the description well under its limit so it never competes for space with the feedback it frames.
|
|
56
|
+
Read it back with project list before relying on it, since it cannot be edited after creation in this version.
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
vidbyte-cli agents suggest project create --key "{project-key}" --title "{title}" --description "{description}"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Examples for Project description**
|
|
63
|
+
A repository example describes a command-line client, its users, and the rule that research runs on the backend rather than locally.
|
|
64
|
+
A goal example describes a quarter-long onboarding effort, the metric it targets, and the teams it must not disrupt.
|
|
65
|
+
A component example describes one service, the interfaces it owns, and the neighbouring services that are out of scope.
|
|
66
|
+
A weak example is a single phrase that repeats the title, which gives feedback almost no frame to be interpreted in.
|
|
67
|
+
JSON output returns the stored description in the created document, which lets an agent verify the exact wording.
|
|
68
|
+
If creation fails because of the description, shorten or fill in the value and retry with the same key and title.
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
vidbyte-cli agents suggest project create --key "{project-key}" --title "{title}" --description "{description}"
|
|
72
|
+
vidbyte-cli --json agents suggest project list
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Related commands for Project description**
|
|
76
|
+
Use agents suggest project list to read every stored description next to its key and title.
|
|
77
|
+
Use agents suggest run with the project option to load this description into a run as part of the project context item.
|
|
78
|
+
Use run-level context options such as constraint and decision for facts that apply only to one run.
|
|
79
|
+
Use agents suggest feedback accept and reject to add reactions that the description will frame on later runs.
|
|
80
|
+
Use dry-run on a project-backed run to see the description's manifest entry without calling a provider.
|
|
81
|
+
None of these commands edits the description, which is set once by project create.
|
|
82
|
+
|
|
83
|
+
**Failure modes for Project description**
|
|
84
|
+
A missing description fails as a usage error before any file is read.
|
|
85
|
+
A description that is empty after trimming fails as an invalid project and nothing is written.
|
|
86
|
+
A description longer than 4000 characters fails as an invalid project with the bound named in the error.
|
|
87
|
+
A valid description never fails on its content, because its wording is not interpreted by the CLI.
|
|
88
|
+
Creation can still fail for unrelated reasons, such as an existing key or an unwritable data directory.
|
|
89
|
+
Recover from a description failure by shortening or supplying the value and repeating the same create call.
|
|
90
|
+
A failed call writes nothing, so repeating it after a correction cannot leave a half-created project behind.
|
|
91
|
+
|
|
92
|
+
**Authentication and permissions for Project description**
|
|
93
|
+
Supplying a description requires no Vidbyte login, API key, or provider credential.
|
|
94
|
+
The description is stored only in the local project catalog inside the platform-native Vidbyte data directory.
|
|
95
|
+
It leaves the machine only when a model-backed run with the project option sends its context to the configured provider.
|
|
96
|
+
Dry runs and listings read the description locally and send nothing anywhere.
|
|
97
|
+
The description grants no permission to any agent and cannot widen what a generator or critic may do.
|
|
98
|
+
Keep sensitive material out of the description because it is shared with the provider whenever the project is used in a real run.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Suggestion projects give the suggestion agent a durable local memory for one body of work. A project is a stable key, a human title, a scope description, and an ordered history of suggestions the user explicitly accepted or rejected, kept on this machine in the platform-native Vidbyte data directory.
|
|
2
|
+
|
|
3
|
+
The project lifecycle has four steps. Create a project once with project create, pass its key to agents suggest run with the project option so the run loads the title, description, and every recorded reaction, record the user's clear reactions with feedback accept or feedback reject, and run again so the next slate builds on what the user liked and avoids what the user refused. Use project list at any point to recover an existing key instead of creating a duplicate.
|
|
4
|
+
|
|
5
|
+
The catalog of projects lives in one projects.json file, and each project links to its own memory file under the projects directory beside it. Every write replaces a whole document atomically, so an interrupted command leaves the previous valid state in place rather than a truncated file.
|
|
6
|
+
|
|
7
|
+
Project commands never call a model and need no Vidbyte login, API key, or provider. Only a suggestion run that passes a project key sends the project's contents to a provider, and only as task data that grants no permission to act.
|