Last reviewed: 2026-07-24
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.
- RESOLVED: ADR 0027 limits the initial release to a BooksPlus-managed local PostgreSQL deployment. User-managed local and remote servers are deferred.
- RESOLVED: ADR 0030 defines application-layer sensitive-payload envelopes, customer-held recovery material, encrypted managed evidence, and the coordinated authenticated backup container.
- RESOLVED: ADR 0031 and the canonical company-snapshot catalog define company-owned, indirectly owned, shared, and installation-local PostgreSQL state; stable-identity restore modes; exclusive maintenance; append-only audit merge; exact launch schema compatibility; and atomic company replacement.
- 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.
- RESOLVED: ADR 0022 defines reviewable accounting-file intake, mixed-workflow routing, and file/event idempotency.
- RESOLVED for sensitive launch artifacts: ADR 0030 uses a BooksPlus-managed evidence store with opaque storage identity, encrypted bytes, and durable company-scoped Source Document metadata. General non-sensitive artifact placement may be decided later.
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.
- RESOLVED: ADR 0022 defines transaction-level import identity and replay/conflict expectations.
- RESOLVED for launch currency scope: ADR 0026 permits posting only in the company's base or reporting currency and holds facts that require foreign- currency accounting.
- 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
- ADR 0024 places Banking and Finance Summary in the initial release and defers BillCatcher, capital projects, and the entire fixed-asset lifecycle. Decide the later-release timing and governing truth for those deferred areas, along with 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.