We use decision template is based on \href{https://dl.acm.org/doi/10.1109/MS.2007.124}{\texttt{ \textquotesingle{}\textquotesingle{}using patterns to capture architectural decisions\textquotesingle{}\textquotesingle{}}} and \href{http://docs.arc42.org/section-9/}{\texttt{ arc42 decisions}}

Decisions need to\+:


\begin{DoxyItemize}
\item be implementable within the next major release
\item be according to Elektra\textquotesingle{}s goals
\end{DoxyItemize}

To add a new decision copy {\ttfamily template.\+md} and add a link in the appropriate section here.\hypertarget{md_doc_decisions_README_autotoc_md2084}{}\doxysection{Implemented}\label{md_doc_decisions_README_autotoc_md2084}

\begin{DoxyItemize}
\item \mbox{\hyperlink{md_doc_decisions_unit_testing}{Unit Testing}}
\item \mbox{\hyperlink{md_doc_decisions_script_testing}{Script Testing}}
\item \mbox{\hyperlink{md_doc_decisions_library_split}{Library Split}}
\item \mbox{\hyperlink{md_doc_decisions_bootstrap}{Bootstrap}}
\item \mbox{\hyperlink{md_doc_decisions_empty_files}{Empty Files}}
\item \mbox{\hyperlink{md_doc_decisions_cmake_plugins}{CMake Plugins}}
\item \mbox{\hyperlink{md_doc_decisions_logging}{Logging}}
\item \mbox{\hyperlink{md_doc_decisions_elektra_web}{Elektra Web Structure}}
\item \mbox{\hyperlink{md_doc_decisions_elektra_web_recursive}{Elektra Web Recursive Structure}}
\item \mbox{\hyperlink{md_doc_decisions_cryptograhic_key_handling}{Cryptographic Key Handling}}
\item \mbox{\hyperlink{md_doc_decisions_relative}{Relative Storages}}
\item \mbox{\hyperlink{md_doc_decisions_deferred_plugin_calls}{Deferred Plugin Calls}}
\item \mbox{\hyperlink{md_doc_decisions_high_level_api}{High-\/level API}}
\item \mbox{\hyperlink{md_doc_decisions_highlevel_help_message}{High-\/level API Help Message}}
\item \mbox{\hyperlink{md_doc_decisions_global_keyset}{Global Key\+Set}}
\item \mbox{\hyperlink{md_doc_decisions_rest_api_documentation}{Rest API Documentation}}
\item \mbox{\hyperlink{md_doc_decisions_ingroup_removal}{Ingroup Removal}}
\item \mbox{\hyperlink{md_doc_decisions_commit_function}{Commit Function}}
\item \mbox{\hyperlink{md_doc_decisions_error_message_format}{Error Message Format}}
\item \mbox{\hyperlink{md_doc_decisions_default_values}{Default Values}}
\item \mbox{\hyperlink{md_doc_decisions_high_level_api}{High Level API}}
\item \mbox{\hyperlink{md_doc_decisions_error_codes}{Error codes}}
\item \mbox{\hyperlink{md_doc_decisions_error_code_implementation}{Error code implementation}}
\item \mbox{\hyperlink{md_doc_decisions_semantics_name}{Semantics for Name}}
\item \mbox{\hyperlink{md_doc_decisions_base_name}{Base Name}}
\item \mbox{\hyperlink{md_doc_decisions_lookup_every_key}{Lookup every key}}
\item \mbox{\hyperlink{md_doc_decisions_holes}{Holes and Non-\/leaf values}}
\item \mbox{\hyperlink{md_doc_decisions_multiple_file_backends}{Multiple File Backends}}
\item \mbox{\hyperlink{md_doc_decisions_boolean}{Boolean}}
\end{DoxyItemize}\hypertarget{md_doc_decisions_README_autotoc_md2085}{}\doxysection{In Progress}\label{md_doc_decisions_README_autotoc_md2085}

\begin{DoxyItemize}
\item \mbox{\hyperlink{md_doc_decisions_global_plugins}{Global Plugins}} (@mpranj)
\item \mbox{\hyperlink{md_doc_decisions_ensure}{Ensure}} (@kodebach)
\item \mbox{\hyperlink{md_doc_decisions_capabilities}{Capabilities}} (@markus2330)
\item \mbox{\hyperlink{md_doc_decisions_error_semantics}{Error Semantics}} (API)
\end{DoxyItemize}\hypertarget{md_doc_decisions_README_autotoc_md2086}{}\doxysection{Decided}\label{md_doc_decisions_README_autotoc_md2086}

\begin{DoxyItemize}
\item \mbox{\hyperlink{md_doc_decisions_warning_array}{Array for Warnings}}
\item \mbox{\hyperlink{md_doc_decisions_array}{Array}}
\end{DoxyItemize}\hypertarget{md_doc_decisions_README_autotoc_md2087}{}\doxysection{In Discussion}\label{md_doc_decisions_README_autotoc_md2087}

\begin{DoxyItemize}
\item \mbox{\hyperlink{md_doc_decisions_escaped_name}{Escaped Name}} merge with\+:
\item \mbox{\hyperlink{md_doc_decisions_store_name}{Store the escaped and/or unescaped key name}}
\item \mbox{\hyperlink{md_doc_decisions_spec_expressiveness}{Spec Expressiveness}}
\item \mbox{\hyperlink{md_doc_decisions_spec_metadata}{Metadata in Spec Namespace}}
\end{DoxyItemize}\hypertarget{md_doc_decisions_README_autotoc_md2088}{}\doxysection{Delayed}\label{md_doc_decisions_README_autotoc_md2088}

\begin{DoxyItemize}
\item \mbox{\hyperlink{md_doc_decisions_plugin_variants}{Plugin Variants}}
\item \mbox{\hyperlink{md_doc_decisions_global_validation}{Global Validation}}
\end{DoxyItemize}\hypertarget{md_doc_decisions_README_autotoc_md2089}{}\doxysection{Rejected}\label{md_doc_decisions_README_autotoc_md2089}

\begin{DoxyItemize}
\item \mbox{\hyperlink{md_doc_decisions_cmake_spec}{CMake spec}}
\item \mbox{\hyperlink{md_doc_decisions_null_pointer_checks}{Null Pointer Checks}}
\item \mbox{\hyperlink{md_doc_decisions_elektra_web_pubsub}{Elektra Web Publish Subscribe}}
\item \mbox{\hyperlink{md_doc_decisions_internal_cache}{Internal Cache}}
\item \mbox{\hyperlink{md_doc_decisions_vendor_spec}{Vendor Spec}} 
\end{DoxyItemize}