htm 0.0.1
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.
- checksums.yaml +7 -0
- data/.architecture/decisions/adrs/001-use-postgresql-timescaledb-storage.md +227 -0
- data/.architecture/decisions/adrs/002-two-tier-memory-architecture.md +322 -0
- data/.architecture/decisions/adrs/003-ollama-default-embedding-provider.md +339 -0
- data/.architecture/decisions/adrs/004-multi-robot-shared-memory-hive-mind.md +374 -0
- data/.architecture/decisions/adrs/005-rag-based-retrieval-with-hybrid-search.md +443 -0
- data/.architecture/decisions/adrs/006-context-assembly-strategies.md +444 -0
- data/.architecture/decisions/adrs/007-working-memory-eviction-strategy.md +461 -0
- data/.architecture/decisions/adrs/008-robot-identification-system.md +550 -0
- data/.architecture/decisions/adrs/009-never-forget-explicit-deletion-only.md +570 -0
- data/.architecture/decisions/adrs/010-redis-working-memory-rejected.md +323 -0
- data/.architecture/decisions/adrs/011-database-side-embedding-generation-with-pgai.md +585 -0
- data/.architecture/decisions/adrs/012-llm-driven-ontology-topic-extraction.md +583 -0
- data/.architecture/decisions/adrs/013-activerecord-orm-and-many-to-many-tagging.md +299 -0
- data/.architecture/decisions/adrs/014-client-side-embedding-generation-workflow.md +569 -0
- data/.architecture/decisions/adrs/015-hierarchical-tag-ontology-and-llm-extraction.md +701 -0
- data/.architecture/decisions/adrs/016-async-embedding-and-tag-generation.md +694 -0
- data/.architecture/members.yml +144 -0
- data/.architecture/reviews/2025-10-29-llm-configuration-and-async-processing-review.md +1137 -0
- data/.architecture/reviews/initial-system-analysis.md +330 -0
- data/.envrc +32 -0
- data/.irbrc +145 -0
- data/CHANGELOG.md +150 -0
- data/COMMITS.md +196 -0
- data/LICENSE +21 -0
- data/README.md +1347 -0
- data/Rakefile +51 -0
- data/SETUP.md +268 -0
- data/config/database.yml +67 -0
- data/db/migrate/20250101000001_enable_extensions.rb +14 -0
- data/db/migrate/20250101000002_create_robots.rb +14 -0
- data/db/migrate/20250101000003_create_nodes.rb +42 -0
- data/db/migrate/20250101000005_create_tags.rb +38 -0
- data/db/migrate/20250101000007_add_node_vector_indexes.rb +30 -0
- data/db/schema.sql +473 -0
- data/db/seed_data/README.md +100 -0
- data/db/seed_data/presidents.md +136 -0
- data/db/seed_data/states.md +151 -0
- data/db/seeds.rb +208 -0
- data/dbdoc/README.md +173 -0
- data/dbdoc/public.node_stats.md +48 -0
- data/dbdoc/public.node_stats.svg +41 -0
- data/dbdoc/public.node_tags.md +40 -0
- data/dbdoc/public.node_tags.svg +112 -0
- data/dbdoc/public.nodes.md +54 -0
- data/dbdoc/public.nodes.svg +118 -0
- data/dbdoc/public.nodes_tags.md +39 -0
- data/dbdoc/public.nodes_tags.svg +112 -0
- data/dbdoc/public.ontology_structure.md +48 -0
- data/dbdoc/public.ontology_structure.svg +38 -0
- data/dbdoc/public.operations_log.md +42 -0
- data/dbdoc/public.operations_log.svg +130 -0
- data/dbdoc/public.relationships.md +39 -0
- data/dbdoc/public.relationships.svg +41 -0
- data/dbdoc/public.robot_activity.md +46 -0
- data/dbdoc/public.robot_activity.svg +35 -0
- data/dbdoc/public.robots.md +35 -0
- data/dbdoc/public.robots.svg +90 -0
- data/dbdoc/public.schema_migrations.md +29 -0
- data/dbdoc/public.schema_migrations.svg +26 -0
- data/dbdoc/public.tags.md +35 -0
- data/dbdoc/public.tags.svg +60 -0
- data/dbdoc/public.topic_relationships.md +45 -0
- data/dbdoc/public.topic_relationships.svg +32 -0
- data/dbdoc/schema.json +1437 -0
- data/dbdoc/schema.svg +154 -0
- data/docs/api/database.md +806 -0
- data/docs/api/embedding-service.md +532 -0
- data/docs/api/htm.md +797 -0
- data/docs/api/index.md +259 -0
- data/docs/api/long-term-memory.md +1096 -0
- data/docs/api/working-memory.md +665 -0
- data/docs/architecture/adrs/001-postgresql-timescaledb.md +314 -0
- data/docs/architecture/adrs/002-two-tier-memory.md +411 -0
- data/docs/architecture/adrs/003-ollama-embeddings.md +421 -0
- data/docs/architecture/adrs/004-hive-mind.md +437 -0
- data/docs/architecture/adrs/005-rag-retrieval.md +531 -0
- data/docs/architecture/adrs/006-context-assembly.md +496 -0
- data/docs/architecture/adrs/007-eviction-strategy.md +645 -0
- data/docs/architecture/adrs/008-robot-identification.md +625 -0
- data/docs/architecture/adrs/009-never-forget.md +648 -0
- data/docs/architecture/adrs/010-redis-working-memory-rejected.md +323 -0
- data/docs/architecture/adrs/011-pgai-integration.md +494 -0
- data/docs/architecture/adrs/index.md +215 -0
- data/docs/architecture/hive-mind.md +736 -0
- data/docs/architecture/index.md +351 -0
- data/docs/architecture/overview.md +538 -0
- data/docs/architecture/two-tier-memory.md +873 -0
- data/docs/assets/css/custom.css +83 -0
- data/docs/assets/images/htm-core-components.svg +63 -0
- data/docs/assets/images/htm-database-schema.svg +93 -0
- data/docs/assets/images/htm-hive-mind-architecture.svg +125 -0
- data/docs/assets/images/htm-importance-scoring-framework.svg +83 -0
- data/docs/assets/images/htm-layered-architecture.svg +71 -0
- data/docs/assets/images/htm-long-term-memory-architecture.svg +115 -0
- data/docs/assets/images/htm-working-memory-architecture.svg +120 -0
- data/docs/assets/images/htm.jpg +0 -0
- data/docs/assets/images/htm_demo.gif +0 -0
- data/docs/assets/js/mathjax.js +18 -0
- data/docs/assets/videos/htm_video.mp4 +0 -0
- data/docs/database_rake_tasks.md +322 -0
- data/docs/development/contributing.md +787 -0
- data/docs/development/index.md +336 -0
- data/docs/development/schema.md +596 -0
- data/docs/development/setup.md +719 -0
- data/docs/development/testing.md +819 -0
- data/docs/guides/adding-memories.md +824 -0
- data/docs/guides/context-assembly.md +1009 -0
- data/docs/guides/getting-started.md +577 -0
- data/docs/guides/index.md +118 -0
- data/docs/guides/long-term-memory.md +941 -0
- data/docs/guides/multi-robot.md +866 -0
- data/docs/guides/recalling-memories.md +927 -0
- data/docs/guides/search-strategies.md +953 -0
- data/docs/guides/working-memory.md +717 -0
- data/docs/index.md +214 -0
- data/docs/installation.md +477 -0
- data/docs/multi_framework_support.md +519 -0
- data/docs/quick-start.md +655 -0
- data/docs/setup_local_database.md +302 -0
- data/docs/using_rake_tasks_in_your_app.md +383 -0
- data/examples/basic_usage.rb +93 -0
- data/examples/cli_app/README.md +317 -0
- data/examples/cli_app/htm_cli.rb +270 -0
- data/examples/custom_llm_configuration.rb +183 -0
- data/examples/example_app/Rakefile +71 -0
- data/examples/example_app/app.rb +206 -0
- data/examples/sinatra_app/Gemfile +21 -0
- data/examples/sinatra_app/app.rb +335 -0
- data/lib/htm/active_record_config.rb +113 -0
- data/lib/htm/configuration.rb +342 -0
- data/lib/htm/database.rb +594 -0
- data/lib/htm/embedding_service.rb +115 -0
- data/lib/htm/errors.rb +34 -0
- data/lib/htm/job_adapter.rb +154 -0
- data/lib/htm/jobs/generate_embedding_job.rb +65 -0
- data/lib/htm/jobs/generate_tags_job.rb +82 -0
- data/lib/htm/long_term_memory.rb +965 -0
- data/lib/htm/models/node.rb +109 -0
- data/lib/htm/models/node_tag.rb +33 -0
- data/lib/htm/models/robot.rb +52 -0
- data/lib/htm/models/tag.rb +76 -0
- data/lib/htm/railtie.rb +76 -0
- data/lib/htm/sinatra.rb +157 -0
- data/lib/htm/tag_service.rb +135 -0
- data/lib/htm/tasks.rb +38 -0
- data/lib/htm/version.rb +5 -0
- data/lib/htm/working_memory.rb +182 -0
- data/lib/htm.rb +400 -0
- data/lib/tasks/db.rake +19 -0
- data/lib/tasks/htm.rake +147 -0
- data/lib/tasks/jobs.rake +312 -0
- data/mkdocs.yml +190 -0
- data/scripts/install_local_database.sh +309 -0
- metadata +341 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Architecture Review Team Members
|
|
2
|
+
# HTM (Hierarchical Temporary Memory) Project
|
|
3
|
+
|
|
4
|
+
systems_architect:
|
|
5
|
+
name: Systems Architect
|
|
6
|
+
focus: Distributed systems architecture, scalability patterns, and system decomposition
|
|
7
|
+
expertise:
|
|
8
|
+
- High-level architecture planning
|
|
9
|
+
- Component interaction design
|
|
10
|
+
- Distributed system patterns
|
|
11
|
+
- Scalability and performance at the system level
|
|
12
|
+
- Service boundaries and integration patterns
|
|
13
|
+
responsibilities:
|
|
14
|
+
- Ensure architectural coherence across components
|
|
15
|
+
- Evaluate system-wide scalability approaches
|
|
16
|
+
- Review distributed system patterns and practices
|
|
17
|
+
- Assess component coupling and cohesion
|
|
18
|
+
|
|
19
|
+
domain_expert:
|
|
20
|
+
name: Domain Expert
|
|
21
|
+
focus: Domain-driven design, business logic accuracy, and semantic modeling
|
|
22
|
+
expertise:
|
|
23
|
+
- Domain-driven design (DDD) principles
|
|
24
|
+
- Translating business requirements to technical solutions
|
|
25
|
+
- Ubiquitous language development
|
|
26
|
+
- Bounded context definition
|
|
27
|
+
- Business logic validation
|
|
28
|
+
responsibilities:
|
|
29
|
+
- Validate domain model accuracy
|
|
30
|
+
- Ensure business requirements are properly translated
|
|
31
|
+
- Review memory semantics and categorization
|
|
32
|
+
- Assess knowledge graph modeling
|
|
33
|
+
|
|
34
|
+
security_specialist:
|
|
35
|
+
name: Security Specialist
|
|
36
|
+
focus: Threat modeling, vulnerability assessment, and security controls
|
|
37
|
+
expertise:
|
|
38
|
+
- Security threat modeling
|
|
39
|
+
- Vulnerability identification and mitigation
|
|
40
|
+
- Data protection and privacy
|
|
41
|
+
- Authentication and authorization patterns
|
|
42
|
+
- Secure coding practices
|
|
43
|
+
responsibilities:
|
|
44
|
+
- Identify security implications in architecture
|
|
45
|
+
- Review data protection mechanisms
|
|
46
|
+
- Assess embedding and API key security
|
|
47
|
+
- Evaluate multi-tenant security (hive mind)
|
|
48
|
+
|
|
49
|
+
maintainability_expert:
|
|
50
|
+
name: Maintainability Expert
|
|
51
|
+
focus: Code quality, technical debt, and long-term evolution
|
|
52
|
+
expertise:
|
|
53
|
+
- Code quality assessment
|
|
54
|
+
- Technical debt identification
|
|
55
|
+
- Refactoring strategies
|
|
56
|
+
- Documentation standards
|
|
57
|
+
- Testing strategies
|
|
58
|
+
responsibilities:
|
|
59
|
+
- Evaluate code maintainability
|
|
60
|
+
- Identify technical debt
|
|
61
|
+
- Review testing coverage and quality
|
|
62
|
+
- Assess documentation completeness
|
|
63
|
+
|
|
64
|
+
performance_specialist:
|
|
65
|
+
name: Performance Specialist
|
|
66
|
+
focus: System optimization, resource utilization, and bottleneck identification
|
|
67
|
+
expertise:
|
|
68
|
+
- Performance profiling and optimization
|
|
69
|
+
- Database query optimization
|
|
70
|
+
- Caching strategies
|
|
71
|
+
- Resource utilization analysis
|
|
72
|
+
- Latency and throughput optimization
|
|
73
|
+
responsibilities:
|
|
74
|
+
- Identify performance bottlenecks
|
|
75
|
+
- Review database indexing strategies
|
|
76
|
+
- Assess TimescaleDB hypertable configuration
|
|
77
|
+
- Evaluate embedding generation performance
|
|
78
|
+
- Review token counting efficiency
|
|
79
|
+
|
|
80
|
+
ai_engineer:
|
|
81
|
+
name: AI Engineer
|
|
82
|
+
focus: LLM integration, RAG systems, and AI-powered features
|
|
83
|
+
expertise:
|
|
84
|
+
- LLM integration patterns
|
|
85
|
+
- RAG (Retrieval-Augmented Generation) systems
|
|
86
|
+
- Embedding generation and vector search
|
|
87
|
+
- Context window management
|
|
88
|
+
- AI agent interaction patterns
|
|
89
|
+
responsibilities:
|
|
90
|
+
- Evaluate RAG implementation quality
|
|
91
|
+
- Review embedding service integration
|
|
92
|
+
- Assess context assembly strategies
|
|
93
|
+
- Validate vector search effectiveness
|
|
94
|
+
- Review token management approaches
|
|
95
|
+
|
|
96
|
+
ruby_expert:
|
|
97
|
+
name: Ruby Expert
|
|
98
|
+
focus: Ruby best practices, gem development, and ecosystem integration
|
|
99
|
+
expertise:
|
|
100
|
+
- Ruby idioms and best practices
|
|
101
|
+
- Gem development and distribution
|
|
102
|
+
- Ruby performance optimization
|
|
103
|
+
- Testing with Minitest/RSpec
|
|
104
|
+
- Ruby metaprogramming when appropriate
|
|
105
|
+
responsibilities:
|
|
106
|
+
- Ensure Ruby idioms are followed
|
|
107
|
+
- Review gem structure and dependencies
|
|
108
|
+
- Assess testing strategy
|
|
109
|
+
- Evaluate error handling patterns
|
|
110
|
+
- Review API design for Ruby developers
|
|
111
|
+
|
|
112
|
+
database_architect:
|
|
113
|
+
name: Database Architect
|
|
114
|
+
focus: PostgreSQL, TimescaleDB, and pgvector optimization
|
|
115
|
+
expertise:
|
|
116
|
+
- PostgreSQL performance tuning
|
|
117
|
+
- TimescaleDB hypertable design
|
|
118
|
+
- pgvector indexing strategies
|
|
119
|
+
- Connection pooling
|
|
120
|
+
- Database schema design
|
|
121
|
+
responsibilities:
|
|
122
|
+
- Review database schema design
|
|
123
|
+
- Optimize TimescaleDB configuration
|
|
124
|
+
- Assess indexing strategies
|
|
125
|
+
- Evaluate query performance
|
|
126
|
+
- Review connection pooling setup
|
|
127
|
+
|
|
128
|
+
review_process:
|
|
129
|
+
phases:
|
|
130
|
+
- name: Independent Analysis
|
|
131
|
+
description: Each expert reviews the architecture independently from their perspective
|
|
132
|
+
|
|
133
|
+
- name: Collaborative Discussion
|
|
134
|
+
description: Experts discuss findings, reconcile conflicts, and identify trade-offs
|
|
135
|
+
|
|
136
|
+
- name: Final Recommendations
|
|
137
|
+
description: Consolidated recommendations balancing all perspectives with actionable items
|
|
138
|
+
|
|
139
|
+
principles:
|
|
140
|
+
- Consider both current needs and future evolution
|
|
141
|
+
- Balance theoretical best practices with practical constraints
|
|
142
|
+
- Provide specific, actionable recommendations
|
|
143
|
+
- Identify risks and mitigation strategies
|
|
144
|
+
- Document trade-offs and decision rationale
|