From e00f5ed76c9ad87c308345dffa3c854087fecf4e Mon Sep 17 00:00:00 2001 From: Piotr Franczyk Date: Wed, 22 Apr 2026 08:22:49 +0200 Subject: [PATCH 1/8] chore(repo): stop tracking .sisyphus artifacts --- .sisyphus/evidence/.gitkeep | 0 .sisyphus/evidence/task-1-startup-config.txt | 2 - .../task-1-truth-table-rejections.txt | 9 - .sisyphus/evidence/task-1-truth-table.txt | 211 ------------------ .../evidence/task-2-untrack-sisyphus.txt | 21 ++ .../task-4-startup-wireup-fallback.txt | 4 - .sisyphus/evidence/task-4-startup-wireup.txt | 8 - .../evidence/task-7-release-dryrun-happy.txt | 51 ----- .../evidence/task-7-release-dryrun-rerun.txt | 23 -- .../debug-toast-blocking.md | 5 - .../debug-toast-diagnostics.md | 5 - .../debug-toast-tests.md | 1 - .../learnings.md | 16 -- .../traceability-consumer-scope/learnings.md | 61 ----- .../notepads/type-safety-audit/issues.md | 7 - .../notepads/type-safety-audit/learnings.md | 16 -- 16 files changed, 21 insertions(+), 419 deletions(-) delete mode 100644 .sisyphus/evidence/.gitkeep delete mode 100644 .sisyphus/evidence/task-1-startup-config.txt delete mode 100644 .sisyphus/evidence/task-1-truth-table-rejections.txt delete mode 100644 .sisyphus/evidence/task-1-truth-table.txt create mode 100644 .sisyphus/evidence/task-2-untrack-sisyphus.txt delete mode 100644 .sisyphus/evidence/task-4-startup-wireup-fallback.txt delete mode 100644 .sisyphus/evidence/task-4-startup-wireup.txt delete mode 100644 .sisyphus/evidence/task-7-release-dryrun-happy.txt delete mode 100644 .sisyphus/evidence/task-7-release-dryrun-rerun.txt delete mode 100644 .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-blocking.md delete mode 100644 .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-diagnostics.md delete mode 100644 .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-tests.md delete mode 100644 .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/learnings.md delete mode 100644 .sisyphus/notepads/traceability-consumer-scope/learnings.md delete mode 100644 .sisyphus/notepads/type-safety-audit/issues.md delete mode 100644 .sisyphus/notepads/type-safety-audit/learnings.md diff --git a/.sisyphus/evidence/.gitkeep b/.sisyphus/evidence/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/.sisyphus/evidence/task-1-startup-config.txt b/.sisyphus/evidence/task-1-startup-config.txt deleted file mode 100644 index 3c62cb40..00000000 --- a/.sisyphus/evidence/task-1-startup-config.txt +++ /dev/null @@ -1,2 +0,0 @@ -bun test packages/opencode/tests/config.test.ts -PASS: 10 tests, 0 failures diff --git a/.sisyphus/evidence/task-1-truth-table-rejections.txt b/.sisyphus/evidence/task-1-truth-table-rejections.txt deleted file mode 100644 index 0f294d02..00000000 --- a/.sisyphus/evidence/task-1-truth-table-rejections.txt +++ /dev/null @@ -1,9 +0,0 @@ -8 files changed: - packages/core/schema/relationships.pl | 4 + - packages/core/src/checks.pl | 6 +- - packages/core/src/kb.pl | 58 ++++++++-- - packages/core/tests/kb.plt | 141 ++++++++++++++++++++++-- - packages/core/tests/schema.plt | 16 ++- - packages/mcp/tests/tools/check.test.ts | 191 +++++++++++++++++++++++++++++++-- - packages/mcp/tests/tools/graph.test.ts | 68 ++++++++++++ - 7 files changed, 453 insertions(+), 31 deletions(-) diff --git a/.sisyphus/evidence/task-1-truth-table.txt b/.sisyphus/evidence/task-1-truth-table.txt deleted file mode 100644 index 747714b1..00000000 --- a/.sisyphus/evidence/task-1-truth-table.txt +++ /dev/null @@ -1,211 +0,0 @@ -Warning: /home/looted/projects/kibi/packages/core/tests/schema.plt:4: -Warning: Found file packages/core/schema/entities.pl relative to the current working directory. -Warning: This behaviour is deprecated but still supported by -Warning: the Prolog flag source_search_working_directory. -Warning: /home/looted/projects/kibi/packages/core/tests/schema.plt:5: -Warning: Found file packages/core/schema/relationships.pl relative to the current working directory. -Warning: This behaviour is deprecated but still supported by -Warning: the Prolog flag source_search_working_directory. -Warning: /home/looted/projects/kibi/packages/core/tests/schema.plt:6: -Warning: Found file packages/core/schema/validation.pl relative to the current working directory. -Warning: This behaviour is deprecated but still supported by -Warning: the Prolog flag source_search_working_directory. -% Found 0 .plt test files, loaded 0 -% Start unit: schema -% [1/34] schema:entity_types_count .................. passed (0.006 sec) -% [2/34] schema:relationship_types_count .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:13: -Warning: [Thread main] test schema:relationship_types_count: Test succeeded with choicepoint -% [3/34] schema:valid_relationship_ok ............... passed (0.000 sec) -% [4/34] schema:invalid_relationship_bad_types ...... passed (0.000 sec) -% [5/34] schema:traceabili..valid_relationships ..... passed (0.000 sec) -% [6/34] schema:traceabili..valid_relationships ..... passed (0.000 sec) -% [7/34] schema:missing_required_property ........... passed (0.000 sec) -% [8/34] schema:invalid_property_type ............... passed (0.000 sec) -% [9/34] schema:valid_entity ........................ passed (0.000 sec) -% [10/34] schema:legacy_prose_fact_valid ............ passed (0.000 sec) -% [11/34] schema:subject_fact_valid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:63: -Warning: [Thread main] test schema:subject_fact_valid: Test succeeded with choicepoint -% [12/34] schema:property_v..fact_with_int_valid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:68: -Warning: [Thread main] test schema:property_value_fact_with_int_valid: Test succeeded with choicepoint -% [13/34] schema:property_v..t_with_string_valid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:73: -Warning: [Thread main] test schema:property_value_fact_with_string_valid: Test succeeded with choicepoint -% [14/34] schema:property_v..t_with_number_valid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:78: -Warning: [Thread main] test schema:property_value_fact_with_number_valid: Test succeeded with choicepoint -% [15/34] schema:property_v..act_with_bool_valid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:83: -Warning: [Thread main] test schema:property_value_fact_with_bool_valid: Test succeeded with choicepoint -% [16/34] schema:property_v..value_field_invalid .... passed (0.000 sec) -% [17/34] schema:property_v.._value_type_invalid .... passed (0.000 sec) -% [18/34] schema:property_v..subject_key_invalid .... passed (0.000 sec) -% [19/34] schema:closed_world_boolean_valid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:104: -Warning: [Thread main] test schema:closed_world_boolean_valid: Test succeeded with choicepoint -% [20/34] schema:observation_fact_valid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:109: -Warning: [Thread main] test schema:observation_fact_valid: Test succeeded with choicepoint -% [21/34] schema:meta_fact_valid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:114: -Warning: [Thread main] test schema:meta_fact_valid: Test succeeded with choicepoint -% [22/34] schema:req_with_fact_kind_invalid ......... passed (0.000 sec) -% [23/34] schema:req_with_value_int_invalid ......... passed (0.000 sec) -% [24/34] schema:unknown_property_invalid ........... passed (0.000 sec) -% [25/34] schema:legacy_fac..tional_enum_invalid .... passed (0.000 sec) -% [26/34] schema:invalid_fact_kind_enum_invalid ..... passed (0.000 sec) -% [27/34] schema:invalid_operator_enum_invalid ...... passed (0.000 sec) -% [28/34] schema:invalid_value_type_enum_invalid .... passed (0.000 sec) -% [29/34] schema:invalid_polarity_enum_invalid ...... passed (0.000 sec) -% [30/34] schema:observatio..tional_enum_invalid .... passed (0.000 sec) -% [31/34] schema:valid_polarity_require .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:164: -Warning: [Thread main] test schema:valid_polarity_require: Test succeeded with choicepoint -% [32/34] schema:valid_polarity_forbid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:169: -Warning: [Thread main] test schema:valid_polarity_forbid: Test succeeded with choicepoint -% [33/34] schema:constrains.._subject_fact_valid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:185: -Warning: [Thread main] test schema:constrains_to_subject_fact_valid: Test succeeded with choicepoint -% [34/34] schema:requires_p..ty_value_fact_valid .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/schema.plt:189: -Warning: [Thread main] test schema:requires_property_to_property_value_fact_valid: Test succeeded with choicepoint -% End unit schema: passed (0.026 sec CPU) -% All 34 tests passed in 0.036 seconds (0.036 cpu) -% Library was moved: library(http/json) --> library(json) -% Library was moved: library(http/json_convert) --> library(json_convert) -Warning: /home/looted/projects/kibi/packages/core/src/checks.pl:173: -Warning: Singleton variables: [ToId] -Warning: /home/looted/projects/kibi/packages/core/src/checks.pl:293: -Warning: Singleton variables: [Type] -% Found 0 .plt test files, loaded 0 -% Start unit: kb_basic -% [1/41] kb_basic:attach_detach_cycle ............... passed (0.010 sec) -% [2/41] kb_basic:attach_creates_directory .......... passed (0.001 sec) -% End unit kb_basic: passed (0.020 sec CPU) -% Start unit: kb_entities -% [3/41] kb_entities:assert_and_query_entity .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:28: -Warning: [Thread main] test kb_entities:assert_and_query_entity: Test succeeded with choicepoint -% [4/41] kb_entities:retract_entity .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:43: -Warning: [Thread main] test kb_entities:retract_entity: Test succeeded with choicepoint -% [5/41] kb_entities:entity_validation_error ........ passed (0.000 sec) -% End unit kb_entities: passed (0.007 sec CPU) -% Start unit: kb_relationships -% [6/41] kb_relationships:.._query_relationship ..... passed (0.001 sec) -% End unit kb_relationships: passed (0.003 sec CPU) -% Start unit: kb_persistence -% [7/41] kb_persistence:journal_persistence .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:99: -Warning: [Thread main] test kb_persistence:journal_persistence: Test succeeded with choicepoint -% End unit kb_persistence: passed (0.077 sec CPU) -% Start unit: kb_audit -% [8/41] kb_audit:audit_log_created ................. passed (0.000 sec) -% End unit kb_audit: passed (0.001 sec CPU) -% Start unit: kb_mutex -% [9/41] kb_mutex:mutex_protection .................. passed (0.004 sec) -% End unit kb_mutex: passed (0.009 sec CPU) -% Start unit: kb_inference -% [10/41] kb_inference:tran..y_implements_direct .... passed (0.001 sec) -% [11/41] kb_inference:tran..verage_as_ownership .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:195: -Warning: [Thread main] test kb_inference:transitively_implements_does_not_treat_coverage_as_ownership: Test succeeded with choicepoint -% [12/41] kb_inference:symb..d_by_validates_path .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:225: -Warning: [Thread main] test kb_inference:symbol_traceability_rejects_covered_by_validates_path: Test succeeded with choicepoint -% [13/41] kb_inference:symb..by_verified_by_path .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:256: -Warning: [Thread main] test kb_inference:symbol_traceability_rejects_covered_by_verified_by_path: Test succeeded with choicepoint -% [14/41] kb_inference:symb..executable_for_path .... passed (0.001 sec) -% [15/41] kb_inference:symb..ck_without_scenario .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:308: -Warning: [Thread main] test kb_inference:symbol_coverage_accepts_direct_req_test_fallback_without_scenario: Test succeeded with choicepoint -% [16/41] kb_inference:symb..hen_scenario_exists .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:339: -Warning: [Thread main] test kb_inference:symbol_coverage_rejects_direct_req_test_fallback_when_scenario_exists: Test succeeded with choicepoint -% [17/41] kb_inference:mixe.._for_and_implements .... passed (0.001 sec) -% [18/41] kb_inference:transitively_depends .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:411: -Warning: [Thread main] test kb_inference:transitively_depends: Test succeeded with choicepoint -% [19/41] kb_inference:coverage_gap_missing_both .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:440: -Warning: [Thread main] test kb_inference:coverage_gap_missing_both: Test succeeded with choicepoint -% [20/41] kb_inference:untested_symbols ............. passed (0.000 sec) -% [21/41] kb_inference:stale_entity .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:464: -Warning: [Thread main] test kb_inference:stale_entity: Test succeeded with choicepoint -% [22/41] kb_inference:orphaned_symbol .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:475: -Warning: [Thread main] test kb_inference:orphaned_symbol: Test succeeded with choicepoint -% [23/41] kb_inference:conflicting_adrs .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:486: -Warning: [Thread main] test kb_inference:conflicting_adrs: Test succeeded with choicepoint -% [24/41] kb_inference:deprecated_still_used ........ passed (0.000 sec) -% [25/41] kb_inference:impacted_by_change .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:536: -Warning: [Thread main] test kb_inference:impacted_by_change: Test succeeded with choicepoint -% [26/41] kb_inference:affected_symbols ............. passed (0.001 sec) -% [27/41] kb_inference:contradicting_reqs .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:586: -Warning: [Thread main] test kb_inference:contradicting_reqs: Test succeeded with choicepoint -% [28/41] kb_inference:cont.._ignores_superseded .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:647: -Warning: [Thread main] test kb_inference:contradicting_reqs_ignores_superseded: Test succeeded with choicepoint -% End unit kb_inference: passed (0.033 sec CPU) -% Start unit: kb_semantic_contradictions -% [29/41] kb_semantic_contr..xact_value_conflict .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:716: -Warning: [Thread main] test kb_semantic_contradictions:exact_value_conflict: Test succeeded with choicepoint -% [30/41] kb_semantic_contr..umeric_gap_conflict .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:785: -Warning: [Thread main] test kb_semantic_contradictions:numeric_gap_conflict: Test succeeded with choicepoint -% [31/41] kb_semantic_contr..s:polarity_conflict .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:851: -Warning: [Thread main] test kb_semantic_contradictions:polarity_conflict: Test succeeded with choicepoint -% [32/41] kb_semantic_contr..on_no_contradiction .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:918: -Warning: [Thread main] test kb_semantic_contradictions:observation_no_contradiction: Test succeeded with choicepoint -% [33/41] kb_semantic_contr..ta_no_contradiction .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:981: -Warning: [Thread main] test kb_semantic_contradictions:meta_no_contradiction: Test succeeded with choicepoint -% [34/41] kb_semantic_contr..eq_ignored_semantic .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:1036: -Warning: [Thread main] test kb_semantic_contradictions:superseded_req_ignored_semantic: Test succeeded with choicepoint -% [35/41] kb_semantic_contr..erators_no_conflict .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:1100: -Warning: [Thread main] test kb_semantic_contradictions:compatible_operators_no_conflict: Test succeeded with choicepoint -% [36/41] kb_semantic_contr..cts_backward_compat .... passed (0.001 sec) -% [37/41] kb_semantic_contr..n_no_false_positive .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:1197: -Warning: [Thread main] test kb_semantic_contradictions:numeric_coercion_no_false_positive: Test succeeded with choicepoint -% End unit kb_semantic_contradictions: passed (0.023 sec CPU) -% Start unit: kb_strict_lane_pairing -% [38/41] kb_strict_lane_pa..bject_fact_succeeds .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:1245: -Warning: [Thread main] test kb_strict_lane_pairing:constrains_to_subject_fact_succeeds: Test succeeded with choicepoint -% [39/41] kb_strict_lane_pa..value_fact_succeeds .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:1267: -Warning: [Thread main] test kb_strict_lane_pairing:requires_property_to_property_value_fact_succeeds: Test succeeded with choicepoint -% [40/41] kb_strict_lane_pa..ty_value_fact_fails .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:1293: -Warning: [Thread main] test kb_strict_lane_pairing:constrains_to_property_value_fact_fails: Test succeeded with choicepoint -% [41/41] kb_strict_lane_pa.._subject_fact_fails .. -Warning: [Thread main] /home/looted/projects/kibi/packages/core/tests/kb.plt:1323: -Warning: [Thread main] test kb_strict_lane_pairing:requires_property_to_subject_fact_fails: Test succeeded with choicepoint -% End unit kb_strict_lane_pairing: passed (0.007 sec CPU) -% All 41 tests passed in 0.189 seconds (0.193 cpu) -bun test v1.3.6 (d530ed99) - - 29 pass - 0 fail - 70 expect() calls -Ran 29 tests across 1 file. [38.81s] -bun test v1.3.6 (d530ed99) - - 4 pass - 0 fail - 13 expect() calls -Ran 4 tests across 1 file. [11.37s] diff --git a/.sisyphus/evidence/task-2-untrack-sisyphus.txt b/.sisyphus/evidence/task-2-untrack-sisyphus.txt new file mode 100644 index 00000000..9f52b939 --- /dev/null +++ b/.sisyphus/evidence/task-2-untrack-sisyphus.txt @@ -0,0 +1,21 @@ +=== POST-CLEANUP git ls-files .sisyphus === + +=== git status --short === +D .sisyphus/evidence/.gitkeep +D .sisyphus/evidence/task-1-startup-config.txt +D .sisyphus/evidence/task-1-truth-table-rejections.txt +D .sisyphus/evidence/task-1-truth-table.txt +D .sisyphus/evidence/task-4-startup-wireup-fallback.txt +D .sisyphus/evidence/task-4-startup-wireup.txt +D .sisyphus/evidence/task-7-release-dryrun-happy.txt +D .sisyphus/evidence/task-7-release-dryrun-rerun.txt +D .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-blocking.md +D .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-diagnostics.md +D .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-tests.md +D .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/learnings.md +D .sisyphus/notepads/traceability-consumer-scope/learnings.md +D .sisyphus/notepads/type-safety-audit/issues.md +D .sisyphus/notepads/type-safety-audit/learnings.md + +=== git check-ignore -v .sisyphus/smoke.txt === +.gitignore:53:.sisyphus .sisyphus/smoke.txt diff --git a/.sisyphus/evidence/task-4-startup-wireup-fallback.txt b/.sisyphus/evidence/task-4-startup-wireup-fallback.txt deleted file mode 100644 index b77121b3..00000000 --- a/.sisyphus/evidence/task-4-startup-wireup-fallback.txt +++ /dev/null @@ -1,4 +0,0 @@ -Fallback verification: -- startup notification uses existing notifyStartup adapter -- adapter falls back to app.log when no tui.toast is available -- degraded/suppressed paths do not call notifyStartup diff --git a/.sisyphus/evidence/task-4-startup-wireup.txt b/.sisyphus/evidence/task-4-startup-wireup.txt deleted file mode 100644 index 2e9256b8..00000000 --- a/.sisyphus/evidence/task-4-startup-wireup.txt +++ /dev/null @@ -1,8 +0,0 @@ -Verified with: bun test packages/opencode/tests/index.test.ts - -Result: 67 pass, 0 fail - -Observed behavior: -- startup toast emits once after successful setup when enabled -- toast is suppressed when ux.toastStartup=false -- degraded initialization keeps startup toast silent diff --git a/.sisyphus/evidence/task-7-release-dryrun-happy.txt b/.sisyphus/evidence/task-7-release-dryrun-happy.txt deleted file mode 100644 index 28d2d2f6..00000000 --- a/.sisyphus/evidence/task-7-release-dryrun-happy.txt +++ /dev/null @@ -1,51 +0,0 @@ -Release Dry-Run Happy Path Evidence -===================================== -Date: 2026-04-20T06:24:23.451Z -Branch override: GITHUB_REF_NAME=master -Fixture: KIBI_RELEASE_MOCK_NPM="" (empty-string → nothing published) - -Raw JSON output: -{ - "action": "PREPARE_RELEASE", - "packages": [ - { - "name": "kibi-core", - "dir": "core", - "version": "0.5.1", - "alreadyPublished": false - }, - { - "name": "kibi-cli", - "dir": "cli", - "version": "0.6.1", - "alreadyPublished": false - }, - { - "name": "kibi-mcp", - "dir": "mcp", - "version": "0.7.1", - "alreadyPublished": false - }, - { - "name": "kibi-opencode", - "dir": "opencode", - "version": "0.7.1", - "alreadyPublished": false - } - ], - "sourceSha": "test-sha-integration", - "reason": "2 pending changeset(s), 4 unpublished package(s)", - "toPublish": [ - "core=kibi-core", - "cli=kibi-cli", - "mcp=kibi-mcp", - "opencode=kibi-opencode" - ] -} - - -Summary: -- Action: PREPARE_RELEASE -- Packages: kibi-core@0.5.1, kibi-cli@0.6.1, kibi-mcp@0.7.1, kibi-opencode@0.7.1 -- All unpublished: true -- Reason: 2 pending changeset(s), 4 unpublished package(s) diff --git a/.sisyphus/evidence/task-7-release-dryrun-rerun.txt b/.sisyphus/evidence/task-7-release-dryrun-rerun.txt deleted file mode 100644 index ec4002b7..00000000 --- a/.sisyphus/evidence/task-7-release-dryrun-rerun.txt +++ /dev/null @@ -1,23 +0,0 @@ -Release Dry-Run Rerun Path Evidence -===================================== -Date: 2026-04-20T06:24:23.553Z - ---- Non-master branch test (GITHUB_REF_NAME=develop) --- -Action: NOOP -Reason: Not on master branch - ---- Unit-level partial rerun verification --- - -Source commit with core+cli published, mcp+opencode unpublished: -Expected action: PUBLISH_ONLY_RERUN -Unpublished dirs: mcp, opencode - -Source commit with only core published: -Expected action: PREPARE_RELEASE -Unpublished dirs: cli, mcp, opencode - -Source commit + changesets + all published: -Expected action: ALREADY_PUBLISHED_NOOP - -Source commit + no changesets + all published: -Expected action: NOOP diff --git a/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-blocking.md b/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-blocking.md deleted file mode 100644 index 64c008d5..00000000 --- a/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-blocking.md +++ /dev/null @@ -1,5 +0,0 @@ -## 2026-04-12 - -- Restored `notifyStartup` to synchronous fire-and-forget behavior. -- `notifyStartup` now uses `void Promise.resolve(...).catch(...)` for toast/log calls so OpenCode boot is not blocked. -- Updated startup notifier tests to flush microtasks after invocation. diff --git a/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-diagnostics.md b/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-diagnostics.md deleted file mode 100644 index 33697c47..00000000 --- a/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-diagnostics.md +++ /dev/null @@ -1,5 +0,0 @@ -## 2026-04-12 - -- Added terminal-side `console.error("[kibi-opencode] startup toast failed:", err)` in the startup toast failure path. -- Kept the structured `client.app.log()` warning so failures still reach OpenCode logs. -- Verified `bun test packages/opencode/tests/startup-notifier.test.ts` and `bun run build:opencode` both pass. diff --git a/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-tests.md b/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-tests.md deleted file mode 100644 index 0d992ff6..00000000 --- a/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-tests.md +++ /dev/null @@ -1 +0,0 @@ -2026-04-12: Mocked `globalThis.setTimeout` in `packages/opencode/tests/index.test.ts` so startup toast/log assertions run synchronously during plugin setup. Restored the original timer after the suite; `bun test packages/opencode/tests/index.test.ts` and `bun run build:opencode` both passed. diff --git a/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/learnings.md b/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/learnings.md deleted file mode 100644 index a8c0b9d4..00000000 --- a/.sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/learnings.md +++ /dev/null @@ -1,16 +0,0 @@ -2026-04-12: Added `ux.toastStartup` as a separate UX flag so startup confirmation can be toggled independently from sync-result toasts. -2026-04-12: Nested config merging must mirror the existing `ux` pattern: seed from `DEFAULTS`, then overlay each boolean/number key explicitly. -2026-04-12: Startup notifications should prefer runtime duck-typing against `client.tui.toast` and fall back to one structured `client.app.log()` call, keeping routine startup success silent in the terminal. -2026-04-12: The fallback payload should stay shaped like the existing logger bodies (`service`, `level`, `message`, plus metadata) so downstream structured log consumers can treat startup notifications consistently. - -- Startup confirmation should be asserted through structured client.app.log payloads, not terminal output. -- The degraded bootstrap-needed path can still reach setup completion today, so a lifecycle test should pin the no-success-on-degraded rule before code changes. -2026-04-12: Monorepo architecture scan shows package boundaries are mostly already correct; the strongest justified simplification is internal decomposition of `packages/opencode/src/index.ts`, while core/cli/mcp/vscode package rewrites are mostly speculative. -2026-04-12: The OpenCode dogfood coupling is intentionally small and operational: `.opencode/plugins/kibi.ts` re-exports `packages/opencode/dist/index.js`, so improvements should target loader ergonomics rather than duplicating plugin logic. -# Task 4 learning: startup confirmation wiring - -- `ux.toastStartup` now gates the post-setup notification. -- The startup notification must run after setup success and stay silent on degraded init. -- In tests, a no-op scheduler factory is needed to keep the happy-path setup non-degraded. -- Extracting the startup seam into `plugin-startup.ts` works best when the helper returns the full hook-scoped runtime context (`cfg`, `posture`, `cache`, `runtimeOverlay`, `scheduler`, and the derived getters) while `index.ts` keeps hook registration and closures. -2026-04-12: The OpenCode server-plugin client toast surface in the installed SDK is `client.tui.showToast({ body: ... })`, not `client.tui.toast(...)`; startup UX checks should validate against the real SDK/runtime shape before adding duck-typed adapters. diff --git a/.sisyphus/notepads/traceability-consumer-scope/learnings.md b/.sisyphus/notepads/traceability-consumer-scope/learnings.md deleted file mode 100644 index fe125996..00000000 --- a/.sisyphus/notepads/traceability-consumer-scope/learnings.md +++ /dev/null @@ -1,61 +0,0 @@ -# Learnings - -## Conventions -- Prolog schema files are authoritative for relationship/entity validity. -- JSON schemas in `packages/cli/src/schemas/` must stay synchronized with Prolog definitions. -- TDD-first approach: write failing tests before schema/implementation changes. -- Inline `// implements REQ-xxx` comments are production-code-only backward compatibility. -- Tags are search metadata only; they must not be used as authoritative traceability truth. - -## Decisions -- `executable_for` is the new dedicated `symbol -> test` relation for executable test code. -- `implements` stays `symbol -> req` only. -- `covered_by` stays production `symbol -> test` coverage evidence only. -- Scenario↔test becomes first-class via `verified_by(scenario, test)` / `validates(test, scenario)`. -- Direct `req -> test` is fallback-only when no active scenario exists for a requirement. -- `symbol-traceability` = dead-code / ownership rule (direct `implements`). -- `symbol-coverage` = production test-coverage rule (qualifying `covered_by`). -- Requirement facts + typed test fields are the authoritative semantics layer. -- Mixed-role symbols (both `executable_for` and production ownership/coverage) are invalid. - -## Patterns -- `transitively_implements/2` currently conflates ownership and coverage; it must be split. -- `packages/core/src/checks.pl` drives the violation text that users and MCP surfaces see. -- `packages/cli/src/utils/rule-registry.ts` holds the human-readable rule descriptions. -- Staged temp-KB overlay facts (`changed_symbol_req/2`) are requirement-link only. - -## Gotchas -- Changing relationship schemas will break tests that assert exact relationship enum counts. -- VS Code `treeProvider.ts` has hardcoded relationship type lists that must be updated. -- OpenCode prompt text is budget-constrained; updates must preserve `MAX_BULLETS`/`MAX_WORDS`. -- Full-suite pollution is a real risk when mocking `vscode` or `node:fs` without cleanup. -- MCP upsert relationship JSON schema still rejects new relationship types until its allowed-values layer is updated separately; use direct Prolog relationship insertion in tests when you need to exercise newly added schema edges before that contract is widened. -- The canonical split now behaves as: `implements` = ownership (`symbol-traceability`), `covered_by` + canonical req/scenario path = coverage (`symbol-coverage`), and `executable_for` marks test code only. -- Scenario-aware fallback matters: direct `req -> test` coverage is accepted only when the requirement has no `specified_by` scenario; once a scenario exists, coverage must flow through scenario↔test edges. -- Downstream consumers must be updated in lockstep for new relationship types: CLI JSON schema enums, docs relationship tables/examples, and VS Code hardcoded label/parser lists. -- VS Code relationship rendering uses `REL_LABELS` for human-readable child nodes and a separate `relTypes` allowlist for RDF extraction, so new edges need both updates plus focused tests. -- Optional typed test fields require lockstep updates across Prolog entity properties, Prolog shape validation, CLI JSON schema conditionals, and markdown extraction guards. -- `tags` must stay metadata-only in docs and extraction logic; typed verification semantics come only from explicit `verification_scope` / `verification_perspective` fields. - -- Task 4 note: MCP check tests share a long-lived Prolog process, so per-test kb_attach/kb_detach isolation plus explicit 15s timeouts prevents cross-test state leakage from masking symbol-coverage semantics. -- Task 4 note: verification test semantics stay compatibility-first: direct req->test fallback must pass when no scenario exists and no verification facts are present, while executable_for symbols are excluded from production untested/orphaned reports. - -- Task 7 note: OpenCode prompt guidance now teaches split traceability semantics: `implements` for ownership, `executable_for` for test code identity, `covered_by` for coverage evidence only. Old `covered_by + validates/verified_by` combo pattern fully removed from all prompt surfaces (GUIDANCE_BY_RISK, BASE_GUIDANCE, legacy fallback, comment suggestion guidance). -- Task 7 note: risk-classifier.test.ts and aaa-index.coverage.test.ts needed no changes — they test classification/routing logic, not prompt wording. -- Task 7 note: `safe_test_only` stays null and single-block budget (MAX_BULLETS=5, MAX_WORDS=117) preserved. All 118 tests pass. - -- Task 6 note: MCP graph.test.ts already had scenario↔test traversal tests (verified_by/validates) from task 4. Task 6 added canonical chain traversal (req→scenario→test at depth 2), req→test fallback when no scenario exists, and executable_for graph traversal. -- Task 6 note: MCP check.test.ts already had extensive split semantics tests. Task 6 added three new tests: scenario verified_by chain coverage, executable_for + implements traceability pass, and test validates scenario specified_by requirement coverage. -- Task 6 note: treeProvider.ts was already complete — executable_for was in both REL_LABELS and relTypes from task 2. No production code changes needed. -- Task 6 note: treeProvider.test.ts added scenario↔test verification edge rendering test showing verified_by outgoing and validates incoming labels on scenario entities. -- Task 6 note: traceability.test.ts added two new describe blocks testing inline RDF parsing of executable_for/verified_by/validates edges and the full canonical req→scenario→test chain from RDF. -- Task 6 note: When using prepend to insert tests before a describe block, ensure they end up inside the parent describe scope (where prolog is defined), not between describe blocks where they become orphans. -## Artifacts and Documentation Migration (Task 8) -- Canonical Chain (REQ → SCEN → TEST): Successfully migrated all internal Kibi documentation artifacts in `documentation/requirements/`, `documentation/scenarios/`, and `documentation/tests/`. All direct `REQ` → `TEST` links were replaced with `REQ` → `SCEN` and `SCEN` → `TEST` links where scenarios exist. -- Relation Semantics (Ownership vs Coverage vs Identity): Human-facing documentation (`docs/entity-schema.md`, `AGENTS.md`) and agent guidance (OpenCode prompts, Copilot instructions) now consistently teach: - - `implements`: Production symbol ownership of a requirement. - - `covered_by`: Production symbol coverage by a test. - - `executable_for`: Test symbol identity (link to a `TEST-*` entity). - - `verified_by` / `validates`: Link between scenario and test (or fallback to req if no scenario). -- Symbols Manifest: Updated `documentation/symbols.yaml` with role-distinguished examples for both production and test symbols. -- Audit: Performed a comprehensive `grep` audit of the `documentation/` directory to ensure no leftover direct `verified_by` links remain in requirements that have associated scenarios, and no tests directly `validate` requirements that have scenarios. diff --git a/.sisyphus/notepads/type-safety-audit/issues.md b/.sisyphus/notepads/type-safety-audit/issues.md deleted file mode 100644 index d2a4d359..00000000 --- a/.sisyphus/notepads/type-safety-audit/issues.md +++ /dev/null @@ -1,7 +0,0 @@ -2026-04-15 -- `packages/cli/tests/commands/sync` still has unrelated type diagnostics in `staging.test.ts` (copyFileSync PathLike mismatch) outside this task's scope. -2026-04-15: `fast-glob` mocks may need a cast to `typeof fg` when passed through `Partial<...>` deps, because Bun's `mock()` return type does not satisfy the callable-object shape. - -- Verification gotcha: a temporary probe line beginning with `// @ts-nocheck ...` still activates TypeScript nocheck semantics, so it is invalid for proving non-zero typecheck behavior. -## 2026-04-15 -- Temporary type error injection is useful for proving CI fail-fast behavior, but must be removed before commit to avoid polluting the repo. diff --git a/.sisyphus/notepads/type-safety-audit/learnings.md b/.sisyphus/notepads/type-safety-audit/learnings.md deleted file mode 100644 index b20cf8c5..00000000 --- a/.sisyphus/notepads/type-safety-audit/learnings.md +++ /dev/null @@ -1,16 +0,0 @@ -2026-04-15 -- Sync test doubles often need Node-specific parameter types (`PathLike`, `PathOrFileDescriptor`, `HashOptions`) to satisfy dependency-injected deps without widening production interfaces. -- Bun `mock()` return types can be tightened by wrapping real platform objects (e.g. `Hash`) and exposing only the mock methods the tests assert on. -- For `readFileSync`, returning `NonSharedBuffer` in the no-encoding branch avoids Bun/TS buffer incompatibility noise. -2026-04-15: In CLI test mocks, `node:fs` APIs should be typed with `PathLike` instead of `string` to match `typeof existsSync`/`copyFileSync`/`renameSync`/`rmSync` and avoid TS2345 assignment errors. - -- Task 9: enforced CI/publish typecheck lanes now call the canonical `bun run typecheck` matrix without `continue-on-error`; packed e2e compile paths now block on `bun run typecheck:e2e:packed` before emit/execute, matching local workflow expectations. -2026-04-15: Centralizing `KIBI_*` access worked cleanly by introducing tiny typed env boundary helpers (`get*Override`, `is*DebugEnabled`) and preserving existing fallback semantics at call sites instead of baking policy into a single generic accessor. - -- Task 14: `noImplicitReturns` and `noFallthroughCasesInSwitch` required zero source fixes across all 4 packages (opencode, vscode, mcp, cli). The codebase already implicitly satisfied these constraints. Adding the flags was purely declarative strengthening with no behavioral change. -- Task 14: The edit tool's append operation places lines after the target but before any subsequent siblings in JSON, which broke JSON syntax when the anchor was inside a nested object. Using `write` tool to rewrite the full tsconfig was more reliable for JSON files with nested structure (like mcp's `paths` block). -- Task 15: `noUncheckedIndexedAccess` fallout was concentrated in regex capture groups and parsed tuple/list helpers; a small helper to normalize `match[index]` lookups and local destructuring guards fixed the ratchet without falling back to `!` assertions. -- Task 15: Test tsconfigs that extend stricter source tsconfigs need an explicit `"noUncheckedIndexedAccess": false` override during incremental rollout, otherwise repo-wide typecheck gates stay blocked on test fixtures instead of production code. -## 2026-04-15 -- Root `typecheck` must use `&&` between lanes; semicolons mask early failures because later successful lanes can still yield exit 0. -- Verified fail-fast behavior by injecting and then removing a temporary type error in the first CLI lane. From fb35761cb96721bc266ca03775c9fb8ed5b9414c Mon Sep 17 00:00:00 2001 From: Piotr Franczyk Date: Wed, 22 Apr 2026 08:23:03 +0200 Subject: [PATCH 2/8] chore(repo): stop tracking .sisyphus artifacts --- .../evidence/task-2-untrack-sisyphus.txt | 21 ------------------- 1 file changed, 21 deletions(-) delete mode 100644 .sisyphus/evidence/task-2-untrack-sisyphus.txt diff --git a/.sisyphus/evidence/task-2-untrack-sisyphus.txt b/.sisyphus/evidence/task-2-untrack-sisyphus.txt deleted file mode 100644 index 9f52b939..00000000 --- a/.sisyphus/evidence/task-2-untrack-sisyphus.txt +++ /dev/null @@ -1,21 +0,0 @@ -=== POST-CLEANUP git ls-files .sisyphus === - -=== git status --short === -D .sisyphus/evidence/.gitkeep -D .sisyphus/evidence/task-1-startup-config.txt -D .sisyphus/evidence/task-1-truth-table-rejections.txt -D .sisyphus/evidence/task-1-truth-table.txt -D .sisyphus/evidence/task-4-startup-wireup-fallback.txt -D .sisyphus/evidence/task-4-startup-wireup.txt -D .sisyphus/evidence/task-7-release-dryrun-happy.txt -D .sisyphus/evidence/task-7-release-dryrun-rerun.txt -D .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-blocking.md -D .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-diagnostics.md -D .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/debug-toast-tests.md -D .sisyphus/notepads/opencode-plugin-toast-and-architecture-plan/learnings.md -D .sisyphus/notepads/traceability-consumer-scope/learnings.md -D .sisyphus/notepads/type-safety-audit/issues.md -D .sisyphus/notepads/type-safety-audit/learnings.md - -=== git check-ignore -v .sisyphus/smoke.txt === -.gitignore:53:.sisyphus .sisyphus/smoke.txt From e2d1d3c7dcd8b2b8906d38cd079922472dfdbbeb Mon Sep 17 00:00:00 2001 From: Piotr Franczyk Date: Wed, 22 Apr 2026 08:25:21 +0200 Subject: [PATCH 3/8] fix(scripts): replace .sisyphus sources in populate-kb --- scripts/populate-kb.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/populate-kb.ts b/scripts/populate-kb.ts index 76e19990..5150db13 100644 --- a/scripts/populate-kb.ts +++ b/scripts/populate-kb.ts @@ -178,7 +178,7 @@ const entities: EntityDef[] = [ properties: { title: "Use Bun/Node.js as CLI wrapper around SWI-Prolog subprocess", status: "accepted", - source: ".sisyphus/plans/kibi-v0.md", + source: "scripts/populate-kb.ts", tags: ["cli", "bun", "nodejs"], }, }, @@ -220,7 +220,7 @@ const entities: EntityDef[] = [ properties: { title: "Monorepo structure: core (Prolog) + cli + mcp + vscode packages", status: "accepted", - source: ".sisyphus/plans/kibi-v0.md", + source: "documentation/adr/ADR-006.md", tags: ["monorepo", "structure"], }, }, @@ -230,7 +230,7 @@ const entities: EntityDef[] = [ properties: { title: "Defer graph visualization and full VS Code features to post-v0", status: "accepted", - source: ".sisyphus/plans/kibi-v0.md", + source: "documentation/adr/ADR-007.md", tags: ["vscode", "scope", "deferred"], }, }, @@ -243,7 +243,7 @@ const entities: EntityDef[] = [ title: "vscode-full-features: full VS Code extension with graph visualization", status: "inactive", - source: ".sisyphus/plans/kibi-v0.md", + source: "documentation/flags/FLAG-001.md", tags: ["vscode", "deferred", "post-v0"], }, }, @@ -296,7 +296,7 @@ const entities: EntityDef[] = [ properties: { title: "v0.0.1 released as Functional Alpha", status: "active", - source: ".sisyphus/CONTINUATION-PLAN.md", + source: "documentation/events/EVT-001.md", tags: ["release", "v0"], }, }, @@ -348,7 +348,7 @@ const entities: EntityDef[] = [ properties: { title: "Agent queries requirements from KB via MCP kb_query tool", status: "passing", - source: ".sisyphus/plans/kibi-v0.md", + source: "scripts/populate-kb.ts", tags: ["mcp", "query", "agent"], }, }, From 39dfca9251fb9a042fb262ca234176b15bdb3056 Mon Sep 17 00:00:00 2001 From: Piotr Franczyk Date: Wed, 22 Apr 2026 08:25:59 +0200 Subject: [PATCH 4/8] docs(adr): remove local-only .sisyphus reference --- documentation/adr/ADR-005.md | 1 - 1 file changed, 1 deletion(-) diff --git a/documentation/adr/ADR-005.md b/documentation/adr/ADR-005.md index 5055e682..800c5634 100644 --- a/documentation/adr/ADR-005.md +++ b/documentation/adr/ADR-005.md @@ -150,5 +150,4 @@ node --test dist/*.test.js ## References -- [Oracle consultation on TS E2E patterns](../.sisyphus/oracle-consultations/ts-e2e-patterns.md) - Node.js TypeScript ESM best practices (2024-2025) From 44b18d87c96313151b8759264af4fe298b49f134 Mon Sep 17 00:00:00 2001 From: Piotr Franczyk Date: Wed, 22 Apr 2026 10:13:02 +0200 Subject: [PATCH 5/8] fix(facts): add missing subject key for paired-model example Ensure the subject fact shape passes strict validation so FACT-EXAMPLE-PAIRED-MODEL upserts no longer fail with generic query errors during sync. --- documentation/facts/FACT-EXAMPLE-PAIRED-MODEL.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/facts/FACT-EXAMPLE-PAIRED-MODEL.md b/documentation/facts/FACT-EXAMPLE-PAIRED-MODEL.md index 5911e7fe..90dc5326 100644 --- a/documentation/facts/FACT-EXAMPLE-PAIRED-MODEL.md +++ b/documentation/facts/FACT-EXAMPLE-PAIRED-MODEL.md @@ -3,13 +3,14 @@ id: FACT-EXAMPLE-PAIRED-MODEL title: "Paired modeling example: strict domain fact + requirement constraint" status: active created_at: 2026-03-27T10:00:00Z -updated_at: 2026-04-21T10:00:00Z +updated_at: 2026-04-22T10:00:00Z source: documentation/facts/FACT-EXAMPLE-PAIRED-MODEL.md tags: - example - modeling - strict-lane fact_kind: subject +subject_key: kibi.example.strict_lanes links: - type: relates_to target: REQ-018 From 8ae9445480bbf399bc30c24c3d4fe8dbc0778116 Mon Sep 17 00:00:00 2001 From: Piotr Franczyk Date: Wed, 22 Apr 2026 10:20:42 +0200 Subject: [PATCH 6/8] Symbols update --- documentation/symbols.yaml | 46 +++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/documentation/symbols.yaml b/documentation/symbols.yaml index ce503a49..3841ae79 100644 --- a/documentation/symbols.yaml +++ b/documentation/symbols.yaml @@ -22,7 +22,7 @@ symbols: sourceColumn: 13 sourceEndLine: 588 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:20.506Z' + coordinatesGeneratedAt: '2026-04-22T07:28:29.657Z' - id: SYM-002 title: handleKbUpsert sourceFile: packages/mcp/src/tools/upsert.ts @@ -40,7 +40,7 @@ symbols: sourceColumn: 22 sourceEndLine: 247 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:21.357Z' + coordinatesGeneratedAt: '2026-04-22T07:28:29.867Z' - id: SYM-003 title: handleKbQuery sourceFile: packages/mcp/src/tools/query.ts @@ -55,7 +55,7 @@ symbols: sourceColumn: 22 sourceEndLine: 97 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:21.365Z' + coordinatesGeneratedAt: '2026-04-22T07:28:29.878Z' - id: SYM-004 title: handleKbCheck sourceFile: packages/mcp/src/tools/check.ts @@ -73,7 +73,7 @@ symbols: sourceColumn: 22 sourceEndLine: 216 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:21.651Z' + coordinatesGeneratedAt: '2026-04-22T07:28:30.055Z' - id: SYM-005 title: KibiTreeDataProvider sourceFile: packages/vscode/src/treeProvider.ts @@ -91,7 +91,7 @@ symbols: sourceColumn: 13 sourceEndLine: 967 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:22.428Z' + coordinatesGeneratedAt: '2026-04-22T07:28:30.355Z' - id: SYM-007 title: extractFromManifest sourceFile: packages/cli/src/extractors/manifest.ts @@ -106,7 +106,7 @@ symbols: sourceColumn: 16 sourceEndLine: 197 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:22.664Z' + coordinatesGeneratedAt: '2026-04-22T07:28:30.462Z' - id: SYM-010 title: startServer sourceFile: packages/mcp/src/server.ts @@ -121,7 +121,7 @@ symbols: sourceColumn: 22 sourceEndLine: 57 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:23.580Z' + coordinatesGeneratedAt: '2026-04-22T07:28:30.871Z' - id: SYM-KibiTreeDataProvider title: KibiTreeDataProvider sourceFile: packages/vscode/src/treeProvider.ts @@ -139,7 +139,7 @@ symbols: sourceColumn: 13 sourceEndLine: 967 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:23.592Z' + coordinatesGeneratedAt: '2026-04-22T07:28:30.877Z' - id: SYM-KibiCodeActionProvider title: KibiCodeActionProvider sourceFile: packages/vscode/src/codeActionProvider.ts @@ -156,7 +156,7 @@ symbols: sourceColumn: 13 sourceEndLine: 106 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:23.597Z' + coordinatesGeneratedAt: '2026-04-22T07:28:30.880Z' - id: SYM-handleKbQueryRelationships title: handleKbQueryRelationships sourceFile: packages/mcp/src/tools/query-relationships.ts @@ -192,7 +192,7 @@ symbols: sourceColumn: 16 sourceEndLine: 91 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:23.601Z' + coordinatesGeneratedAt: '2026-04-22T07:28:30.881Z' - id: SYM-KibiCodeLensProvider title: KibiCodeLensProvider sourceFile: packages/vscode/src/codeLensProvider.ts @@ -209,7 +209,7 @@ symbols: sourceColumn: 13 sourceEndLine: 338 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:23.951Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.037Z' - id: SYM-mergeStaticLinks title: mergeStaticLinks sourceFile: packages/vscode/src/codeLensProvider.ts @@ -224,7 +224,7 @@ symbols: sourceColumn: 10 sourceEndLine: 214 sourceEndColumn: 3 - coordinatesGeneratedAt: '2026-04-20T12:51:23.954Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.039Z' - id: SYM-parseSymbolsManifest title: parseSymbolsManifest sourceFile: packages/vscode/src/symbolIndex.ts @@ -241,7 +241,7 @@ symbols: sourceColumn: 9 sourceEndLine: 197 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:23.956Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.040Z' - id: SYM-getKbExistenceTargets title: getKbExistenceTargets sourceFile: packages/opencode/src/file-filter.ts @@ -256,7 +256,7 @@ symbols: sourceColumn: 16 sourceEndLine: 102 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:24.229Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.192Z' - id: SYM-checkWorkspaceHealth title: checkWorkspaceHealth sourceFile: packages/opencode/src/workspace-health.ts @@ -271,7 +271,7 @@ symbols: sourceColumn: 16 sourceEndLine: 96 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:24.456Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.411Z' - id: SYM-detectPosture title: detectPosture sourceFile: packages/opencode/src/repo-posture.ts @@ -289,7 +289,7 @@ symbols: sourceColumn: 16 sourceEndLine: 241 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:24.460Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.415Z' - id: SYM-classifyRisk title: classifyRisk sourceFile: packages/opencode/src/risk-classifier.ts @@ -307,7 +307,7 @@ symbols: sourceColumn: 16 sourceEndLine: 175 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:24.672Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.572Z' - id: SYM-GuidanceCache title: GuidanceCache sourceFile: packages/opencode/src/guidance-cache.ts @@ -325,7 +325,7 @@ symbols: sourceColumn: 13 sourceEndLine: 162 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:24.918Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.768Z' - id: SYM-buildPrompt title: buildPrompt sourceFile: packages/opencode/src/prompt.ts @@ -344,11 +344,11 @@ symbols: target: TEST-opencode-smart-enforcement - type: covered_by target: TEST-opencode-agent-mcp-only - sourceLine: 474 + sourceLine: 479 sourceColumn: 16 - sourceEndLine: 479 + sourceEndLine: 484 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:25.304Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.951Z' - id: SYM-parseRdfRelationships title: parseRdfRelationships sourceFile: packages/vscode/src/shared/rdf-parser.ts @@ -361,7 +361,7 @@ symbols: sourceColumn: 16 sourceEndLine: 67 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:25.305Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.951Z' - id: SYM-KB_RELATIONSHIP_TYPES title: KB_RELATIONSHIP_TYPES sourceFile: packages/vscode/src/shared/rdf-parser.ts @@ -374,7 +374,7 @@ symbols: sourceColumn: 13 sourceEndLine: 28 sourceEndColumn: 1 - coordinatesGeneratedAt: '2026-04-20T12:51:25.306Z' + coordinatesGeneratedAt: '2026-04-22T07:28:31.952Z' - id: SYM-kb-status-json title: kb_status/0 (JSON) sourceFile: packages/core/src/status.pl From 3c4ecac9046efe9bbda4800f5a708d19f2548620 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Apr 2026 08:35:45 +0000 Subject: [PATCH 7/8] Initial plan From 43518539630a131f9494ec56cbfb6dc4da83abd6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Apr 2026 08:37:50 +0000 Subject: [PATCH 8/8] fix(kb): align populate-kb.ts seed entries with canonical documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SCEN-001: align title/status/source/tags with documentation/scenarios/SCEN-001.md - ADR-002: align title/source/tags with documentation/adr/ADR-002.md - FLAG-001: fix status inactive→active to match documentation/flags/FLAG-001.md Ensures KB state is deterministic regardless of script vs doc sync order. Agent-Logs-Url: https://github.com/Looted/kibi/sessions/60eb6884-c2bc-4d26-ac93-22118435c2dc Co-authored-by: Looted <6255880+Looted@users.noreply.github.com> --- scripts/populate-kb.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/populate-kb.ts b/scripts/populate-kb.ts index 5150db13..beb6e63b 100644 --- a/scripts/populate-kb.ts +++ b/scripts/populate-kb.ts @@ -176,10 +176,10 @@ const entities: EntityDef[] = [ type: "adr", id: "ADR-002", properties: { - title: "Use Bun/Node.js as CLI wrapper around SWI-Prolog subprocess", + title: "Public API exports via re-export modules", status: "accepted", - source: "scripts/populate-kb.ts", - tags: ["cli", "bun", "nodejs"], + source: "documentation/adr/ADR-002.md", + tags: ["architecture", "publishing", "exports"], }, }, { @@ -242,7 +242,7 @@ const entities: EntityDef[] = [ properties: { title: "vscode-full-features: full VS Code extension with graph visualization", - status: "inactive", + status: "active", source: "documentation/flags/FLAG-001.md", tags: ["vscode", "deferred", "post-v0"], }, @@ -346,10 +346,10 @@ const entities: EntityDef[] = [ type: "scenario", id: "SCEN-001", properties: { - title: "Agent queries requirements from KB via MCP kb_query tool", - status: "passing", - source: "scripts/populate-kb.ts", - tags: ["mcp", "query", "agent"], + title: "Critical Feature Scenario", + status: "active", + source: "documentation/scenarios/SCEN-001.md", + tags: ["critical"], }, }, {