Last reviewed: 2026-06-16
Open Decision Issues
This page tracks open issues discovered while revising canonical architecture and accounting contracts.
Items listed here are not accepted decisions. Move an item into a proposed ADR when the project is ready to decide it.
Kernel and architecture
- Decide whether the distributed-kernel rule needs an accepted ADR, or whether the canonical kernel contract is sufficient.
- Decide the exact .NET namespace and project layout for domain, application, infrastructure, and Avalonia presentation layers.
- Decide whether audit behavior is a distinct domain area, a security-adjacent area, or a shared application service with strict boundaries.
Data storage and integration
- Decide how PostgreSQL is packaged, installed, upgraded, and health-checked for desktop deployments.
- Decide whether BooksPlus supports only local PostgreSQL at launch or also supports a user-managed PostgreSQL server.
- Decide how company-data encryption, backup encryption, restore, and recovery keys work with PostgreSQL.
- Decide whether background processing uses a local durable work queue, in-memory tasks, or a hybrid.
- Decide whether REST is a preferred integration transport for desktop deployments or only one adapter among several.
- Decide the first supported import transports for launch.
- Decide whether source-document artifacts are stored inside PostgreSQL, beside the database, or in a managed evidence folder with durable references.
Financial periods and close
- RESOLVED:
plannedis part of the canonical financial-period status set for BooksPlus. - RESOLVED: Standard period hierarchy required at launch: year, quarter, and month.
- RESOLVED: Parent periods must always close leaf-first.
- Decide whether boundary revision is omitted initially or supported through a restricted migration workflow.
Posting and evidence
- RESOLVED for the first accounting posting foundation: manual routine posting does not require an idempotency key. Define exact idempotency expectations for imports, integrations, and other automated posting requests.
- Define which posting kinds require source-document evidence at launch.
- RESOLVED for the first accounting posting foundation: close-generated entries are not in scope for the first posting implementation.
Security and audit
- Decide which protected actions require step-up confirmation rather than ordinary authorization.
- Decide the minimum audit-event fields for accounting actions that are not strictly security events.
UX and workflows
- RESOLVED by ADR 0018: the current user-guide workflow areas are interim; launch navigation uses Setup & Onboarding, Current Period Workbench, Income Accounting, Expense Accounting, Inventory Accounting, Corrections, Period Close, and Reporting.
- Decide when to add future workflow areas such as banking, fixed assets, payroll, taxes, planning, budgeting, and management review.
- Decide standard Avalonia patterns for consequential actions, including preview, confirmation, reason capture, audit result display, and next actions.
- Decide table and list standards for accounting-heavy screens, including filtering, drilldown, status display, and exception queues.