kibi-cli 2.29.0 → 2.31.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/dist/cli-operation-metadata.d.ts +8 -8
- package/dist/cli-operation-metadata.js +8 -8
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +35 -2
- package/dist/commands/check-certificates.d.ts +52 -0
- package/dist/commands/check-certificates.d.ts.map +1 -0
- package/dist/commands/check-certificates.js +163 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +4 -0
- package/dist/commands/discovery-table.d.ts.map +1 -1
- package/dist/commands/discovery-table.js +14 -2
- package/dist/commands/report.js +3 -3
- package/dist/commands/signoff.d.ts +37 -0
- package/dist/commands/signoff.d.ts.map +1 -0
- package/dist/commands/signoff.js +155 -0
- package/dist/operations/modeling/predicate-applicability.d.ts +5 -1
- package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -1
- package/dist/operations/modeling/predicate-applicability.js +35 -2
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +3 -1
- package/dist/operations/mutation/contradictions.d.ts +7 -5
- package/dist/operations/mutation/contradictions.d.ts.map +1 -1
- package/dist/operations/mutation/contradictions.js +8 -6
- package/dist/operations/mutation/source-authoring.d.ts +15 -0
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -1
- package/dist/operations/mutation/source-authoring.js +19 -7
- package/dist/operations/mutation/types.d.ts +5 -0
- package/dist/operations/mutation/types.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.d.ts +14 -0
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +42 -36
- package/dist/operations/mutation/validate-upsert.d.ts.map +1 -1
- package/dist/operations/mutation/validate-upsert.js +61 -37
- package/dist/operations/planning/apply-plan.js +5 -5
- package/dist/operations/proof/baseline-diff.d.ts +1 -1
- package/dist/operations/proof/baseline-diff.js +1 -1
- package/dist/operations/proof/impact.d.ts +10 -4
- package/dist/operations/proof/impact.d.ts.map +1 -1
- package/dist/operations/proof/impact.js +27 -7
- package/dist/public/diagnostic-usage.js +2 -2
- package/dist/public/operations/catalog.d.ts +31 -10
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/contracts.d.ts.map +1 -1
- package/dist/public/operations/contracts.js +2 -0
- package/dist/public/operations/specs/bootstrap.d.ts +1 -1
- package/dist/public/operations/specs/bootstrap.js +1 -1
- package/dist/public/operations/specs/check-rules.generated.d.ts +1 -1
- package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -1
- package/dist/public/operations/specs/check-rules.generated.js +3 -1
- package/dist/public/operations/specs/check.d.ts +1 -1
- package/dist/public/operations/specs/composite.d.ts +1 -1
- package/dist/public/operations/specs/composite.js +1 -1
- package/dist/public/operations/specs/discovery.d.ts +1 -1
- package/dist/public/operations/specs/discovery.js +1 -1
- package/dist/public/operations/specs/impact-review-preparation.d.ts +2 -1
- package/dist/public/operations/specs/impact-review-preparation.d.ts.map +1 -1
- package/dist/public/operations/specs/impact-review-preparation.js +2 -1
- package/dist/public/operations/specs/planning.d.ts +1 -1
- package/dist/public/operations/specs/planning.js +1 -1
- package/dist/public/operations/specs/reporting.d.ts +25 -5
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +102 -26
- package/dist/public/skills/kibi-commit-review/SKILL.md +125 -0
- package/dist/public/skills/kibi-commit-review/resources/staged-gate.md +98 -0
- package/dist/public/skills/kibi-decisions/SKILL.md +130 -0
- package/dist/public/skills/kibi-decisions/resources/decision-records.md +142 -0
- package/dist/public/skills/kibi-decisions/resources/signoff-views.md +66 -0
- package/dist/public/skills/kibi-freshness/SKILL.md +3 -1
- package/dist/public/skills/kibi-traceability/SKILL.md +4 -0
- package/dist/public/skills/kibi-usage/SKILL.md +21 -16
- package/dist/public/skills/kibi-usage/resources/proof.md +36 -4
- package/dist/public/skills/kibi-usage/resources/workflows.md +1 -1
- package/dist/report/html-report.css +11 -4
- package/dist/report/html-report.d.ts +2 -2
- package/dist/report/html-report.d.ts.map +1 -1
- package/dist/report/html-report.js +27 -21
- package/dist/report/report-view.d.ts +2 -2
- package/dist/report/report-view.js +2 -2
- package/dist/signoff/collect.d.ts +39 -0
- package/dist/signoff/collect.d.ts.map +1 -0
- package/dist/signoff/collect.js +402 -0
- package/dist/signoff/html.d.ts +4 -0
- package/dist/signoff/html.d.ts.map +1 -0
- package/dist/signoff/html.js +210 -0
- package/dist/signoff/markdown.d.ts +20 -0
- package/dist/signoff/markdown.d.ts.map +1 -0
- package/dist/signoff/markdown.js +203 -0
- package/dist/signoff/model.d.ts +139 -0
- package/dist/signoff/model.d.ts.map +1 -0
- package/dist/signoff/model.js +142 -0
- package/dist/traceability/staged-consistency.d.ts.map +1 -1
- package/dist/traceability/staged-consistency.js +3 -1
- package/dist/utils/rule-registry.generated.d.ts +10 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.js +12 -0
- package/package.json +2 -2
- package/src/public/diagnostic-usage.ts +3 -3
- package/src/public/operations/contracts.ts +2 -0
- package/src/public/operations/specs/bootstrap.ts +1 -1
- package/src/public/operations/specs/check-rules.generated.ts +3 -1
- package/src/public/operations/specs/composite.ts +1 -1
- package/src/public/operations/specs/discovery.ts +1 -1
- package/src/public/operations/specs/impact-review-preparation.ts +3 -1
- package/src/public/operations/specs/planning.ts +1 -1
- package/src/public/operations/specs/reporting.ts +114 -26
- package/src/public/skills/kibi-commit-review/SKILL.md +125 -0
- package/src/public/skills/kibi-commit-review/resources/staged-gate.md +98 -0
- package/src/public/skills/kibi-decisions/SKILL.md +130 -0
- package/src/public/skills/kibi-decisions/resources/decision-records.md +142 -0
- package/src/public/skills/kibi-decisions/resources/signoff-views.md +66 -0
- package/src/public/skills/kibi-freshness/SKILL.md +3 -1
- package/src/public/skills/kibi-traceability/SKILL.md +4 -0
- package/src/public/skills/kibi-usage/SKILL.md +21 -16
- package/src/public/skills/kibi-usage/resources/proof.md +36 -4
- package/src/public/skills/kibi-usage/resources/workflows.md +1 -1
- package/templates/github/kibi-badge.yml +1 -1
|
@@ -5,7 +5,7 @@ export { executePlanBootstrap } from "../../../operations/bootstrap/generate.js"
|
|
|
5
5
|
export const planBootstrapSpec = {
|
|
6
6
|
name: "kb_plan_bootstrap",
|
|
7
7
|
cliName: "plan-bootstrap",
|
|
8
|
-
description: "Generate a deterministic, snapshot-bound kibi.bootstrap-plan.v1 for repository onboarding. Read-only analysis of the repository plus any declared knowledge sources and cited intent claims returns evidence, bounded context questions, exact dependency-ordered actions, a canonical plan hash, and no mutation side effects.",
|
|
8
|
+
description: "Generate a deterministic, snapshot-bound kibi.bootstrap-plan.v1 for repository onboarding. Use it only to onboard a repository whose KB is empty or incomplete (the kibi-bootstrap skill drives it); for a change in an onboarded project use kb_compile_intent. Read-only analysis of the repository plus any declared knowledge sources and cited intent claims returns evidence, bounded context questions, exact dependency-ordered actions, a canonical plan hash, and no mutation side effects.",
|
|
9
9
|
businessInputSchema: {
|
|
10
10
|
type: "object",
|
|
11
11
|
properties: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Every selectable kb_check rule name, registry order. */
|
|
2
2
|
export declare const SELECTABLE_RULE_NAMES: readonly string[];
|
|
3
3
|
/** Comma-separated "Allowed:" fragment for the kb_check rules description. */
|
|
4
|
-
export declare const SELECTABLE_RULES_ALLOWED = "must-priority-coverage, symbol-coverage, symbol-traceability, symbol-granularity, no-dangling-refs, source-relationship-parity, branch-store-not-compiled, source-path-dangling, no-cycles, required-fields, deprecated-adr-no-successor, superseded-requirement-open, scenario-feasibility, scenario-feasibility-unknown, exception-claim-keys, numeric-string-value, rule-key-arguments-missing, domain-contradictions, logic-coverage, rule-safety, rule-verifiability, query-plan-safety, req-status-vocabulary, strict-fact-shape, strict-req-fact-pairing, predicate-verifiability, strict-readiness, semantic-completeness, related-requirement-unmodeled, proof-contract-symbols, entity-id-style, domain-redundancy, domain-implication, subject-key-identity, subject-key-shape, ontology-quality, exception-unapproved, exception-approval-self-attested, agent-requirement-unapproved, requirement-rationale-missing, symbol-owner-superseded, adr-unlinked, adr-proposed, predicate-schema-conformance, entity-context-missing, entity-context-acknowledged, decision-firm-unreferenced, decision-firm-superseded, decision-firm-edited, supersedes-reason-missing, supersedes-reason-acknowledged, policy-ownership, policy-markers";
|
|
4
|
+
export declare const SELECTABLE_RULES_ALLOWED = "must-priority-coverage, symbol-coverage, symbol-traceability, symbol-granularity, no-dangling-refs, source-relationship-parity, branch-store-not-compiled, source-path-dangling, no-cycles, required-fields, deprecated-adr-no-successor, superseded-requirement-open, scenario-feasibility, scenario-feasibility-unknown, exception-claim-keys, numeric-string-value, rule-key-arguments-missing, domain-contradictions, logic-coverage, rule-safety, rule-verifiability, query-plan-safety, req-status-vocabulary, strict-fact-shape, strict-req-fact-pairing, predicate-verifiability, strict-readiness, semantic-completeness, related-requirement-unmodeled, proof-contract-symbols, entity-id-style, domain-redundancy, domain-implication, subject-key-identity, subject-key-shape, ontology-quality, exception-unapproved, exception-approval-self-attested, agent-requirement-unapproved, requirement-rationale-missing, symbol-owner-superseded, adr-unlinked, adr-proposed, predicate-schema-conformance, entity-context-missing, entity-context-acknowledged, decision-firm-unreferenced, decision-firm-superseded, decision-firm-edited, supersedes-reason-missing, supersedes-reason-acknowledged, policy-ownership, policy-markers, kb-consistency, kb-consistency-unresolved";
|
|
5
5
|
//# sourceMappingURL=check-rules.generated.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-rules.generated.d.ts","sourceRoot":"","sources":["../../../../src/public/operations/specs/check-rules.generated.ts"],"names":[],"mappings":"AAUA,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"check-rules.generated.d.ts","sourceRoot":"","sources":["../../../../src/public/operations/specs/check-rules.generated.ts"],"names":[],"mappings":"AAUA,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAwDlD,CAAC;AAGF,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,iuCAC2rC,CAAC"}
|
|
@@ -62,7 +62,9 @@ export const SELECTABLE_RULE_NAMES = [
|
|
|
62
62
|
"supersedes-reason-acknowledged",
|
|
63
63
|
"policy-ownership",
|
|
64
64
|
"policy-markers",
|
|
65
|
+
"kb-consistency",
|
|
66
|
+
"kb-consistency-unresolved",
|
|
65
67
|
];
|
|
66
68
|
// implements REQ-006
|
|
67
69
|
/** Comma-separated "Allowed:" fragment for the kb_check rules description. */
|
|
68
|
-
export const SELECTABLE_RULES_ALLOWED = "must-priority-coverage, symbol-coverage, symbol-traceability, symbol-granularity, no-dangling-refs, source-relationship-parity, branch-store-not-compiled, source-path-dangling, no-cycles, required-fields, deprecated-adr-no-successor, superseded-requirement-open, scenario-feasibility, scenario-feasibility-unknown, exception-claim-keys, numeric-string-value, rule-key-arguments-missing, domain-contradictions, logic-coverage, rule-safety, rule-verifiability, query-plan-safety, req-status-vocabulary, strict-fact-shape, strict-req-fact-pairing, predicate-verifiability, strict-readiness, semantic-completeness, related-requirement-unmodeled, proof-contract-symbols, entity-id-style, domain-redundancy, domain-implication, subject-key-identity, subject-key-shape, ontology-quality, exception-unapproved, exception-approval-self-attested, agent-requirement-unapproved, requirement-rationale-missing, symbol-owner-superseded, adr-unlinked, adr-proposed, predicate-schema-conformance, entity-context-missing, entity-context-acknowledged, decision-firm-unreferenced, decision-firm-superseded, decision-firm-edited, supersedes-reason-missing, supersedes-reason-acknowledged, policy-ownership, policy-markers";
|
|
70
|
+
export const SELECTABLE_RULES_ALLOWED = "must-priority-coverage, symbol-coverage, symbol-traceability, symbol-granularity, no-dangling-refs, source-relationship-parity, branch-store-not-compiled, source-path-dangling, no-cycles, required-fields, deprecated-adr-no-successor, superseded-requirement-open, scenario-feasibility, scenario-feasibility-unknown, exception-claim-keys, numeric-string-value, rule-key-arguments-missing, domain-contradictions, logic-coverage, rule-safety, rule-verifiability, query-plan-safety, req-status-vocabulary, strict-fact-shape, strict-req-fact-pairing, predicate-verifiability, strict-readiness, semantic-completeness, related-requirement-unmodeled, proof-contract-symbols, entity-id-style, domain-redundancy, domain-implication, subject-key-identity, subject-key-shape, ontology-quality, exception-unapproved, exception-approval-self-attested, agent-requirement-unapproved, requirement-rationale-missing, symbol-owner-superseded, adr-unlinked, adr-proposed, predicate-schema-conformance, entity-context-missing, entity-context-acknowledged, decision-firm-unreferenced, decision-firm-superseded, decision-firm-edited, supersedes-reason-missing, supersedes-reason-acknowledged, policy-ownership, policy-markers, kb-consistency, kb-consistency-unresolved";
|
|
@@ -12,7 +12,7 @@ export declare const checkSpec: {
|
|
|
12
12
|
readonly type: "string";
|
|
13
13
|
readonly enum: readonly string[];
|
|
14
14
|
};
|
|
15
|
-
readonly description: "Optional rule subset. Allowed: must-priority-coverage, symbol-coverage, symbol-traceability, symbol-granularity, no-dangling-refs, source-relationship-parity, branch-store-not-compiled, source-path-dangling, no-cycles, required-fields, deprecated-adr-no-successor, superseded-requirement-open, scenario-feasibility, scenario-feasibility-unknown, exception-claim-keys, numeric-string-value, rule-key-arguments-missing, domain-contradictions, logic-coverage, rule-safety, rule-verifiability, query-plan-safety, req-status-vocabulary, strict-fact-shape, strict-req-fact-pairing, predicate-verifiability, strict-readiness, semantic-completeness, related-requirement-unmodeled, proof-contract-symbols, entity-id-style, domain-redundancy, domain-implication, subject-key-identity, subject-key-shape, ontology-quality, exception-unapproved, exception-approval-self-attested, agent-requirement-unapproved, requirement-rationale-missing, symbol-owner-superseded, adr-unlinked, adr-proposed, predicate-schema-conformance, entity-context-missing, entity-context-acknowledged, decision-firm-unreferenced, decision-firm-superseded, decision-firm-edited, supersedes-reason-missing, supersedes-reason-acknowledged, policy-ownership, policy-markers. If omitted, server runs canonical and advisory rules plus the full-KB qualityDiagnostics audit scan, including usage telemetry acceptance when evidence exists; migration rules run only when explicitly selected. Advisory and migration findings are non-blocking qualityDiagnostics. If supplied, server preserves scoped validation and skips the full-KB advisory scan.";
|
|
15
|
+
readonly description: "Optional rule subset. Allowed: must-priority-coverage, symbol-coverage, symbol-traceability, symbol-granularity, no-dangling-refs, source-relationship-parity, branch-store-not-compiled, source-path-dangling, no-cycles, required-fields, deprecated-adr-no-successor, superseded-requirement-open, scenario-feasibility, scenario-feasibility-unknown, exception-claim-keys, numeric-string-value, rule-key-arguments-missing, domain-contradictions, logic-coverage, rule-safety, rule-verifiability, query-plan-safety, req-status-vocabulary, strict-fact-shape, strict-req-fact-pairing, predicate-verifiability, strict-readiness, semantic-completeness, related-requirement-unmodeled, proof-contract-symbols, entity-id-style, domain-redundancy, domain-implication, subject-key-identity, subject-key-shape, ontology-quality, exception-unapproved, exception-approval-self-attested, agent-requirement-unapproved, requirement-rationale-missing, symbol-owner-superseded, adr-unlinked, adr-proposed, predicate-schema-conformance, entity-context-missing, entity-context-acknowledged, decision-firm-unreferenced, decision-firm-superseded, decision-firm-edited, supersedes-reason-missing, supersedes-reason-acknowledged, policy-ownership, policy-markers, kb-consistency, kb-consistency-unresolved. If omitted, server runs canonical and advisory rules plus the full-KB qualityDiagnostics audit scan, including usage telemetry acceptance when evidence exists; migration rules run only when explicitly selected. Advisory and migration findings are non-blocking qualityDiagnostics. If supplied, server preserves scoped validation and skips the full-KB advisory scan.";
|
|
16
16
|
};
|
|
17
17
|
readonly sourceFiles: {
|
|
18
18
|
readonly type: "array";
|
|
@@ -344,7 +344,7 @@ export declare const skillsSpec: {
|
|
|
344
344
|
export declare const modelSpec: {
|
|
345
345
|
readonly name: "kb_model";
|
|
346
346
|
readonly cliName: "model";
|
|
347
|
-
readonly description: "Turn requirement prose into checkable structure without writing the KB. mode:analyze returns the semantic advisor receipt: the clause ledger, what is grounded, what is ambiguous and suggested modeling (pass clauses for compound prose and optional typed kibi.logic.v1 interpretations). mode:requirement converts one claim (subjectKey, propertyKey, operator, value, or typed logic) into a strict-lane write set and applyPlan. mode:predicates ranks ontology predicate schemas and returns an applicable predicate-fact plan only for reviewed bindings, otherwise an ontology-gap observation. With requirementId, mode:predicates also returns a hash-bound plan (fact write plus requires_predicate link) for kb_apply_plan, whose contradictionAnalysis is the what-if over the current KB; other returned plans apply with kb_upsert, and kb_upsert dryRun with plannedFacts previews a requirement before its facts exist.";
|
|
347
|
+
readonly description: "Turn requirement prose into checkable structure without writing the KB. Use it for one requirement's prose; to plan a whole change request use kb_compile_intent. mode:analyze returns the semantic advisor receipt: the clause ledger, what is grounded, what is ambiguous and suggested modeling (pass clauses for compound prose and optional typed kibi.logic.v1 interpretations). mode:requirement converts one claim (subjectKey, propertyKey, operator, value, or typed logic) into a strict-lane write set and applyPlan. mode:predicates ranks ontology predicate schemas and returns an applicable predicate-fact plan only for reviewed bindings, otherwise an ontology-gap observation. With requirementId, mode:predicates also returns a hash-bound plan (fact write plus requires_predicate link) for kb_apply_plan, whose contradictionAnalysis is the what-if over the current KB; other returned plans apply with kb_upsert, and kb_upsert dryRun with plannedFacts previews a requirement before its facts exist.";
|
|
348
348
|
readonly businessInputSchema: {
|
|
349
349
|
readonly type: "object";
|
|
350
350
|
readonly required: readonly ["mode", "text"];
|
|
@@ -152,7 +152,7 @@ export const skillsSpec = {
|
|
|
152
152
|
export const modelSpec = {
|
|
153
153
|
name: "kb_model",
|
|
154
154
|
cliName: "model",
|
|
155
|
-
description: "Turn requirement prose into checkable structure without writing the KB. mode:analyze returns the semantic advisor receipt: the clause ledger, what is grounded, what is ambiguous and suggested modeling (pass clauses for compound prose and optional typed kibi.logic.v1 interpretations). mode:requirement converts one claim (subjectKey, propertyKey, operator, value, or typed logic) into a strict-lane write set and applyPlan. mode:predicates ranks ontology predicate schemas and returns an applicable predicate-fact plan only for reviewed bindings, otherwise an ontology-gap observation. With requirementId, mode:predicates also returns a hash-bound plan (fact write plus requires_predicate link) for kb_apply_plan, whose contradictionAnalysis is the what-if over the current KB; other returned plans apply with kb_upsert, and kb_upsert dryRun with plannedFacts previews a requirement before its facts exist.",
|
|
155
|
+
description: "Turn requirement prose into checkable structure without writing the KB. Use it for one requirement's prose; to plan a whole change request use kb_compile_intent. mode:analyze returns the semantic advisor receipt: the clause ledger, what is grounded, what is ambiguous and suggested modeling (pass clauses for compound prose and optional typed kibi.logic.v1 interpretations). mode:requirement converts one claim (subjectKey, propertyKey, operator, value, or typed logic) into a strict-lane write set and applyPlan. mode:predicates ranks ontology predicate schemas and returns an applicable predicate-fact plan only for reviewed bindings, otherwise an ontology-gap observation. With requirementId, mode:predicates also returns a hash-bound plan (fact write plus requires_predicate link) for kb_apply_plan, whose contradictionAnalysis is the what-if over the current KB; other returned plans apply with kb_upsert, and kb_upsert dryRun with plannedFacts previews a requirement before its facts exist.",
|
|
156
156
|
businessInputSchema: {
|
|
157
157
|
type: "object",
|
|
158
158
|
required: ["mode", "text"],
|
|
@@ -233,7 +233,7 @@ export declare const searchSpec: {
|
|
|
233
233
|
export declare const statusSpec: {
|
|
234
234
|
readonly name: "kb_status";
|
|
235
235
|
readonly cliName: "status";
|
|
236
|
-
readonly description: "Report current branch, KB snapshot, freshness metadata, schema status, and a typed kibi.migration-plan.v2 action graph. Read-only status inspection with no mutation side effects; damaged stores are diagnosed without starting the engine.";
|
|
236
|
+
readonly description: "Report current branch, KB snapshot, freshness metadata, schema status, and a typed kibi.migration-plan.v2 action graph. Call it first to orient on a branch or after a failed call; use kb_check for validation findings and kb_coverage for proof status. Read-only status inspection with no mutation side effects; damaged stores are diagnosed without starting the engine.";
|
|
237
237
|
readonly businessInputSchema: {
|
|
238
238
|
readonly type: "object";
|
|
239
239
|
readonly properties: {};
|
|
@@ -212,7 +212,7 @@ export const searchSpec = {
|
|
|
212
212
|
export const statusSpec = {
|
|
213
213
|
name: "kb_status",
|
|
214
214
|
cliName: "status",
|
|
215
|
-
description: "Report current branch, KB snapshot, freshness metadata, schema status, and a typed kibi.migration-plan.v2 action graph. Read-only status inspection with no mutation side effects; damaged stores are diagnosed without starting the engine.",
|
|
215
|
+
description: "Report current branch, KB snapshot, freshness metadata, schema status, and a typed kibi.migration-plan.v2 action graph. Call it first to orient on a branch or after a failed call; use kb_check for validation findings and kb_coverage for proof status. Read-only status inspection with no mutation side effects; damaged stores are diagnosed without starting the engine.",
|
|
216
216
|
businessInputSchema: { type: "object", properties: {} },
|
|
217
217
|
// Status must remain available when the branch store cannot be attached.
|
|
218
218
|
requiresProlog: false,
|
|
@@ -2,13 +2,14 @@ import { executePrepareImpactReview } from "../impact-review-preparation.js";
|
|
|
2
2
|
export declare const prepareImpactReviewSpec: {
|
|
3
3
|
readonly name: "kb_prepare_impact_review";
|
|
4
4
|
readonly cliName: "prepare-impact-review";
|
|
5
|
-
readonly description: "Prepare complete content-bound impact-review authoring inputs from the current staged snapshot or explicitly selected immutable Git commits. Returns strict reviewer schemas and an unauthored template; it does not decide, approve, sign, stage, or prove the review.";
|
|
5
|
+
readonly description: "Prepare complete content-bound impact-review authoring inputs from the current staged snapshot or explicitly selected immutable Git commits. Use it when kb_check reports that changed files need an impact review; it does not plan KB changes. Returns strict reviewer schemas and an unauthored template; it does not decide, approve, sign, stage, or prove the review.";
|
|
6
6
|
readonly businessInputSchema: {
|
|
7
7
|
readonly type: "object";
|
|
8
8
|
readonly additionalProperties: false;
|
|
9
9
|
readonly required: readonly ["scope"];
|
|
10
10
|
readonly properties: {
|
|
11
11
|
readonly scope: {
|
|
12
|
+
readonly description: "What to review: {\"kind\":\"staged\"} for the staged snapshot, or {\"kind\":\"diff\",\"baseCommit\":\"<sha>\",\"headCommit\":\"<sha>\"} with full commit hashes.";
|
|
12
13
|
readonly oneOf: readonly [{
|
|
13
14
|
readonly type: "object";
|
|
14
15
|
readonly additionalProperties: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impact-review-preparation.d.ts","sourceRoot":"","sources":["../../../../src/public/operations/specs/impact-review-preparation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAG7E,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"impact-review-preparation.d.ts","sourceRoot":"","sources":["../../../../src/public/operations/specs/impact-review-preparation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAG7E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CF,CAAC"}
|
|
@@ -2,13 +2,14 @@ import { executePrepareImpactReview } from "../impact-review-preparation.js";
|
|
|
2
2
|
export const prepareImpactReviewSpec = {
|
|
3
3
|
name: "kb_prepare_impact_review",
|
|
4
4
|
cliName: "prepare-impact-review",
|
|
5
|
-
description: "Prepare complete content-bound impact-review authoring inputs from the current staged snapshot or explicitly selected immutable Git commits. Returns strict reviewer schemas and an unauthored template; it does not decide, approve, sign, stage, or prove the review.",
|
|
5
|
+
description: "Prepare complete content-bound impact-review authoring inputs from the current staged snapshot or explicitly selected immutable Git commits. Use it when kb_check reports that changed files need an impact review; it does not plan KB changes. Returns strict reviewer schemas and an unauthored template; it does not decide, approve, sign, stage, or prove the review.",
|
|
6
6
|
businessInputSchema: {
|
|
7
7
|
type: "object",
|
|
8
8
|
additionalProperties: false,
|
|
9
9
|
required: ["scope"],
|
|
10
10
|
properties: {
|
|
11
11
|
scope: {
|
|
12
|
+
description: 'What to review: {"kind":"staged"} for the staged snapshot, or {"kind":"diff","baseCommit":"<sha>","headCommit":"<sha>"} with full commit hashes.',
|
|
12
13
|
oneOf: [
|
|
13
14
|
{
|
|
14
15
|
type: "object",
|
|
@@ -8,7 +8,7 @@ export { executeCompileIntent } from "../../../operations/planning/compile-inten
|
|
|
8
8
|
export declare const compileIntentSpec: {
|
|
9
9
|
readonly name: "kb_compile_intent";
|
|
10
10
|
readonly cliName: "compile-intent";
|
|
11
|
-
readonly description: "Compile complete change intent into a deterministic, snapshot-bound read-only plan. Reuses intent-aware discovery and semantic modeling, accounts for every proposition, reports contradiction witnesses, proposes traceability links, and emits dependency-ordered kb_upsert-style steps only for resolved typed claims. contradictionAnalysis.outcome is no_conflict only when the check could decide: an unmodeled proposition or a related current requirement without logic leaves it unresolved with reasons and reviewCandidates to compare and judge through conflictReviews. No mutation side effects.";
|
|
11
|
+
readonly description: "Compile complete change intent into a deterministic, snapshot-bound read-only plan. Use it before editing code for a change request that may touch several requirements; use kb_model for one requirement's prose and kb_plan_bootstrap for first-time onboarding. Reuses intent-aware discovery and semantic modeling, accounts for every proposition, reports contradiction witnesses, proposes traceability links, and emits dependency-ordered kb_upsert-style steps only for resolved typed claims. contradictionAnalysis.outcome is no_conflict only when the check could decide: an unmodeled proposition or a related current requirement without logic leaves it unresolved with reasons and reviewCandidates to compare and judge through conflictReviews. No mutation side effects.";
|
|
12
12
|
readonly businessInputSchema: {
|
|
13
13
|
readonly type: "object";
|
|
14
14
|
readonly required: readonly ["intent", "mode"];
|
|
@@ -6,7 +6,7 @@ export { executeCompileIntent } from "../../../operations/planning/compile-inten
|
|
|
6
6
|
export const compileIntentSpec = {
|
|
7
7
|
name: "kb_compile_intent",
|
|
8
8
|
cliName: "compile-intent",
|
|
9
|
-
description: "Compile complete change intent into a deterministic, snapshot-bound read-only plan. Reuses intent-aware discovery and semantic modeling, accounts for every proposition, reports contradiction witnesses, proposes traceability links, and emits dependency-ordered kb_upsert-style steps only for resolved typed claims. contradictionAnalysis.outcome is no_conflict only when the check could decide: an unmodeled proposition or a related current requirement without logic leaves it unresolved with reasons and reviewCandidates to compare and judge through conflictReviews. No mutation side effects.",
|
|
9
|
+
description: "Compile complete change intent into a deterministic, snapshot-bound read-only plan. Use it before editing code for a change request that may touch several requirements; use kb_model for one requirement's prose and kb_plan_bootstrap for first-time onboarding. Reuses intent-aware discovery and semantic modeling, accounts for every proposition, reports contradiction witnesses, proposes traceability links, and emits dependency-ordered kb_upsert-style steps only for resolved typed claims. contradictionAnalysis.outcome is no_conflict only when the check could decide: an unmodeled proposition or a related current requirement without logic leaves it unresolved with reasons and reviewCandidates to compare and judge through conflictReviews. No mutation side effects.",
|
|
10
10
|
businessInputSchema: {
|
|
11
11
|
type: "object",
|
|
12
12
|
required: ["intent", "mode"],
|
|
@@ -69,42 +69,49 @@ export declare function executeFindGaps(input: FindGapsInput, context: Operation
|
|
|
69
69
|
export declare const findGapsSpec: {
|
|
70
70
|
readonly name: "kb_find_gaps";
|
|
71
71
|
readonly cliName: "find-gaps";
|
|
72
|
-
readonly description: "
|
|
72
|
+
readonly description: "List KB entities by the relationships they lack or have. Use for questions like which requirements lack scenarios or tests; all filters must match, and a relationship counts in either direction. Use kb_coverage instead for proof status and repair plans, and kb_check for rule violations. No mutation side effects.";
|
|
73
73
|
readonly businessInputSchema: {
|
|
74
74
|
readonly type: "object";
|
|
75
75
|
readonly properties: {
|
|
76
76
|
readonly type: {
|
|
77
77
|
readonly type: "string";
|
|
78
78
|
readonly enum: readonly ["req", "scenario", "test", "adr", "flag", "event", "symbol", "fact"];
|
|
79
|
+
readonly description: "Only report entities of this type. Omit for all types.";
|
|
79
80
|
};
|
|
80
81
|
readonly missingRelationships: {
|
|
81
82
|
readonly type: "array";
|
|
82
83
|
readonly items: {
|
|
83
84
|
readonly type: "string";
|
|
84
85
|
};
|
|
86
|
+
readonly description: "Relationship types the entity must have none of, in either direction, for example specified_by or verified_by. verified_by and validates satisfy each other.";
|
|
85
87
|
};
|
|
86
88
|
readonly presentRelationships: {
|
|
87
89
|
readonly type: "array";
|
|
88
90
|
readonly items: {
|
|
89
91
|
readonly type: "string";
|
|
90
92
|
};
|
|
93
|
+
readonly description: "Relationship types the entity must have at least one of each, in either direction.";
|
|
91
94
|
};
|
|
92
95
|
readonly tags: {
|
|
93
96
|
readonly type: "array";
|
|
94
97
|
readonly items: {
|
|
95
98
|
readonly type: "string";
|
|
96
99
|
};
|
|
100
|
+
readonly description: "Keep entities carrying any of these metadata tags. Bootstrap provenance stubs appear in rows only when this names bootstrap:provenance-stub.";
|
|
97
101
|
};
|
|
98
102
|
readonly sourceFile: {
|
|
99
103
|
readonly type: "string";
|
|
104
|
+
readonly description: "Keep entities whose source path contains this substring.";
|
|
100
105
|
};
|
|
101
106
|
readonly limit: {
|
|
102
107
|
readonly type: "integer";
|
|
103
108
|
readonly default: 100;
|
|
109
|
+
readonly description: "Maximum rows to return; count reports the full total.";
|
|
104
110
|
};
|
|
105
111
|
readonly offset: {
|
|
106
112
|
readonly type: "integer";
|
|
107
113
|
readonly default: 0;
|
|
114
|
+
readonly description: "Zero-based row offset for pagination.";
|
|
108
115
|
};
|
|
109
116
|
};
|
|
110
117
|
};
|
|
@@ -118,7 +125,7 @@ export declare const findGapsSpec: {
|
|
|
118
125
|
* + bound-symbol code scope) and hand the Prolog coverage stage a
|
|
119
126
|
* TestId -> BindingHash dict. This is the default binding mode since slice 3;
|
|
120
127
|
* KIBI_PROOF_BINDING_MODE=strict-snapshot opts out (receipts then match only
|
|
121
|
-
* against the whole-workspace snapshot they were
|
|
128
|
+
* against the whole-workspace snapshot they were produced on).
|
|
122
129
|
*/
|
|
123
130
|
export declare function currentProofBindingMode(): "per_contract" | "strict_snapshot";
|
|
124
131
|
export declare function perContractTestBindings(context: OperationContext): Promise<string | null>;
|
|
@@ -134,7 +141,7 @@ export declare function executeCoverage(input: CoverageInput, context: Operation
|
|
|
134
141
|
export declare const coverageSpec: {
|
|
135
142
|
readonly name: "kb_coverage";
|
|
136
143
|
readonly cliName: "coverage";
|
|
137
|
-
readonly description: "Generate curated structural coverage and conservative end-to-end requirement proof reports for requirements, symbols, or grouped types. Reports include the compatible repair plan plus typed kibi.migration-plan.v2 actions; semantic and E2E actions remain review/execution work. Paginated plans identify incomplete scope and no mutation occurs.";
|
|
144
|
+
readonly description: "Generate curated structural coverage and conservative end-to-end requirement proof reports for requirements, symbols, or grouped types. Use it to ask which requirements are tested end to end, how strong each requirement's evidence is (evidenceLevel: proved, tested, asserted or unverified), and what blocks the rest; use kb_find_gaps for a plain list of missing links and kb_check for rule violations. Reports include the compatible repair plan plus typed kibi.migration-plan.v2 actions; semantic and E2E actions remain review/execution work. Paginated plans identify incomplete scope and no mutation occurs.";
|
|
138
145
|
readonly businessInputSchema: {
|
|
139
146
|
readonly type: "object";
|
|
140
147
|
readonly properties: {
|
|
@@ -142,36 +149,42 @@ export declare const coverageSpec: {
|
|
|
142
149
|
readonly type: "string";
|
|
143
150
|
readonly enum: readonly ["req", "symbol", "type"];
|
|
144
151
|
readonly default: "req";
|
|
152
|
+
readonly description: "Report shape: req gives per-requirement proof status and a repair plan, symbol gives per-symbol ownership coverage, type gives counts per entity type.";
|
|
145
153
|
};
|
|
146
154
|
readonly tags: {
|
|
147
155
|
readonly type: "array";
|
|
148
156
|
readonly items: {
|
|
149
157
|
readonly type: "string";
|
|
150
158
|
};
|
|
159
|
+
readonly description: "Keep rows for entities carrying any of these metadata tags.";
|
|
151
160
|
};
|
|
152
161
|
readonly includePassing: {
|
|
153
162
|
readonly type: "boolean";
|
|
154
163
|
readonly default: false;
|
|
164
|
+
readonly description: "Also return rows that are already tested or not applicable. By default only rows that still need repair are returned.";
|
|
155
165
|
};
|
|
156
166
|
readonly statuses: {
|
|
157
167
|
readonly type: "array";
|
|
158
168
|
readonly items: {
|
|
159
169
|
readonly type: "string";
|
|
160
|
-
readonly enum: readonly ["
|
|
170
|
+
readonly enum: readonly ["tested", "missing", "unresolved", "not_applicable"];
|
|
161
171
|
};
|
|
162
172
|
readonly description: "Requirement proof-status filter (req mode): include only rows whose proofStatus is listed. Selecting statuses implies include-passing; not_applicable rows carry their typed applicability reason in proofStages.applicability.reason. The summary always reflects the whole KB.";
|
|
163
173
|
};
|
|
164
174
|
readonly includeTransitive: {
|
|
165
175
|
readonly type: "boolean";
|
|
166
176
|
readonly default: true;
|
|
177
|
+
readonly description: "Count symbol coverage reached transitively through linked entities, not only direct links.";
|
|
167
178
|
};
|
|
168
179
|
readonly limit: {
|
|
169
180
|
readonly type: "integer";
|
|
170
181
|
readonly default: 100;
|
|
182
|
+
readonly description: "Maximum rows to return. When the repair plan reports scope.complete false, rerun with offset 0 and a larger limit.";
|
|
171
183
|
};
|
|
172
184
|
readonly offset: {
|
|
173
185
|
readonly type: "integer";
|
|
174
186
|
readonly default: 0;
|
|
187
|
+
readonly description: "Zero-based row offset for pagination.";
|
|
175
188
|
};
|
|
176
189
|
readonly includeMigrationPreview: {
|
|
177
190
|
readonly type: "boolean";
|
|
@@ -215,7 +228,7 @@ export declare function executeGraph(input: GraphInput, context: OperationContex
|
|
|
215
228
|
export declare const graphSpec: {
|
|
216
229
|
readonly name: "kb_graph";
|
|
217
230
|
readonly cliName: "graph";
|
|
218
|
-
readonly description: "Run bounded graph traversal from one or more seed IDs across curated relationship types. No mutation side effects.";
|
|
231
|
+
readonly description: "Run bounded graph traversal from one or more seed IDs across curated relationship types and return the nodes and edges reached. Use it to follow links from IDs you already have, such as a requirement to its scenarios and tests or a symbol to the requirements it implements; use kb_query to find entities by filter and kb_search to ask a question. Traversal stops at depth, maxNodes or maxEdges and then sets truncated. No mutation side effects.";
|
|
219
232
|
readonly businessInputSchema: {
|
|
220
233
|
readonly type: "object";
|
|
221
234
|
readonly required: readonly ["seedIds"];
|
|
@@ -225,37 +238,44 @@ export declare const graphSpec: {
|
|
|
225
238
|
readonly items: {
|
|
226
239
|
readonly type: "string";
|
|
227
240
|
};
|
|
241
|
+
readonly description: "Entity IDs to start from, for example REQ-... or SCEN-.... Seeds are always returned as nodes.";
|
|
228
242
|
};
|
|
229
243
|
readonly relationships: {
|
|
230
244
|
readonly type: "array";
|
|
231
245
|
readonly items: {
|
|
232
246
|
readonly type: "string";
|
|
233
247
|
};
|
|
248
|
+
readonly description: "Relationship types to follow, for example specified_by, verified_by or implements. Omit to follow every relationship type.";
|
|
234
249
|
};
|
|
235
250
|
readonly direction: {
|
|
236
251
|
readonly type: "string";
|
|
237
252
|
readonly enum: readonly ["outgoing", "incoming", "both"];
|
|
238
253
|
readonly default: "outgoing";
|
|
254
|
+
readonly description: "outgoing follows links from each node, incoming follows links pointing at it, both does either.";
|
|
239
255
|
};
|
|
240
256
|
readonly depth: {
|
|
241
257
|
readonly type: "integer";
|
|
242
258
|
readonly default: 1;
|
|
243
259
|
readonly minimum: 1;
|
|
244
260
|
readonly maximum: 5;
|
|
261
|
+
readonly description: "Number of hops from the seeds.";
|
|
245
262
|
};
|
|
246
263
|
readonly entityTypes: {
|
|
247
264
|
readonly type: "array";
|
|
248
265
|
readonly items: {
|
|
249
266
|
readonly type: "string";
|
|
250
267
|
};
|
|
268
|
+
readonly description: "Keep only nodes of these types (req, scenario, test, adr, flag, event, symbol, fact) in the result, and the edges between them. Traversal still passes through other types.";
|
|
251
269
|
};
|
|
252
270
|
readonly maxNodes: {
|
|
253
271
|
readonly type: "integer";
|
|
254
272
|
readonly default: 200;
|
|
273
|
+
readonly description: "Stop and set truncated once this many nodes are reached.";
|
|
255
274
|
};
|
|
256
275
|
readonly maxEdges: {
|
|
257
276
|
readonly type: "integer";
|
|
258
277
|
readonly default: 500;
|
|
278
|
+
readonly description: "Stop and set truncated once this many edges are reached.";
|
|
259
279
|
};
|
|
260
280
|
};
|
|
261
281
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../../../src/public/operations/specs/reporting.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../../../src/public/operations/specs/reporting.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ function validateEntityType(type) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
const COVERAGE_PROOF_STATUSES = new Set([
|
|
33
|
-
"
|
|
33
|
+
"tested",
|
|
34
34
|
"missing",
|
|
35
35
|
"unresolved",
|
|
36
36
|
"not_applicable",
|
|
@@ -70,20 +70,44 @@ export async function executeFindGaps(input, context) {
|
|
|
70
70
|
export const findGapsSpec = {
|
|
71
71
|
name: "kb_find_gaps",
|
|
72
72
|
cliName: "find-gaps",
|
|
73
|
-
description: "
|
|
73
|
+
description: "List KB entities by the relationships they lack or have. Use for questions like which requirements lack scenarios or tests; all filters must match, and a relationship counts in either direction. Use kb_coverage instead for proof status and repair plans, and kb_check for rule violations. No mutation side effects.",
|
|
74
74
|
businessInputSchema: {
|
|
75
75
|
type: "object",
|
|
76
76
|
properties: {
|
|
77
77
|
type: {
|
|
78
78
|
type: "string",
|
|
79
79
|
enum: ENTITY_TYPES,
|
|
80
|
+
description: "Only report entities of this type. Omit for all types.",
|
|
81
|
+
},
|
|
82
|
+
missingRelationships: {
|
|
83
|
+
type: "array",
|
|
84
|
+
items: { type: "string" },
|
|
85
|
+
description: "Relationship types the entity must have none of, in either direction, for example specified_by or verified_by. verified_by and validates satisfy each other.",
|
|
86
|
+
},
|
|
87
|
+
presentRelationships: {
|
|
88
|
+
type: "array",
|
|
89
|
+
items: { type: "string" },
|
|
90
|
+
description: "Relationship types the entity must have at least one of each, in either direction.",
|
|
91
|
+
},
|
|
92
|
+
tags: {
|
|
93
|
+
type: "array",
|
|
94
|
+
items: { type: "string" },
|
|
95
|
+
description: "Keep entities carrying any of these metadata tags. Bootstrap provenance stubs appear in rows only when this names bootstrap:provenance-stub.",
|
|
96
|
+
},
|
|
97
|
+
sourceFile: {
|
|
98
|
+
type: "string",
|
|
99
|
+
description: "Keep entities whose source path contains this substring.",
|
|
100
|
+
},
|
|
101
|
+
limit: {
|
|
102
|
+
type: "integer",
|
|
103
|
+
default: 100,
|
|
104
|
+
description: "Maximum rows to return; count reports the full total.",
|
|
105
|
+
},
|
|
106
|
+
offset: {
|
|
107
|
+
type: "integer",
|
|
108
|
+
default: 0,
|
|
109
|
+
description: "Zero-based row offset for pagination.",
|
|
80
110
|
},
|
|
81
|
-
missingRelationships: { type: "array", items: { type: "string" } },
|
|
82
|
-
presentRelationships: { type: "array", items: { type: "string" } },
|
|
83
|
-
tags: { type: "array", items: { type: "string" } },
|
|
84
|
-
sourceFile: { type: "string" },
|
|
85
|
-
limit: { type: "integer", default: 100 },
|
|
86
|
-
offset: { type: "integer", default: 0 },
|
|
87
111
|
},
|
|
88
112
|
},
|
|
89
113
|
requiresProlog: true,
|
|
@@ -96,7 +120,7 @@ export const findGapsSpec = {
|
|
|
96
120
|
* + bound-symbol code scope) and hand the Prolog coverage stage a
|
|
97
121
|
* TestId -> BindingHash dict. This is the default binding mode since slice 3;
|
|
98
122
|
* KIBI_PROOF_BINDING_MODE=strict-snapshot opts out (receipts then match only
|
|
99
|
-
* against the whole-workspace snapshot they were
|
|
123
|
+
* against the whole-workspace snapshot they were produced on).
|
|
100
124
|
*/
|
|
101
125
|
// implements REQ-kibi-verification-evidence-contract
|
|
102
126
|
export function currentProofBindingMode() {
|
|
@@ -262,13 +286,13 @@ export async function executeCoverage(input, context) {
|
|
|
262
286
|
},
|
|
263
287
|
};
|
|
264
288
|
const fullyCovered = Number(enrichedPayload.summary?.fullyCovered ?? 0);
|
|
265
|
-
const
|
|
289
|
+
const proofTested = Number(enrichedPayload.summary?.proofTested ?? 0);
|
|
266
290
|
const total = Number(enrichedPayload.summary?.total ?? 0);
|
|
267
291
|
return {
|
|
268
292
|
content: [
|
|
269
293
|
{
|
|
270
294
|
type: "text",
|
|
271
|
-
text: `Coverage summary: ${fullyCovered} structurally covered and ${
|
|
295
|
+
text: `Coverage summary: ${fullyCovered} structurally covered and ${proofTested} tested end to end out of ${total}.`,
|
|
272
296
|
},
|
|
273
297
|
],
|
|
274
298
|
structuredContent: enrichedPayload,
|
|
@@ -282,24 +306,49 @@ export async function executeCoverage(input, context) {
|
|
|
282
306
|
export const coverageSpec = {
|
|
283
307
|
name: "kb_coverage",
|
|
284
308
|
cliName: "coverage",
|
|
285
|
-
description: "Generate curated structural coverage and conservative end-to-end requirement proof reports for requirements, symbols, or grouped types. Reports include the compatible repair plan plus typed kibi.migration-plan.v2 actions; semantic and E2E actions remain review/execution work. Paginated plans identify incomplete scope and no mutation occurs.",
|
|
309
|
+
description: "Generate curated structural coverage and conservative end-to-end requirement proof reports for requirements, symbols, or grouped types. Use it to ask which requirements are tested end to end, how strong each requirement's evidence is (evidenceLevel: proved, tested, asserted or unverified), and what blocks the rest; use kb_find_gaps for a plain list of missing links and kb_check for rule violations. Reports include the compatible repair plan plus typed kibi.migration-plan.v2 actions; semantic and E2E actions remain review/execution work. Paginated plans identify incomplete scope and no mutation occurs.",
|
|
286
310
|
businessInputSchema: {
|
|
287
311
|
type: "object",
|
|
288
312
|
properties: {
|
|
289
|
-
by: {
|
|
290
|
-
|
|
291
|
-
|
|
313
|
+
by: {
|
|
314
|
+
type: "string",
|
|
315
|
+
enum: ["req", "symbol", "type"],
|
|
316
|
+
default: "req",
|
|
317
|
+
description: "Report shape: req gives per-requirement proof status and a repair plan, symbol gives per-symbol ownership coverage, type gives counts per entity type.",
|
|
318
|
+
},
|
|
319
|
+
tags: {
|
|
320
|
+
type: "array",
|
|
321
|
+
items: { type: "string" },
|
|
322
|
+
description: "Keep rows for entities carrying any of these metadata tags.",
|
|
323
|
+
},
|
|
324
|
+
includePassing: {
|
|
325
|
+
type: "boolean",
|
|
326
|
+
default: false,
|
|
327
|
+
description: "Also return rows that are already tested or not applicable. By default only rows that still need repair are returned.",
|
|
328
|
+
},
|
|
292
329
|
statuses: {
|
|
293
330
|
type: "array",
|
|
294
331
|
items: {
|
|
295
332
|
type: "string",
|
|
296
|
-
enum: ["
|
|
333
|
+
enum: ["tested", "missing", "unresolved", "not_applicable"],
|
|
297
334
|
},
|
|
298
335
|
description: "Requirement proof-status filter (req mode): include only rows whose proofStatus is listed. Selecting statuses implies include-passing; not_applicable rows carry their typed applicability reason in proofStages.applicability.reason. The summary always reflects the whole KB.",
|
|
299
336
|
},
|
|
300
|
-
includeTransitive: {
|
|
301
|
-
|
|
302
|
-
|
|
337
|
+
includeTransitive: {
|
|
338
|
+
type: "boolean",
|
|
339
|
+
default: true,
|
|
340
|
+
description: "Count symbol coverage reached transitively through linked entities, not only direct links.",
|
|
341
|
+
},
|
|
342
|
+
limit: {
|
|
343
|
+
type: "integer",
|
|
344
|
+
default: 100,
|
|
345
|
+
description: "Maximum rows to return. When the repair plan reports scope.complete false, rerun with offset 0 and a larger limit.",
|
|
346
|
+
},
|
|
347
|
+
offset: {
|
|
348
|
+
type: "integer",
|
|
349
|
+
default: 0,
|
|
350
|
+
description: "Zero-based row offset for pagination.",
|
|
351
|
+
},
|
|
303
352
|
includeMigrationPreview: {
|
|
304
353
|
type: "boolean",
|
|
305
354
|
default: false,
|
|
@@ -367,22 +416,49 @@ export async function executeGraph(input, context) {
|
|
|
367
416
|
export const graphSpec = {
|
|
368
417
|
name: "kb_graph",
|
|
369
418
|
cliName: "graph",
|
|
370
|
-
description: "Run bounded graph traversal from one or more seed IDs across curated relationship types. No mutation side effects.",
|
|
419
|
+
description: "Run bounded graph traversal from one or more seed IDs across curated relationship types and return the nodes and edges reached. Use it to follow links from IDs you already have, such as a requirement to its scenarios and tests or a symbol to the requirements it implements; use kb_query to find entities by filter and kb_search to ask a question. Traversal stops at depth, maxNodes or maxEdges and then sets truncated. No mutation side effects.",
|
|
371
420
|
businessInputSchema: {
|
|
372
421
|
type: "object",
|
|
373
422
|
required: ["seedIds"],
|
|
374
423
|
properties: {
|
|
375
|
-
seedIds: {
|
|
376
|
-
|
|
424
|
+
seedIds: {
|
|
425
|
+
type: "array",
|
|
426
|
+
items: { type: "string" },
|
|
427
|
+
description: "Entity IDs to start from, for example REQ-... or SCEN-.... Seeds are always returned as nodes.",
|
|
428
|
+
},
|
|
429
|
+
relationships: {
|
|
430
|
+
type: "array",
|
|
431
|
+
items: { type: "string" },
|
|
432
|
+
description: "Relationship types to follow, for example specified_by, verified_by or implements. Omit to follow every relationship type.",
|
|
433
|
+
},
|
|
377
434
|
direction: {
|
|
378
435
|
type: "string",
|
|
379
436
|
enum: ["outgoing", "incoming", "both"],
|
|
380
437
|
default: "outgoing",
|
|
438
|
+
description: "outgoing follows links from each node, incoming follows links pointing at it, both does either.",
|
|
439
|
+
},
|
|
440
|
+
depth: {
|
|
441
|
+
type: "integer",
|
|
442
|
+
default: 1,
|
|
443
|
+
minimum: 1,
|
|
444
|
+
maximum: 5,
|
|
445
|
+
description: "Number of hops from the seeds.",
|
|
446
|
+
},
|
|
447
|
+
entityTypes: {
|
|
448
|
+
type: "array",
|
|
449
|
+
items: { type: "string" },
|
|
450
|
+
description: "Keep only nodes of these types (req, scenario, test, adr, flag, event, symbol, fact) in the result, and the edges between them. Traversal still passes through other types.",
|
|
451
|
+
},
|
|
452
|
+
maxNodes: {
|
|
453
|
+
type: "integer",
|
|
454
|
+
default: 200,
|
|
455
|
+
description: "Stop and set truncated once this many nodes are reached.",
|
|
456
|
+
},
|
|
457
|
+
maxEdges: {
|
|
458
|
+
type: "integer",
|
|
459
|
+
default: 500,
|
|
460
|
+
description: "Stop and set truncated once this many edges are reached.",
|
|
381
461
|
},
|
|
382
|
-
depth: { type: "integer", default: 1, minimum: 1, maximum: 5 },
|
|
383
|
-
entityTypes: { type: "array", items: { type: "string" } },
|
|
384
|
-
maxNodes: { type: "integer", default: 200 },
|
|
385
|
-
maxEdges: { type: "integer", default: 500 },
|
|
386
462
|
},
|
|
387
463
|
},
|
|
388
464
|
requiresProlog: true,
|