12 KiB
12 KiB
BMAD Memory Data Structures Methodology
Overview
This methodology defines how to structure memory data within different IDE environments. Rather than prescriptive code, this provides patterns and guidelines for implementing memory structures using each IDE's available storage and data management capabilities.
Memory Entity Structure Patterns
Core Memory Entity Pattern
Every memory entity should follow this conceptual structure, adapted to your IDE's data storage capabilities:
memory_entity_pattern:
identity:
- unique_identifier
- memory_type_classification
- creation_timestamp
- last_access_timestamp
- access_frequency_counter
- importance_score
metadata:
- source_information
- owner_identification
- project_association
- categorization_tags
- privacy_classification
- retention_policy
content:
- descriptive_title
- concise_summary
- detailed_content
- content_format_type
- semantic_embeddings
- relationship_links
access_control:
- read_permissions
- write_permissions
- share_permissions
IDE-Specific Implementation Patterns
Claude Code Pattern
claude_code_implementation:
storage_format: "markdown_files"
structure_approach:
- use_yaml_frontmatter_for_metadata
- use_markdown_body_for_content
- use_file_naming_for_identification
- use_directory_structure_for_organization
example_structure: |
---
id: mem_001
type: semantic
created: 2024-01-15T10:30:00Z
importance: 0.8
tags: [architecture, patterns, microservices]
privacy: shared
---
# Microservices Architecture Pattern
## Summary
Best practices for implementing microservices architecture...
## Details
[Detailed content here]
## Relationships
- Related to: mem_002 (API Gateway Pattern)
- Supports: mem_003 (Service Discovery)
Cursor AI Pattern
cursor_ai_implementation:
storage_format: "json_files"
structure_approach:
- use_json_schema_for_validation
- use_file_system_for_organization
- use_workspace_storage_api
- use_extension_storage_mechanisms
example_structure: |
{
"id": "mem_001",
"type": "semantic",
"created": "2024-01-15T10:30:00Z",
"metadata": {
"importance": 0.8,
"tags": ["architecture", "patterns"],
"privacy": "shared",
"project": "current_workspace"
},
"content": {
"title": "Microservices Architecture Pattern",
"summary": "Best practices for...",
"details": "...",
"format": "text"
},
"relationships": [
{"id": "mem_002", "type": "related", "strength": 0.9}
]
}
V0 Pattern
v0_implementation:
storage_format: "browser_storage"
structure_approach:
- use_localstorage_for_persistence
- use_sessionstorage_for_temporary
- use_indexeddb_for_complex_data
- use_component_state_for_active
example_structure: |
// localStorage structure
{
"bmad_memories": {
"mem_001": {
"id": "mem_001",
"type": "procedural",
"content": {
"title": "Button Component Pattern",
"summary": "Reusable button component with variants",
"details": {
"component_code": "...",
"usage_examples": "...",
"variants": ["primary", "secondary", "danger"]
}
},
"metadata": {
"created": "2024-01-15T10:30:00Z",
"importance": 0.7,
"tags": ["components", "ui", "buttons"]
}
}
}
}
JetBrains Pattern
jetbrains_implementation:
storage_format: "xml_configuration"
structure_approach:
- use_plugin_configuration_files
- use_project_storage_api
- use_application_storage_api
- use_psi_element_references
example_structure: |
<memory-store>
<memory id="mem_001" type="semantic">
<metadata>
<created>2024-01-15T10:30:00Z</created>
<importance>0.8</importance>
<tags>architecture,patterns</tags>
<privacy>shared</privacy>
</metadata>
<content format="text">
<title>Microservices Architecture Pattern</title>
<summary>Best practices for implementing...</summary>
<details>...</details>
</content>
<relationships>
<relationship target="mem_002" type="related" strength="0.9"/>
</relationships>
</memory>
</memory-store>
Memory Type Specialization Patterns
Working Memory Pattern
working_memory_specialization:
characteristics:
- temporary_storage
- session_scoped
- high_access_frequency
- automatic_cleanup
implementation_guidelines:
- store_in_volatile_memory
- use_session_storage_mechanisms
- implement_automatic_expiration
- optimize_for_fast_access
additional_fields:
- active_context_identifier
- processing_priority
- expiration_timestamp
- attention_focus_flag
Episodic Memory Pattern
episodic_memory_specialization:
characteristics:
- event_specific
- time_bound
- contextual_information
- narrative_structure
implementation_guidelines:
- include_temporal_information
- store_context_details
- link_to_participants
- maintain_sequence_information
additional_fields:
- event_timestamp
- duration_information
- location_context
- participant_list
- emotional_significance
- sequence_position
Semantic Memory Pattern
semantic_memory_specialization:
characteristics:
- conceptual_knowledge
- domain_specific
- factual_information
- relationship_rich
implementation_guidelines:
- organize_by_knowledge_domain
- include_confidence_measures
- track_source_reliability
- maintain_verification_status
additional_fields:
- knowledge_domains
- confidence_level
- source_reliability
- verification_status
- last_verified_timestamp
- contradiction_references
Procedural Memory Pattern
procedural_memory_specialization:
characteristics:
- process_oriented
- step_by_step
- executable_knowledge
- outcome_focused
implementation_guidelines:
- structure_as_ordered_steps
- include_success_metrics
- track_execution_history
- maintain_prerequisites
additional_fields:
- procedure_type
- step_sequence
- success_rate
- average_duration
- prerequisites
- expected_outcomes
Relationship Structure Patterns
Relationship Types Framework
relationship_types:
hierarchical:
- parent_child
- contains_contained_by
- generalizes_specializes
sequential:
- precedes_follows
- causes_caused_by
- enables_enabled_by
associative:
- related_to
- similar_to
- contrasts_with
logical:
- supports_supported_by
- contradicts_contradicted_by
- implies_implied_by
Relationship Implementation Pattern
relationship_implementation:
structure:
- source_memory_identifier
- target_memory_identifier
- relationship_type
- relationship_strength
- creation_timestamp
- validation_status
bidirectional_maintenance:
- maintain_forward_references
- maintain_backward_references
- ensure_consistency
- handle_deletion_cascades
Index Structure Patterns
Primary Index Patterns
primary_indices:
id_index:
purpose: "Direct memory lookup"
structure: "hash_map_or_dictionary"
key: "memory_identifier"
value: "storage_location_metadata"
type_index:
purpose: "Memory type-based queries"
structure: "categorized_lists"
key: "memory_type"
value: "list_of_memory_identifiers"
temporal_index:
purpose: "Time-based queries"
structure: "time_bucketed_lists"
key: "time_bucket"
value: "list_of_memory_identifiers"
Secondary Index Patterns
secondary_indices:
keyword_index:
purpose: "Text-based search"
structure: "inverted_index"
implementation: "keyword_to_memory_mapping"
importance_index:
purpose: "Priority-based retrieval"
structure: "sorted_lists"
implementation: "importance_score_ordering"
project_index:
purpose: "Project-scoped queries"
structure: "hierarchical_grouping"
implementation: "project_to_memory_mapping"
Storage Organization Patterns
File System Organization
file_system_pattern:
directory_structure:
- memories/
- working/
- session_[timestamp]/
- short_term/
- [date]/
- episodic/
- [year]/[month]/
- semantic/
- [domain]/
- procedural/
- [category]/
- long_term/
- [year]/
naming_conventions:
- use_consistent_prefixes
- include_type_indicators
- add_timestamp_suffixes
- maintain_readable_names
Database Organization
database_pattern:
table_structure:
memories_table:
- id (primary_key)
- type
- created_at
- content_blob
- metadata_json
relationships_table:
- source_id
- target_id
- relationship_type
- strength
indices_table:
- memory_id
- index_type
- index_value
query_optimization:
- create_appropriate_indices
- use_composite_keys
- implement_query_caching
- optimize_for_common_patterns
Data Validation Patterns
Schema Validation
validation_patterns:
required_fields:
- validate_presence_of_id
- validate_memory_type
- validate_timestamp_format
- validate_content_structure
data_integrity:
- check_relationship_validity
- verify_reference_consistency
- validate_permission_structure
- ensure_format_compliance
business_rules:
- enforce_retention_policies
- validate_privacy_levels
- check_access_permissions
- verify_importance_ranges
Error Handling Patterns
error_handling:
validation_errors:
- provide_clear_error_messages
- suggest_correction_actions
- maintain_data_consistency
- log_validation_failures
storage_errors:
- implement_retry_mechanisms
- provide_fallback_storage
- maintain_transaction_integrity
- notify_of_storage_issues
retrieval_errors:
- handle_missing_memories
- provide_partial_results
- suggest_alternative_queries
- maintain_search_performance
Migration and Versioning Patterns
Schema Evolution
versioning_strategy:
version_tracking:
- maintain_schema_version_numbers
- document_schema_changes
- provide_migration_paths
- ensure_backward_compatibility
migration_patterns:
- implement_gradual_migration
- maintain_data_integrity
- provide_rollback_capabilities
- test_migration_procedures
Data Migration
migration_procedures:
preparation:
- backup_existing_data
- validate_migration_scripts
- test_on_sample_data
- prepare_rollback_plan
execution:
- run_migration_incrementally
- monitor_migration_progress
- validate_migrated_data
- update_system_references
validation:
- verify_data_integrity
- test_system_functionality
- validate_performance_impact
- confirm_user_access
This methodology provides the framework for implementing memory data structures within any IDE environment while adapting to the specific capabilities and constraints of each platform.