kibi-cli 2.31.1 → 2.35.1
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-register-proof.d.ts.map +1 -1
- package/dist/cli-register-proof.js +19 -7
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -1
- package/dist/commands/check-generated.d.ts +5 -1
- package/dist/commands/check-generated.d.ts.map +1 -1
- package/dist/commands/check-generated.js +24 -35
- package/dist/commands/check.d.ts +1 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +14 -5
- package/dist/commands/discovery-table.d.ts.map +1 -1
- package/dist/commands/discovery-table.js +51 -4
- package/dist/commands/doctor.js +19 -4
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +8 -5
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +109 -5
- package/dist/commands/prove.d.ts +48 -1
- package/dist/commands/prove.d.ts.map +1 -1
- package/dist/commands/prove.js +293 -8
- package/dist/commands/report.d.ts +1 -0
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +70 -5
- package/dist/commands/signoff.d.ts.map +1 -1
- package/dist/commands/signoff.js +20 -1
- package/dist/commands/sync/manifest.d.ts +10 -1
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +106 -17
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +16 -5
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +19 -0
- package/dist/diagnostics.js +1 -1
- package/dist/engine.js +1 -1
- package/dist/extractors/markdown.d.ts +4 -2
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +17 -0
- package/dist/extractors/symbol-coordinates.js +2 -2
- package/dist/extractors/symbols-coordinator.d.ts +2 -4
- package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/extractors/symbols-coordinator.js +1 -2
- package/dist/operations/bootstrap/candidate-helpers.d.ts +3 -0
- package/dist/operations/bootstrap/candidate-helpers.d.ts.map +1 -1
- package/dist/operations/bootstrap/candidate-helpers.js +4 -0
- package/dist/operations/migration/evidence-floor.d.ts +41 -0
- package/dist/operations/migration/evidence-floor.d.ts.map +1 -0
- package/dist/operations/migration/evidence-floor.js +230 -0
- package/dist/operations/migration/proof-contract-claims.d.ts +72 -0
- package/dist/operations/migration/proof-contract-claims.d.ts.map +1 -0
- package/dist/operations/migration/proof-contract-claims.js +215 -0
- package/dist/operations/migration/schema6.d.ts +6 -0
- package/dist/operations/migration/schema6.d.ts.map +1 -1
- package/dist/operations/migration/schema6.js +92 -0
- package/dist/operations/migration/symbol-coordinates-refresh.d.ts +3 -2
- package/dist/operations/migration/symbol-coordinates-refresh.d.ts.map +1 -1
- package/dist/operations/migration/symbol-coordinates-refresh.js +4 -3
- package/dist/operations/migration/untrack-symbol-coordinates.d.ts +23 -0
- package/dist/operations/migration/untrack-symbol-coordinates.d.ts.map +1 -0
- package/dist/operations/migration/untrack-symbol-coordinates.js +67 -0
- package/dist/operations/modeling/requirement-modeler.d.ts.map +1 -1
- package/dist/operations/modeling/requirement-modeler.js +48 -1
- package/dist/operations/modeling/requirement-types.d.ts +2 -1
- package/dist/operations/modeling/requirement-types.d.ts.map +1 -1
- package/dist/operations/modeling/requirement-utils.d.ts +1 -1
- package/dist/operations/modeling/requirement-utils.d.ts.map +1 -1
- package/dist/operations/modeling/requirement-utils.js +8 -1
- package/dist/operations/mutation/omitted-properties.d.ts +11 -0
- package/dist/operations/mutation/omitted-properties.d.ts.map +1 -0
- package/dist/operations/mutation/omitted-properties.js +76 -0
- package/dist/operations/mutation/serialization.d.ts.map +1 -1
- package/dist/operations/mutation/serialization.js +1 -0
- package/dist/operations/mutation/source-authoring.d.ts.map +1 -1
- package/dist/operations/mutation/source-authoring.js +39 -20
- package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
- package/dist/operations/mutation/strict-fact.js +6 -2
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +5 -3
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +7 -1
- package/dist/operations/mutation/validation.d.ts +2 -0
- package/dist/operations/mutation/validation.d.ts.map +1 -1
- package/dist/operations/mutation/validation.js +4 -0
- package/dist/operations/proof/claim-bindings.d.ts +41 -0
- package/dist/operations/proof/claim-bindings.d.ts.map +1 -0
- package/dist/operations/proof/claim-bindings.js +364 -0
- package/dist/operations/proof/code-certificates.d.ts +155 -0
- package/dist/operations/proof/code-certificates.d.ts.map +1 -0
- package/dist/operations/proof/code-certificates.js +894 -0
- package/dist/operations/proof/code-models.d.ts +96 -0
- package/dist/operations/proof/code-models.d.ts.map +1 -0
- package/dist/operations/proof/code-models.js +601 -0
- package/dist/operations/proof/code-runner.d.ts +40 -0
- package/dist/operations/proof/code-runner.d.ts.map +1 -0
- package/dist/operations/proof/code-runner.js +164 -0
- package/dist/operations/proof/code-scope.d.ts +14 -1
- package/dist/operations/proof/code-scope.d.ts.map +1 -1
- package/dist/operations/proof/code-scope.js +44 -2
- package/dist/operations/proof/compact-receipts.d.ts.map +1 -1
- package/dist/operations/proof/compact-receipts.js +4 -3
- package/dist/operations/proof/explain.d.ts +32 -0
- package/dist/operations/proof/explain.d.ts.map +1 -1
- package/dist/operations/proof/explain.js +91 -0
- package/dist/operations/proof/ingest-proof.d.ts +9 -1
- package/dist/operations/proof/ingest-proof.d.ts.map +1 -1
- package/dist/operations/proof/ingest-proof.js +42 -2
- package/dist/operations/proof/receipt-compaction.d.ts +2 -0
- package/dist/operations/proof/receipt-compaction.d.ts.map +1 -1
- package/dist/operations/proof/receipt-compaction.js +6 -2
- package/dist/operations/proof/regular-language.d.ts +89 -0
- package/dist/operations/proof/regular-language.d.ts.map +1 -0
- package/dist/operations/proof/regular-language.js +943 -0
- package/dist/operations/proof/source-code-readers.d.ts +12 -0
- package/dist/operations/proof/source-code-readers.d.ts.map +1 -0
- package/dist/operations/proof/source-code-readers.js +699 -0
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +2 -1
- package/dist/operations/semantic-advisor/shared.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/shared.js +4 -0
- package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/strict-count-rules.js +8 -2
- package/dist/operations/semantic-advisor/strict-rules.d.ts +8 -0
- package/dist/operations/semantic-advisor/strict-rules.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/strict-rules.js +234 -4
- package/dist/operations/semantic-advisor/types.d.ts +3 -2
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/plugins/approved-source-analyzers.generated.d.ts +6 -6
- package/dist/plugins/approved-source-analyzers.generated.js +6 -6
- package/dist/prolog.d.ts.map +1 -1
- package/dist/prolog.js +13 -3
- package/dist/proof/command-test-report.d.ts +4 -3
- package/dist/proof/command-test-report.d.ts.map +1 -1
- package/dist/proof/command-test-report.js +4 -10
- package/dist/proof/evaluate.d.ts.map +1 -1
- package/dist/proof/evaluate.js +18 -2
- package/dist/proof/inspect.d.ts.map +1 -1
- package/dist/proof/inspect.js +58 -0
- package/dist/proof/producers/playwright-reporter.d.ts +3 -0
- package/dist/proof/producers/playwright-reporter.d.ts.map +1 -1
- package/dist/proof/producers/playwright-reporter.js +25 -2
- package/dist/proof/step-runner.d.ts +36 -0
- package/dist/proof/step-runner.d.ts.map +1 -0
- package/dist/proof/step-runner.js +234 -0
- package/dist/public/evidence-levels.d.ts +12 -0
- package/dist/public/evidence-levels.d.ts.map +1 -0
- package/dist/public/evidence-levels.js +19 -0
- package/dist/public/impact/coverage-depth-quality.d.ts +7 -0
- package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
- package/dist/public/impact/coverage-depth-quality.js +59 -0
- package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
- package/dist/public/impact/full-kb-quality.js +3 -1
- package/dist/public/operations/catalog.d.ts +315 -11
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/check-executor.d.ts +2 -0
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +6 -0
- package/dist/public/operations/evidence-floor.d.ts +48 -0
- package/dist/public/operations/evidence-floor.d.ts.map +1 -0
- package/dist/public/operations/evidence-floor.js +143 -0
- package/dist/public/operations/migration-plan.d.ts +19 -5
- package/dist/public/operations/migration-plan.d.ts.map +1 -1
- package/dist/public/operations/migration-plan.js +22 -5
- package/dist/public/operations/node-ports.d.ts.map +1 -1
- package/dist/public/operations/node-ports.js +4 -1
- package/dist/public/operations/proof-contract-claims.d.ts +26 -0
- package/dist/public/operations/proof-contract-claims.d.ts.map +1 -0
- package/dist/public/operations/proof-contract-claims.js +71 -0
- 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 +16 -3
- package/dist/public/operations/specs/composite.d.ts.map +1 -1
- package/dist/public/operations/specs/modeling.d.ts +16 -3
- package/dist/public/operations/specs/modeling.d.ts.map +1 -1
- package/dist/public/operations/specs/modeling.js +22 -3
- package/dist/public/operations/specs/mutation-schemas.d.ts +289 -7
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/mutation-schemas.js +28 -4
- package/dist/public/operations/specs/proof.d.ts +9 -0
- package/dist/public/operations/specs/proof.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +19 -10
- package/dist/public/operations/specs/upsert.d.ts +289 -7
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/proof-certificates.d.ts +163 -0
- package/dist/public/proof-certificates.d.ts.map +1 -0
- package/dist/public/proof-certificates.js +419 -0
- package/dist/public/proof-protocol.d.ts +259 -3
- package/dist/public/proof-protocol.d.ts.map +1 -1
- package/dist/public/proof-protocol.js +524 -3
- package/dist/public/proof-receipt.d.ts +90 -6
- package/dist/public/proof-receipt.d.ts.map +1 -1
- package/dist/public/proof-receipt.js +88 -7
- package/dist/public/proof-sources.d.ts +102 -0
- package/dist/public/proof-sources.d.ts.map +1 -0
- package/dist/public/proof-sources.js +1292 -0
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +39 -2
- package/dist/public/skills/kibi-bootstrap/SKILL.md +2 -2
- package/dist/public/skills/kibi-commit-review/SKILL.md +8 -8
- package/dist/public/skills/kibi-commit-review/resources/staged-gate.md +12 -7
- package/dist/public/skills/kibi-decisions/SKILL.md +13 -2
- package/dist/public/skills/kibi-decisions/resources/decision-records.md +9 -1
- package/dist/public/skills/kibi-freshness/SKILL.md +5 -1
- package/dist/public/skills/kibi-traceability/SKILL.md +12 -1
- package/dist/public/skills/kibi-usage/SKILL.md +8 -4
- package/dist/public/skills/kibi-usage/resources/proof.md +221 -20
- package/dist/public/skills/kibi-usage/resources/workflows.md +4 -4
- package/dist/report/html-report.css +83 -11
- package/dist/report/html-report.d.ts +8 -0
- package/dist/report/html-report.d.ts.map +1 -1
- package/dist/report/html-report.js +214 -22
- package/dist/report/report-view.d.ts +2 -2
- package/dist/report/report-view.d.ts.map +1 -1
- package/dist/report/report-view.js +8 -0
- package/dist/schemas/entity.schema.json +404 -5
- package/dist/search-answer.d.ts.map +1 -1
- package/dist/search-answer.js +1 -0
- package/dist/signoff/html.d.ts.map +1 -1
- package/dist/signoff/html.js +3 -0
- package/dist/signoff/markdown.d.ts.map +1 -1
- package/dist/signoff/markdown.js +3 -0
- package/dist/signoff/model.d.ts +20 -0
- package/dist/signoff/model.d.ts.map +1 -1
- package/dist/signoff/model.js +20 -1
- package/dist/traceability/evidence-model.d.ts +13 -12
- package/dist/traceability/evidence-model.d.ts.map +1 -1
- package/dist/traceability/evidence-model.js +1 -1
- package/dist/traceability/impact-knowledge.d.ts.map +1 -1
- package/dist/traceability/impact-knowledge.js +1 -0
- package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
- package/dist/traceability/staged-diagnostics.js +24 -20
- package/dist/traceability/staged-impact-contract.d.ts +4 -4
- package/dist/traceability/staged-impact-contract.js +9 -9
- package/dist/traceability/staged-symbols-manifest.d.ts +11 -3
- package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
- package/dist/traceability/staged-symbols-manifest.js +47 -140
- package/dist/traceability/temp-kb.d.ts.map +1 -1
- package/dist/traceability/temp-kb.js +1 -0
- package/dist/types/entities.d.ts +5 -2
- package/dist/types/entities.d.ts.map +1 -1
- package/dist/utils/merge-driver-setup.d.ts +8 -1
- package/dist/utils/merge-driver-setup.d.ts.map +1 -1
- package/dist/utils/merge-driver-setup.js +23 -2
- 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/dist/utils/schema-version.d.ts +1 -1
- package/dist/utils/schema-version.d.ts.map +1 -1
- package/dist/utils/schema-version.js +7 -1
- package/dist/utils/strict-modeling.d.ts +3 -2
- package/dist/utils/strict-modeling.d.ts.map +1 -1
- package/dist/utils/strict-modeling.js +37 -4
- package/dist/workspace-cwd.d.ts +15 -0
- package/dist/workspace-cwd.d.ts.map +1 -0
- package/dist/workspace-cwd.js +86 -0
- package/package.json +6 -2
- package/schema/entities.pl +6 -0
- package/schema/validation.pl +7 -2
- package/src/public/evidence-levels.ts +23 -0
- package/src/public/impact/coverage-depth-quality.ts +73 -0
- package/src/public/impact/full-kb-quality.ts +6 -1
- package/src/public/operations/check-executor.ts +13 -0
- package/src/public/operations/evidence-floor.ts +203 -0
- package/src/public/operations/migration-plan.ts +39 -6
- package/src/public/operations/node-ports.ts +3 -1
- package/src/public/operations/proof-contract-claims.ts +103 -0
- package/src/public/operations/specs/check-rules.generated.ts +3 -1
- package/src/public/operations/specs/modeling.ts +24 -5
- package/src/public/operations/specs/mutation-schemas.ts +30 -4
- package/src/public/operations/specs/reporting.ts +20 -10
- package/src/public/proof-certificates.ts +566 -0
- package/src/public/proof-protocol-types.d.ts +69 -1
- package/src/public/proof-protocol.ts +694 -3
- package/src/public/proof-receipt.ts +133 -7
- package/src/public/proof-sources.ts +1656 -0
- package/src/public/schemas/entity.ts +51 -3
- package/src/public/skills/kibi-bootstrap/SKILL.md +2 -2
- package/src/public/skills/kibi-commit-review/SKILL.md +8 -8
- package/src/public/skills/kibi-commit-review/resources/staged-gate.md +12 -7
- package/src/public/skills/kibi-decisions/SKILL.md +13 -2
- package/src/public/skills/kibi-decisions/resources/decision-records.md +9 -1
- package/src/public/skills/kibi-freshness/SKILL.md +5 -1
- package/src/public/skills/kibi-traceability/SKILL.md +12 -1
- package/src/public/skills/kibi-usage/SKILL.md +8 -4
- package/src/public/skills/kibi-usage/resources/proof.md +221 -20
- package/src/public/skills/kibi-usage/resources/workflows.md +4 -4
- package/src/schemas/entity.schema.json +404 -5
- package/dist/commands/proof-impact.d.ts +0 -7
- package/dist/commands/proof-impact.d.ts.map +0 -1
- package/dist/commands/proof-impact.js +0 -39
- package/dist/operations/proof/baseline-diff.d.ts +0 -41
- package/dist/operations/proof/baseline-diff.d.ts.map +0 -1
- package/dist/operations/proof/baseline-diff.js +0 -153
- package/dist/operations/proof/impact.d.ts +0 -51
- package/dist/operations/proof/impact.d.ts.map +0 -1
- package/dist/operations/proof/impact.js +0 -138
- package/dist/traceability/reviewed-coordinate-refresh.d.ts +0 -10
- package/dist/traceability/reviewed-coordinate-refresh.d.ts.map +0 -1
- package/dist/traceability/reviewed-coordinate-refresh.js +0 -49
package/dist/commands/migrate.js
CHANGED
|
@@ -21,6 +21,7 @@ import { countByType } from "../operations/migration/entity-body-context.js";
|
|
|
21
21
|
import { applyEntityTypeBackfill, planEntityTypeBackfill, } from "../operations/migration/entity-type.js";
|
|
22
22
|
import { applySafeInventoryRederivations, planInventoryRederivation, } from "../operations/migration/inventory-rederive.js";
|
|
23
23
|
import { applyOriginBackfill, planOriginBackfill, } from "../operations/migration/origin-backfill.js";
|
|
24
|
+
import { claimReviewInstruction, } from "../operations/migration/proof-contract-claims.js";
|
|
24
25
|
import { applyDeliveredStatusMappings, planRequirementStatusMappings, } from "../operations/migration/requirement-status.js";
|
|
25
26
|
import { applySourcePathRepairs, findSourceRepairs, } from "../operations/migration/source-paths.js";
|
|
26
27
|
import { applySupersededClosures, planSupersededClosures, } from "../operations/migration/superseded-closure.js";
|
|
@@ -28,8 +29,8 @@ import { coordinateRefreshFailureMessage, readGeneratedManifestBytes, refreshCoo
|
|
|
28
29
|
import { applySymbolLegacyLinks, planSymbolLegacyLinks, } from "../operations/migration/symbol-legacy-links.js";
|
|
29
30
|
import { resolveBranchAttachment } from "../utils/branch-resolver.js";
|
|
30
31
|
import { defaultKbManifest, readKbManifest, readKbManifestStatus, writeKbManifest, } from "../utils/kb-manifest.js";
|
|
31
|
-
import { CANONICAL_ENTITY_PATHS } from "../utils/kb-paths.js";
|
|
32
|
-
import {
|
|
32
|
+
import { CANONICAL_ENTITY_PATHS, KB_PATHS } from "../utils/kb-paths.js";
|
|
33
|
+
import { manifestMergeDriverGaps, mergeDriverSetup, } from "../utils/merge-driver-setup.js";
|
|
33
34
|
import { LATEST_KB_SCHEMA_VERSION, getSchemaVersionStatus, normalizeSchemaVersion, } from "../utils/schema-version.js";
|
|
34
35
|
import { updateGitIgnore } from "./init-helpers.js";
|
|
35
36
|
import { applyLegacyStorageMigration, planLegacyStorageMigration, } from "./legacy-storage-migration.js";
|
|
@@ -95,6 +96,24 @@ const SCHEMA_MIGRATION_STEPS = [
|
|
|
95
96
|
to: 10,
|
|
96
97
|
description: "Read a requirement or ADR without firmness as firm unless an agent wrote it, and acknowledge in the manifest the supersedes of such decisions recorded before; no source file is rewritten and no firmness is written.",
|
|
97
98
|
},
|
|
99
|
+
{
|
|
100
|
+
id: "evidence-floor-v11",
|
|
101
|
+
from: 10,
|
|
102
|
+
to: 11,
|
|
103
|
+
description: "Check every current requirement's evidence level against its floor (required_evidence, else tested when firm), and record required_evidence: asserted on current firm requirements that have no scenario verified by a test with a proof contract; front matter only.",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id: "claim-bound-proofs-v12",
|
|
107
|
+
from: 11,
|
|
108
|
+
to: 12,
|
|
109
|
+
description: "Require every certificate-kind proof contract to name the requirement claims it proves, and pin proves on contracts whose test reaches exactly one claim the proof kind can derive an obligation for; front matter only. Other contracts are listed for a person to bind.",
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
id: "derived-symbol-coordinates-v13",
|
|
113
|
+
from: 12,
|
|
114
|
+
to: 13,
|
|
115
|
+
description: "Derive symbol coordinates on every sync instead of committing them: add .kb/symbol-coordinates.yaml to .gitignore and remove it from the Git index (the local file stays).",
|
|
116
|
+
},
|
|
98
117
|
];
|
|
99
118
|
function migrationStepsFor(fromVersion) {
|
|
100
119
|
const start = Math.max(0, fromVersion ?? 0);
|
|
@@ -103,6 +122,15 @@ function migrationStepsFor(fromVersion) {
|
|
|
103
122
|
function printWarning(message) {
|
|
104
123
|
console.log(`Warning: ${message}`);
|
|
105
124
|
}
|
|
125
|
+
function printClaimBindingReview(plan, noStore, dryRun) {
|
|
126
|
+
const prefix = dryRun ? "dry run: " : "";
|
|
127
|
+
if (noStore)
|
|
128
|
+
console.log(`${prefix}no synced store could be read, so no proof_contract.proves was pinned; run kibi sync and rerun kibi migrate, or add proves by hand where kibi check --rules proof-contract-claims reports a contract.`);
|
|
129
|
+
for (const row of plan.review)
|
|
130
|
+
console.log(`${prefix}${claimReviewInstruction(row)}`);
|
|
131
|
+
for (const skip of plan.skipped)
|
|
132
|
+
printWarning(`Cannot pin proves on ${skip.path}: ${skip.reason}.`);
|
|
133
|
+
}
|
|
106
134
|
function toRelativePath(cwd, filePath) {
|
|
107
135
|
const relativePath = path.relative(cwd, filePath);
|
|
108
136
|
return relativePath.length > 0 ? relativePath : path.basename(filePath);
|
|
@@ -201,7 +229,7 @@ function markLegacySymbolLinks(cwd, dryRun, manifestPath) {
|
|
|
201
229
|
async function refreshMigratedSymbolCoordinates(cwd, before) {
|
|
202
230
|
const refresh = await refreshCoordinatesAfterMigration(cwd, before);
|
|
203
231
|
if (refresh.outcome === "refreshed")
|
|
204
|
-
console.log("Refreshed generated symbol coordinates for the migrated .kb/symbols.yaml; stage .kb/symbols.yaml
|
|
232
|
+
console.log("Refreshed generated symbol coordinates for the migrated .kb/symbols.yaml; stage .kb/symbols.yaml with the migration.");
|
|
205
233
|
else if (refresh.outcome === "failed")
|
|
206
234
|
printWarning(coordinateRefreshFailureMessage(refresh.reason));
|
|
207
235
|
}
|
|
@@ -540,6 +568,18 @@ export async function migrateCommand(options = {}) {
|
|
|
540
568
|
const bodyContextStep = migrationSteps.some((step) => step.id === "entity-body-context-v8");
|
|
541
569
|
const decisionFirmnessStep = migrationSteps.some((step) => step.id === "decision-firmness-v9");
|
|
542
570
|
const firmnessFromOriginStep = migrationSteps.some((step) => step.id === "firmness-from-origin-v10");
|
|
571
|
+
const evidenceFloorStep = migrationSteps.some((step) => step.id === "evidence-floor-v11");
|
|
572
|
+
const { applyEvidenceFloorPins, planEvidenceFloorPins, readLadderFloorVerdicts, } = await import("../operations/migration/evidence-floor.js");
|
|
573
|
+
// Read before any source rewrite: the store still holds the KB as it was,
|
|
574
|
+
// and the floors are judged by the same ladder kibi check applies.
|
|
575
|
+
const ladderFloors = evidenceFloorStep
|
|
576
|
+
? await readLadderFloorVerdicts(cwd)
|
|
577
|
+
: null;
|
|
578
|
+
const claimBindingStep = migrationSteps.some((step) => step.id === "claim-bound-proofs-v12");
|
|
579
|
+
const { applyProofContractClaimPins, planProofContractClaimPins, readProofContractClaimCandidates, } = await import("../operations/migration/proof-contract-claims.js");
|
|
580
|
+
const claimCandidates = claimBindingStep
|
|
581
|
+
? await readProofContractClaimCandidates(cwd)
|
|
582
|
+
: null;
|
|
543
583
|
const { mergeSupersedesAcknowledgements, planSupersedesReasonAcknowledgement, } = await import("../operations/migration/supersedes-reason.js");
|
|
544
584
|
const { mergeFirmSupersedeAcknowledgements, planFirmSupersedeAcknowledgement, } = await import("../operations/migration/firm-supersede.js");
|
|
545
585
|
const { acknowledgedContextIds, applyContextMissingTags, applySemanticTextPins, countByType, planContextMissingTags, planSemanticTextPins, } = await import("../operations/migration/entity-body-context.js");
|
|
@@ -568,6 +608,28 @@ export async function migrateCommand(options = {}) {
|
|
|
568
608
|
if (firmEdges.length > 0)
|
|
569
609
|
console.log(`dry run: would acknowledge ${firmEdges.length} supersede(s) of decisions that read as firm from schema 10 (manifest only; no firmness is written).`);
|
|
570
610
|
}
|
|
611
|
+
if (evidenceFloorStep) {
|
|
612
|
+
const floors = planEvidenceFloorPins(cwd, ladderFloors);
|
|
613
|
+
if (floors.targets.length > 0)
|
|
614
|
+
console.log(`dry run: would record required_evidence: asserted on ${floors.targets.length} current firm requirement(s) whose evidence is below tested (front matter only).`);
|
|
615
|
+
if (floors.kept.length > 0)
|
|
616
|
+
console.log(floors.decidedBy === "ladder"
|
|
617
|
+
? `dry run: ${floors.kept.length} firm requirement(s) keep the tested floor (${floors.kept.join(", ")}); the evidence ladder on the synced store accepts each, or needs only kibi prove re-run.`
|
|
618
|
+
: `dry run: ${floors.kept.length} firm requirement(s) keep the tested floor (${floors.kept.join(", ")}) because their latest end-to-end receipt passed; no synced store could be read, so other proof gaps were not judged. Run kibi sync and rerun the dry run for the ladder's verdict.`);
|
|
619
|
+
for (const skip of floors.skipped)
|
|
620
|
+
printWarning(`Cannot edit ${skip.path}: ${skip.reason}.`);
|
|
621
|
+
}
|
|
622
|
+
if (claimBindingStep) {
|
|
623
|
+
const claims = planProofContractClaimPins(cwd, claimCandidates);
|
|
624
|
+
if (claims.targets.length > 0)
|
|
625
|
+
console.log(`dry run: would pin proof_contract.proves on ${claims.targets.length} certificate test(s) whose test reaches exactly one provable claim (${claims.targets.map((target) => target.id).join(", ")}); front matter only.`);
|
|
626
|
+
printClaimBindingReview(claims, claimCandidates === null, true);
|
|
627
|
+
}
|
|
628
|
+
if (migrationSteps.some((step) => step.id === "derived-symbol-coordinates-v13")) {
|
|
629
|
+
const { isCoordinateArtifactTracked } = await import("../operations/migration/untrack-symbol-coordinates.js");
|
|
630
|
+
if (isCoordinateArtifactTracked(cwd) === true)
|
|
631
|
+
console.log(`dry run: would remove ${KB_PATHS.symbolCoordinates} from the Git index and gitignore it; sync derives symbol coordinates from schema 13.`);
|
|
632
|
+
}
|
|
571
633
|
if (storagePlan.moves.length > 0) {
|
|
572
634
|
console.log(`dry run: would move ${storagePlan.moves.length} legacy knowledge file(s) into .kb/:`);
|
|
573
635
|
for (const move of storagePlan.moves) {
|
|
@@ -655,6 +717,15 @@ export async function migrateCommand(options = {}) {
|
|
|
655
717
|
const firmSupersedes = firmnessFromOriginStep
|
|
656
718
|
? planFirmSupersedeAcknowledgement(cwd)
|
|
657
719
|
: [];
|
|
720
|
+
const evidenceFloorPlan = evidenceFloorStep
|
|
721
|
+
? planEvidenceFloorPins(cwd, ladderFloors)
|
|
722
|
+
: null;
|
|
723
|
+
const evidenceFloorsPinned = evidenceFloorStep
|
|
724
|
+
? applyEvidenceFloorPins(cwd, ladderFloors)
|
|
725
|
+
: 0;
|
|
726
|
+
const claimPins = claimBindingStep
|
|
727
|
+
? applyProofContractClaimPins(cwd, claimCandidates)
|
|
728
|
+
: null;
|
|
658
729
|
const existingManifest = readKbManifest(cwd) ?? defaultKbManifest();
|
|
659
730
|
writeKbManifest(cwd, {
|
|
660
731
|
...existingManifest,
|
|
@@ -685,6 +756,19 @@ export async function migrateCommand(options = {}) {
|
|
|
685
756
|
console.log(`Acknowledged ${supersedesUnexplained.length} supersede(s) recorded without a 'Why this changed' section; new supersedes must explain themselves.`);
|
|
686
757
|
if (firmSupersedes.length > 0)
|
|
687
758
|
console.log(`Acknowledged ${firmSupersedes.length} supersede(s) of decisions without firmness that read as firm from schema 10; a new replacement of such a decision must be firm.`);
|
|
759
|
+
if (evidenceFloorsPinned > 0)
|
|
760
|
+
console.log(`Recorded required_evidence: asserted on ${evidenceFloorsPinned} current firm requirement(s) whose evidence is below tested; raise it to tested once the requirement has an end-to-end proof.`);
|
|
761
|
+
if ((evidenceFloorPlan?.kept.length ?? 0) > 0)
|
|
762
|
+
console.log(evidenceFloorPlan?.decidedBy === "ladder"
|
|
763
|
+
? `${evidenceFloorPlan?.kept.length} firm requirement(s) keep the tested floor; the evidence ladder accepts each, or needs only kibi prove re-run (kibi check --fresh-evidence lists those).`
|
|
764
|
+
: `${evidenceFloorPlan?.kept.length} firm requirement(s) keep the tested floor because their latest end-to-end receipt passed; no synced store could be read, so run kibi sync and kibi check --rules evidence-floor to list any whose proof has other gaps (kibi proof explain <id> names them).`);
|
|
765
|
+
for (const skip of evidenceFloorPlan?.skipped ?? [])
|
|
766
|
+
printWarning(`Cannot record required_evidence on ${skip.path}: ${skip.reason}.`);
|
|
767
|
+
if (claimPins !== null) {
|
|
768
|
+
if (claimPins.targets.length > 0)
|
|
769
|
+
console.log(`Pinned proof_contract.proves on ${claimPins.targets.length} certificate test(s) (${claimPins.targets.map((target) => target.id).join(", ")}); run kibi prove for them so their receipts bind the claim.`);
|
|
770
|
+
printClaimBindingReview(claimPins, claimCandidates === null, false);
|
|
771
|
+
}
|
|
688
772
|
await refreshMigratedSymbolCoordinates(cwd, generatedManifestsBefore);
|
|
689
773
|
const auditRecord = buildMigrationAuditRecord({
|
|
690
774
|
branch,
|
|
@@ -722,9 +806,17 @@ export async function migrateCommand(options = {}) {
|
|
|
722
806
|
console.log("Migration complete. Future 'kibi migrate' runs will be a no-op.");
|
|
723
807
|
const mergeDriverGaps = manifestMergeDriverGaps(cwd);
|
|
724
808
|
if (mergeDriverGaps !== null && mergeDriverGaps.length > 0) {
|
|
725
|
-
console.log(`Tip: kibi merge-driver resolves .kb/symbols.yaml merges by record id, but it is not wired up (${mergeDriverGaps.join("; ")}). ${
|
|
809
|
+
console.log(`Tip: kibi merge-driver resolves .kb/symbols.yaml merges by record id, but it is not wired up (${mergeDriverGaps.join("; ")}). ${mergeDriverSetup(cwd)}`);
|
|
726
810
|
}
|
|
727
811
|
const gitignoreUpdated = updateGitIgnore(cwd);
|
|
812
|
+
if (migrationSteps.some((step) => step.id === "derived-symbol-coordinates-v13")) {
|
|
813
|
+
const { untrackCoordinateArtifact } = await import("../operations/migration/untrack-symbol-coordinates.js");
|
|
814
|
+
const untrack = untrackCoordinateArtifact(cwd);
|
|
815
|
+
if (untrack.outcome === "untracked")
|
|
816
|
+
console.log(`Removed ${KB_PATHS.symbolCoordinates} from the Git index (the local file stays); commit the removal with the migration. Sync derives symbol coordinates from now on.`);
|
|
817
|
+
else if (untrack.outcome === "failed")
|
|
818
|
+
printWarning(`Could not remove ${KB_PATHS.symbolCoordinates} from the Git index (${untrack.reason}); run git rm --cached ${KB_PATHS.symbolCoordinates} before the next commit.`);
|
|
819
|
+
}
|
|
728
820
|
return {
|
|
729
821
|
exitCode: 0,
|
|
730
822
|
summary: {
|
|
@@ -770,9 +862,21 @@ async function buildWorkspaceMigrationPlan(workspaceRoot = process.cwd()) {
|
|
|
770
862
|
const currentSchemaVersion = status?.schemaStatus?.currentVersion ??
|
|
771
863
|
readKbManifest(workspaceRoot)?.schemaVersion ??
|
|
772
864
|
null;
|
|
865
|
+
const { EVIDENCE_FLOOR_SCHEMA_VERSION } = await import("../public/operations/evidence-floor.js");
|
|
866
|
+
const { readLadderFloorVerdicts } = await import("../operations/migration/evidence-floor.js");
|
|
867
|
+
const { CLAIM_BINDING_SCHEMA_VERSION } = await import("../public/operations/proof-contract-claims.js");
|
|
868
|
+
const { readProofContractClaimCandidates } = await import("../operations/migration/proof-contract-claims.js");
|
|
773
869
|
const fragment = buildSchema6MigrationFragment({
|
|
774
870
|
workspaceRoot,
|
|
775
871
|
currentSchemaVersion,
|
|
872
|
+
ladderFloors: currentSchemaVersion === null ||
|
|
873
|
+
currentSchemaVersion < EVIDENCE_FLOOR_SCHEMA_VERSION
|
|
874
|
+
? await readLadderFloorVerdicts(workspaceRoot)
|
|
875
|
+
: null,
|
|
876
|
+
claimCandidates: currentSchemaVersion === null ||
|
|
877
|
+
currentSchemaVersion < CLAIM_BINDING_SCHEMA_VERSION
|
|
878
|
+
? await readProofContractClaimCandidates(workspaceRoot)
|
|
879
|
+
: null,
|
|
776
880
|
});
|
|
777
881
|
const fragmentActions = [...fragment.actions];
|
|
778
882
|
const statusActions = status?.migrationPlan?.actions ?? [];
|
|
@@ -944,7 +1048,7 @@ function printApplySummary(content) {
|
|
|
944
1048
|
}
|
|
945
1049
|
const remaining = result.remainingPlan;
|
|
946
1050
|
if (remaining !== undefined) {
|
|
947
|
-
const ready = remaining.
|
|
1051
|
+
const ready = remaining.automaticSummary.ready;
|
|
948
1052
|
console.log(`Remaining plan ${remaining.planHash}: ${remaining.status}; actions: ${remaining.summary.actionCount}; automatic-ready: ${ready}`);
|
|
949
1053
|
}
|
|
950
1054
|
console.log("Run 'kibi migrate' for the remaining actions, or add --format json for the full result.");
|
package/dist/commands/prove.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { executeIngestProof } from "../operations/proof/ingest-proof.js";
|
|
2
2
|
import { type ProofRunAttribution } from "../proof/command-test-report.js";
|
|
3
3
|
import type { ProofIntegration } from "../proof/integrations.js";
|
|
4
|
-
import type { OperationRuntime } from "../public/operations/runtime-types.js";
|
|
4
|
+
import type { OperationContext, OperationRuntime } from "../public/operations/runtime-types.js";
|
|
5
5
|
import { readWorkspaceSnapshot } from "../public/operations/workspace-snapshot.js";
|
|
6
6
|
import { type ProofRunArtifact } from "../public/proof-protocol.js";
|
|
7
7
|
export type ProveCommandOptions = Readonly<{
|
|
@@ -10,6 +10,10 @@ export type ProveCommandOptions = Readonly<{
|
|
|
10
10
|
integration?: string;
|
|
11
11
|
integrationExcept?: string;
|
|
12
12
|
all?: boolean;
|
|
13
|
+
/** Keep only selected tests without a current passing receipt. */
|
|
14
|
+
stale?: boolean;
|
|
15
|
+
/** Skip integrations an interrupted run already ingested at this snapshot. */
|
|
16
|
+
resume?: boolean;
|
|
13
17
|
workspaceRoot?: string;
|
|
14
18
|
}>;
|
|
15
19
|
export type ProveCommandDependencies = Readonly<{
|
|
@@ -31,10 +35,53 @@ export declare function describeWorkspaceDrift(snapshot: Awaited<ReturnType<type
|
|
|
31
35
|
*/
|
|
32
36
|
export declare function parseIntegrationSelector(value: string | undefined, flagName: string): Set<string>;
|
|
33
37
|
export declare function testId(test: SelectedTest): string;
|
|
38
|
+
/** Run a proof integration's command and resolve with its exit code. */
|
|
39
|
+
export declare function runChild(commandArgv: readonly string[], cwd: string, env: NodeJS.ProcessEnv): Promise<number>;
|
|
34
40
|
export declare function commandEnvironment(integration: ProofIntegration, commandArgv: readonly string[], snapshot: string, workspaceRoot: string, testIds: readonly string[], outputPath: string): NodeJS.ProcessEnv;
|
|
41
|
+
/** Where `kibi prove` records which integrations it has ingested. */
|
|
42
|
+
export declare const PROVE_PROGRESS_FILE = "prove-progress.json";
|
|
43
|
+
type ProveProgress = {
|
|
44
|
+
version: "kibi.prove-progress.v1";
|
|
45
|
+
snapshot: string;
|
|
46
|
+
/** Integration id to the test ids whose receipts it wrote. */
|
|
47
|
+
ingested: Record<string, string[]>;
|
|
48
|
+
};
|
|
49
|
+
/** Read the progress file; anything unreadable counts as no progress. */
|
|
50
|
+
export declare function readProveProgress(runsDir: string): Promise<ProveProgress | null>;
|
|
51
|
+
/**
|
|
52
|
+
* Integrations a resumed run can skip: ingested at the same snapshot, for
|
|
53
|
+
* every test this run selects for them.
|
|
54
|
+
*/
|
|
55
|
+
export declare function resumableIntegrations(progress: ProveProgress | null, snapshot: string, groups: ReadonlyMap<string, readonly SelectedTest[]>): Set<string>;
|
|
56
|
+
/**
|
|
57
|
+
* Narrow a Playwright integration's command to the spec files the selected
|
|
58
|
+
* tests are bound to, so `kibi prove --test X` runs X's specs instead of the
|
|
59
|
+
* whole suite. Only a direct `playwright test` invocation is narrowed, and
|
|
60
|
+
* only when every selected test names its `proof_bindings[].source_file`;
|
|
61
|
+
* otherwise the command runs unchanged and the reason says why.
|
|
62
|
+
*/
|
|
63
|
+
export declare function narrowedPlaywrightCommand(command: readonly string[], tests: readonly SelectedTest[]): {
|
|
64
|
+
argv: string[];
|
|
65
|
+
narrowed: boolean;
|
|
66
|
+
reason?: string;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Receipt state per proof-bearing test under the binding mode reports use.
|
|
70
|
+
* `passed` means the test already has a current passing receipt; anything
|
|
71
|
+
* else (missing, stale, contract_mismatch, invalid, failed) needs a run.
|
|
72
|
+
*/
|
|
73
|
+
export declare function readTestReceiptStates(context: OperationContext): Promise<ReadonlyMap<string, string>>;
|
|
35
74
|
export declare function proveCommand(options: ProveCommandOptions, deps?: ProveCommandDependencies): Promise<{
|
|
36
75
|
exitCode: number;
|
|
37
76
|
}>;
|
|
77
|
+
/** Read every certificate a run left in its certificate directory. */
|
|
78
|
+
export declare function readCertificateDir(directory: string): Promise<Record<string, unknown>[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Give each artifact the certificates of its own tests, so a partition is
|
|
81
|
+
* never evaluated against another test's certificate. A test may leave at
|
|
82
|
+
* most one certificate per run.
|
|
83
|
+
*/
|
|
84
|
+
export declare function attachCertificates(evaluated: EvaluatedRun, certificates: readonly Record<string, unknown>[]): EvaluatedRun;
|
|
38
85
|
/** The artifacts one integration run is evaluated through. */
|
|
39
86
|
export type EvaluatedRun = Readonly<{
|
|
40
87
|
/** Each artifact is ingested against exactly its own tests. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prove.d.ts","sourceRoot":"","sources":["../../src/commands/prove.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAIL,KAAK,mBAAmB,EAGzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"prove.d.ts","sourceRoot":"","sources":["../../src/commands/prove.ts"],"names":[],"mappings":"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"}
|