Repository navigation
kibi-codex@2.0.2
Patch Changes
-
35cd120: The ZCode, Codex, and Cursor plugins now recognize Kibi tools when the host
reports them with a prefix, such asmcp__kibi__kb_check. Before this fix,
an agent that correctly ran an impact check through a prefixed tool name
still got a stop reminder to run it, because the plugin never saw the check.kb-mcp-tools.tsin each adapter gainscanonicalKbToolName, which strips
mcp__<server>__,MCP:, andkibi_prefixes before matchingkb_*
operations.- The Codex hook bundle is regenerated.
-
5a06c03: Kibi's agent plugins now share one fast, consistent implementation for source-path classification, Kibi MCP tool recognition, and symbol-manifest indexing. Codex and ZCode now recognize production code outside
src/, while Cursor reuses the same size-and-mtime-keyed scanner as Claude instead of parsing the full symbol manifest before an edit.- Add
kibi-agent-coreas the common Node 18-compatible hook-helper package. - Keep host adapters thin while preserving their host-specific event and state contracts.
- Replace Cursor's YAML parser dependency with the shared cached line scanner.
- Add
-
f01838e: Usage telemetry stays off by default for every client, and there is now a supported way to turn it on. Previously the only way to capture usage was to hand-write an MCP command line with
--diagnostic-mode, which meant anyone using a shipped plugin recorded nothing at all and had no documented alternative. Operators can now opt in with an environment variable, and once they do, each row identifies the host, package version, and checkout that produced it, so behavior can be compared across editors, worktrees, and Kibi versions.- Honor
KIBI_DIAGNOSTIC_MODE=1alongside the existing--diagnostic-modeflag, for hosts where a plugin owns the MCP command line. - Stamp
interface,host,package_version, andworkspace_rooton every usage row. - Set
KIBI_MCP_HOSTfrom the Cursor and Codex launchers for attribution only; it never enables logging, and installing or enabling a plugin never starts telemetry. - Stop the bundled Cursor worktree resolver from hard-coding
--diagnostic-mode, so a shipped launcher cannot enable capture on an operator's behalf. - Document the opt-in, what a row contains, and how to opt out in
docs/mcp-reference.md.
- Honor
-
0128b56: Kibi now helps agents keep one shared vocabulary instead of letting every requirement invent its own.
kibi checkwarns when two unrelated requirements state the same obligation. Units are compared in canonical form, so "30 min" matches "1800 s", and each warning names the exact facts involved. It also flags subject keys copied from a requirement ID, subject keys that don't followcomponent.aspect, predicates whose arguments read like prose, and entity files whose name doesn't match their ID. All of these are non-blocking warnings or info notes, so existing knowledge bases keep passing.When you model a new requirement, Kibi now ranks the subjects that already exist and either reuses one or explicitly declares a new one. It also flags claims that look like possible duplicates. An intentional restatement can be recorded with the new
restatesrelationship. Skills and docs now recommend naming entities by the behavior they govern (REQ-cli-gc) instead of a sequence number (REQ-042). Existing numbered IDs stay valid.Predicate schemas can now declare the allowed values for an argument, plus the old spellings that map onto them. New facts must use those values.
kibi checkreports predicate facts that don't match any schema, andkibi migratecan fix the mechanical cases after you approve the plan hash. It moves a fact to the only namespace whose schema matches, and rewrites old spellings to the declared value. Everything that needs judgment stays a review item.- core: new
semantic_quality.pl(entity-id-style,domain-redundancy,domain-implication,subject-key-identity,subject-key-shape,ontology-quality) andunits.pl. Unit canonicalization is used for comparison only, and unknown or ambiguous units such asKBare never equated. Adds therestatesreq→req relationship and an optionaldiagnosticSeverityin the rule registry. Adds:- encoding(utf8)to modules that contain non-ASCII text. - cli/mcp:
restatesis wired through the extractors, schemas, and mutation paths.entity-id-stylewarnings are reported onkb_upsertcreates and on staged added or renamed entity files.kb_model_requirementreturnsvocabularyAlignment(subject decision, candidates, redundancy candidates, stamps,fallbackUsed). Ontology-quality thresholds can be set withKIBI_ONTOLOGY_QUALITY_MAX_SINGLETON_RATIO/KIBI_ONTOLOGY_QUALITY_MIN_FACTS.kb_compile_intentcreate mode now keeps a caller-suppliedrequirementId.kibi check --stagednow also prints its pass line when metadata-only staged changes have only advisory findings, matching the staged-symbol path. - cli/mcp:
predicate_schemafacts acceptargument_constantsandargument_aliases, stored likerule_iras JSON.kb_upsert/kb_validate_upsertreject malformed vocabularies and predicate facts that use undeclared values or aliases.kb_suggest_predicatesbinds aliases to their constant and leaves undeclared values unbound. The new advisory TypeScript rulepredicate-schema-conformancechecks predicate facts against project schemas and the built-in catalog. Its mechanical repairs become automaticpredicate_schema_alignmentmigration actions that carry the exactkb_upsertinput and re-read the fact before writing. - core:
ontology-qualityfindings name the prose-like arguments. - plugin-sdk: new
kibi.vocabulary-alignment.v1capability (rankSubjects,compareClaims) with result validators. - plugin-builtin: deterministic offline provider (IDF-weighted subject ranking and negation- and quantity-aware claim similarity).
- plugin-jev: Jev-backed provider. It runs in replace, augment, or shadow mode with builtin fallback, and makes network calls only when it is activated for
kb_model_requirement.kb_checknever calls a provider. - runtime and agent adapters: regenerated skill mirrors with the naming guidance and
restatesdirection docs.
- core: new