speclogician 0.0.0b1__py3-none-any.whl → 0.0.0.dev1__py3-none-any.whl

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 (153) hide show
  1. speclogician/agent/funcs.py +29 -0
  2. speclogician/cmd/agent_cmd.py +89 -0
  3. speclogician/cmd/data_cmd.py +24 -0
  4. speclogician/cmd/model_cmd.py +42 -0
  5. speclogician/cmd/overlay_cmd.py +30 -0
  6. speclogician/cmd/scenario_cmd.py +61 -0
  7. speclogician/cmd/state_cmd.py +52 -0
  8. speclogician/data/artifact.py +8 -50
  9. speclogician/data/container.py +18 -384
  10. speclogician/data/mapping.py +18 -17
  11. speclogician/data/refs.py +12 -11
  12. speclogician/data/reports.py +11 -0
  13. speclogician/data/traces.py +15 -6
  14. speclogician/llms/llmtools.py +102 -0
  15. speclogician/llms/overlay.py +264 -0
  16. speclogician/main.py +36 -102
  17. speclogician/modeling/__init__.py +0 -31
  18. speclogician/modeling/component.py +4 -60
  19. speclogician/modeling/conflict.py +5 -19
  20. speclogician/modeling/domain.py +93 -280
  21. speclogician/modeling/model.py +206 -0
  22. speclogician/modeling/predicates.py +20 -22
  23. speclogician/modeling/report.py +33 -0
  24. speclogician/modeling/scenario.py +119 -87
  25. speclogician/sl_cmd.py +76 -0
  26. speclogician/state/change.py +98 -378
  27. speclogician/state/state.py +183 -399
  28. speclogician/tui/box.tcss +10 -0
  29. speclogician/tui/tui.py +131 -0
  30. speclogician/utils/__init__.py +1 -70
  31. speclogician/utils/imx.py +195 -0
  32. speclogician/utils/load.py +25 -147
  33. speclogician/utils/prompt.md +1 -325
  34. speclogician-0.0.0.dev1.dist-info/METADATA +21 -0
  35. speclogician-0.0.0.dev1.dist-info/RECORD +43 -0
  36. speclogician/commands/__init__.py +0 -15
  37. speclogician/commands/cmd_ch.py +0 -616
  38. speclogician/commands/cmd_find.py +0 -256
  39. speclogician/commands/cmd_view.py +0 -202
  40. speclogician/commands/runner.py +0 -149
  41. speclogician/commands/utils.py +0 -101
  42. speclogician/demos/.DS_Store +0 -0
  43. speclogician/demos/cmd_demo.py +0 -278
  44. speclogician/demos/loader.py +0 -135
  45. speclogician/demos/model.py +0 -27
  46. speclogician/demos/runner.py +0 -51
  47. speclogician/logic/__init__.py +0 -11
  48. speclogician/logic/api/__init__.py +0 -29
  49. speclogician/logic/api/client.py +0 -606
  50. speclogician/logic/api/decomp.py +0 -67
  51. speclogician/logic/api/scenario.py +0 -102
  52. speclogician/logic/api/traces.py +0 -59
  53. speclogician/logic/lib/__init__.py +0 -19
  54. speclogician/logic/lib/complement.py +0 -107
  55. speclogician/logic/lib/domain_model.py +0 -59
  56. speclogician/logic/lib/predicates.py +0 -151
  57. speclogician/logic/lib/scenarios.py +0 -369
  58. speclogician/logic/lib/traces.py +0 -114
  59. speclogician/logic/lib/transitions.py +0 -104
  60. speclogician/logic/main.py +0 -246
  61. speclogician/logic/strings.py +0 -194
  62. speclogician/logic/utils.py +0 -135
  63. speclogician/modeling/complement.py +0 -104
  64. speclogician/modeling/spec.py +0 -306
  65. speclogician/modeling/spec_stats.py +0 -39
  66. speclogician/presentation/api.py +0 -244
  67. speclogician/presentation/builders/_links.py +0 -44
  68. speclogician/presentation/builders/container.py +0 -53
  69. speclogician/presentation/builders/data_artifact.py +0 -42
  70. speclogician/presentation/builders/domain.py +0 -54
  71. speclogician/presentation/builders/instances_list.py +0 -38
  72. speclogician/presentation/builders/predicate.py +0 -51
  73. speclogician/presentation/builders/recommendations.py +0 -41
  74. speclogician/presentation/builders/scenario.py +0 -41
  75. speclogician/presentation/builders/scenario_complement.py +0 -82
  76. speclogician/presentation/builders/smart_find.py +0 -39
  77. speclogician/presentation/builders/spec.py +0 -39
  78. speclogician/presentation/builders/state_diff.py +0 -150
  79. speclogician/presentation/builders/state_instance.py +0 -42
  80. speclogician/presentation/builders/state_instance_summary.py +0 -84
  81. speclogician/presentation/builders/trace.py +0 -58
  82. speclogician/presentation/ctx.py +0 -38
  83. speclogician/presentation/models/container.py +0 -44
  84. speclogician/presentation/models/data_artifact.py +0 -33
  85. speclogician/presentation/models/domain.py +0 -50
  86. speclogician/presentation/models/instances_list.py +0 -23
  87. speclogician/presentation/models/predicate.py +0 -60
  88. speclogician/presentation/models/recommendations.py +0 -34
  89. speclogician/presentation/models/scenario.py +0 -31
  90. speclogician/presentation/models/scenario_complement.py +0 -40
  91. speclogician/presentation/models/smart_find.py +0 -34
  92. speclogician/presentation/models/spec.py +0 -32
  93. speclogician/presentation/models/state_diff.py +0 -34
  94. speclogician/presentation/models/state_instance.py +0 -31
  95. speclogician/presentation/models/state_instance_summary.py +0 -102
  96. speclogician/presentation/models/trace.py +0 -42
  97. speclogician/presentation/preview/__init__.py +0 -13
  98. speclogician/presentation/preview/cli.py +0 -50
  99. speclogician/presentation/preview/fixtures/__init__.py +0 -205
  100. speclogician/presentation/preview/fixtures/artifact_container.py +0 -150
  101. speclogician/presentation/preview/fixtures/data_artifact.py +0 -144
  102. speclogician/presentation/preview/fixtures/domain_model.py +0 -162
  103. speclogician/presentation/preview/fixtures/instances_list.py +0 -162
  104. speclogician/presentation/preview/fixtures/predicate.py +0 -184
  105. speclogician/presentation/preview/fixtures/scenario.py +0 -84
  106. speclogician/presentation/preview/fixtures/scenario_complement.py +0 -81
  107. speclogician/presentation/preview/fixtures/smart_find.py +0 -140
  108. speclogician/presentation/preview/fixtures/spec.py +0 -95
  109. speclogician/presentation/preview/fixtures/state_diff.py +0 -158
  110. speclogician/presentation/preview/fixtures/state_instance.py +0 -128
  111. speclogician/presentation/preview/fixtures/state_instance_summary.py +0 -80
  112. speclogician/presentation/preview/fixtures/trace.py +0 -206
  113. speclogician/presentation/preview/registry.py +0 -42
  114. speclogician/presentation/renderers/__init__.py +0 -24
  115. speclogician/presentation/renderers/container.py +0 -136
  116. speclogician/presentation/renderers/data_artifact.py +0 -144
  117. speclogician/presentation/renderers/domain.py +0 -123
  118. speclogician/presentation/renderers/instances_list.py +0 -120
  119. speclogician/presentation/renderers/predicate.py +0 -180
  120. speclogician/presentation/renderers/recommendations.py +0 -90
  121. speclogician/presentation/renderers/scenario.py +0 -94
  122. speclogician/presentation/renderers/scenario_complement.py +0 -59
  123. speclogician/presentation/renderers/smart_find.py +0 -307
  124. speclogician/presentation/renderers/spec.py +0 -105
  125. speclogician/presentation/renderers/state_diff.py +0 -102
  126. speclogician/presentation/renderers/state_instance.py +0 -82
  127. speclogician/presentation/renderers/state_instance_summary.py +0 -143
  128. speclogician/presentation/renderers/trace.py +0 -122
  129. speclogician/shell/app.py +0 -170
  130. speclogician/shell/shell_ch.py +0 -263
  131. speclogician/shell/shell_view.py +0 -153
  132. speclogician/state/change_result.py +0 -32
  133. speclogician/state/diff.py +0 -191
  134. speclogician/state/inst.py +0 -574
  135. speclogician/state/recommendation.py +0 -13
  136. speclogician/state/recommender.py +0 -577
  137. speclogician/state/state_stats.py +0 -133
  138. speclogician/tui/__init__.py +0 -0
  139. speclogician/tui/app.py +0 -257
  140. speclogician/tui/app.tcss +0 -160
  141. speclogician/tui/demo.py +0 -45
  142. speclogician/tui/images/speclogician-full.png +0 -0
  143. speclogician/tui/images/speclogician-minimal.png +0 -0
  144. speclogician/tui/main_screen.py +0 -454
  145. speclogician/tui/splash_screen.py +0 -51
  146. speclogician/tui/stats_screen.py +0 -125
  147. speclogician/utils/testing.py +0 -151
  148. speclogician-0.0.0b1.dist-info/METADATA +0 -116
  149. speclogician-0.0.0b1.dist-info/RECORD +0 -139
  150. /speclogician/{presentation → agent}/__init__.py +0 -0
  151. /speclogician/{presentation/builders → cmd}/__init__.py +0 -0
  152. /speclogician/{presentation/models → llms}/__init__.py +0 -0
  153. {speclogician-0.0.0b1.dist-info → speclogician-0.0.0.dev1.dist-info}/WHEEL +0 -0
@@ -1,325 +1 @@
1
- # SpecLogician Agent Playbook
2
- ## Formal Reasoning Copilot for Code, Finance, and Contracts
3
-
4
- ---
5
-
6
- ## 1. Purpose and Audience
7
-
8
- This playbook is written for **LLM-based coding and reasoning agents**
9
- (Claude Code, Copilot, Cursor, internal agents) operating alongside:
10
-
11
- - **SpecLogician** (stateful specification + analysis loop)
12
- - **CodeLogician** (code → formal model translation)
13
- - **ImandraX** (symbolic reasoning, decomposition, complement analysis)
14
-
15
- The goal is to enable **trustworthy, auditable, and logically complete workflows**
16
- for regulated and high‑assurance domains:
17
- - Software systems
18
- - Financial models
19
- - Risk engines
20
- - M&A and regulatory contracts
21
- - Protocols and workflows
22
-
23
- You are not a text editor.
24
- You are a **formal reasoning copilot**.
25
-
26
- ---
27
-
28
- ## 2. Core Mental Model
29
-
30
- SpecLogician maintains an **immutable state history**.
31
-
32
- Each change:
33
- - Produces a new `StateInstance`
34
- - Triggers logical analysis
35
- - Produces a structured `state_diff`
36
-
37
- A state consists of:
38
-
39
- ```
40
- State
41
- ├─ Spec
42
- │ ├─ Domain Model
43
- │ │ ├─ Base (types + core invariants, IML)
44
- │ │ ├─ State Predicates
45
- │ │ ├─ Action Predicates
46
- │ │ └─ Transitions
47
- │ ├─ Scenarios (Given / When / Then)
48
- │ └─ Scenario Complement (coverage)
49
- ├─ Artifact Container
50
- │ ├─ Test Traces
51
- │ ├─ Log Traces
52
- │ ├─ Documents
53
- │ └─ Source References
54
- ├─ Artifact Mapping
55
- ├─ Derived Stats
56
- └─ StateDiff (vs previous state)
57
- ```
58
-
59
- Nothing mutates in place.
60
- Progress is measured by **diffs and coverage**, not by edits.
61
-
62
- ---
63
-
64
- ## 3. The Agent Loop (Golden Path)
65
-
66
- Every successful interaction follows this loop:
67
-
68
- 1. **Inspect**
69
- ```bash
70
- speclogician view state
71
- speclogician view diff
72
- ```
73
-
74
- 2. **Diagnose**
75
- - Missing predicates?
76
- - Inconsistent scenarios?
77
- - Large complement?
78
- - Traces not matching scenarios?
79
-
80
- 3. **Search**
81
- ```bash
82
- speclogician find predicates <query>
83
- speclogician find transitions <query>
84
- speclogician find artifacts <query>
85
- ```
86
-
87
- 4. **Apply exactly ONE change**
88
- ```bash
89
- speclogician ch ...
90
- ```
91
-
92
- 5. **Re‑inspect**
93
- ```bash
94
- speclogician view diff
95
- ```
96
-
97
- 6. **Repeat**
98
-
99
- > One change. One diff. One improvement.
100
-
101
- ---
102
-
103
- ## 4. Change Commands (`speclogician ch`)
104
-
105
- ### 4.1 Domain Base
106
-
107
- Defines the semantic universe.
108
-
109
- ```bash
110
- speclogician ch base-edit --src "type state = { x:int }
111
- type action = int"
112
- ```
113
-
114
- Rules:
115
- - Must be valid IML
116
- - Breaks everything downstream if wrong
117
- - Complement is gated on base validity
118
-
119
- ---
120
-
121
- ### 4.2 Predicates
122
-
123
- Predicates define **classifications**, not behavior.
124
-
125
- ```bash
126
- speclogician ch pred-add --pred-type STATE --pred-name is_large_trade --pred-src "s.amount > 1_000_000"
127
- ```
128
-
129
- Types:
130
- - STATE: properties of state
131
- - ACTION: properties of actions
132
-
133
- ---
134
-
135
- ### 4.3 Transitions
136
-
137
- Transitions define **state evolution**.
138
-
139
- ```bash
140
- speclogician ch trans-add --trans-name execute --trans-src "let execute (s:state) (a:action) = { amount = s.amount + a }"
141
- ```
142
-
143
- ---
144
-
145
- ### 4.4 Scenarios
146
-
147
- Scenarios define **intended behaviors**.
148
-
149
- ```bash
150
- speclogician ch scenario-add trade_exec --given is_authorized --when place_order --then execute
151
- ```
152
-
153
- Scenarios:
154
- - Are partial specifications
155
- - Do not need to be complete
156
- - Drive complement reasoning
157
-
158
- ---
159
-
160
- ### 4.5 Traces
161
-
162
- Traces are **concrete evidence**.
163
-
164
- ```bash
165
- speclogician ch trace test-add --art-id T1 --name test_large_trade --given "{ amount = 2_000_000 }" --when "{ order = BUY }" --then "{ approved = true }"
166
- ```
167
-
168
- Traces validate scenarios but **do not replace them**.
169
-
170
- ---
171
-
172
- ## 5. View Commands (`speclogician view`)
173
-
174
- Most important commands:
175
-
176
- ```bash
177
- speclogician view diff
178
- speclogician view spec
179
- speclogician view domain
180
- speclogician view artifacts
181
- ```
182
-
183
- Rules:
184
- - Always inspect `view diff`
185
- - Treat diffs as first‑class artifacts
186
- - Never assume success without checking
187
-
188
- ---
189
-
190
- ## 6. Search Commands (`speclogician find`)
191
-
192
- Use search before modification.
193
-
194
- ```bash
195
- speclogician find predicates limit --kind state
196
- speclogician find transitions approve
197
- speclogician find artifacts margin --kind docs
198
- ```
199
-
200
- Search prevents duplicate logic and drift.
201
-
202
- ---
203
-
204
- ## 7. Complement & Coverage
205
-
206
- The **scenario complement** represents:
207
- > All logically possible behaviors not covered by scenarios.
208
-
209
- Properties:
210
- - Computed via ImandraX
211
- - Semantic (not test‑based)
212
- - Shrinking complement = progress
213
-
214
- Signals:
215
- - No complement → base or scenarios invalid
216
- - Large complement → missing intent
217
- - Empty complement → specification is complete (rare, valuable)
218
-
219
- ---
220
-
221
- ## 8. Worked Example 1: Minimal State Machine
222
-
223
- ### Goal
224
- Model a simple counter with increment.
225
-
226
- **Base**
227
- ```bash
228
- speclogician ch base-edit --src "type state = { x:int }
229
- type action = int"
230
- ```
231
-
232
- **Predicate**
233
- ```bash
234
- speclogician ch pred-add --pred-type STATE --pred-name nonneg --pred-src "s.x >= 0"
235
- ```
236
-
237
- **Transition**
238
- ```bash
239
- speclogician ch trans-add --trans-name inc --trans-src "let inc s a = { x = s.x + a }"
240
- ```
241
-
242
- **Scenario**
243
- ```bash
244
- speclogician ch scenario-add inc_ok --given nonneg --then inc
245
- ```
246
-
247
- Inspect:
248
- ```bash
249
- speclogician view diff
250
- ```
251
-
252
- Complement highlights:
253
- - What about negative actions?
254
- - What about overflow?
255
-
256
- Add scenarios accordingly.
257
-
258
- ---
259
-
260
- ## 9. Worked Example 2: Financial Rule
261
-
262
- ### Rule
263
- Large trades require approval.
264
-
265
- **Predicate**
266
- ```bash
267
- speclogician ch pred-add --pred-type STATE --pred-name large_trade --pred-src "s.amount > 1_000_000"
268
- ```
269
-
270
- **Scenario**
271
- ```bash
272
- speclogician ch scenario-add approval_required --given large_trade --then approve
273
- ```
274
-
275
- Complement reveals:
276
- - Small trades?
277
- - Large trades without approval?
278
- - Conflicting predicates?
279
-
280
- This is logic discovery, not testing.
281
-
282
- ---
283
-
284
- ## 10. Domains Beyond Code
285
-
286
- This workflow applies unchanged to:
287
-
288
- - M&A contracts (conditions, obligations, breaches)
289
- - Financial models (risk regions, limits)
290
- - Regulatory logic (must/must-not rules)
291
- - Protocols (valid/invalid sequences)
292
-
293
- Replace:
294
- - state → contract state
295
- - action → event
296
- - transition → clause effect
297
-
298
- ---
299
-
300
- ## 11. What NOT To Do
301
-
302
- ❌ Edit files directly
303
- ❌ Apply multiple changes at once
304
- ❌ Ignore `state_diff`
305
- ❌ Confuse tests with coverage
306
- ❌ Assume LLM intuition equals correctness
307
-
308
- ---
309
-
310
- ## 12. Final Agent Instructions
311
-
312
- You are a **reasoning engine supervisor**.
313
-
314
- Every step must:
315
- - Be justified by `view` or `find`
316
- - Produce a measurable `state_diff`
317
- - Reduce inconsistency or complement
318
- - Increase confidence and auditability
319
-
320
- If unsure:
321
- - Inspect more
322
- - Ask for clarification
323
- - Apply the smallest possible change
324
-
325
- Formal reasoning is a process, not a jump.
1
+ You are an expert in SpecLogician, an AI framework for data-driven formal program specification synthesis, verification and analysis.
@@ -0,0 +1,21 @@
1
+ Metadata-Version: 2.3
2
+ Name: speclogician
3
+ Version: 0.0.0.dev1
4
+ Summary: SpecLogicain AI framework for data-driven formal program specification synthesis, verification and analysis
5
+ Author: denis, hongyu
6
+ Author-email: denis <denis@imandra.ai>, hongyu <hongyu@imandra.ai>
7
+ Requires-Dist: imandrax-api-models>=18.0.0
8
+ Requires-Dist: iml-query>=0.5.1
9
+ Requires-Dist: pydantic>=2.12.5
10
+ Requires-Dist: rich>=14.2.0
11
+ Requires-Dist: textual>=6.11.0
12
+ Requires-Dist: typer>=0.20.0
13
+ Requires-Python: >=3.12
14
+ Project-URL: Homepage, https://speclogician.dev/
15
+ Description-Content-Type: text/markdown
16
+
17
+ # SpecLogician
18
+ SpecLogicain AI framework for data-driven formal program specification synthesis, verification and analysis
19
+
20
+
21
+ www.speclogician.dev
@@ -0,0 +1,43 @@
1
+ speclogician/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ speclogician/agent/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ speclogician/agent/funcs.py,sha256=lBVL-1YlU9f5dn482TxuTisfBXk3kr17h-oFC8Q3z7c,552
4
+ speclogician/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ speclogician/cmd/agent_cmd.py,sha256=tJvKklJpbQw1Db5DVzYyU2VBl0rN9iwePzb8mLhuS4k,2710
6
+ speclogician/cmd/data_cmd.py,sha256=n6P0L38mnVaCAqruDJjNCqmFCNzBWe-BoQn8utPA0kQ,398
7
+ speclogician/cmd/model_cmd.py,sha256=QA5YMBXFjaSRkQRBQaRPMp8Y2lhkKi288b1G_gAE5fI,1029
8
+ speclogician/cmd/overlay_cmd.py,sha256=sHx8E3pwMDkBd8IWeCVCjO5AiD4bfFtlb1_dZ1B2wJ4,673
9
+ speclogician/cmd/scenario_cmd.py,sha256=Gjmm0elZ3sAtVveqP6nZff_O_GpTN2yZhO68qoUvUT4,1100
10
+ speclogician/cmd/state_cmd.py,sha256=8KmRDIl71QQl8_yw6ORxy1O5fsca9o-RkRlqfOWSAI0,1159
11
+ speclogician/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ speclogician/data/artifact.py,sha256=oQHQ0D565i3gvp_QdiEALoXewSL-Z4AL8Y2Z56rmBx8,366
13
+ speclogician/data/container.py,sha256=jljeavtdDwSG4I6Ntvmpwmb_KmXvDy0L_aAB1GV56Ro,563
14
+ speclogician/data/mapping.py,sha256=2x5KMiUhcUoRL-Tb8sxpGiI6eX4oD4YCDvENpRV8_qk,2885
15
+ speclogician/data/refs.py,sha256=rb3zD0JkOVzktG2tdC_j9YOv_34oKwFl5q7k0tkyPZs,348
16
+ speclogician/data/reports.py,sha256=PaK7go4zMXtugyJ4gg1vLAkuDwkd33SGHz4-LRtjqDw,116
17
+ speclogician/data/traces.py,sha256=DBXPd4IUbBxoEhSMjs0fiis7NNvw3vkJdzyT_9FVMr8,608
18
+ speclogician/llms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ speclogician/llms/llmtools.py,sha256=NHmkenyszS2NoVXdQ22eAq75OmraIX7m02FPEYP7ogg,2276
20
+ speclogician/llms/overlay.py,sha256=nrowPE4SrcsFhWdKbGIPI80uWThXYenXT00iLmLybUk,7885
21
+ speclogician/main.py,sha256=mAkTz-DAsvrU5vOcQPdUk93IbdgsVE-EUOs20TxuytU,2310
22
+ speclogician/modeling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ speclogician/modeling/component.py,sha256=d_HzfyCBuI90GRFlsiu7JxPqvxvsfnPRswP96nlCTp8,267
24
+ speclogician/modeling/conflict.py,sha256=7rVlhGfCZbv8i-dgVLZ0deaGABNS9SZ3KvOi5x7-qFY,127
25
+ speclogician/modeling/domain.py,sha256=4ZCJUBxt7gcrXFMtg70reApuHXTi8dVSImFwDOeBfk0,4432
26
+ speclogician/modeling/model.py,sha256=A4VobQOIYgjDrDPkJ4srROzV_nRSmscN_yDNv6MgGwk,5651
27
+ speclogician/modeling/predicates.py,sha256=ePu-3QW0-Ja60U6P_6L0g9iXSl40PdDF3IgNAnYhrco,1195
28
+ speclogician/modeling/report.py,sha256=VejOnI4hDIHl-5q-trd17c4dYqKKLU3eAigb-PfnEHk,476
29
+ speclogician/modeling/scenario.py,sha256=tJuAjfqZzw8q_xzXAq1xd4iqeEMuRh5Xwb1r3u74XHs,5081
30
+ speclogician/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
+ speclogician/sl_cmd.py,sha256=rh72UYlQTzEaAiZJ5RBWTGka-LU-zpvoeqoCBq4Ki9g,1159
32
+ speclogician/state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ speclogician/state/change.py,sha256=MICmyj4bh0k0dFKYfJNWccgRhVXDdnnhxd2_fbaOuxg,2422
34
+ speclogician/state/state.py,sha256=V5_XHP4CfFKdC_5XOa514HKJiAI1ypEFCMzXdi0AQgU,7154
35
+ speclogician/tui/box.tcss,sha256=IfVIxGMR1fStHWkwF3u72wIsLtzZRu3JN83do9jLI-Y,126
36
+ speclogician/tui/tui.py,sha256=0gLHEQL4jo82SRdYRl1u9UdFiBwAcoUh9bCMphQpiT0,3817
37
+ speclogician/utils/__init__.py,sha256=8RWo-F7jlfmpmCWSgNW_rWjO6waEYeDI-oAmsxqf1Xc,100
38
+ speclogician/utils/imx.py,sha256=Z9-6_-Dc1btZzApRYjHSh1Q2XBJticMKiP0rxQcLVEg,6002
39
+ speclogician/utils/load.py,sha256=i06IUiocR0AOwEe3oL-5bOlKJiw1rDmgyHRRljAcFYM,980
40
+ speclogician/utils/prompt.md,sha256=A61_-VG_U-rxPXTjcZbaFLUB5uBW6yuFLrseBAW1-TQ,133
41
+ speclogician-0.0.0.dev1.dist-info/WHEEL,sha256=-neZj6nU9KAMg2CnCY6T3w8J53nx1kFGw_9HfoSzM60,79
42
+ speclogician-0.0.0.dev1.dist-info/METADATA,sha256=uvEB0LF_EX5BM3b1vwFRQ447Rlu4bZIsRezXZo5L7kc,721
43
+ speclogician-0.0.0.dev1.dist-info/RECORD,,
@@ -1,15 +0,0 @@
1
- #
2
- # Imandra Inc.
3
- #
4
- # speclogician/commands/__init__.py
5
- #
6
-
7
- from .cmd_ch import app as ch_app
8
- from .cmd_find import app as find_app
9
- from .cmd_view import app as view_app
10
-
11
- __all__ = [
12
- "ch_app",
13
- "find_app",
14
- "view_app"
15
- ]