kibi-cursor 2.7.3 → 2.7.4

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kibi-cursor",
3
3
  "displayName": "Kibi",
4
- "version": "2.7.3",
4
+ "version": "2.7.4",
5
5
  "description": "Optional Cursor adapter for Kibi. Requires project-local kibi-cli, kibi-mcp, and kibi-core (SWI-Prolog is bundled on Linux and macOS) before the bundled MCP server can start.",
6
6
  "license": "AGPL-3.0-or-later",
7
7
  "author": {
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # kibi-cursor
2
2
 
3
+ ## 2.7.4
4
+
5
+ ### Patch Changes
6
+
7
+ - a26ba8c: A firm requirement or ADR can no longer be reworded in place by an agent. `kb_upsert` refuses to change its title, statement or ADR body, or to lower its firmness, unless the write cites new words from the person who owns the rule, and `kb_check` reports the same change made directly to the file. Context sections, tags, status and links stay editable, and superseding with a new firm decision still works as before.
8
+ - `kb_upsert` (dryRun and `kb_apply_plan` steps included) rejects an in-place claim change of a current firm decision without a new `origin.ref` (or `approval_ref` on a requirement): `Entity validation failed: <ID> is a firm decision, so kb_upsert does not change its <fields> in place`.
9
+ - New canonical `kb_check` rule `decision-firm-edited` compares current firm decisions with `HEAD` and blocks a changed claim that cites no new human words; it reports nothing outside a Git checkout or before the first commit.
10
+ - A requirement's claim is its title, its `semantic_text` (or the statement its body derives); an ADR's claim is its title and body. Lowering firmness or replacing the origin with an agent's counts as a change.
11
+ - `kibi-usage` skill 2.18.0 tells agents not to edit firm decisions in place; the `firmness` input schema description now states the origin-derived default and the edit rule.
12
+
3
13
  ## 2.7.3
4
14
 
5
15
  ### Patch Changes
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "kibi",
4
- "version": "2.7.3",
4
+ "version": "2.7.4",
5
5
  "description": "Repo-local, per-branch, queryable knowledge base. Portable Agent Plugin packaging Kibi's Agent Skills and MCP server.",
6
6
  "author": { "name": "Kibi" },
7
7
  "homepage": "https://looted.github.io/kibi/",
@@ -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.17.0
5
+ version: 2.18.0
6
6
  kibiCompatibility: ">=1.0.0"
7
7
  tags:
8
8
  - kibi
@@ -368,7 +368,11 @@ Search answers, `kb_query` rows and hook snippets show it (snippets label only
368
368
  wrote it (`origin.kind: agent`): rules people wrote, imported or carried
369
369
  over from before origins existed are theirs. `kb_check` blocks an explicit
370
370
  `firmness: firm` without `origin.ref` to their words, and a replacement of
371
- a firm decision that is not itself firm.
371
+ a firm decision that is not itself firm. Never edit a firm decision's
372
+ title, statement or (ADR) body in place, by `kb_upsert` or on disk:
373
+ `kb_upsert` refuses it and `kb_check` reports `decision-firm-edited`
374
+ unless the edit cites new human words in `origin.ref`. Context sections,
375
+ tags, status and links stay editable.
372
376
  - `default`: a delegated or agent choice (`firmness: default`, or an
373
377
  agent-written decision without `firmness`). Follow it; supersede it only on
374
378
  evidence that it is wrong (a failing test, a measured cost, a constraint it
@@ -381,7 +385,8 @@ conflict a person has to decide. Name the rule (id and what it requires) and
381
385
  ask whether to change it; do not implement the request and do not supersede
382
386
  the rule. Go ahead only when the person has said to change that rule, in this
383
387
  task or in reply: then supersede it with `firmness: firm` and `origin.ref` to
384
- their words, and say in the final answer which rule changed.
388
+ their words (or, for a correction they asked for in place, update it with
389
+ `origin.ref` to those words), and say in the final answer which rule changed.
385
390
 
386
391
  Set `firmness` from what a human actually said: only their stated rule is
387
392
  `firm` (with `origin.ref`); "do whatever" or your own pick is `default`; a
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kibi-cursor",
3
3
  "displayName": "Kibi",
4
- "version": "2.7.3",
4
+ "version": "2.7.4",
5
5
  "description": "Optional Cursor adapter for Kibi. Requires project-local kibi-cli, kibi-mcp, and kibi-core (SWI-Prolog is bundled on Linux and macOS) before the bundled MCP server can start.",
6
6
  "license": "AGPL-3.0-or-later",
7
7
  "author": {
@@ -13,7 +13,7 @@
13
13
  "kibi-traceability/resources/operation-access.md": "39f7972ab7f4ae7479e78f7072bb50e8e6c4cdf4f857425f69d2522d37db437c",
14
14
  "kibi-traceability/resources/source-authoring.md": "408c6ee2bef1b84e0194c0538ef929c26a0a617e631b2234247388140dbbdd08",
15
15
  "kibi-traceability/resources/traceability.md": "38c290a0bc71bd1692e115f22694743946e2f69630e134acfd43cee5f613fb88",
16
- "kibi-usage/SKILL.md": "7db765e0b5a2861809e18a74b15ad64a8049260c1a5a61d467092f419957ffa8",
16
+ "kibi-usage/SKILL.md": "7c1b469c7bf8332f74196b6a7f40fe5e7ae82d97e36bb8c50cbac2047b8b420c",
17
17
  "kibi-usage/resources/branch-lifecycle.md": "f1bf359e9826e83c548f3cd0287f8175a62456527b0132b06b3f9f74aa59b7d6",
18
18
  "kibi-usage/resources/fact-lanes.md": "899218f90396aa469b6e34aeb5f7ea1f38bf11bb326102319f376c213859fb33",
19
19
  "kibi-usage/resources/kb-improvement.md": "a8408fce27342bdce6415a6718599e53fe00bb33aa1fd3dc42353ec6f61adcd7",
@@ -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.17.0
5
+ version: 2.18.0
6
6
  kibiCompatibility: ">=1.0.0"
7
7
  tags:
8
8
  - kibi
@@ -368,7 +368,11 @@ Search answers, `kb_query` rows and hook snippets show it (snippets label only
368
368
  wrote it (`origin.kind: agent`): rules people wrote, imported or carried
369
369
  over from before origins existed are theirs. `kb_check` blocks an explicit
370
370
  `firmness: firm` without `origin.ref` to their words, and a replacement of
371
- a firm decision that is not itself firm.
371
+ a firm decision that is not itself firm. Never edit a firm decision's
372
+ title, statement or (ADR) body in place, by `kb_upsert` or on disk:
373
+ `kb_upsert` refuses it and `kb_check` reports `decision-firm-edited`
374
+ unless the edit cites new human words in `origin.ref`. Context sections,
375
+ tags, status and links stay editable.
372
376
  - `default`: a delegated or agent choice (`firmness: default`, or an
373
377
  agent-written decision without `firmness`). Follow it; supersede it only on
374
378
  evidence that it is wrong (a failing test, a measured cost, a constraint it
@@ -381,7 +385,8 @@ conflict a person has to decide. Name the rule (id and what it requires) and
381
385
  ask whether to change it; do not implement the request and do not supersede
382
386
  the rule. Go ahead only when the person has said to change that rule, in this
383
387
  task or in reply: then supersede it with `firmness: firm` and `origin.ref` to
384
- their words, and say in the final answer which rule changed.
388
+ their words (or, for a correction they asked for in place, update it with
389
+ `origin.ref` to those words), and say in the final answer which rule changed.
385
390
 
386
391
  Set `firmness` from what a human actually said: only their stated rule is
387
392
  `firm` (with `origin.ref`); "do whatever" or your own pick is `default`; a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kibi-cursor",
3
- "version": "2.7.3",
3
+ "version": "2.7.4",
4
4
  "description": "Kibi Cursor plugin - thin adapter for Cursor MCP integration and editor hooks",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,7 +13,7 @@
13
13
  "kibi-traceability/resources/operation-access.md": "39f7972ab7f4ae7479e78f7072bb50e8e6c4cdf4f857425f69d2522d37db437c",
14
14
  "kibi-traceability/resources/source-authoring.md": "408c6ee2bef1b84e0194c0538ef929c26a0a617e631b2234247388140dbbdd08",
15
15
  "kibi-traceability/resources/traceability.md": "38c290a0bc71bd1692e115f22694743946e2f69630e134acfd43cee5f613fb88",
16
- "kibi-usage/SKILL.md": "7db765e0b5a2861809e18a74b15ad64a8049260c1a5a61d467092f419957ffa8",
16
+ "kibi-usage/SKILL.md": "7c1b469c7bf8332f74196b6a7f40fe5e7ae82d97e36bb8c50cbac2047b8b420c",
17
17
  "kibi-usage/resources/branch-lifecycle.md": "f1bf359e9826e83c548f3cd0287f8175a62456527b0132b06b3f9f74aa59b7d6",
18
18
  "kibi-usage/resources/fact-lanes.md": "899218f90396aa469b6e34aeb5f7ea1f38bf11bb326102319f376c213859fb33",
19
19
  "kibi-usage/resources/kb-improvement.md": "a8408fce27342bdce6415a6718599e53fe00bb33aa1fd3dc42353ec6f61adcd7",
@@ -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.17.0
5
+ version: 2.18.0
6
6
  kibiCompatibility: ">=1.0.0"
7
7
  tags:
8
8
  - kibi
@@ -368,7 +368,11 @@ Search answers, `kb_query` rows and hook snippets show it (snippets label only
368
368
  wrote it (`origin.kind: agent`): rules people wrote, imported or carried
369
369
  over from before origins existed are theirs. `kb_check` blocks an explicit
370
370
  `firmness: firm` without `origin.ref` to their words, and a replacement of
371
- a firm decision that is not itself firm.
371
+ a firm decision that is not itself firm. Never edit a firm decision's
372
+ title, statement or (ADR) body in place, by `kb_upsert` or on disk:
373
+ `kb_upsert` refuses it and `kb_check` reports `decision-firm-edited`
374
+ unless the edit cites new human words in `origin.ref`. Context sections,
375
+ tags, status and links stay editable.
372
376
  - `default`: a delegated or agent choice (`firmness: default`, or an
373
377
  agent-written decision without `firmness`). Follow it; supersede it only on
374
378
  evidence that it is wrong (a failing test, a measured cost, a constraint it
@@ -381,7 +385,8 @@ conflict a person has to decide. Name the rule (id and what it requires) and
381
385
  ask whether to change it; do not implement the request and do not supersede
382
386
  the rule. Go ahead only when the person has said to change that rule, in this
383
387
  task or in reply: then supersede it with `firmness: firm` and `origin.ref` to
384
- their words, and say in the final answer which rule changed.
388
+ their words (or, for a correction they asked for in place, update it with
389
+ `origin.ref` to those words), and say in the final answer which rule changed.
385
390
 
386
391
  Set `firmness` from what a human actually said: only their stated rule is
387
392
  `firm` (with `origin.ref`); "do whatever" or your own pick is `default`; a