Skip to content

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: planned is 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.