reefiki 0.1.1__tar.gz

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.
Files changed (177) hide show
  1. reefiki-0.1.1/LICENSE +162 -0
  2. reefiki-0.1.1/PKG-INFO +317 -0
  3. reefiki-0.1.1/README.md +285 -0
  4. reefiki-0.1.1/pyproject.toml +76 -0
  5. reefiki-0.1.1/reefiki.egg-info/PKG-INFO +317 -0
  6. reefiki-0.1.1/reefiki.egg-info/SOURCES.txt +175 -0
  7. reefiki-0.1.1/reefiki.egg-info/dependency_links.txt +1 -0
  8. reefiki-0.1.1/reefiki.egg-info/entry_points.txt +2 -0
  9. reefiki-0.1.1/reefiki.egg-info/requires.txt +5 -0
  10. reefiki-0.1.1/reefiki.egg-info/top_level.txt +1 -0
  11. reefiki-0.1.1/scripts/mimo_memory_integration.py +182 -0
  12. reefiki-0.1.1/scripts/reefiki.py +1151 -0
  13. reefiki-0.1.1/scripts/reefiki_agent_readiness/__init__.py +805 -0
  14. reefiki-0.1.1/scripts/reefiki_core/__init__.py +1 -0
  15. reefiki-0.1.1/scripts/reefiki_core/adapter_smoke.py +93 -0
  16. reefiki-0.1.1/scripts/reefiki_core/adapters.py +124 -0
  17. reefiki-0.1.1/scripts/reefiki_core/capture_evidence.py +303 -0
  18. reefiki-0.1.1/scripts/reefiki_core/cleanup_worktree.py +94 -0
  19. reefiki-0.1.1/scripts/reefiki_core/code_context.py +37 -0
  20. reefiki-0.1.1/scripts/reefiki_core/confidence_pass.py +274 -0
  21. reefiki-0.1.1/scripts/reefiki_core/connect_check.py +225 -0
  22. reefiki-0.1.1/scripts/reefiki_core/cross_project.py +279 -0
  23. reefiki-0.1.1/scripts/reefiki_core/doctor.py +116 -0
  24. reefiki-0.1.1/scripts/reefiki_core/duplicates.py +60 -0
  25. reefiki-0.1.1/scripts/reefiki_core/file_utils.py +48 -0
  26. reefiki-0.1.1/scripts/reefiki_core/git_utils.py +95 -0
  27. reefiki-0.1.1/scripts/reefiki_core/graphify_adapter.py +188 -0
  28. reefiki-0.1.1/scripts/reefiki_core/guard_staged.py +185 -0
  29. reefiki-0.1.1/scripts/reefiki_core/guided_tour.py +276 -0
  30. reefiki-0.1.1/scripts/reefiki_core/harvest_commit.py +186 -0
  31. reefiki-0.1.1/scripts/reefiki_core/health.py +236 -0
  32. reefiki-0.1.1/scripts/reefiki_core/index_search.py +421 -0
  33. reefiki-0.1.1/scripts/reefiki_core/init_workspace.py +449 -0
  34. reefiki-0.1.1/scripts/reefiki_core/link_confidence.py +297 -0
  35. reefiki-0.1.1/scripts/reefiki_core/markdown.py +119 -0
  36. reefiki-0.1.1/scripts/reefiki_core/markdown_import.py +351 -0
  37. reefiki-0.1.1/scripts/reefiki_core/memoir_io.py +82 -0
  38. reefiki-0.1.1/scripts/reefiki_core/memory_cli.py +71 -0
  39. reefiki-0.1.1/scripts/reefiki_core/memory_diff.py +123 -0
  40. reefiki-0.1.1/scripts/reefiki_core/memory_explain.py +104 -0
  41. reefiki-0.1.1/scripts/reefiki_core/memory_golden.py +236 -0
  42. reefiki-0.1.1/scripts/reefiki_core/memory_lookup.py +197 -0
  43. reefiki-0.1.1/scripts/reefiki_core/memory_pack.py +391 -0
  44. reefiki-0.1.1/scripts/reefiki_core/memory_preflight.py +80 -0
  45. reefiki-0.1.1/scripts/reefiki_core/memory_reflect.py +304 -0
  46. reefiki-0.1.1/scripts/reefiki_core/memory_route.py +107 -0
  47. reefiki-0.1.1/scripts/reefiki_core/memory_status.py +256 -0
  48. reefiki-0.1.1/scripts/reefiki_core/notify.py +147 -0
  49. reefiki-0.1.1/scripts/reefiki_core/obligations_extract.py +284 -0
  50. reefiki-0.1.1/scripts/reefiki_core/onboarding.py +837 -0
  51. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/__init__.py +67 -0
  52. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/demo.py +134 -0
  53. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/logs.py +509 -0
  54. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/server.py +236 -0
  55. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/snapshot.py +1067 -0
  56. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/static/app.js +1212 -0
  57. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/static/i18n.json +350 -0
  58. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/static/index.html +257 -0
  59. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/static/theme.css +1024 -0
  60. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/static_next/app.js +2643 -0
  61. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/static_next/i18n.json +804 -0
  62. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/static_next/index.html +371 -0
  63. reefiki-0.1.1/scripts/reefiki_core/ops_dashboard/static_next/theme.css +2200 -0
  64. reefiki-0.1.1/scripts/reefiki_core/orchestration_check.py +398 -0
  65. reefiki-0.1.1/scripts/reefiki_core/plans.py +124 -0
  66. reefiki-0.1.1/scripts/reefiki_core/policy_evidence.py +417 -0
  67. reefiki-0.1.1/scripts/reefiki_core/privacy.py +199 -0
  68. reefiki-0.1.1/scripts/reefiki_core/process_utils.py +25 -0
  69. reefiki-0.1.1/scripts/reefiki_core/project_commands.py +117 -0
  70. reefiki-0.1.1/scripts/reefiki_core/project_paths.py +56 -0
  71. reefiki-0.1.1/scripts/reefiki_core/promotion.py +576 -0
  72. reefiki-0.1.1/scripts/reefiki_core/public_snapshot.py +161 -0
  73. reefiki-0.1.1/scripts/reefiki_core/publish_classification.py +94 -0
  74. reefiki-0.1.1/scripts/reefiki_core/publish_task.py +213 -0
  75. reefiki-0.1.1/scripts/reefiki_core/repo_paths.py +42 -0
  76. reefiki-0.1.1/scripts/reefiki_core/retrieval_benchmark.py +345 -0
  77. reefiki-0.1.1/scripts/reefiki_core/retrieval_preflight.py +127 -0
  78. reefiki-0.1.1/scripts/reefiki_core/review_queues.py +700 -0
  79. reefiki-0.1.1/scripts/reefiki_core/save.py +40 -0
  80. reefiki-0.1.1/scripts/reefiki_core/save_paths.py +32 -0
  81. reefiki-0.1.1/scripts/reefiki_core/secret_scan.py +184 -0
  82. reefiki-0.1.1/scripts/reefiki_core/status.py +82 -0
  83. reefiki-0.1.1/scripts/reefiki_core/storage.py +66 -0
  84. reefiki-0.1.1/scripts/reefiki_core/test_observability.py +198 -0
  85. reefiki-0.1.1/scripts/reefiki_core/tool_trigger.py +78 -0
  86. reefiki-0.1.1/scripts/reefiki_core/verify_intent.py +251 -0
  87. reefiki-0.1.1/scripts/reefiki_core/visibility_audit.py +333 -0
  88. reefiki-0.1.1/scripts/reefiki_core/wiki_lock.py +67 -0
  89. reefiki-0.1.1/scripts/reefiki_core/wiki_rows.py +30 -0
  90. reefiki-0.1.1/scripts/reefiki_core/wiki_write.py +265 -0
  91. reefiki-0.1.1/scripts/reefiki_core/worktree_status.py +301 -0
  92. reefiki-0.1.1/scripts/reefiki_memory/__init__.py +334 -0
  93. reefiki-0.1.1/scripts/staged_scope_hook.py +170 -0
  94. reefiki-0.1.1/scripts/validate_frontmatter.py +474 -0
  95. reefiki-0.1.1/setup.cfg +4 -0
  96. reefiki-0.1.1/tests/test_agent_flow_e2e.py +243 -0
  97. reefiki-0.1.1/tests/test_agent_readiness.py +338 -0
  98. reefiki-0.1.1/tests/test_ci_workflow.py +87 -0
  99. reefiki-0.1.1/tests/test_codex_plugin_packaging_docs.py +31 -0
  100. reefiki-0.1.1/tests/test_install_smoke.py +270 -0
  101. reefiki-0.1.1/tests/test_local_agent_delegate.py +307 -0
  102. reefiki-0.1.1/tests/test_mimo_memory_integration.py +60 -0
  103. reefiki-0.1.1/tests/test_packaging_legal.py +89 -0
  104. reefiki-0.1.1/tests/test_public_snapshot_guard.py +33 -0
  105. reefiki-0.1.1/tests/test_pytest_observability.py +137 -0
  106. reefiki-0.1.1/tests/test_reefiki_cli_first_run.py +154 -0
  107. reefiki-0.1.1/tests/test_reefiki_core_adapter_smoke.py +89 -0
  108. reefiki-0.1.1/tests/test_reefiki_core_adapters.py +115 -0
  109. reefiki-0.1.1/tests/test_reefiki_core_capture_evidence.py +166 -0
  110. reefiki-0.1.1/tests/test_reefiki_core_cleanup_worktree.py +115 -0
  111. reefiki-0.1.1/tests/test_reefiki_core_code_context.py +53 -0
  112. reefiki-0.1.1/tests/test_reefiki_core_confidence_pass.py +95 -0
  113. reefiki-0.1.1/tests/test_reefiki_core_connect_check.py +103 -0
  114. reefiki-0.1.1/tests/test_reefiki_core_cross_project.py +133 -0
  115. reefiki-0.1.1/tests/test_reefiki_core_doctor.py +47 -0
  116. reefiki-0.1.1/tests/test_reefiki_core_duplicates.py +28 -0
  117. reefiki-0.1.1/tests/test_reefiki_core_file_utils.py +20 -0
  118. reefiki-0.1.1/tests/test_reefiki_core_git_utils.py +58 -0
  119. reefiki-0.1.1/tests/test_reefiki_core_graphify_adapter.py +88 -0
  120. reefiki-0.1.1/tests/test_reefiki_core_guard_staged.py +323 -0
  121. reefiki-0.1.1/tests/test_reefiki_core_guided_tour.py +56 -0
  122. reefiki-0.1.1/tests/test_reefiki_core_harvest_commit.py +75 -0
  123. reefiki-0.1.1/tests/test_reefiki_core_health.py +62 -0
  124. reefiki-0.1.1/tests/test_reefiki_core_index_search.py +109 -0
  125. reefiki-0.1.1/tests/test_reefiki_core_init_workspace.py +250 -0
  126. reefiki-0.1.1/tests/test_reefiki_core_link_confidence.py +190 -0
  127. reefiki-0.1.1/tests/test_reefiki_core_markdown.py +76 -0
  128. reefiki-0.1.1/tests/test_reefiki_core_markdown_import.py +103 -0
  129. reefiki-0.1.1/tests/test_reefiki_core_memoir_io.py +51 -0
  130. reefiki-0.1.1/tests/test_reefiki_core_memoir_store.py +49 -0
  131. reefiki-0.1.1/tests/test_reefiki_core_memory_cli.py +180 -0
  132. reefiki-0.1.1/tests/test_reefiki_core_memory_diff.py +58 -0
  133. reefiki-0.1.1/tests/test_reefiki_core_memory_explain.py +61 -0
  134. reefiki-0.1.1/tests/test_reefiki_core_memory_golden.py +214 -0
  135. reefiki-0.1.1/tests/test_reefiki_core_memory_lookup.py +252 -0
  136. reefiki-0.1.1/tests/test_reefiki_core_memory_pack.py +210 -0
  137. reefiki-0.1.1/tests/test_reefiki_core_memory_preflight.py +97 -0
  138. reefiki-0.1.1/tests/test_reefiki_core_memory_reflect.py +114 -0
  139. reefiki-0.1.1/tests/test_reefiki_core_memory_route.py +66 -0
  140. reefiki-0.1.1/tests/test_reefiki_core_memory_status.py +88 -0
  141. reefiki-0.1.1/tests/test_reefiki_core_notify.py +145 -0
  142. reefiki-0.1.1/tests/test_reefiki_core_obligations_extract.py +157 -0
  143. reefiki-0.1.1/tests/test_reefiki_core_onboarding.py +89 -0
  144. reefiki-0.1.1/tests/test_reefiki_core_ops_dashboard.py +945 -0
  145. reefiki-0.1.1/tests/test_reefiki_core_orchestration_check.py +183 -0
  146. reefiki-0.1.1/tests/test_reefiki_core_plans.py +90 -0
  147. reefiki-0.1.1/tests/test_reefiki_core_policy_evidence.py +211 -0
  148. reefiki-0.1.1/tests/test_reefiki_core_privacy.py +62 -0
  149. reefiki-0.1.1/tests/test_reefiki_core_process_utils.py +25 -0
  150. reefiki-0.1.1/tests/test_reefiki_core_project_commands.py +125 -0
  151. reefiki-0.1.1/tests/test_reefiki_core_project_paths.py +61 -0
  152. reefiki-0.1.1/tests/test_reefiki_core_promotion.py +51 -0
  153. reefiki-0.1.1/tests/test_reefiki_core_public_snapshot.py +205 -0
  154. reefiki-0.1.1/tests/test_reefiki_core_publish_classification.py +70 -0
  155. reefiki-0.1.1/tests/test_reefiki_core_publish_task.py +340 -0
  156. reefiki-0.1.1/tests/test_reefiki_core_repo_paths.py +55 -0
  157. reefiki-0.1.1/tests/test_reefiki_core_retrieval_benchmark.py +170 -0
  158. reefiki-0.1.1/tests/test_reefiki_core_retrieval_preflight.py +84 -0
  159. reefiki-0.1.1/tests/test_reefiki_core_review_queues.py +60 -0
  160. reefiki-0.1.1/tests/test_reefiki_core_save.py +59 -0
  161. reefiki-0.1.1/tests/test_reefiki_core_save_paths.py +27 -0
  162. reefiki-0.1.1/tests/test_reefiki_core_secret_scan.py +202 -0
  163. reefiki-0.1.1/tests/test_reefiki_core_status.py +62 -0
  164. reefiki-0.1.1/tests/test_reefiki_core_storage.py +42 -0
  165. reefiki-0.1.1/tests/test_reefiki_core_tool_trigger.py +36 -0
  166. reefiki-0.1.1/tests/test_reefiki_core_verify_intent.py +178 -0
  167. reefiki-0.1.1/tests/test_reefiki_core_visibility_audit.py +260 -0
  168. reefiki-0.1.1/tests/test_reefiki_core_wiki_rows.py +63 -0
  169. reefiki-0.1.1/tests/test_reefiki_core_wiki_write.py +292 -0
  170. reefiki-0.1.1/tests/test_reefiki_core_worktree_status.py +79 -0
  171. reefiki-0.1.1/tests/test_reefiki_dedup.py +177 -0
  172. reefiki-0.1.1/tests/test_reefiki_memory_contracts.py +4215 -0
  173. reefiki-0.1.1/tests/test_reefiki_memory_governance.py +729 -0
  174. reefiki-0.1.1/tests/test_skill_products_demo.py +50 -0
  175. reefiki-0.1.1/tests/test_skill_products_layout.py +119 -0
  176. reefiki-0.1.1/tests/test_staged_scope_hook.py +128 -0
  177. reefiki-0.1.1/tests/test_validate_frontmatter.py +173 -0
reefiki-0.1.1/LICENSE ADDED
@@ -0,0 +1,162 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction, and
10
+ distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by the
13
+ copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all other
16
+ entities that control, are controlled by, or are under common control with
17
+ that entity. For the purposes of this definition, "control" means (i) the
18
+ power, direct or indirect, to cause the direction or management of such
19
+ entity, whether by contract or otherwise, or (ii) ownership of fifty percent
20
+ (50%) or more of the outstanding shares, or (iii) beneficial ownership of
21
+ such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity exercising
24
+ permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation source,
28
+ and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical transformation
31
+ or translation of a Source form, including but not limited to compiled
32
+ object code, generated documentation, and conversions to other media types.
33
+
34
+ "Work" shall mean the work of authorship, whether in Source or Object form,
35
+ made available under the License, as indicated by a copyright notice that
36
+ is included in or attached to the work.
37
+
38
+ "Derivative Works" shall mean any work, whether in Source or Object form,
39
+ that is based on (or derived from) the Work and for which the editorial
40
+ revisions, annotations, elaborations, or other modifications represent, as a
41
+ whole, an original work of authorship. For the purposes of this License,
42
+ Derivative Works shall not include works that remain separable from, or
43
+ merely link (or bind by name) to the interfaces of, the Work and Derivative
44
+ Works thereof.
45
+
46
+ "Contribution" shall mean any work of authorship, including the original
47
+ version of the Work and any modifications or additions to that Work or
48
+ Derivative Works thereof, that is intentionally submitted to Licensor for
49
+ inclusion in the Work by the copyright owner or by an individual or Legal
50
+ Entity authorized to submit on behalf of the copyright owner. For the
51
+ purposes of this definition, "submitted" means any form of electronic,
52
+ verbal, or written communication sent to the Licensor or its representatives,
53
+ including but not limited to communication on electronic mailing lists,
54
+ source code control systems, and issue tracking systems that are managed by,
55
+ or on behalf of, the Licensor for the purpose of discussing and improving
56
+ the Work, but excluding communication that is conspicuously marked or
57
+ otherwise designated in writing by the copyright owner as "Not a Contribution."
58
+
59
+ "Contributor" shall mean Licensor and any individual or Legal Entity on
60
+ behalf of whom a Contribution has been received by Licensor and subsequently
61
+ incorporated within the Work.
62
+
63
+ 2. Grant of Copyright License. Subject to the terms and conditions of this
64
+ License, each Contributor hereby grants to You a perpetual, worldwide,
65
+ non-exclusive, no-charge, royalty-free, irrevocable copyright license to
66
+ reproduce, prepare Derivative Works of, publicly display, publicly perform,
67
+ sublicense, and distribute the Work and such Derivative Works in Source or
68
+ Object form.
69
+
70
+ 3. Grant of Patent License. Subject to the terms and conditions of this
71
+ License, each Contributor hereby grants to You a perpetual, worldwide,
72
+ non-exclusive, no-charge, royalty-free, irrevocable patent license to make,
73
+ have made, use, offer to sell, sell, import, and otherwise transfer the
74
+ Work, where such license applies only to those patent claims licensable by
75
+ such Contributor that are necessarily infringed by their Contribution(s)
76
+ alone or by combination of their Contribution(s) with the Work to which such
77
+ Contribution(s) was submitted. If You institute patent litigation against
78
+ any entity (including a cross-claim or counterclaim in a lawsuit) alleging
79
+ that the Work or a Contribution incorporated within the Work constitutes
80
+ direct or contributory patent infringement, then any patent licenses granted
81
+ to You under this License for that Work shall terminate as of the date such
82
+ litigation is filed.
83
+
84
+ 4. Redistribution. You may reproduce and distribute copies of the Work or
85
+ Derivative Works thereof in any medium, with or without modifications, and
86
+ in Source or Object form, provided that You meet the following conditions:
87
+
88
+ (a) You must give any other recipients of the Work or Derivative Works a
89
+ copy of this License; and
90
+
91
+ (b) You must cause any modified files to carry prominent notices stating
92
+ that You changed the files; and
93
+
94
+ (c) You must retain, in the Source form of any Derivative Works that You
95
+ distribute, all copyright, patent, trademark, and attribution notices from
96
+ the Source form of the Work, excluding those notices that do not pertain to
97
+ any part of the Derivative Works; and
98
+
99
+ (d) If the Work includes a "NOTICE" text file as part of its distribution,
100
+ then any Derivative Works that You distribute must include a readable copy
101
+ of the attribution notices contained within such NOTICE file, excluding
102
+ those notices that do not pertain to any part of the Derivative Works, in at
103
+ least one of the following places: within a NOTICE text file distributed as
104
+ part of the Derivative Works; within the Source form or documentation, if
105
+ provided along with the Derivative Works; or, within a display generated by
106
+ the Derivative Works, if and wherever such third-party notices normally
107
+ appear. The contents of the NOTICE file are for informational purposes only
108
+ and do not modify the License. You may add Your own attribution notices
109
+ within Derivative Works that You distribute, alongside or as an addendum to
110
+ the NOTICE text from the Work, provided that such additional attribution
111
+ notices cannot be construed as modifying the License.
112
+
113
+ You may add Your own copyright statement to Your modifications and may
114
+ provide additional or different license terms and conditions for use,
115
+ reproduction, or distribution of Your modifications, or for any such
116
+ Derivative Works as a whole, provided Your use, reproduction, and
117
+ distribution of the Work otherwise complies with the conditions stated in
118
+ this License.
119
+
120
+ 5. Submission of Contributions. Unless You explicitly state otherwise, any
121
+ Contribution intentionally submitted for inclusion in the Work by You to the
122
+ Licensor shall be under the terms and conditions of this License, without
123
+ any additional terms or conditions. Notwithstanding the above, nothing herein
124
+ shall supersede or modify the terms of any separate license agreement you
125
+ may have executed with Licensor regarding such Contributions.
126
+
127
+ 6. Trademarks. This License does not grant permission to use the trade names,
128
+ trademarks, service marks, or product names of the Licensor, except as
129
+ required for reasonable and customary use in describing the origin of the
130
+ Work and reproducing the content of the NOTICE file.
131
+
132
+ 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
133
+ writing, Licensor provides the Work (and each Contributor provides its
134
+ Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
135
+ KIND, either express or implied, including, without limitation, any
136
+ warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or
137
+ FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining
138
+ the appropriateness of using or redistributing the Work and assume any risks
139
+ associated with Your exercise of permissions under this License.
140
+
141
+ 8. Limitation of Liability. In no event and under no legal theory, whether
142
+ in tort (including negligence), contract, or otherwise, unless required by
143
+ applicable law (such as deliberate and grossly negligent acts) or agreed to
144
+ in writing, shall any Contributor be liable to You for damages, including
145
+ any direct, indirect, special, incidental, or consequential damages of any
146
+ character arising as a result of this License or out of the use or inability
147
+ to use the Work (including but not limited to damages for loss of goodwill,
148
+ work stoppage, computer failure or malfunction, or any and all other
149
+ commercial damages or losses), even if such Contributor has been advised of
150
+ the possibility of such damages.
151
+
152
+ 9. Accepting Warranty or Additional Liability. While redistributing the Work
153
+ or Derivative Works thereof, You may choose to offer, and charge a fee for,
154
+ acceptance of support, warranty, indemnity, or other liability obligations
155
+ and/or rights consistent with this License. However, in accepting such
156
+ obligations, You may act only on Your own behalf and on Your sole
157
+ responsibility, not on behalf of any other Contributor, and only if You agree
158
+ to indemnify, defend, and hold each Contributor harmless for any liability
159
+ incurred by, or claims asserted against, such Contributor by reason of your
160
+ accepting any such warranty or additional liability.
161
+
162
+ END OF TERMS AND CONDITIONS
reefiki-0.1.1/PKG-INFO ADDED
@@ -0,0 +1,317 @@
1
+ Metadata-Version: 2.4
2
+ Name: reefiki
3
+ Version: 0.1.1
4
+ Summary: Multi-project markdown wiki and memory control plane for LLM agents.
5
+ Author: REEFIKI contributors
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/kisslex2013-alt/Reefiki
8
+ Project-URL: Repository, https://github.com/kisslex2013-alt/Reefiki
9
+ Project-URL: Issues, https://github.com/kisslex2013-alt/Reefiki/issues
10
+ Keywords: agents,local-first,markdown,memory,wiki
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Natural Language :: English
15
+ Classifier: Natural Language :: Russian
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Topic :: Documentation
22
+ Classifier: Topic :: Software Development :: Documentation
23
+ Classifier: Topic :: Text Processing :: Markup :: Markdown
24
+ Requires-Python: >=3.11
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Provides-Extra: dev
28
+ Requires-Dist: build>=1.2; extra == "dev"
29
+ Requires-Dist: pre-commit>=3.7; extra == "dev"
30
+ Requires-Dist: pytest>=8.0; extra == "dev"
31
+ Dynamic: license-file
32
+
33
+ # REEFIKI
34
+
35
+ ![REEFIKI: Рифик превращает шум AI-сессий в полезную память](assets/reefiki-hero-mascot.png)
36
+
37
+ <p align="center">
38
+ <a href="QUICKSTART.md#русский"><img alt="Быстрый старт" src="https://img.shields.io/badge/Быстрый_старт-0B7FCC?style=for-the-badge"></a>
39
+ <a href="LICENSE"><img alt="Лицензия: Apache 2.0" src="https://img.shields.io/badge/Лицензия-Apache_2.0-2E7D32?style=for-the-badge"></a>
40
+ <a href="#безопасность"><img alt="Локально по умолчанию" src="https://img.shields.io/badge/Локально-по_умолчанию-3E6B5A?style=for-the-badge"></a>
41
+ <a href="#для-агентов"><img alt="Для разных агентов" src="https://img.shields.io/badge/Для_агентов-Codex_|_Claude_|_Gemini_|_Mimo-6A4BBC?style=for-the-badge"></a>
42
+ <a href="docs/PUBLIC_DEMO.md#русский"><img alt="Публичное демо" src="https://img.shields.io/badge/Публичное_демо-docs-E07A2F?style=for-the-badge"></a>
43
+ <a href="COMMANDS.md#русский"><img alt="Команды" src="https://img.shields.io/badge/Команды-справочник-455A64?style=for-the-badge"></a>
44
+ </p>
45
+
46
+ AI-агенты быстро помогают, но плохо помнят контекст: решения остаются в чатах, полезные приемы теряются, а следующий агент снова начинает с нуля.
47
+
48
+ **REEFIKI** решает эту проблему как локальная вики-память для AI-агентов: она сохраняет не весь шум, а только то, что реально пригодится снова.
49
+
50
+ [English](README.en.md) · [中文](README.zh-CN.md) · [Быстрый старт](QUICKSTART.md#русский) · [Команды](COMMANDS.md#русский)
51
+
52
+ ---
53
+
54
+ ## Проблема
55
+
56
+ Работа с AI-агентами часто ломается не из-за кода, а из-за памяти.
57
+
58
+ После нескольких тредов появляются типичные проблемы:
59
+
60
+ - важное решение осталось в переписке и больше не находится;
61
+ - новый агент не знает, почему проект устроен именно так;
62
+ - полезный прием был найден один раз, но не стал повторяемым навыком;
63
+ - ссылки, заметки и выводы смешиваются с черновиками и шумом;
64
+ - память агента становится либо слишком короткой, либо слишком грязной.
65
+
66
+ Обычная база заметок тоже не решает это полностью: туда легко складывать все подряд, но трудно отделять reusable knowledge от случайного контекста.
67
+
68
+ ## Что Такое REEFIKI
69
+
70
+ REEFIKI это локальная multi-project distillation wiki для AI-агентов.
71
+
72
+ Проще:
73
+
74
+ - у каждого проекта есть своя вики;
75
+ - агент сохраняет туда решения, навыки, выводы и источники;
76
+ - слабые или временные материалы откладываются, а не засоряют базу;
77
+ - все хранится в markdown-файлах и git-истории;
78
+ - правила работы описаны в `AGENTS.md`, поэтому их понимают разные агенты.
79
+
80
+ REEFIKI не пытается быть еще одним чат-ботом, облачной памятью или складом всех сообщений. Это фильтр, который превращает рабочий хаос в короткую, проверяемую и переносимую память проекта.
81
+
82
+ ## Типы Проектов
83
+
84
+ Не все REEFIKI-проекты одинаковые. При создании или подключении проекта можно сразу сказать агенту, какой это профиль:
85
+
86
+ | Профиль | Для чего | Примеры |
87
+ |---|---|---|
88
+ | `agent_surface` | правила, skills, adapters, diagnostics и recovery для agent/IDE/runtime окружений | Codex, Claude Code, Gemini, Mimo, Hermes |
89
+ | `product` | продуктовые решения, delivery evidence, UX и release knowledge | Metrica |
90
+ | `knowledge_domain` | предметная база знаний без основного runtime-слоя | Suno, Instagram, Security Guidance |
91
+ | `reefiki_core` | правила и governance самого REEFIKI | reefiki |
92
+
93
+ Это ручной onboarding label, а не обязательное поле схемы. Подробно: [docs/PROJECT_PROFILES.md](docs/PROJECT_PROFILES.md#русский).
94
+
95
+ ## Зачем Он Нужен
96
+
97
+ REEFIKI полезен, если ты работаешь с AI-агентами регулярно и хочешь, чтобы они:
98
+
99
+ - продолжали работу с учетом прошлых решений;
100
+ - не повторяли уже пройденные ошибки;
101
+ - быстро поднимали проектный контекст;
102
+ - сохраняли процедуры как навыки;
103
+ - разделяли личную/private память и публичные материалы;
104
+ - передавали работу между Codex, Claude Code, Cursor, Windsurf и другими агентами.
105
+
106
+ Главная идея: **агент должен не просто выполнить задачу, а оставить после себя пригодный след**.
107
+
108
+ ## Как Это Работает
109
+
110
+ ![Как REEFIKI превращает шум в память](assets/reefiki-architecture.ru.svg)
111
+
112
+ REEFIKI использует простой цикл:
113
+
114
+ 1. **Собрать**: ссылка, файл, решение или вывод попадает в копилку проекта.
115
+ 2. **Отфильтровать**: агент проверяет, можно ли это применить снова.
116
+ 3. **Сохранить**: полезное становится страницей вики, навыком, решением или synthesis.
117
+ 4. **Связать**: страницы получают связи, индекс и запись в журнале.
118
+ 5. **Поднять позже**: следующий агент отвечает уже из накопленной вики, а не из догадок.
119
+
120
+ Внутри REEFIKI есть несколько типов памяти:
121
+
122
+ | Тип | Что сохраняет |
123
+ |---|---|
124
+ | `sources` | откуда пришла идея или материал |
125
+ | `concepts` | reusable-понимание |
126
+ | `decisions` | принятое решение и причина |
127
+ | `skills` | воспроизводимая процедура |
128
+ | `synthesis` | выводы из сессии или этапа работы |
129
+
130
+ ## Рифик
131
+
132
+ ![Рифик, маскот REEFIKI](assets/reefiki-mascot.png)
133
+
134
+ Рифик это маленький reef crab archivist: хранитель рифа-вики, который не тащит в память весь песок, а отбирает только полезные ракушки. В README он работает как метафора: слева шум сессий, в центре дистилляция, справа аккуратная проектная память.
135
+
136
+ ## Быстрый Старт
137
+
138
+ Самый короткий безопасный первый запуск через CLI: установить, создать локальный workspace, проверить здоровье проекта, потом уже смотреть демо или подключать реальный код.
139
+
140
+ ```powershell
141
+ pipx install git+https://github.com/kisslex2013-alt/reefiki.git
142
+ pipx ensurepath
143
+ Get-Command reefiki
144
+ where.exe reefiki
145
+ reefiki --help
146
+ reefiki init --workspace C:\Temp\reefiki-workspace --project-name first-run --format json
147
+ reefiki --project C:\Temp\reefiki-workspace\projects\first-run doctor --format json
148
+ reefiki --project C:\Temp\reefiki-workspace\projects\first-run status
149
+ reefiki --project C:\Temp\reefiki-workspace\projects\first-run import C:\Temp\my-notes --from markdown --format json
150
+ reefiki onboarding
151
+ ```
152
+
153
+ POSIX пример:
154
+
155
+ ```bash
156
+ python3 -m pip install --user pipx
157
+ pipx install git+https://github.com/kisslex2013-alt/reefiki.git
158
+ pipx ensurepath
159
+ reefiki --help
160
+ reefiki init --workspace /tmp/reefiki-workspace --project-name first-run --format json
161
+ reefiki --project /tmp/reefiki-workspace/projects/first-run doctor --format json
162
+ reefiki --project /tmp/reefiki-workspace/projects/first-run status
163
+ reefiki --project /tmp/reefiki-workspace/projects/first-run import /tmp/my-notes --from markdown --format json
164
+ reefiki onboarding --lang en
165
+ ```
166
+
167
+ Если CLI ещё не установлен или `reefiki` не найден в текущем shell, тот же init-first путь работает из checkout:
168
+
169
+ ```powershell
170
+ python scripts\reefiki.py init --workspace C:\Temp\reefiki-workspace --project-name first-run --format json
171
+ python scripts\reefiki.py --project C:\Temp\reefiki-workspace\projects\first-run doctor --format json
172
+ python scripts\reefiki.py --project C:\Temp\reefiki-workspace\projects\first-run status
173
+ ```
174
+
175
+ После проверки можно посмотреть демо-экран:
176
+
177
+ ```powershell
178
+ reefiki onboarding
179
+ reefiki onboarding --fixture-root C:\Temp\reefiki-demo
180
+ reefiki ops-dashboard demo --fixture-root C:\Temp\reefiki-dashboard-demo
181
+ reefiki ops-dashboard serve --workspace-root C:\Temp\reefiki-dashboard-demo --port 7310
182
+ ```
183
+
184
+ Или подключить кодовый проект явно через bridge:
185
+
186
+ ```powershell
187
+ reefiki init --workspace C:\Temp\my-reefiki --project-name my-app --code-project H:\Projects\MyApp --apply-bridge --format json
188
+ reefiki connect-check H:\Projects\MyApp --format json
189
+ ```
190
+
191
+ Без `--apply-bridge` команда не пишет `.reefiki` и `_wiki/` в кодовый проект.
192
+
193
+ Если хочешь, чтобы агент сделал это за тебя, открой REEFIKI и скажи:
194
+
195
+ ```text
196
+ Подключи проект H:\Projects\MyApp к вики
197
+ ```
198
+
199
+ После этого можно работать обычными фразами:
200
+
201
+ | Ты говоришь | Что делает агент |
202
+ |---|---|
203
+ | "положи это в копилку" | сохраняет материал на разбор |
204
+ | "разбери копилку" | превращает полезное в wiki-страницы |
205
+ | "запомни это как решение" | сохраняет durable decision |
206
+ | "сохрани как навык" | оформляет повторяемую процедуру |
207
+ | "что мы решали про sync?" | отвечает только из накопленной вики |
208
+ | "зафиксируй выводы сессии" | сохраняет synthesis |
209
+
210
+ Подробный первый запуск: [QUICKSTART.md](QUICKSTART.md#русский). Установка и fallback: [docs/INSTALL.md](docs/INSTALL.md#русский).
211
+
212
+ ## Что Уже Умеет
213
+
214
+ - Отдельные wiki-проекты в `projects/<name>/`.
215
+ - Подключение существующего кодового проекта через `_wiki`.
216
+ - Импорт локальных Markdown/Obsidian/Logseq заметок в `inbox/` для безопасного cold start.
217
+ - Capture -> process -> query -> harvest workflow.
218
+ - Agent-agnostic правила через `AGENTS.md`.
219
+ - Ручные project profiles для agent/runtime, product и knowledge-domain проектов.
220
+ - Локальные markdown-файлы вместо закрытого облачного storage.
221
+ - Журнал изменений и индекс вики.
222
+ - Health/lint проверки, чтобы база не превращалась в свалку.
223
+ - Handoff context для следующего агента.
224
+ - Явные границы между локальной/private памятью и материалами, которые можно публиковать.
225
+
226
+ Полная карта возможностей: [COMMANDS.md](COMMANDS.md#русский).
227
+
228
+ ## Что REEFIKI Не Делает
229
+
230
+ REEFIKI сознательно не является:
231
+
232
+ - хранилищем всех сообщений чата;
233
+ - заменой git, Obsidian или issue tracker;
234
+ - автоматическим облачным sync-сервисом;
235
+ - векторной базой "на всякий случай";
236
+ - системой, которая пишет в любую папку без project boundary.
237
+
238
+ Если материал нельзя применить снова, его лучше не сохранять в durable wiki.
239
+
240
+ ## Безопасность
241
+
242
+ REEFIKI local-first by default:
243
+
244
+ - пользовательские wiki-проекты остаются локальными;
245
+ - `raw/` считается неизменяемым архивом;
246
+ - секреты, бинарники и слишком большие файлы не сохраняются автоматически;
247
+ - публичные материалы отделены от локальных wiki-проектов и проходят проверку перед публикацией;
248
+ - агент меняет только явно выбранные файлы в рамках проекта.
249
+
250
+ Коротко: REEFIKI делает память полезной, но не размывает границы проекта.
251
+
252
+ ## Для Агентов
253
+
254
+ Агентам не нужно помнить внутренние команды. Они читают `AGENTS.md` и работают по проектному контракту:
255
+
256
+ - в корне REEFIKI можно создавать и подключать проекты;
257
+ - внутри `projects/<name>/` можно сохранять и разбирать знания;
258
+ - старые строки `wiki/log.md` не переписываются;
259
+ - `raw/` не редактируется;
260
+ - все durable writes должны быть объяснимыми и воспроизводимыми.
261
+
262
+ Это делает REEFIKI переносимым между Codex, Claude Code, Cursor, Windsurf/Cascade, Cline и другими LLM-агентами.
263
+
264
+ Если проект относится к agent/IDE/runtime окружению вроде Codex, Claude Code, Gemini, Mimo или Hermes, веди его как `agent_surface`: сохраняй переносимые процедуры, adapters, diagnostics и recovery notes, но не объединяй wikis и не копируй skills автоматически.
265
+
266
+ ## Экономия Токенов
267
+
268
+ ![Как REEFIKI отбрасывает шум и оставляет полезные токены](assets/reefiki-token-economy.ru.png)
269
+
270
+ REEFIKI снижает расход токенов не магическим сжатием, а тем, что агент читает меньше мусора.
271
+
272
+ - Вместо всего чата поднимаются короткие страницы `decisions`, `skills`, `concepts` и `synthesis`.
273
+ - Проекты изолированы, поэтому агент не тащит чужой контекст в текущую задачу.
274
+ - `wiki/index.md` и журнал помогают найти нужные страницы без полного перечитывания базы.
275
+ - Handoff-пакет собирает ограниченный контекст для следующего агента.
276
+ - Слабые материалы остаются в копилке или отказе, а не попадают в постоянную память.
277
+
278
+ Ориентир, не гарантия: одна короткая `decision` или `skill`-страница обычно занимает примерно 500-2 000 токенов и часто заменяет 5 000-30 000 токенов старой переписки. Handoff-пакет обычно разумно держать в районе 2 000-8 000 токенов вместо десятков тысяч токенов истории.
279
+
280
+ На повторных задачах это часто даёт примерно 50-90% меньше токенов на чтение контекста; для точечного возврата к одному решению или навыку выигрыш может быть 70-95%.
281
+
282
+ Подробно: [docs/TOKEN_ECONOMY.md#русский](docs/TOKEN_ECONOMY.md#русский).
283
+
284
+ ## Куда Дальше
285
+
286
+ - [QUICKSTART.md](QUICKSTART.md#русский): первый запуск без знания CLI.
287
+ - [COMMANDS.md](COMMANDS.md#русский): все операции REEFIKI.
288
+ - [docs/TOKEN_ECONOMY.md](docs/TOKEN_ECONOMY.md#русский): как REEFIKI экономит токены.
289
+ - [docs/INSTALL.md](docs/INSTALL.md#русский): установка и smoke-проверка CLI.
290
+ - [docs/obsidian-setup.md](docs/obsidian-setup.md#русский): безопасная настройка Obsidian.
291
+ - [docs/PUBLIC_DEMO.md](docs/PUBLIC_DEMO.md#русский): публичное демо и границы.
292
+ - [docs/RECOVERY.md](docs/RECOVERY.md#русский): восстановление после сбоев.
293
+
294
+ Публичный roadmap: [docs/PUBLIC_ROADMAP.md](docs/PUBLIC_ROADMAP.md#русский). Публичный backlog: [docs/PUBLIC_BACKLOG.md](docs/PUBLIC_BACKLOG.md#русский).
295
+
296
+ ## License
297
+
298
+ Код REEFIKI: Apache License 2.0. См. [LICENSE](LICENSE).
299
+
300
+ Контент wiki-проектов принадлежит пользователю, который его создал или добавил.
301
+
302
+ ## Благодарности и источники идей
303
+
304
+ REEFIKI написан как самостоятельная реализация. Перечисленные ниже материалы и инструменты не импортированы как кодовая база и не являются скопированным исходным кодом REEFIKI. Мы использовали их как источники идей, словаря, архитектурных принципов и рабочих ограничений.
305
+
306
+ - [Karpathy LLM Wiki gist](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f): идея компактной, читаемой агентом wiki вместо бесконечного пересказа чатов; фокус на distillation, а не на сыром архивировании.
307
+ - REEF protocol: цикл `capture -> distillation -> telemetry`; разделение дешёвого сохранения, осмысленной переработки и последующего использования.
308
+ - [Vannevar Bush, "As We May Think"](https://www.w3.org/History/1945/vbush/vbush.shtml): Memex, ассоциативные тропы, личная долговременная память и связанная база знаний вместо одиночных заметок.
309
+ - [Markdown wiki и Obsidian-подход](https://obsidian.md/help/links): локальные markdown-файлы, wikilinks, graph/viewer-мышление и возможность читать знания без облачного сервиса. REEFIKI не является клоном Obsidian: source of truth остаётся в репозитории и agent-aware правилах.
310
+ - [Git worktree workflow](https://git-scm.com/docs/git-worktree): идея изолированной работы над задачами, reviewable изменений и аккуратного разделения локального/private контента от публичного snapshot.
311
+ - [`memoir`](https://www.memoir-ai.dev/): короткая рабочая память и preferences как отдельный слой. В REEFIKI это optional short-memory provider; durable truth остаётся в markdown wiki.
312
+ - [Graphify](https://graphify.net/) и graph-based retrieval: граф структуры кода, файлов и документов как слой навигации и candidate selection. REEFIKI не становится graph database, а использует graph-подход для поиска связей и компактного контекста.
313
+ - [CodeGraph-style navigation](https://github.com/CodeGraphContext/CodeGraphContext): одноразовые impact/callgraph/relationship-запросы по коду как помощник разработчика, не как долговременная память.
314
+ - Agent/IDE runtimes: Codex, Claude Code, Cursor, Windsurf/Cascade, Cline, Gemini, Mimo и Hermes повлияли на vendor-neutral `AGENTS.md`, project profiles, portable rules и переносимые runbooks.
315
+ - Local-first security practice: явные project boundaries, проверка публичных материалов, append-only logs, immutable `raw/` и отказ от широкого сохранения всего подряд как REEFIKI-specific safety layer.
316
+
317
+ Итоговая идея REEFIKI: соединить wiki, agent workflow, short memory, graph navigation и Git discipline в один local-first процесс, где знания можно проверить, перенести и безопасно опубликовать.