Skip to content

kindgi proposals

Improvement proposals: new content for a data block an agent pins, for one scope; evaluated on a test set, then promoted through the scope's gate (list / get / draft / evaluate / request / rollback / withdraw / improve / passes).

List improvement proposals, newest first: only those of agents you can read. A scope flag keeps the proposals for exactly that scope. A status filter is applied after the page is read, so a page can hold fewer than --limit.

Terminal window
kindgi proposals list [--agent=<agent-id>] [(--tenant | --org=<org-id> | --project=<project-id> [--segment=<key:value>]…)] [--tier=settings-block|prompt-block] [--status=<status>] [--limit=<n>] [--cursor=<cursor>] [--table]

Flags:

  • --agent <value>: Only this agent's proposals.
  • --cursor <value>: The next page, from nextCursor.
  • --limit <value>: Page size.
  • --org <value>: An org, by id.
  • --project <value>: A project, by id; with --segment, a segment in it.
  • --segment <value>: One step of the segment path, key:value (e.g. company:acme); repeat it in order, coarse to fine. Needs --project. (repeatable)
  • --status <value>: One of: draft, evaluating, evaluated, not-better, evaluation-failed, in-review, promoted, refused, rejected, expired, superseded, rolled-back, withdrawn.
  • --tenant: The whole tenant.
  • --tier <value>: settings-block or prompt-block.

Show a proposal: its change, status, candidate versions, the comparison it was evaluated on and its promotion.

Terminal window
kindgi proposals get <proposal-id>

Draft a proposal by hand: new content for one block the agent version pins (settings values, or a prompt template), for one scope. The same change from the same version for the same scope returns the proposal drafted before. Needs publish on the agent.

Terminal window
kindgi proposals draft --agent=<agent-id> --from-version=<semver> (--tenant | --org=<org-id> | --project=<project-id> [--segment=<key:value>]…) --block=<block-id> (--values=<json>|@<file> | --template=<text>|@<file>) --hypothesis=<text> [--judgment=<judgment-id>]…

Flags:

  • --agent <value>: The agent.
  • --block <value>: The data block to change; the version must pin it.
  • --from-version <value>: The agent version the change applies to.
  • --hypothesis <value>: What the change should improve, and why.
  • --idempotency-key <value>: A retry with the same key returns the first call's result.
  • --judgment <value>: A judgment behind the change (repeatable): kept as evidence. (repeatable)
  • --org <value>: An org, by id.
  • --project <value>: A project, by id; with --segment, a segment in it.
  • --segment <value>: One step of the segment path, key:value (e.g. company:acme); repeat it in order, coarse to fine. Needs --project. (repeatable)
  • --template <value>: A prompt block's new template: text, inline or @<file>.
  • --tenant: The whole tenant.
  • --values <value>: A settings block's new values: a JSON object, inline or @<file>.

Evaluate a proposal on a test set: a comparison of the candidate with the version it changes. The first evaluation publishes the block version and derives the agent version; they serve no scope until promoted, so the agent needs a live version for the whole tenant (kindgi agents promote <agent-id> <version> --tenant). The proposal is evaluating, then evaluated (better), not-better or evaluation-failed. With --rescore, after people judged the comparison's new answers on its replay runs: the latest evaluation scored again, counting those judgments, on the same replays (no other flag). Needs publish on the agent.

Terminal window
kindgi proposals evaluate <proposal-id> --test-set=<suite-id> [--objective=weightedYesShare|weightedPrecisionAtK] [--reads=recorded|live] [--repetitions=<n>] [--k=<n>] [--class-weights=as-recorded|restricted-only] [--wait]
kindgi proposals evaluate <proposal-id> --rescore [--wait]

Flags:

  • --class-weights <value>: as-recorded (the default) or restricted-only: only judgments of restricted judge classes count.
  • --idempotency-key <value>: A retry with the same key returns the first call's result.
  • --k <value>: How many ranked items weighted precision@k looks at (1 to 100, default 10).
  • --objective <value>: The metric that says whether the candidate is better: weightedYesShare (the default) or weightedPrecisionAtK.
  • --reads <value>: Whether replayed reads use the past run's results when it has them (recorded, the default) or run live.
  • --repetitions <value>: Run each case this many times (1 to 10, default 1): a delta counts as better only above the spread.
  • --rescore: Score the latest evaluation's replays again, with what people judged on them since: same test set version and settings, nothing replayed.
  • --test-set <value>: The test set: a judged eval suite, by id.
  • --wait: Wait until the evaluation is done (at most 30 minutes), then print the proposal.

Request a proposal's promotion: its candidate version, for its scope, through the scope's gate with its evaluation. The proposal is promoted, or in-review (a reviewer decides the promotion's approval: kindgi approvals complete); a gate refusal lists every check. Allowed once evaluated, also when not-better: the gate decides. Needs promote on the agent.

Terminal window
kindgi proposals request <proposal-id> [--reason=<text>]

Flags:

  • --idempotency-key <value>: A retry with the same key returns the first call's result.
  • --reason <value>: Why, kept on the promotion.

Roll back a promoted proposal: its scope goes back to the version that served it before. The proposal and its versions stay, as history. Needs promote on the agent.

Terminal window
kindgi proposals rollback <proposal-id> [--reason=<text>]

Flags:

  • --idempotency-key <value>: A retry with the same key returns the first call's result.
  • --reason <value>: Why, kept on the record.

Withdraw a proposal before review, or after its promotion was refused, superseded or expired. Needs publish on the agent.

Terminal window
kindgi proposals withdraw <proposal-id> --reason=<text>

Flags:

  • --idempotency-key <value>: A retry with the same key returns the first call's result.
  • --reason <value>: Why, kept on the record (required).

Ask the runtime to look for better values for an agent version's tunable settings for a scope, within a budget. It searches on part of the test set and proves its best candidate on the rest; if that candidate is better, it writes a proposal, which a reviewer decides (kindgi proposals request). Answers at once with the pass; --wait waits for its outcome. Needs publish on the agent.

Terminal window
kindgi proposals improve --agent=<agent-id> (--tenant | --org=<org-id> | --project=<project-id> [--segment=<key:value>]…) --test-set=<suite-id> [--from-version=<semver>] [--objective=weightedYesShare|weightedPrecisionAtK] [--max-cost=<usd>] [--max-candidates=<n>] [--wait]

Flags:

  • --agent <value>: The agent.
  • --from-version <value>: The version whose settings it tunes (default: the one serving the scope).
  • --idempotency-key <value>: A retry with the same key returns the first call's result.
  • --max-candidates <value>: The most candidates it compares (default 30).
  • --max-cost <value>: The most its comparisons may cost, in US dollars (default 5).
  • --objective <value>: What better means: weightedYesShare (the default) or weightedPrecisionAtK.
  • --org <value>: An org, by id.
  • --project <value>: A project, by id; with --segment, a segment in it.
  • --segment <value>: One step of the segment path, key:value (e.g. company:acme); repeat it in order, coarse to fine. Needs --project. (repeatable)
  • --tenant: The whole tenant.
  • --test-set <value>: The judged test set to search and prove on, by id.
  • --wait: Wait until the pass is done (at most 30 minutes), then print it.

Improvement passes: the runtime looking for better settings (list / get / cancel).

List improvement passes, newest first: only those of agents you can read.

Terminal window
kindgi proposals passes list [--agent=<agent-id>] [--limit=<n>] [--cursor=<cursor>] [--table]

Flags:

  • --agent <value>: Only this agent's passes.
  • --cursor <value>: The next page, from nextCursor.
  • --limit <value>: Page size.

Show an improvement pass: how many candidates it compared, what that cost, and what it found (the proposal it wrote, or why nothing).

Terminal window
kindgi proposals passes get <pass-id>

Stop a running improvement pass: it ends cancelled and writes no proposal.

Terminal window
kindgi proposals passes cancel <pass-id>

Flags:

  • --idempotency-key <value>: A retry with the same key returns the first call's result.

Every command also takes the global flags.