This page collects the technical details of Konnaxion: service code‑names, core models, configuration parameters, routing invariants, and cross‑module infrastructure. It complements:
Use this page as the reference for development and integration work.
Konnaxion’s architecture is organized into six top‑level modules:
Each KOA module is implemented as one or more Django apps with:
multidimensional_scoring, public_consultation) mapping 1‑to‑1 to service modulesAcross modules, the technical stack is consistent:
channels_redis.core.RedisChannelLayer)/app/media/ root, typically backed by S3/MinIO/learn, /certs, /ethikos/korum, etc.)Every sub‑module defines named services that are stable integration points. Examples:
structured_debate, ai_clone_management, comparative_argument_analysis, public_debate_archive, automated_debate_summarydynamic_weighted_vote, voting_modalities, emerging_expert_detection, vote_transparency, vote_result_visualization, cross_module_vote_integrationmultidimensional_scoring, configuration_weights, contextual_analysis, privacy_settings, score_history, score_visualization, expertise_field_classificationlibrary_resource_management, personalized_recommendation, content_co_creation, thematic_forum, learning_progress_trackingCode‑names map 1‑to‑1 to service modules (e.g. services/dynamic_weighted_vote.py), and are referenced by tasks, API endpoints, and configuration.
Top‑level routes are owned by specific modules and treated as invariants. Namespacing is enforced for consistency:
/learn, /course/[slug] → KonnectED / Knowledge/certs → KonnectED / CertifiKation/ethikos/korum, /ethikos/insights → Ethikos / Korum/ethikos/consult → Ethikos / Konsultations/projects, /projects/[slug] → keenKonnect / Konstruct + Stockage/kreative, /art/[id], /archive → Kreative / Konservation/connect, /profile/[user] → Kreative / Kontact/kollective/konsensus, /reports/smart-vote → Kollective Intelligence / Smart VoteNo other module should claim these top‑level paths.
Media root: MEDIA_ROOT=/app/media/ is shared across modules.
File size & types are fixed per context:
MAX_BLUEPRINT_UPLOAD_MB = 150, types [".pdf", ".png", ".jpg", ".glb", ".gltf", ".stl"]ARTWORK_MAX_IMAGE_MB = 50, ARTWORK_RESOLUTIONS = [256, 1024, 2048] pxStorage is typically an object store (S3/MinIO) behind the media path.
SEARCH_BACKEND = "postgres") for library resources and documents.Tag, ArtworkTag) provide a shared taxonomy layer across Kreative and keenKonnect.Django Channels + Redis power:
Celery tasks & schedules include:
etl_smart_vote every 10 minutes, with ~5‑year retention for factsOFFLINE_PACKAGE_CRON = 0 3 * * SUN)Services
library_resource_management – CRUD and classify KnowledgeResource; enforce type enum.personalized_recommendation – compute KnowledgeRecommendation per user.content_co_creation – manage CoCreationProject and CoCreationContribution drafts.thematic_forum – forums via ForumTopic and ForumPost.learning_progress_tracking – track LearningProgress (per user + resource).Core models
KnowledgeResource(id, title, type, url, author)KnowledgeRecommendation(user, resource, recommended_at)LearningProgress(user, resource, progress_percent)CoCreationProject, CoCreationContributionForumTopic, ForumPostKey configuration
article | video | lesson | quiz | datasetMAX_CONTRIBUTION_DRAFTS = 10 per userSEARCH_BACKEND = "postgres"OFFLINE_PACKAGE_CRON = 0 3 * * SUNRoutes
/learn – catalog, recommendations, offline download/course/[slug] – course player (lessons, progression)Services
certification_path_management – manage CertificationPath.automated_evaluation – create Evaluation with raw_score and metadata.peer_validation – handle PeerValidation decisions.skills_portfolio – connect to Portfolio and core Certificate records.certification_interoperability – manage InteropMapping with external LMS/registries.Core models
CertificationPath(id, name, description)Evaluation(user, path, raw_score, metadata)PeerValidation(evaluation, peer, decision)Portfolio(user, title, description, items)InteropMapping(local_certification, external_system, external_id)Certificate (core model for issued credentials)Key configuration
CERT_PASS_PERCENT = 80QUIZ_RETRY_COOLDOWN_MIN = 30 minutes/certs (Programs, My Certificates)Services
structured_debate, ai_clone_management, comparative_argument_analysis, public_debate_archive, automated_debate_summary.Core models
EthikosCategory – thematic categoriesEthikosTopic – debate topic/questionEthikosStance(topic, user, value −3…+3)EthikosArgument(topic, author, content, parent, side)Key configuration
Routes
/ethikos/korum – Korum Hub (Open / Archived / Start New)/ethikos/insights – opinion analytics dashboardsServices
public_consultation, citizen_suggestion, weighted_consultation_vote, consultation_result_visualization, impact_tracking.Core models
Consultation(id, title, open_date, close_date, status)CitizenSuggestion(consultation, author, content)ConsultationVote(user, consultation, raw_value, weighted_value)ConsultationResult(consultation, results_data JSONB)ImpactTrack(consultation, action, status, date)Key configuration
approval | ranking | rating | preferential/ethikos/consult owned exclusively by EthikosRoutes
/ethikos/consult – Consultation Hub (Live / Results / Suggest)/ethikos/insights – shared with Korum analyticsServices
digital_archive_management, virtual_exhibition, archive_documentation, ai_enriched_catalogue, cultural_partner_integration.Core models
KreativeArtwork(id, artist, title, description, media_file, media_type, year, medium, style)Tag, ArtworkTag (global tagging vocabulary and join table)Gallery, GalleryArtwork(order)TraditionEntry(title, description, region, media_file, approved, approved_by)Key configuration
ARTWORK_MAX_IMAGE_MB = 50ARTWORK_RESOLUTIONS = [256, 1024, 2048]VIRTUAL_GALLERY_CAPACITY = 24 artworks/roomNSFW_FLAG_REQUIRED (bool, default False)MEDIA_ROOT = /app/media/Routes
/kreative – Creativity Hub/art/[id] – Artwork sheet/archive – Konservation archive/partnersServices
professional_profile, intelligent_matching, collaboration_workspace, opportunity_announcement, partner_recommendation.Core models
CollabSession(id, name, host, session_type, started_at, ended_at, final_artwork)KreativeArtwork, Tag, ArtworkTag for portfolios and tagging.Key configuration
COLLAB_CANVAS_MAX_USERS = 6MEDIA_ROOT = /app/media/ (shared)/connect, /profile/[user]Routes
/connect – People, Opportunities, Collaboration Workspace/profile/[user] – public profile/portfolioServices
collaboration_space, project_task_management, real_time_document_editing, integrated_communication, ai_collaboration_analysis.Core models
Project(id, title, description, creator, category, status)ProjectResource(project, title, url, added_by)ProjectTask(project, title, description, assignee, status, due_date)ProjectMessage(project, sender, content)ProjectTeam(project, user, role, joined_at)ProjectRating(project, user, rating, comment)Tag (shared)Key configuration
MAX_BLUEPRINT_UPLOAD_MB = 150ALLOWED_BLUEPRINT_TYPES = [".pdf", ".png", ".jpg", ".glb", ".gltf", ".stl"]COLLAB_SPACE_MEMBER_CAP = 40AI_SUGGESTION_TOP_N = 8VIDEO_SESSION_PROVIDER = "livekit" via KC_VIDEO_PROVIDER env varRoutes
/projects – Project Studio (Browse, Create, My Projects)/projects/[slug] – workspace (Overview, Tasks, Blueprints, Chat, AI Insights, Settings)Services
secure_document_storage, document_versioning, intelligent_indexing, real_time_sync, granular_permissions.Core models
ProjectResource (same as above; canonical file record)Project and ProjectTeam for scoping and access controlTag for classificationKey configuration
MAX_BLUEPRINT_UPLOAD_MB = 150[".pdf", ".png", ".jpg", ".glb", ".gltf", ".stl"]SEARCH_BACKEND = "postgres"channels_redis.core.RedisChannelLayerMEDIA_ROOT = /app/media/Routes
/projects/[slug] as the “Blueprints†tab.Services
multidimensional_scoring, configuration_weights, contextual_analysis, privacy_settings, score_history, score_visualization, expertise_field_classification.Core models
ExpertiseCategory(id, name)UserExpertiseScore(user, category, raw_score, weighted_score)UserEthicsScore(user, ethical_score)ScoreConfiguration(weight_name, weight_value, field)ContextAnalysisLog(entity_type, entity_id, field, input_metadata, adjustments_applied)ConfidentialitySetting(user, level)ScoreHistory(merit_score, old_value, new_value, change_reason)Key configuration
quality=1.000, expertise=1.500, frequency=0.7500.20, cap 1.50EXPERTISE_DOMAIN_CHOICES: 26 ISO‑based domainsRuntime
Services
dynamic_weighted_vote, voting_modalities, emerging_expert_detection, vote_transparency, vote_result_visualization, cross_module_vote_integration.Core models
Vote(user, target_type, target_id, raw_value, weighted_value)VoteModality(name, parameters JSON)EmergingExpert(user, detection_date, score_delta)VoteResult(target_type, target_id, sum_weighted_value, vote_count)IntegrationMapping(module_name, context_type, mapping_details)Key configuration
approval | ranking | rating | preferentialRuntime & analytics
etl_smart_vote every 10 minutes → smart_vote_fact table, 5‑year retention/kollective/konsensus (live polls/results), /reports/smart-vote (analytics)EkoH computes per‑user, per‑domain expertise and ethics scores with configurable weights and bounds.
Smart Vote reads those scores to weight Vote records via dynamic_weighted_vote, adjusting tallies per modality.
Korum and Konsultations integrate with Smart Vote to obtain EkoH‑weighted stances and ballots:
EthikosStance using EkoH to compute expert cohort views.weighted_consultation_vote to store raw + weighted values per ballot.Project* models.ProjectResource records and handles versioning, indexing, and sync.KreativeArtwork, Gallery, and TraditionEntry store creative and heritage outputs with tag‑based discovery.CollabSession.CertificationPath, Evaluation, and PeerValidation to issue Certificate records and fill user portfolios.multidimensional_scoring as part of the platform‑wide reputation engine.etl_smart_vote) is the central pipeline for decision analytics, aggregating delta changes from OLTP into a fact table with 5‑year retention, powering /reports/smart-vote./ethikos/insights to visualize debate stances and consultation outcomes, consuming Smart Vote facts and Korum/konsultations data.ScoreHistory and ContextAnalysisLog, enabling longitudinal analysis of reputation evolution.When extending or integrating with Konnaxion, the following invariants should be respected (all documented above):
/learn, /certs, /ethikos/korum, /ethikos/consult, /projects, /kreative, /connect, /kollective/konsensus, /reports/smart-vote) without updating all dependent modules.dynamic_weighted_vote, multidimensional_scoring); treat them as public, versioned integration points./app/media/, PostgreSQL tsvector) to keep behavior consistent and predictable.This page, together with the module‑specific wiki entries, should provide enough technical context to navigate, extend, and integrate the Konnaxion codebase.