htm 0.0.11 → 0.0.15

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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/.dictate.toml +46 -0
  3. data/.envrc +2 -0
  4. data/CHANGELOG.md +85 -2
  5. data/README.md +348 -79
  6. data/Rakefile +14 -2
  7. data/bin/htm_mcp.rb +94 -0
  8. data/config/database.yml +20 -13
  9. data/db/migrate/00003_create_file_sources.rb +5 -0
  10. data/db/migrate/00004_create_nodes.rb +17 -0
  11. data/db/migrate/00005_create_tags.rb +7 -0
  12. data/db/migrate/00006_create_node_tags.rb +2 -0
  13. data/db/migrate/00007_create_robot_nodes.rb +7 -0
  14. data/db/schema.sql +69 -100
  15. data/docs/api/index.md +1 -1
  16. data/docs/api/yard/HTM/Configuration.md +54 -0
  17. data/docs/api/yard/HTM/Database.md +13 -10
  18. data/docs/api/yard/HTM/EmbeddingService.md +5 -1
  19. data/docs/api/yard/HTM/LongTermMemory.md +18 -277
  20. data/docs/api/yard/HTM/PropositionError.md +18 -0
  21. data/docs/api/yard/HTM/PropositionService.md +66 -0
  22. data/docs/api/yard/HTM/QueryCache.md +88 -0
  23. data/docs/api/yard/HTM/RobotGroup.md +481 -0
  24. data/docs/api/yard/HTM/SqlBuilder.md +108 -0
  25. data/docs/api/yard/HTM/TagService.md +4 -0
  26. data/docs/api/yard/HTM/Telemetry/NullInstrument.md +13 -0
  27. data/docs/api/yard/HTM/Telemetry/NullMeter.md +15 -0
  28. data/docs/api/yard/HTM/Telemetry.md +109 -0
  29. data/docs/api/yard/HTM/WorkingMemoryChannel.md +176 -0
  30. data/docs/api/yard/HTM.md +8 -22
  31. data/docs/api/yard/index.csv +102 -25
  32. data/docs/api/yard-reference.md +8 -0
  33. data/docs/architecture/index.md +1 -1
  34. data/docs/assets/images/multi-provider-failover.svg +51 -0
  35. data/docs/assets/images/robot-group-architecture.svg +65 -0
  36. data/docs/database/README.md +3 -3
  37. data/docs/database/public.file_sources.svg +29 -21
  38. data/docs/database/public.node_tags.md +2 -0
  39. data/docs/database/public.node_tags.svg +53 -41
  40. data/docs/database/public.nodes.md +2 -0
  41. data/docs/database/public.nodes.svg +52 -40
  42. data/docs/database/public.robot_nodes.md +2 -0
  43. data/docs/database/public.robot_nodes.svg +30 -22
  44. data/docs/database/public.robots.svg +16 -12
  45. data/docs/database/public.tags.md +3 -0
  46. data/docs/database/public.tags.svg +41 -33
  47. data/docs/database/schema.json +66 -0
  48. data/docs/database/schema.svg +60 -48
  49. data/docs/development/index.md +14 -1
  50. data/docs/development/rake-tasks.md +1068 -0
  51. data/docs/getting-started/index.md +1 -1
  52. data/docs/getting-started/quick-start.md +144 -155
  53. data/docs/guides/adding-memories.md +2 -3
  54. data/docs/guides/context-assembly.md +185 -184
  55. data/docs/guides/getting-started.md +154 -148
  56. data/docs/guides/index.md +8 -1
  57. data/docs/guides/long-term-memory.md +60 -92
  58. data/docs/guides/mcp-server.md +617 -0
  59. data/docs/guides/multi-robot.md +249 -345
  60. data/docs/guides/recalling-memories.md +153 -163
  61. data/docs/guides/robot-groups.md +604 -0
  62. data/docs/guides/search-strategies.md +61 -58
  63. data/docs/guides/working-memory.md +103 -136
  64. data/docs/images/telemetry-architecture.svg +153 -0
  65. data/docs/index.md +30 -26
  66. data/docs/telemetry.md +391 -0
  67. data/examples/README.md +46 -1
  68. data/examples/cli_app/README.md +1 -1
  69. data/examples/cli_app/htm_cli.rb +1 -1
  70. data/examples/robot_groups/robot_worker.rb +1 -2
  71. data/examples/robot_groups/same_process.rb +1 -4
  72. data/examples/sinatra_app/app.rb +1 -1
  73. data/examples/telemetry/README.md +147 -0
  74. data/examples/telemetry/SETUP_README.md +169 -0
  75. data/examples/telemetry/demo.rb +498 -0
  76. data/examples/telemetry/grafana/dashboards/htm-metrics.json +457 -0
  77. data/lib/htm/configuration.rb +261 -70
  78. data/lib/htm/database.rb +46 -22
  79. data/lib/htm/embedding_service.rb +24 -14
  80. data/lib/htm/errors.rb +15 -1
  81. data/lib/htm/jobs/generate_embedding_job.rb +19 -0
  82. data/lib/htm/jobs/generate_propositions_job.rb +103 -0
  83. data/lib/htm/jobs/generate_tags_job.rb +24 -0
  84. data/lib/htm/loaders/markdown_chunker.rb +79 -0
  85. data/lib/htm/loaders/markdown_loader.rb +41 -15
  86. data/lib/htm/long_term_memory/fulltext_search.rb +138 -0
  87. data/lib/htm/long_term_memory/hybrid_search.rb +324 -0
  88. data/lib/htm/long_term_memory/node_operations.rb +209 -0
  89. data/lib/htm/long_term_memory/relevance_scorer.rb +355 -0
  90. data/lib/htm/long_term_memory/robot_operations.rb +34 -0
  91. data/lib/htm/long_term_memory/tag_operations.rb +428 -0
  92. data/lib/htm/long_term_memory/vector_search.rb +109 -0
  93. data/lib/htm/long_term_memory.rb +51 -1153
  94. data/lib/htm/models/node.rb +35 -2
  95. data/lib/htm/models/node_tag.rb +31 -0
  96. data/lib/htm/models/robot_node.rb +31 -0
  97. data/lib/htm/models/tag.rb +44 -0
  98. data/lib/htm/proposition_service.rb +169 -0
  99. data/lib/htm/query_cache.rb +214 -0
  100. data/lib/htm/robot_group.rb +721 -0
  101. data/lib/htm/sql_builder.rb +178 -0
  102. data/lib/htm/tag_service.rb +16 -6
  103. data/lib/htm/tasks.rb +8 -2
  104. data/lib/htm/telemetry.rb +224 -0
  105. data/lib/htm/version.rb +1 -1
  106. data/lib/htm/working_memory_channel.rb +250 -0
  107. data/lib/htm.rb +66 -3
  108. data/lib/tasks/doc.rake +1 -1
  109. data/lib/tasks/htm.rake +259 -13
  110. data/mkdocs.yml +98 -96
  111. metadata +55 -20
  112. data/.aigcm_msg +0 -1
  113. data/.claude/settings.local.json +0 -95
  114. data/CLAUDE.md +0 -603
  115. data/db/migrate/00009_add_working_memory_to_robot_nodes.rb +0 -12
  116. data/examples/cli_app/temp.log +0 -93
  117. data/examples/robot_groups/lib/robot_group.rb +0 -419
  118. data/examples/robot_groups/lib/working_memory_channel.rb +0 -140
  119. data/lib/htm/loaders/paragraph_chunker.rb +0 -112
  120. data/notes/ARCHITECTURE_REVIEW.md +0 -1167
  121. data/notes/IMPLEMENTATION_SUMMARY.md +0 -606
  122. data/notes/MULTI_FRAMEWORK_IMPLEMENTATION.md +0 -451
  123. data/notes/next_steps.md +0 -100
  124. data/notes/plan.md +0 -627
  125. data/notes/tag_ontology_enhancement_ideas.md +0 -222
  126. data/notes/timescaledb_removal_summary.md +0 -200
data/mkdocs.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  # MkDocs Configuration for HTM Documentation
2
- site_name: HTM - Hierarchical Temporary Memory
2
+ site_name: HTM - Hierarchical Temporal Memory
3
3
  site_description: Intelligent memory management for LLM robots with two-tier architecture and RAG-based retrieval
4
4
  site_author: Dewayne VanHoozer
5
5
  site_url: https://madbomber.github.io/htm
@@ -172,101 +172,103 @@ nav:
172
172
  - Installation: getting-started/installation.md
173
173
  - Quick Start: getting-started/quick-start.md
174
174
  - Architecture:
175
- - architecture/index.md
176
- - Overview: architecture/overview.md
177
- - Two-Tier Memory: architecture/two-tier-memory.md
178
- - Hive Mind: architecture/hive-mind.md
179
- - ADRs:
180
- - architecture/adrs/index.md
181
- - ADR-001 PostgreSQL & TimescaleDB: architecture/adrs/001-postgresql-timescaledb.md
182
- - ADR-002 Two-Tier Memory: architecture/adrs/002-two-tier-memory.md
183
- - ADR-003 Ollama Embeddings: architecture/adrs/003-ollama-embeddings.md
184
- - ADR-004 Hive Mind: architecture/adrs/004-hive-mind.md
185
- - ADR-005 RAG Retrieval: architecture/adrs/005-rag-retrieval.md
186
- - ADR-006 Context Assembly: architecture/adrs/006-context-assembly.md
187
- - ADR-007 Eviction Strategy: architecture/adrs/007-eviction-strategy.md
188
- - ADR-008 Robot Identification: architecture/adrs/008-robot-identification.md
189
- - ADR-009 Never-Forget Philosophy: architecture/adrs/009-never-forget.md
190
- - ADR-010 Redis Working Memory (Rejected): architecture/adrs/010-redis-working-memory-rejected.md
191
- - ADR-011 pgai Integration: architecture/adrs/011-pgai-integration.md
175
+ - architecture/index.md
176
+ - Overview: architecture/overview.md
177
+ - Two-Tier Memory: architecture/two-tier-memory.md
178
+ - Hive Mind: architecture/hive-mind.md
179
+ - ADRs:
180
+ - architecture/adrs/index.md
181
+ - ADR-001 PostgreSQL & TimescaleDB: architecture/adrs/001-postgresql-timescaledb.md
182
+ - ADR-002 Two-Tier Memory: architecture/adrs/002-two-tier-memory.md
183
+ - ADR-003 Ollama Embeddings: architecture/adrs/003-ollama-embeddings.md
184
+ - ADR-004 Hive Mind: architecture/adrs/004-hive-mind.md
185
+ - ADR-005 RAG Retrieval: architecture/adrs/005-rag-retrieval.md
186
+ - ADR-006 Context Assembly: architecture/adrs/006-context-assembly.md
187
+ - ADR-007 Eviction Strategy: architecture/adrs/007-eviction-strategy.md
188
+ - ADR-008 Robot Identification: architecture/adrs/008-robot-identification.md
189
+ - ADR-009 Never-Forget Philosophy: architecture/adrs/009-never-forget.md
190
+ - ADR-010 Redis Working Memory (Rejected): architecture/adrs/010-redis-working-memory-rejected.md
191
+ - ADR-011 pgai Integration: architecture/adrs/011-pgai-integration.md
192
192
  - Guides:
193
- - guides/index.md
194
- - Getting Started: guides/getting-started.md
195
- - Adding Memories: guides/adding-memories.md
196
- - Recalling Memories: guides/recalling-memories.md
197
- - Working Memory: guides/working-memory.md
198
- - Long-Term Memory: guides/long-term-memory.md
199
- - Multi-Robot Usage: guides/multi-robot.md
200
- - Search Strategies: guides/search-strategies.md
201
- - Context Assembly: guides/context-assembly.md
193
+ - guides/index.md
194
+ - Getting Started: guides/getting-started.md
195
+ - Adding Memories: guides/adding-memories.md
196
+ - Recalling Memories: guides/recalling-memories.md
197
+ - Working Memory: guides/working-memory.md
198
+ - Long-Term Memory: guides/long-term-memory.md
199
+ - Multi-Robot Usage: guides/multi-robot.md
200
+ - Search Strategies: guides/search-strategies.md
201
+ - Context Assembly: guides/context-assembly.md
202
+ - MCP Server: guides/mcp-server.md
202
203
  - API Reference:
203
- - api/index.md
204
- - HTM Class: api/htm.md
205
- - Working Memory: api/working-memory.md
206
- - Long-Term Memory: api/long-term-memory.md
207
- - Embedding Service: api/embedding-service.md
208
- - Database: api/database.md
209
- - YARD Reference:
210
- - api/yard-reference.md
211
- - HTM Module: api/yard/HTM.md
212
- - Core Classes:
213
- - Configuration: api/yard/HTM/Configuration.md
214
- - Database: api/yard/HTM/Database.md
215
- - LongTermMemory: api/yard/HTM/LongTermMemory.md
216
- - WorkingMemory: api/yard/HTM/WorkingMemory.md
217
- - Services:
218
- - EmbeddingService: api/yard/HTM/EmbeddingService.md
219
- - TagService: api/yard/HTM/TagService.md
220
- - JobAdapter: api/yard/HTM/JobAdapter.md
221
- - Utilities:
222
- - CircuitBreaker: api/yard/HTM/CircuitBreaker.md
223
- - Observability: api/yard/HTM/Observability.md
224
- - Timeframe: api/yard/HTM/Timeframe.md
225
- - TimeframeExtractor: api/yard/HTM/TimeframeExtractor.md
226
- - Internal:
227
- - ActiveRecordConfig: api/yard/HTM/ActiveRecordConfig.md
228
- - Railtie: api/yard/HTM/Railtie.md
229
- - Errors:
230
- - Error: api/yard/HTM/Error.md
231
- - AuthorizationError: api/yard/HTM/AuthorizationError.md
232
- - CircuitBreakerOpenError: api/yard/HTM/CircuitBreakerOpenError.md
233
- - DatabaseError: api/yard/HTM/DatabaseError.md
234
- - EmbeddingError: api/yard/HTM/EmbeddingError.md
235
- - NotFoundError: api/yard/HTM/NotFoundError.md
236
- - QueryTimeoutError: api/yard/HTM/QueryTimeoutError.md
237
- - ResourceExhaustedError: api/yard/HTM/ResourceExhaustedError.md
238
- - TagError: api/yard/HTM/TagError.md
239
- - ValidationError: api/yard/HTM/ValidationError.md
240
- - Result Types:
241
- - Timeframe Result: api/yard/HTM/Timeframe/Result.md
242
- - TimeframeExtractor Result: api/yard/HTM/TimeframeExtractor/Result.md
204
+ - api/index.md
205
+ - HTM Class: api/htm.md
206
+ - Working Memory: api/working-memory.md
207
+ - Long-Term Memory: api/long-term-memory.md
208
+ - Embedding Service: api/embedding-service.md
209
+ - Database: api/database.md
210
+ - YARD Reference:
211
+ - api/yard-reference.md
212
+ - HTM Module: api/yard/HTM.md
213
+ - Core Classes:
214
+ - Configuration: api/yard/HTM/Configuration.md
215
+ - Database: api/yard/HTM/Database.md
216
+ - LongTermMemory: api/yard/HTM/LongTermMemory.md
217
+ - WorkingMemory: api/yard/HTM/WorkingMemory.md
218
+ - Services:
219
+ - EmbeddingService: api/yard/HTM/EmbeddingService.md
220
+ - TagService: api/yard/HTM/TagService.md
221
+ - JobAdapter: api/yard/HTM/JobAdapter.md
222
+ - Utilities:
223
+ - CircuitBreaker: api/yard/HTM/CircuitBreaker.md
224
+ - Observability: api/yard/HTM/Observability.md
225
+ - Timeframe: api/yard/HTM/Timeframe.md
226
+ - TimeframeExtractor: api/yard/HTM/TimeframeExtractor.md
227
+ - Internal:
228
+ - ActiveRecordConfig: api/yard/HTM/ActiveRecordConfig.md
229
+ - Railtie: api/yard/HTM/Railtie.md
230
+ - Errors:
231
+ - Error: api/yard/HTM/Error.md
232
+ - AuthorizationError: api/yard/HTM/AuthorizationError.md
233
+ - CircuitBreakerOpenError: api/yard/HTM/CircuitBreakerOpenError.md
234
+ - DatabaseError: api/yard/HTM/DatabaseError.md
235
+ - EmbeddingError: api/yard/HTM/EmbeddingError.md
236
+ - NotFoundError: api/yard/HTM/NotFoundError.md
237
+ - QueryTimeoutError: api/yard/HTM/QueryTimeoutError.md
238
+ - ResourceExhaustedError: api/yard/HTM/ResourceExhaustedError.md
239
+ - TagError: api/yard/HTM/TagError.md
240
+ - ValidationError: api/yard/HTM/ValidationError.md
241
+ - Result Types:
242
+ - Timeframe Result: api/yard/HTM/Timeframe/Result.md
243
+ - TimeframeExtractor Result: api/yard/HTM/TimeframeExtractor/Result.md
243
244
  - Development:
244
- - development/index.md
245
- - Setup: development/setup.md
246
- - Testing: development/testing.md
247
- - Contributing: development/contributing.md
248
- - Database Schema: development/schema.md
249
- - Database Tables:
250
- - database/README.md
251
- - Core Tables:
252
- - Robots: database/public.robots.md
253
- - Nodes: database/public.nodes.md
254
- - Tags: database/public.tags.md
255
- - File Sources: database/public.file_sources.md
256
- - Join Tables:
257
- - Node Tags: database/public.node_tags.md
258
- - Nodes Tags (Legacy): database/public.nodes_tags.md
259
- - Robot Nodes: database/public.robot_nodes.md
260
- - Views & Stats:
261
- - Node Stats: database/public.node_stats.md
262
- - Robot Activity: database/public.robot_activity.md
263
- - Topic Relationships: database/public.topic_relationships.md
264
- - Ontology Structure: database/public.ontology_structure.md
265
- - Relationships: database/public.relationships.md
266
- - System:
267
- - Operations Log: database/public.operations_log.md
268
- - Schema Migrations: database/public.schema_migrations.md
269
- - Multi-Framework Support: multi_framework_support.md
270
- - Database Rake Tasks: database_rake_tasks.md
271
- - Using Rake Tasks: using_rake_tasks_in_your_app.md
272
- - Setup Local Database: setup_local_database.md
245
+ - development/index.md
246
+ - Setup: development/setup.md
247
+ - Testing: development/testing.md
248
+ - Contributing: development/contributing.md
249
+ - Rake Tasks Reference: development/rake-tasks.md
250
+ - Database Schema: development/schema.md
251
+ - Database Tables:
252
+ - database/README.md
253
+ - Core Tables:
254
+ - Robots: database/public.robots.md
255
+ - Nodes: database/public.nodes.md
256
+ - Tags: database/public.tags.md
257
+ - File Sources: database/public.file_sources.md
258
+ - Join Tables:
259
+ - Node Tags: database/public.node_tags.md
260
+ - Nodes Tags (Legacy): database/public.nodes_tags.md
261
+ - Robot Nodes: database/public.robot_nodes.md
262
+ - Views & Stats:
263
+ - Node Stats: database/public.node_stats.md
264
+ - Robot Activity: database/public.robot_activity.md
265
+ - Topic Relationships: database/public.topic_relationships.md
266
+ - Ontology Structure: database/public.ontology_structure.md
267
+ - Relationships: database/public.relationships.md
268
+ - System:
269
+ - Operations Log: database/public.operations_log.md
270
+ - Schema Migrations: database/public.schema_migrations.md
271
+ - Multi-Framework Support: multi_framework_support.md
272
+ - Database Rake Tasks: database_rake_tasks.md
273
+ - Using Rake Tasks: using_rake_tasks_in_your_app.md
274
+ - Setup Local Database: setup_local_database.md
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: htm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dewayne VanHoozer
@@ -135,6 +135,20 @@ dependencies:
135
135
  - - ">="
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: baran
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ type: :runtime
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
138
152
  - !ruby/object:Gem::Dependency
139
153
  name: rake
140
154
  requirement: !ruby/object:Gem::Requirement
@@ -234,9 +248,9 @@ dependencies:
234
248
  - !ruby/object:Gem::Version
235
249
  version: '0'
236
250
  description: |
237
- HTM (Hierarchical Temporary Memory) provides intelligent memory management for
251
+ HTM (Hierarchical Temporal Memory) provides intelligent memory/context management for
238
252
  LLM-based applications. It implements a two-tier memory system with
239
- durable long-term storage (PostgreSQL/TimescaleDB) and token-limited working
253
+ durable long-term storage (PostgreSQL) and token-limited working
240
254
  memory, enabling applications to recall context from past conversations using RAG
241
255
  (Retrieval-Augmented Generation) techniques.
242
256
  email:
@@ -246,7 +260,6 @@ executables:
246
260
  extensions: []
247
261
  extra_rdoc_files: []
248
262
  files:
249
- - ".aigcm_msg"
250
263
  - ".architecture/decisions/adrs/001-use-postgresql-timescaledb-storage.md"
251
264
  - ".architecture/decisions/adrs/002-two-tier-memory-architecture.md"
252
265
  - ".architecture/decisions/adrs/003-ollama-default-embedding-provider.md"
@@ -267,12 +280,11 @@ files:
267
280
  - ".architecture/reviews/2025-10-29-llm-configuration-and-async-processing-review.md"
268
281
  - ".architecture/reviews/comprehensive-codebase-review.md"
269
282
  - ".architecture/reviews/initial-system-analysis.md"
270
- - ".claude/settings.local.json"
283
+ - ".dictate.toml"
271
284
  - ".envrc"
272
285
  - ".irbrc"
273
286
  - ".tbls.yml"
274
287
  - CHANGELOG.md
275
- - CLAUDE.md
276
288
  - COMMITS.md
277
289
  - LICENSE
278
290
  - README.md
@@ -287,7 +299,6 @@ files:
287
299
  - db/migrate/00005_create_tags.rb
288
300
  - db/migrate/00006_create_node_tags.rb
289
301
  - db/migrate/00007_create_robot_nodes.rb
290
- - db/migrate/00009_add_working_memory_to_robot_nodes.rb
291
302
  - db/schema.sql
292
303
  - db/seed_data/README.md
293
304
  - db/seed_data/presidents.md
@@ -315,17 +326,26 @@ files:
315
326
  - docs/api/yard/HTM/LongTermMemory.md
316
327
  - docs/api/yard/HTM/NotFoundError.md
317
328
  - docs/api/yard/HTM/Observability.md
329
+ - docs/api/yard/HTM/PropositionError.md
330
+ - docs/api/yard/HTM/PropositionService.md
331
+ - docs/api/yard/HTM/QueryCache.md
318
332
  - docs/api/yard/HTM/QueryTimeoutError.md
319
333
  - docs/api/yard/HTM/Railtie.md
320
334
  - docs/api/yard/HTM/ResourceExhaustedError.md
335
+ - docs/api/yard/HTM/RobotGroup.md
336
+ - docs/api/yard/HTM/SqlBuilder.md
321
337
  - docs/api/yard/HTM/TagError.md
322
338
  - docs/api/yard/HTM/TagService.md
339
+ - docs/api/yard/HTM/Telemetry.md
340
+ - docs/api/yard/HTM/Telemetry/NullInstrument.md
341
+ - docs/api/yard/HTM/Telemetry/NullMeter.md
323
342
  - docs/api/yard/HTM/Timeframe.md
324
343
  - docs/api/yard/HTM/Timeframe/Result.md
325
344
  - docs/api/yard/HTM/TimeframeExtractor.md
326
345
  - docs/api/yard/HTM/TimeframeExtractor/Result.md
327
346
  - docs/api/yard/HTM/ValidationError.md
328
347
  - docs/api/yard/HTM/WorkingMemory.md
348
+ - docs/api/yard/HTM/WorkingMemoryChannel.md
329
349
  - docs/api/yard/index.csv
330
350
  - docs/architecture/adrs/001-postgresql-timescaledb.md
331
351
  - docs/architecture/adrs/002-two-tier-memory.md
@@ -365,7 +385,9 @@ files:
365
385
  - docs/assets/images/htm-working-memory-architecture.svg
366
386
  - docs/assets/images/htm.jpg
367
387
  - docs/assets/images/htm_demo.gif
388
+ - docs/assets/images/multi-provider-failover.svg
368
389
  - docs/assets/images/project-structure.svg
390
+ - docs/assets/images/robot-group-architecture.svg
369
391
  - docs/assets/images/test-directory-structure.svg
370
392
  - docs/assets/js/mathjax.js
371
393
  - docs/assets/videos/htm_video.mp4
@@ -403,6 +425,7 @@ files:
403
425
  - docs/database_rake_tasks.md
404
426
  - docs/development/contributing.md
405
427
  - docs/development/index.md
428
+ - docs/development/rake-tasks.md
406
429
  - docs/development/schema.md
407
430
  - docs/development/setup.md
408
431
  - docs/development/testing.md
@@ -414,33 +437,38 @@ files:
414
437
  - docs/guides/getting-started.md
415
438
  - docs/guides/index.md
416
439
  - docs/guides/long-term-memory.md
440
+ - docs/guides/mcp-server.md
417
441
  - docs/guides/multi-robot.md
418
442
  - docs/guides/recalling-memories.md
443
+ - docs/guides/robot-groups.md
419
444
  - docs/guides/search-strategies.md
420
445
  - docs/guides/working-memory.md
421
446
  - docs/images/htm-er-diagram.svg
447
+ - docs/images/telemetry-architecture.svg
422
448
  - docs/index.md
423
449
  - docs/multi_framework_support.md
424
450
  - docs/setup_local_database.md
451
+ - docs/telemetry.md
425
452
  - docs/using_rake_tasks_in_your_app.md
426
453
  - examples/README.md
427
454
  - examples/basic_usage.rb
428
455
  - examples/cli_app/README.md
429
456
  - examples/cli_app/htm_cli.rb
430
- - examples/cli_app/temp.log
431
457
  - examples/custom_llm_configuration.rb
432
458
  - examples/example_app/Rakefile
433
459
  - examples/example_app/app.rb
434
460
  - examples/file_loader_usage.rb
435
461
  - examples/mcp_client.rb
436
- - examples/robot_groups/lib/robot_group.rb
437
- - examples/robot_groups/lib/working_memory_channel.rb
438
462
  - examples/robot_groups/multi_process.rb
439
463
  - examples/robot_groups/robot_worker.rb
440
464
  - examples/robot_groups/same_process.rb
441
465
  - examples/sinatra_app/Gemfile
442
466
  - examples/sinatra_app/Gemfile.lock
443
467
  - examples/sinatra_app/app.rb
468
+ - examples/telemetry/README.md
469
+ - examples/telemetry/SETUP_README.md
470
+ - examples/telemetry/demo.rb
471
+ - examples/telemetry/grafana/dashboards/htm-metrics.json
444
472
  - examples/timeframe_demo.rb
445
473
  - lib/htm.rb
446
474
  - lib/htm/active_record_config.rb
@@ -452,10 +480,18 @@ files:
452
480
  - lib/htm/integrations/sinatra.rb
453
481
  - lib/htm/job_adapter.rb
454
482
  - lib/htm/jobs/generate_embedding_job.rb
483
+ - lib/htm/jobs/generate_propositions_job.rb
455
484
  - lib/htm/jobs/generate_tags_job.rb
485
+ - lib/htm/loaders/markdown_chunker.rb
456
486
  - lib/htm/loaders/markdown_loader.rb
457
- - lib/htm/loaders/paragraph_chunker.rb
458
487
  - lib/htm/long_term_memory.rb
488
+ - lib/htm/long_term_memory/fulltext_search.rb
489
+ - lib/htm/long_term_memory/hybrid_search.rb
490
+ - lib/htm/long_term_memory/node_operations.rb
491
+ - lib/htm/long_term_memory/relevance_scorer.rb
492
+ - lib/htm/long_term_memory/robot_operations.rb
493
+ - lib/htm/long_term_memory/tag_operations.rb
494
+ - lib/htm/long_term_memory/vector_search.rb
459
495
  - lib/htm/models/file_source.rb
460
496
  - lib/htm/models/node.rb
461
497
  - lib/htm/models/node_tag.rb
@@ -463,13 +499,19 @@ files:
463
499
  - lib/htm/models/robot_node.rb
464
500
  - lib/htm/models/tag.rb
465
501
  - lib/htm/observability.rb
502
+ - lib/htm/proposition_service.rb
503
+ - lib/htm/query_cache.rb
466
504
  - lib/htm/railtie.rb
505
+ - lib/htm/robot_group.rb
506
+ - lib/htm/sql_builder.rb
467
507
  - lib/htm/tag_service.rb
468
508
  - lib/htm/tasks.rb
509
+ - lib/htm/telemetry.rb
469
510
  - lib/htm/timeframe.rb
470
511
  - lib/htm/timeframe_extractor.rb
471
512
  - lib/htm/version.rb
472
513
  - lib/htm/working_memory.rb
514
+ - lib/htm/working_memory_channel.rb
473
515
  - lib/tasks/db.rake
474
516
  - lib/tasks/doc.rake
475
517
  - lib/tasks/files.rake
@@ -477,13 +519,6 @@ files:
477
519
  - lib/tasks/jobs.rake
478
520
  - lib/tasks/tags.rake
479
521
  - mkdocs.yml
480
- - notes/ARCHITECTURE_REVIEW.md
481
- - notes/IMPLEMENTATION_SUMMARY.md
482
- - notes/MULTI_FRAMEWORK_IMPLEMENTATION.md
483
- - notes/next_steps.md
484
- - notes/plan.md
485
- - notes/tag_ontology_enhancement_ideas.md
486
- - notes/timescaledb_removal_summary.md
487
522
  - scripts/install_local_database.sh
488
523
  homepage: https://github.com/madbomber/htm
489
524
  licenses:
@@ -506,7 +541,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
506
541
  - !ruby/object:Gem::Version
507
542
  version: '0'
508
543
  requirements: []
509
- rubygems_version: 4.0.0.dev
544
+ rubygems_version: 4.0.0
510
545
  specification_version: 4
511
- summary: Hierarchical Temporary Memory for LLM robots
546
+ summary: Hierarchical Temporal Memory for LLM robots
512
547
  test_files: []
data/.aigcm_msg DELETED
@@ -1 +0,0 @@
1
- Error generating commit message: status=404 Not Found body=404 page not found
@@ -1,95 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "WebFetch(domain:raw.githubusercontent.com)",
5
- "Bash(mkdir:*)",
6
- "Bash(mkdocs build:*)",
7
- "Bash(ffmpeg:*)",
8
- "Bash(gh issue create:*)",
9
- "Bash(gh issue list:*)",
10
- "Bash(rake test:*)",
11
- "Bash(ruby -Ilib -e:*)",
12
- "Bash(gh issue view:*)",
13
- "Bash(gh issue close:*)",
14
- "Bash(bundle install:*)",
15
- "Bash(echo:*)",
16
- "Bash(ruby test_connection.rb:*)",
17
- "Bash(psql:*)",
18
- "Bash(ruby -r ./lib/htm -e:*)",
19
- "Bash(curl:*)",
20
- "Bash(ollama list:*)",
21
- "Bash(ruby:*)",
22
- "Bash(rake:*)",
23
- "Bash(export HTM_DBURL=$TIGER_DBURL)",
24
- "Bash(python3:*)",
25
- "Bash(chmod:*)",
26
- "Bash(git clone:*)",
27
- "Bash(cat:*)",
28
- "Bash(source:*)",
29
- "Bash(bundle exec rake:*)",
30
- "Bash(./examples/example_app/app.rb)",
31
- "Bash(gem list:*)",
32
- "Read(//Users/dewayne/.rbenv/versions/3.4.7/lib/ruby/gems/3.4.0/gems/pgvector-0.3.2/lib/pgvector/**)",
33
- "Bash(bundle check:*)",
34
- "Bash(find:*)",
35
- "Bash(test/caching_test.rb)",
36
- "Bash(xargs:*)",
37
- "Bash(git log:*)",
38
- "Bash(done)",
39
- "Bash(brew services:*)",
40
- "Bash(lsof:*)",
41
- "Bash(env)",
42
- "Bash(createdb:*)",
43
- "Bash(export HTM_DBURL:*)",
44
- "Bash(dropdb:*)",
45
- "Bash(bundle exec ruby:*)",
46
- "WebFetch(domain:rubyllm.com)",
47
- "Bash(HTM_DBURL=\"postgresql://dewayne@localhost:5432/htm_development\" bundle exec rake:*)",
48
- "mcp__playwright-mcp__playwright_navigate",
49
- "mcp__playwright-mcp__playwright_screenshot",
50
- "mcp__playwright-mcp__playwright_fill",
51
- "mcp__playwright-mcp__playwright_click",
52
- "mcp__playwright-mcp__playwright_select",
53
- "mcp__playwright-mcp__playwright_get",
54
- "mcp__playwright-mcp__playwright_post",
55
- "mcp__playwright-mcp__playwright_close",
56
- "Bash(HTM_DBURL=\"postgresql://dewayne@localhost:5432/htm_development\" bundle exec ruby:*)",
57
- "Bash(HTM_DBURL=\"postgresql://dewayne@localhost:5432/htm_development\" bundle exec rake test:*)",
58
- "Bash(git mv:*)",
59
- "Bash(kill:*)",
60
- "WebFetch(domain:github.com)",
61
- "WebFetch(domain:api.github.com)",
62
- "Bash(git add:*)",
63
- "Bash(git commit:*)",
64
- "Bash(HTM_DBURL=\"postgresql://dewayne@localhost:5432/htm_development\" ruby:*)",
65
- "Bash(HTM_DBURL=\"postgresql://dewayne@localhost:5432/htm_development\" ruby test/loaders/markdown_loader_test.rb:*)",
66
- "Bash(HTM_DBURL=\"postgresql://dewayne@localhost:5432/htm_development\" bundle exec rake htm:db:stats:*)",
67
- "Skill(architecture-review)",
68
- "Bash(HTM_DBURL=\"postgresql://dewayne@localhost:5432/htm_development\" psql:*)",
69
- "Bash(git reset:*)",
70
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20250101000002_create_robots.rb )",
71
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20250101000003_create_nodes.rb )",
72
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20250101000005_create_tags.rb )",
73
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20250101000007_add_node_vector_indexes.rb )",
74
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20250125000001_add_content_hash_to_nodes.rb )",
75
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20250125000002_create_robot_nodes.rb )",
76
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20250125000003_remove_source_and_robot_id_from_nodes.rb )",
77
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20250126000001_create_working_memories.rb )",
78
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20250126000002_remove_unused_columns.rb )",
79
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20251128000001_add_deleted_at_to_nodes.rb )",
80
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20251128000002_create_file_sources.rb )",
81
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20251128000003_add_source_to_nodes.rb )",
82
- "Bash(/Users/dewayne/sandbox/git_repos/madbomber/htm/db/migrate/20251129000002_remove_unused_embedding_columns.rb)",
83
- "WebSearch",
84
- "WebFetch(domain:www.barndominiumlife.com)",
85
- "Bash(git rm:*)",
86
- "Bash(HTM_DBURL=\"postgresql://dewayne@localhost:5432/htm_development\" psql -c \"DROP TABLE IF EXISTS working_memories CASCADE;\" htm_development)",
87
- "Bash(git checkout:*)",
88
- "WebFetch(domain:rubygems.org)",
89
- "WebFetch(domain:www.rubyllm-mcp.com)",
90
- "Bash(gem contents:*)"
91
- ],
92
- "deny": [],
93
- "ask": []
94
- }
95
- }