King Klown Logo
The kOAinitiative

Konsultations

Konsultations (Public Consultations & Feedback) — sub-module under ethiKos.
Owns intake/discovery artifacts and baseline ballot facts. Smart Vote publishes outcomes as baseline + declared readings; EkoH may be referenced by lenses via snapshot ids.


Contract (ethiKos v2)


1) Functional Services (and expected files)

Code-names map 1:1 to Django service modules; file names follow the services/<code_name>.py convention.

Display nameCode name / servicePurpose / behaviorLikely file or module
Public Consultationspublic_consultationCreate and run time-boxed civic consultations (setup, schedule, close).services/public_consultation.py
Citizen Suggestionscitizen_suggestionIntake pipeline for user-proposed ideas/amendments feeding into consultations.services/citizen_suggestion.py
Smart Vote ballots + readingsweighted_consultation_voteCast ballots using Smart Vote modalities; publish baseline + optional declared readings (e.g., EkoH-sourced lens) while keeping baseline visible.services/weighted_consultation_vote.py
Results Visualizationconsultation_result_visualizationCompute/serve KPIs and breakdowns for dashboards.services/consultation_result_visualization.py
Impact Trackingimpact_trackingLog follow-up actions and implementation status for adopted proposals.services/impact_tracking.py

2) Backend functionalities


3) Database models (OLTP)

Actual tables implemented for Konsultations.

Table / ModelPurposeKey fields
ConsultationA consultation instance (time-boxed).id, title, open_date, close_date, status (ENUM)
CitizenSuggestionUser-submitted ideas tied to a consultation.id, consultation (FK), author (FK), content
ConsultationVoteBallots with baseline + Smart Vote reading(s).id, user (FK), consultation (FK), raw_value, weighted_value (Smart Vote reading)
ConsultationResultAggregated outcomes (snapshot).id, consultation (FK), results_data (JSONB)
ImpactTrackPost-consultation action log.id, consultation (FK), action, status, date

Recommended (non-breaking) additions to support auditability of readings (if not already present elsewhere):


4) Supporting configuration (frozen)


5) Routes & ownership


6) Integration points


7) Realtime & ops


Summary
Konsultations provides time-boxed consultations, suggestion intake, baseline ballot capture, and impact tracking. Outcome publication is handled by Smart Vote as baseline + declared readings (optionally bound to an EkoH snapshot id for auditability). Service code-names remain stable; routing stays fixed at /consult.