kibi-cursor 2.8.1 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor-plugin/plugin.json +1 -1
- package/CHANGELOG.md +50 -0
- package/README.md +3 -3
- package/agent-plugin/plugin.json +1 -1
- package/agent-plugin/skills/kibi-bootstrap/SKILL.md +2 -2
- package/agent-plugin/skills/kibi-commit-review/SKILL.md +125 -0
- package/agent-plugin/skills/kibi-commit-review/resources/staged-gate.md +98 -0
- package/agent-plugin/skills/kibi-decisions/SKILL.md +130 -0
- package/agent-plugin/skills/kibi-decisions/resources/decision-records.md +142 -0
- package/agent-plugin/skills/kibi-decisions/resources/signoff-views.md +66 -0
- package/agent-plugin/skills/kibi-freshness/SKILL.md +2 -0
- package/agent-plugin/skills/kibi-traceability/SKILL.md +4 -0
- package/agent-plugin/skills/kibi-usage/SKILL.md +20 -15
- package/commands/kibi-signoff.md +26 -0
- package/dist/.cursor-plugin/plugin.json +1 -1
- package/dist/commands/kibi-signoff.md +26 -0
- package/dist/hook-runner.js +14 -7
- package/dist/skills/.canon-hash.json +9 -4
- package/dist/skills/kibi-bootstrap/SKILL.md +2 -2
- package/dist/skills/kibi-commit-review/SKILL.md +125 -0
- package/dist/skills/kibi-commit-review/resources/staged-gate.md +98 -0
- package/dist/skills/kibi-decisions/SKILL.md +130 -0
- package/dist/skills/kibi-decisions/resources/decision-records.md +142 -0
- package/dist/skills/kibi-decisions/resources/signoff-views.md +66 -0
- package/dist/skills/kibi-freshness/SKILL.md +2 -0
- package/dist/skills/kibi-traceability/SKILL.md +4 -0
- package/dist/skills/kibi-usage/SKILL.md +20 -15
- package/package.json +2 -2
- package/skills/.canon-hash.json +9 -4
- package/skills/kibi-bootstrap/SKILL.md +2 -2
- package/skills/kibi-commit-review/SKILL.md +125 -0
- package/skills/kibi-commit-review/resources/staged-gate.md +98 -0
- package/skills/kibi-decisions/SKILL.md +130 -0
- package/skills/kibi-decisions/resources/decision-records.md +142 -0
- package/skills/kibi-decisions/resources/signoff-views.md +66 -0
- package/skills/kibi-freshness/SKILL.md +2 -0
- package/skills/kibi-traceability/SKILL.md +4 -0
- package/skills/kibi-usage/SKILL.md +20 -15
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
id: kibi-usage
|
|
3
3
|
name: Kibi Usage
|
|
4
4
|
description: Use Kibi's source-first, exact-Git, migration-aware, proof-aware operations safely across MCP or the trusted local CLI, including partial completion repair.
|
|
5
|
-
version: 2.
|
|
5
|
+
version: 2.22.0
|
|
6
6
|
kibiCompatibility: ">=1.0.0"
|
|
7
7
|
tags:
|
|
8
8
|
- kibi
|
|
@@ -121,6 +121,10 @@ component that renders it) with `implements` through `kb_upsert`. Without a read
|
|
|
121
121
|
still answers and `kibi sync` regenerates the manifest. The search tip and the
|
|
122
122
|
`.kb/` note appear once per session and need no action.
|
|
123
123
|
|
|
124
|
+
Before you edit a source file that Kibi tracks, run `kb_search` with that file in `sourceLocations`, and treat both its ranked results and its `data.answer` layer as discovery only, not as the governing text. Then call `kb_query` by `id` on each current governing requirement that the search names, read what each one requires, and make the edit only after those exact reads. A `kb_check`, `kb_status` or `kb_coverage` result does not replace that `kb_query` read. This rule only adds an exact read before the edit and does not change the order of any other step in this workflow. It adds nothing to a modeling or write task: that task still ends with the real `kb_upsert` of every planned fact and requirement and the closing `kb_check`.
|
|
125
|
+
|
|
126
|
+
For an edit that keeps the governing rule, limit the consultation before the edit to exactly two Kibi calls: `kb_search` with the file in `sourceLocations`, then one `kb_query` (by the governing requirement's `id`, or by `sourceFile` when several requirements govern the file). Do not start with `kb_status`, and do not repeat the search or the query before editing; run `kb_status`, `kb_check` and `kb_coverage` after the edit. This limit applies only to source edits. A task that models a claim keeps its full order, one step after the other: `kb_search`, then the exact `kb_query` of the supplied target, then `kb_model` with `mode: "analyze"` on the complete claim, then `mode: "predicates"` for each relational clause, then `kb_model` with `mode: "requirement"` for a strict or typed-rule clause, and only then the real `kb_upsert` of every planned fact and requirement and the closing `kb_check`. Never call `kb_model` before that exact `kb_query`, and never stop at a dry run.
|
|
127
|
+
|
|
124
128
|
## Safe workflow
|
|
125
129
|
|
|
126
130
|
1. Always discover before you mutate: start with `kb_search`, then exact-filter with `kb_query`. Use
|
|
@@ -356,7 +360,9 @@ authored. Each one is the order the write path accepts.
|
|
|
356
360
|
|
|
357
361
|
Entities record `origin` (`kind`: `human`, `agent`, `migration`, or `import`,
|
|
358
362
|
plus optional `ref` and `approved_by`). `kb_upsert` records `kind: agent` on
|
|
359
|
-
entities you create; leave `origin.approved_by` to the person who reviews them
|
|
363
|
+
entities you create; leave `origin.approved_by` to the person who reviews them,
|
|
364
|
+
and ask for that review with `kibi signoff` (see `kibi-decisions`), never with
|
|
365
|
+
a summary in your own words.
|
|
360
366
|
An exception (a requirement that `exempts` another) exempts nothing until a
|
|
361
367
|
human sets `approved_by`; `kb_check` flags approvals an agent recorded without
|
|
362
368
|
corroboration. Never fill in an approval yourself. Record why a requirement
|
|
@@ -365,6 +371,8 @@ exists in `rationale`, or link the ADR that explains it.
|
|
|
365
371
|
## Decision firmness
|
|
366
372
|
|
|
367
373
|
Requirements and ADRs carry `firmness`, which says what you may do with them.
|
|
374
|
+
Load `kibi-decisions` when a person states a rule, a hook asks before an edit
|
|
375
|
+
of firm code, or a request conflicts with a recorded rule.
|
|
368
376
|
Search answers, `kb_query` rows and hook snippets show it (snippets label only
|
|
369
377
|
`[firm: ask before changing]` and `[exploratory]`; an unlabeled decision is
|
|
370
378
|
`default`).
|
|
@@ -394,17 +402,12 @@ task or in reply: then supersede it with `firmness: firm` and `origin.ref` to
|
|
|
394
402
|
their words (or, for a correction they asked for in place, update it with
|
|
395
403
|
`origin.ref` to those words), and say in the final answer which rule changed.
|
|
396
404
|
|
|
397
|
-
Set `firmness` from what a human actually said: only their stated
|
|
398
|
-
`firm` (with `origin.ref`
|
|
399
|
-
guess is `exploratory`.
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
words): name the evidence (a failing test, a measured cost, a constraint the
|
|
404
|
-
old decision missed, a new requirement, the person's instruction) and answer
|
|
405
|
-
the old decision's reasoning; `kb_check` blocks it otherwise. A preference is
|
|
406
|
-
not evidence: propose it instead of superseding. Kibi checks only that a firm
|
|
407
|
-
decision has a reference; never cite words nobody said.
|
|
405
|
+
Set `firmness` explicitly from what a human actually said: only their stated
|
|
406
|
+
rule is `firm` (with `origin.ref` to their words); your own pick is `default`;
|
|
407
|
+
a guess is `exploratory`. A supersede needs a `## Why this changed` section of
|
|
408
|
+
at least 12 words naming the evidence; a preference is not evidence. Never
|
|
409
|
+
cite words nobody said. `kibi-decisions` has the recording and supersede
|
|
410
|
+
payloads.
|
|
408
411
|
|
|
409
412
|
Conditional clauses ("only when", "only if", "must not ... unless") compile
|
|
410
413
|
into typed `forbid` rules linked by `requires_rule`, not property facts; one
|
|
@@ -418,7 +421,8 @@ read `unresolved` as consistent. Compare the intent with each candidate's
|
|
|
418
421
|
`statement`, then compile again with `conflictReviews`
|
|
419
422
|
(`{requirementId, verdict: "conflict" | "no_conflict", note}`). On a conflict
|
|
420
423
|
the plan is `blocked`: ask the human which rule holds (a firm requirement is
|
|
421
|
-
theirs), then supersede or change it, or change the intent
|
|
424
|
+
theirs), then supersede or change it, or change the intent (see
|
|
425
|
+
`kibi-decisions`).
|
|
422
426
|
|
|
423
427
|
## Semantic and proof guardrails
|
|
424
428
|
|
|
@@ -558,4 +562,5 @@ retrying the same payload; inspect the typed error and `nextActions`.
|
|
|
558
562
|
Kibi may now author tracked Markdown/YAML evidence transactionally. The former
|
|
559
563
|
statement “Kibi operation writes do not automatically stage markdown evidence”
|
|
560
564
|
means Kibi writes do not Git-stage it: review and commit remain ordinary Git
|
|
561
|
-
workflows.
|
|
565
|
+
workflows. When `kibi check --staged` or the pre-commit hook blocks a commit,
|
|
566
|
+
load `kibi-commit-review`.
|