Skip to main content

CODITECT Database ER Diagrams

Governance: ADR-118, ADR-148

Purpose: Visual entity-relationship diagrams for CODITECT's four-tier database architecture. For field-level documentation, see DATA-DICTIONARY.md.

Task: J.24.3


Quick Reference

DatabaseTierTablesPrimary Entities
platform.db115Components, Capabilities, Triggers
org.db228Decisions, Skill Learnings, Knowledge Graph
sessions.db396Messages, Sessions, Tool Analytics
projects.db412Projects, Content Hashes, Embeddings
messaging.db-9Session Registry, Messages, Locks, Claims

Tier 1: platform.db ER Diagram

Purpose: Component metadata index (agents, skills, commands, scripts)

Key Relationships:

FromToTypeDescription
capabilitiescomponentsMany-to-OneComponent capability tags
triggerscomponentsMany-to-OneUsage triggers for activation
component_relationshipscomponentsMany-to-OneComponent dependencies
component_usage_statscomponentsOne-to-OneUsage analytics

Tier 2: org.db ER Diagram

Purpose: Organizational knowledge (decisions, learnings, error solutions) - CRITICAL

Key Relationships:

FromToTypeDescription
kg_edgeskg_nodes (from)Many-to-OneEdge source node
kg_edgeskg_nodes (to)Many-to-OneEdge target node
project_tracksprojectsMany-to-OneTrack assignments
decisionsmessagesMany-to-OneSource message reference

Tier 3: sessions.db ER Diagram

Purpose: Session data (messages, tool analytics, activity associations)

Core Session Entities

Task Tracking Entities

Knowledge Graph Entities

Component & Analytics Entities

Key Relationships Summary:

FromToTypeDescription
messagessessionsMany-to-OneSession containment
task_messagesmessagesMany-to-OneTask-message link
task_messagestask_trackingMany-to-OneTask association
checkpointstask_trackingMany-to-OneTask checkpoints
auto_checkpointssessionsMany-to-OneSession checkpoints
context_graph_nodescontext_graphsMany-to-OneGraph membership
call_graph_edgescall_graph_functionsMany-to-OneCaller function
call_graph_memorymessagesMany-to-OneMessage context

Tier 4: projects.db ER Diagram

Purpose: Project-specific data (project index, embeddings)

Key Relationships:

FromToTypeDescription
project_embeddingsprojectsMany-to-OneProject file embeddings
exclude_patternsprojectsMany-to-OneExclusion rules
sub_projectsprojectsMany-to-OneSub-project hierarchy
sprintsprojectsMany-to-OneSprint planning

Inter-Session: messaging.db ER Diagram

Purpose: Inter-session coordination, file locking, task claims (ADR-160, ADR-173)

Key Relationships:

FromToTypeDescription
file_lockssession_registryMany-to-OneSession holds file locks
task_claimssession_registryMany-to-OneSession claims tasks
session_messagessession_registryMany-to-OneSender session
session_messagessession_messagesSelf-referentialReply threading
message_dedupsession_messagesMany-to-OneDedup tracking

Cross-Database Relationships

While SQLite databases don't enforce cross-database foreign keys, CODITECT maintains logical relationships:

SourceTargetLink FieldDescription
org.decisionssessions.messagesmessage_idDecision source
sessions.messagesprojects.projectsproject_idProject context
sessions.sessionsprojects.projectsproject_idSession project
sessions.tool_analyticsplatform.componentscomponent_nameTool reference
org.kg_nodessessions.messagesderivedKnowledge extraction

Diagram Legend

SymbolMeaning
PKPrimary Key
FKForeign Key
UKUnique Key
`
`
}o--o{Many-to-Many relationship


Generated: 2026-02-05 Updated: 2026-02-19 Task: J.24.3.1-J.24.3.4, J.21.2.1