#pragma once
#include <cstdint>
#include <string>
#include <vector>
namespace obb::mycityhall {
enum class Step : uint8_t {
kDraft,
kDeliberation,
kVote,
kPublication,
kArchived,
};
struct Dossier {
std::string id; // UID local (hash doc)
std::string title;
std::string author;
Step step = Step::kDraft;
uint32_t created_at = 0;
uint32_t updated_at = 0;
bool citizen_readonly = false;
};
void workflow_init();
void push_dossier(const Dossier &dossier);
void advance_step(const std::string &id);
std::vector<Dossier> list_active();
} // namespace obb::mycityhall