Smart Vote — the decision engine under Kollective Intelligence.
It consumes EkoH (expertise + ethics ledger) via immutable snapshots, applies a declared lens (reading), and produces reproducible results with audit artifacts.
| Internal component | Responsibility | Output artifacts |
|---|---|---|
smartvote.engine | Validate ballot → compute weight → tally per modality deterministically. | Tally trace, result hashes, per-target aggregates |
smartvote.lenses | Run one or more declared lenses (“readings”) over the same ballots + snapshot. | Result bundle (baseline + weighted readings) |
smartvote.audit | Compare readings, explain deltas, compute robustness diagnostics (caps/floors/cohorts). | Audit report, comparison metrics |
smartvote.registry | Versioned registry of lens specs, defaults, governance controls (enable/disable). | Lens ID + version hash, publication policy |
Naming rule: UI/prose uses Smart Vote. Code identifiers may use SmartVote / smartvote.
| Display name | Code name / service | Purpose / behavior | Likely module |
|---|---|---|---|
| Weighted Vote Application | weighted_vote_engine | Applies EkoH snapshot weights to ballots under a declared lens. | smartvote.engine |
| Voting Modalities | voting_modalities | Approval, ranking, rating, preferential, budget split; parameters drive tally. | smartvote.engine.modalities |
| Decision Readings (Lenses) | decision_readings | Baseline + one or more weighted readings; explicit publication bundle. | smartvote.lenses |
| Transparency & Explainability | result_transparency | Publish raw + weighted totals, lens spec, snapshot manifest, and comparisons. | smartvote.lenses + smartvote.audit |
| Emerging Expert Detection (adjunct) | emerging_expert_detection | Flags rapid EkoH score growth (mentorship + integrity monitoring). | tasks/emerging_expert_detection |
| Cross-Module Targeting | cross_module_vote_integration | Any entity becomes a vote target (consultations, debates, docs, projects). | integration_mapping + adapters |
Consultation context. A consultation declares:
R(c,d) (recommended normalized and documented),Ballot intake (idempotent). A user casts one ballot per (user_id, target_type, target_id) (upsert or strict unique constraint).
Weight application. Smart Vote computes a weight W(u,c) under the chosen lens using:
S(u,d) = EkoH domain score vector,E(u) = EkoH ethics multiplier,R(c,d) = consultation relevance vector.Aggregation. The system stores:
Readings publication. A default bundle is typically:
Canonical schema:
ekoh_smartvote
| Table / Model | Purpose | Key fields |
|---|---|---|
vote | Stores each ballot (raw + weighted, immutable once cast). | id, user_id, target_type, target_id, raw_value, weighted_value, created_at |
vote_modality | Defines modality + parameters for tally logic. | id, name, parameters (JSONB) |
vote_result | Aggregated totals per target (counts + weighted sums + modality outputs). | id, target_type, target_id, result_payload (JSONB), vote_count |
vote_ledger | Append-only hash log for audit anchoring and reproducibility. | id, vote_id, hash, created_at |
integration_mapping | Cross-module mapping for vote targets and contexts. | id, module_name, context_type, mapping_details (JSONB) |
emerging_expert | Flags rapid EkoH score deltas (adjunct). | id, user_id, detection_date, score_delta |
approval | ranking | rating | preferential | budget_split+15% EkoH delta over 30 days (EMERGING_EXPERT_THRESHOLD = 0.15)≥ 75% weighted agreement (CONSENSUS_STRONG_THRESHOLD = 0.75)score_configuration (EkoH-side), referenced by snapshot manifests.Avoid “frozen” parameters unless you truly intend they never change; prefer versioned defaults.
vote_result).smart_vote_fact) on a schedule.Smart Vote provides modality-aware weighted voting plus decision readings (lenses), backed by immutable EkoH snapshots and audit artifacts. It makes outcomes legible, comparable, and contestable while enabling cross-module governance targets across the Konnaxion platform.
Note: some earlier uploaded files in this conversation have expired from the workspace index; re-upload them if you want me to cross-check this page against those sources.