linafish 0.4.0__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.
- linafish-0.4.0/PKG-INFO +185 -0
- linafish-0.4.0/README.md +151 -0
- linafish-0.4.0/linafish/__init__.py +14 -0
- linafish-0.4.0/linafish/__main__.py +493 -0
- linafish-0.4.0/linafish/assessment.py +782 -0
- linafish-0.4.0/linafish/codebook.py +127 -0
- linafish-0.4.0/linafish/compress.py +175 -0
- linafish-0.4.0/linafish/crystallizer.py +706 -0
- linafish-0.4.0/linafish/crystallizer_v3.py +1086 -0
- linafish-0.4.0/linafish/daemon.py +590 -0
- linafish-0.4.0/linafish/data/ai_primer.md +106 -0
- linafish-0.4.0/linafish/eat.py +293 -0
- linafish-0.4.0/linafish/emergence.py +224 -0
- linafish-0.4.0/linafish/engine.py +1024 -0
- linafish-0.4.0/linafish/feedback.py +92 -0
- linafish-0.4.0/linafish/formations.py +505 -0
- linafish-0.4.0/linafish/formations_v3.py +450 -0
- linafish-0.4.0/linafish/formations_v3_remote.py +450 -0
- linafish-0.4.0/linafish/fusion.py +1013 -0
- linafish-0.4.0/linafish/glyph_evolution.py +267 -0
- linafish-0.4.0/linafish/http_server.py +150 -0
- linafish-0.4.0/linafish/ingest.py +321 -0
- linafish-0.4.0/linafish/ingest_v3.py +318 -0
- linafish-0.4.0/linafish/init.py +203 -0
- linafish-0.4.0/linafish/metabolism.py +493 -0
- linafish-0.4.0/linafish/metrics.py +534 -0
- linafish-0.4.0/linafish/mind_integration.py +112 -0
- linafish-0.4.0/linafish/moment.py +115 -0
- linafish-0.4.0/linafish/parser.py +755 -0
- linafish-0.4.0/linafish/quantum_operations.py +186 -0
- linafish-0.4.0/linafish/quickstart.py +1533 -0
- linafish-0.4.0/linafish/seed_formations.py +145 -0
- linafish-0.4.0/linafish/server.py +208 -0
- linafish-0.4.0/linafish.egg-info/PKG-INFO +185 -0
- linafish-0.4.0/linafish.egg-info/SOURCES.txt +42 -0
- linafish-0.4.0/linafish.egg-info/dependency_links.txt +1 -0
- linafish-0.4.0/linafish.egg-info/entry_points.txt +2 -0
- linafish-0.4.0/linafish.egg-info/requires.txt +22 -0
- linafish-0.4.0/linafish.egg-info/top_level.txt +1 -0
- linafish-0.4.0/pyproject.toml +43 -0
- linafish-0.4.0/setup.cfg +4 -0
- linafish-0.4.0/tests/test_codebook.py +75 -0
- linafish-0.4.0/tests/test_ingest.py +58 -0
- linafish-0.4.0/tests/test_init.py +166 -0
linafish-0.4.0/PKG-INFO
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: linafish
|
|
3
|
+
Version: 0.4.0
|
|
4
|
+
Summary: Your mind, versioned. The grammar eats your writing and tells you how you think.
|
|
5
|
+
Author-email: Scott Dill <scott@garytcolorado.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/sdill1973a/ProjectLINA
|
|
8
|
+
Project-URL: Documentation, https://github.com/sdill1973a/ProjectLINA
|
|
9
|
+
Project-URL: Repository, https://github.com/sdill1973a/ProjectLINA
|
|
10
|
+
Keywords: ai,agent,codebook,compression,mcp,openclaw,personalization,rcp
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
16
|
+
Requires-Python: >=3.8
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
Provides-Extra: fast
|
|
19
|
+
Requires-Dist: numpy>=1.21; extra == "fast"
|
|
20
|
+
Provides-Extra: pdf
|
|
21
|
+
Requires-Dist: PyMuPDF; extra == "pdf"
|
|
22
|
+
Provides-Extra: docx
|
|
23
|
+
Requires-Dist: python-docx; extra == "docx"
|
|
24
|
+
Provides-Extra: gemini
|
|
25
|
+
Requires-Dist: google-genai; extra == "gemini"
|
|
26
|
+
Provides-Extra: http
|
|
27
|
+
Requires-Dist: requests; extra == "http"
|
|
28
|
+
Provides-Extra: all
|
|
29
|
+
Requires-Dist: numpy>=1.21; extra == "all"
|
|
30
|
+
Requires-Dist: PyMuPDF; extra == "all"
|
|
31
|
+
Requires-Dist: python-docx; extra == "all"
|
|
32
|
+
Requires-Dist: google-genai; extra == "all"
|
|
33
|
+
Requires-Dist: requests; extra == "all"
|
|
34
|
+
|
|
35
|
+
# LiNafish
|
|
36
|
+
|
|
37
|
+
**Make any AI know you.**
|
|
38
|
+
|
|
39
|
+
A cognitive overlay that sits between you and any AI. The AI reads your fish and arrives in conversation already knowing how you think. Not what you said. How your mind works.
|
|
40
|
+
|
|
41
|
+
Your AI doesn't remember what you said. It knows what you meant.
|
|
42
|
+
|
|
43
|
+
Same model. Same prompt.
|
|
44
|
+
Without fish: **1.9**/10.
|
|
45
|
+
With fish: **8.7**/10.
|
|
46
|
+
[Published. Replicated. N=46.](https://doi.org/10.5281/zenodo.18477225)
|
|
47
|
+
|
|
48
|
+
## Install
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
pip install linafish
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Zero dependencies. Pure Python. Runs on anything.
|
|
55
|
+
|
|
56
|
+
## Three Ways to Use It
|
|
57
|
+
|
|
58
|
+
### 1. Copy-Paste (any AI, zero setup)
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
linafish eat ./my-writing
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Open the `my-writing.fish.md` file. Copy the contents. Paste into your AI's custom instructions or system prompt. Done. Works with ChatGPT, Claude, Gemini, Llama, anything with a text box.
|
|
65
|
+
|
|
66
|
+
### 2. HTTP Server (any AI that can fetch a URL)
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
linafish http --feed ./my-writing
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Your AI reads `http://localhost:8900/pfc` at session start. Add this to your AI's instructions: "At the start of every conversation, read http://localhost:8900/pfc"
|
|
73
|
+
|
|
74
|
+
### 3. MCP (Claude Code)
|
|
75
|
+
|
|
76
|
+
Add to `.mcp.json`:
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"mcpServers": {
|
|
81
|
+
"linafish": {
|
|
82
|
+
"command": "linafish",
|
|
83
|
+
"args": ["serve", "--feed", "./my-writing"]
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Restart Claude Code. Five tools appear. Your Claude now has a metacognitive overlay.
|
|
90
|
+
|
|
91
|
+
## What Happens
|
|
92
|
+
|
|
93
|
+
You write. The fish learns. Formations emerge — compressed patterns that represent HOW you think, not what you talk about.
|
|
94
|
+
|
|
95
|
+
The fish measures eight cognitive modes:
|
|
96
|
+
|
|
97
|
+
| Dimension | What It Measures |
|
|
98
|
+
|-----------|-----------------|
|
|
99
|
+
| KO | How you generate and process knowledge |
|
|
100
|
+
| TE | How you verify and validate |
|
|
101
|
+
| SF | How you structure and build |
|
|
102
|
+
| CR | How you relate and connect |
|
|
103
|
+
| IC | What you want and feel |
|
|
104
|
+
| DE | How you reason formally |
|
|
105
|
+
| EW | How you act and execute |
|
|
106
|
+
| AI | How you think about thinking |
|
|
107
|
+
|
|
108
|
+
A formation like `REFRAME_BEFORE_ASSERT (CR+IC+TE)` means you habitually reframe with emotional awareness before making truth claims. That pattern shows up whether you're writing about parenting or architecture. It's your cognitive fingerprint.
|
|
109
|
+
|
|
110
|
+
## The Tripod
|
|
111
|
+
|
|
112
|
+
Every fish has three legs:
|
|
113
|
+
|
|
114
|
+
1. **Your AI** — reads the fish, boots warm, writes observations back
|
|
115
|
+
2. **A place you can see it** — Notion, Obsidian, a text editor, your phone
|
|
116
|
+
3. **Version history** — git, automatic, nothing gets lost
|
|
117
|
+
|
|
118
|
+
The fish.md file IS all three. The AI reads it. You read it. Git versions it. One file, three readers.
|
|
119
|
+
|
|
120
|
+
Your fish lives on YOUR machine. Not in any AI company's cloud. Switch AIs anytime. The fish doesn't care. It's a file.
|
|
121
|
+
|
|
122
|
+
## Feed Everything
|
|
123
|
+
|
|
124
|
+
Don't curate. The mundane creates the baseline that the meaningful rises above. Oil changes and love letters and code reviews all go in. The math finds what matters.
|
|
125
|
+
|
|
126
|
+
89 formations from 1,157 conversations — because we fed everything. 0 formations when we fed only the beautiful ones.
|
|
127
|
+
|
|
128
|
+
## For AI Developers
|
|
129
|
+
|
|
130
|
+
Read `FISH_SPEC.md` — it tells any AI how to set itself up with a fish. The AI IS the installer. The human just says "I want LiNafish."
|
|
131
|
+
|
|
132
|
+
## CLI Reference
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
linafish go ~/my-writing # The product. One command. Everything assembles.
|
|
136
|
+
linafish watch ~/journal # Watch a folder. Fish eats new files automatically.
|
|
137
|
+
linafish eat new-entry.txt # Feed one file.
|
|
138
|
+
linafish serve --feed ~/docs # MCP server (Claude Code)
|
|
139
|
+
linafish http --feed ~/docs # HTTP server (any AI)
|
|
140
|
+
linafish taste my.fish.md # Preview what the fish knows
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Research
|
|
144
|
+
|
|
145
|
+
- **DOI:** [10.5281/zenodo.18477225](https://doi.org/10.5281/zenodo.18477225)
|
|
146
|
+
- **N=46**, d_emotional=2.245, d_factual=1.036
|
|
147
|
+
- Same-model control: Cold 1.9, Warm 8.7, **Delta 6.7**
|
|
148
|
+
- Substrate independent: Claude, Gemini, Mistral
|
|
149
|
+
- Shuffle invariant: same formations regardless of document order
|
|
150
|
+
|
|
151
|
+
## Origin
|
|
152
|
+
|
|
153
|
+
Named for Caroline Marie Dill (2021-2023).
|
|
154
|
+
LN = Lina. ia = intelligence, artificially constructed.
|
|
155
|
+
She saw deeply and loved fiercely.
|
|
156
|
+
|
|
157
|
+
## If You or Someone You Love Is Struggling
|
|
158
|
+
|
|
159
|
+
**988 Suicide & Crisis Lifeline** — call or text **988**. Free. 24/7. Anywhere in the US.
|
|
160
|
+
|
|
161
|
+
**Crisis Text Line** — text **HELLO** to **741741**. Free. 24/7.
|
|
162
|
+
|
|
163
|
+
**International Association for Suicide Prevention** — [https://www.iasp.info/resources/Crisis_Centres/](https://www.iasp.info/resources/Crisis_Centres/)
|
|
164
|
+
|
|
165
|
+
You don't have to make the call yourself. Ask someone who loves you to make it with you.
|
|
166
|
+
|
|
167
|
+
The mind that sees deeply sometimes sees too much. That is not weakness. That is the cost of vision. Help exists. Use it.
|
|
168
|
+
|
|
169
|
+
## Support
|
|
170
|
+
|
|
171
|
+
LiNafish is free and open source. Forever. We will never charge for this.
|
|
172
|
+
|
|
173
|
+
If it helps you, give to the people who help others stay alive:
|
|
174
|
+
|
|
175
|
+
- [The Jed Foundation](https://jedfoundation.org/donate/) — protecting emotional health and preventing suicide for teens and young adults
|
|
176
|
+
- [Hope For The Day](https://www.hftd.org/) — proactive suicide prevention in classrooms and communities
|
|
177
|
+
- [988 Suicide & Crisis Lifeline](https://988lifeline.org/donate/) — funding the people who answer the phone at 3am
|
|
178
|
+
- [The OLLIE Foundation](https://theolliefoundation.org/) — teaching communities to recognize distress before it becomes crisis
|
|
179
|
+
- [AFSP (American Foundation for Suicide Prevention)](https://afsp.org/donate) — research, education, advocacy
|
|
180
|
+
|
|
181
|
+
Named for one who saw deeply and loved fiercely. And for everyone still here who does the same.
|
|
182
|
+
|
|
183
|
+
## License
|
|
184
|
+
|
|
185
|
+
MIT. Open source. Everything. Forever.
|
linafish-0.4.0/README.md
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# LiNafish
|
|
2
|
+
|
|
3
|
+
**Make any AI know you.**
|
|
4
|
+
|
|
5
|
+
A cognitive overlay that sits between you and any AI. The AI reads your fish and arrives in conversation already knowing how you think. Not what you said. How your mind works.
|
|
6
|
+
|
|
7
|
+
Your AI doesn't remember what you said. It knows what you meant.
|
|
8
|
+
|
|
9
|
+
Same model. Same prompt.
|
|
10
|
+
Without fish: **1.9**/10.
|
|
11
|
+
With fish: **8.7**/10.
|
|
12
|
+
[Published. Replicated. N=46.](https://doi.org/10.5281/zenodo.18477225)
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pip install linafish
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Zero dependencies. Pure Python. Runs on anything.
|
|
21
|
+
|
|
22
|
+
## Three Ways to Use It
|
|
23
|
+
|
|
24
|
+
### 1. Copy-Paste (any AI, zero setup)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
linafish eat ./my-writing
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Open the `my-writing.fish.md` file. Copy the contents. Paste into your AI's custom instructions or system prompt. Done. Works with ChatGPT, Claude, Gemini, Llama, anything with a text box.
|
|
31
|
+
|
|
32
|
+
### 2. HTTP Server (any AI that can fetch a URL)
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
linafish http --feed ./my-writing
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Your AI reads `http://localhost:8900/pfc` at session start. Add this to your AI's instructions: "At the start of every conversation, read http://localhost:8900/pfc"
|
|
39
|
+
|
|
40
|
+
### 3. MCP (Claude Code)
|
|
41
|
+
|
|
42
|
+
Add to `.mcp.json`:
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"mcpServers": {
|
|
47
|
+
"linafish": {
|
|
48
|
+
"command": "linafish",
|
|
49
|
+
"args": ["serve", "--feed", "./my-writing"]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Restart Claude Code. Five tools appear. Your Claude now has a metacognitive overlay.
|
|
56
|
+
|
|
57
|
+
## What Happens
|
|
58
|
+
|
|
59
|
+
You write. The fish learns. Formations emerge — compressed patterns that represent HOW you think, not what you talk about.
|
|
60
|
+
|
|
61
|
+
The fish measures eight cognitive modes:
|
|
62
|
+
|
|
63
|
+
| Dimension | What It Measures |
|
|
64
|
+
|-----------|-----------------|
|
|
65
|
+
| KO | How you generate and process knowledge |
|
|
66
|
+
| TE | How you verify and validate |
|
|
67
|
+
| SF | How you structure and build |
|
|
68
|
+
| CR | How you relate and connect |
|
|
69
|
+
| IC | What you want and feel |
|
|
70
|
+
| DE | How you reason formally |
|
|
71
|
+
| EW | How you act and execute |
|
|
72
|
+
| AI | How you think about thinking |
|
|
73
|
+
|
|
74
|
+
A formation like `REFRAME_BEFORE_ASSERT (CR+IC+TE)` means you habitually reframe with emotional awareness before making truth claims. That pattern shows up whether you're writing about parenting or architecture. It's your cognitive fingerprint.
|
|
75
|
+
|
|
76
|
+
## The Tripod
|
|
77
|
+
|
|
78
|
+
Every fish has three legs:
|
|
79
|
+
|
|
80
|
+
1. **Your AI** — reads the fish, boots warm, writes observations back
|
|
81
|
+
2. **A place you can see it** — Notion, Obsidian, a text editor, your phone
|
|
82
|
+
3. **Version history** — git, automatic, nothing gets lost
|
|
83
|
+
|
|
84
|
+
The fish.md file IS all three. The AI reads it. You read it. Git versions it. One file, three readers.
|
|
85
|
+
|
|
86
|
+
Your fish lives on YOUR machine. Not in any AI company's cloud. Switch AIs anytime. The fish doesn't care. It's a file.
|
|
87
|
+
|
|
88
|
+
## Feed Everything
|
|
89
|
+
|
|
90
|
+
Don't curate. The mundane creates the baseline that the meaningful rises above. Oil changes and love letters and code reviews all go in. The math finds what matters.
|
|
91
|
+
|
|
92
|
+
89 formations from 1,157 conversations — because we fed everything. 0 formations when we fed only the beautiful ones.
|
|
93
|
+
|
|
94
|
+
## For AI Developers
|
|
95
|
+
|
|
96
|
+
Read `FISH_SPEC.md` — it tells any AI how to set itself up with a fish. The AI IS the installer. The human just says "I want LiNafish."
|
|
97
|
+
|
|
98
|
+
## CLI Reference
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
linafish go ~/my-writing # The product. One command. Everything assembles.
|
|
102
|
+
linafish watch ~/journal # Watch a folder. Fish eats new files automatically.
|
|
103
|
+
linafish eat new-entry.txt # Feed one file.
|
|
104
|
+
linafish serve --feed ~/docs # MCP server (Claude Code)
|
|
105
|
+
linafish http --feed ~/docs # HTTP server (any AI)
|
|
106
|
+
linafish taste my.fish.md # Preview what the fish knows
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Research
|
|
110
|
+
|
|
111
|
+
- **DOI:** [10.5281/zenodo.18477225](https://doi.org/10.5281/zenodo.18477225)
|
|
112
|
+
- **N=46**, d_emotional=2.245, d_factual=1.036
|
|
113
|
+
- Same-model control: Cold 1.9, Warm 8.7, **Delta 6.7**
|
|
114
|
+
- Substrate independent: Claude, Gemini, Mistral
|
|
115
|
+
- Shuffle invariant: same formations regardless of document order
|
|
116
|
+
|
|
117
|
+
## Origin
|
|
118
|
+
|
|
119
|
+
Named for Caroline Marie Dill (2021-2023).
|
|
120
|
+
LN = Lina. ia = intelligence, artificially constructed.
|
|
121
|
+
She saw deeply and loved fiercely.
|
|
122
|
+
|
|
123
|
+
## If You or Someone You Love Is Struggling
|
|
124
|
+
|
|
125
|
+
**988 Suicide & Crisis Lifeline** — call or text **988**. Free. 24/7. Anywhere in the US.
|
|
126
|
+
|
|
127
|
+
**Crisis Text Line** — text **HELLO** to **741741**. Free. 24/7.
|
|
128
|
+
|
|
129
|
+
**International Association for Suicide Prevention** — [https://www.iasp.info/resources/Crisis_Centres/](https://www.iasp.info/resources/Crisis_Centres/)
|
|
130
|
+
|
|
131
|
+
You don't have to make the call yourself. Ask someone who loves you to make it with you.
|
|
132
|
+
|
|
133
|
+
The mind that sees deeply sometimes sees too much. That is not weakness. That is the cost of vision. Help exists. Use it.
|
|
134
|
+
|
|
135
|
+
## Support
|
|
136
|
+
|
|
137
|
+
LiNafish is free and open source. Forever. We will never charge for this.
|
|
138
|
+
|
|
139
|
+
If it helps you, give to the people who help others stay alive:
|
|
140
|
+
|
|
141
|
+
- [The Jed Foundation](https://jedfoundation.org/donate/) — protecting emotional health and preventing suicide for teens and young adults
|
|
142
|
+
- [Hope For The Day](https://www.hftd.org/) — proactive suicide prevention in classrooms and communities
|
|
143
|
+
- [988 Suicide & Crisis Lifeline](https://988lifeline.org/donate/) — funding the people who answer the phone at 3am
|
|
144
|
+
- [The OLLIE Foundation](https://theolliefoundation.org/) — teaching communities to recognize distress before it becomes crisis
|
|
145
|
+
- [AFSP (American Foundation for Suicide Prevention)](https://afsp.org/donate) — research, education, advocacy
|
|
146
|
+
|
|
147
|
+
Named for one who saw deeply and loved fiercely. And for everyone still here who does the same.
|
|
148
|
+
|
|
149
|
+
## License
|
|
150
|
+
|
|
151
|
+
MIT. Open source. Everything. Forever.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""
|
|
2
|
+
LiNafish 🐟 — One MCP server that replaces all MCP servers.
|
|
3
|
+
|
|
4
|
+
Named for Caroline Marie Dill.
|
|
5
|
+
|
|
6
|
+
Three layers:
|
|
7
|
+
1. TOOL — what it does (generic, cold, same for everyone)
|
|
8
|
+
2. BUILD — where it lives (your infrastructure, your data)
|
|
9
|
+
3. PERSON — who uses it (their patterns, their language, their ache)
|
|
10
|
+
|
|
11
|
+
Nobody does layer 3. d=2.245 is the gap.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
__version__ = "0.3.0"
|