Files
tolaria/docs/adr/README.md
Test 4eca4cb545 docs: backfill ADRs 0011–0015 (historical decisions)
0011: Keyword search only (remove QMD semantic indexing)
0012: Underscore convention for system properties
0013: BlockNote as the rich text editor
0014: Wikilink-based relationship model
0015: Note type system (types as files)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 10:55:14 +01:00

74 lines
3.0 KiB
Markdown

# Architecture Decision Records
This folder contains Architecture Decision Records (ADRs) for the Laputa app.
## Format
Each ADR is a markdown note with YAML frontmatter. Template:
```markdown
---
type: ADR
id: "0001"
title: "Short decision title"
status: proposed # proposed | active | superseded | retired
date: YYYY-MM-DD
superseded_by: "0007" # only if status: superseded
---
## Context
What situation led to this decision? What forces and constraints are at play?
## Decision
**What was decided.** State it clearly in one or two sentences — bold so it stands out.
## Options considered
- **Option A** (chosen): brief description — pros / cons
- **Option B**: brief description — pros / cons
- **Option C**: brief description — pros / cons
## Consequences
What becomes easier or harder as a result?
What are the positive and negative ramifications?
What would trigger re-evaluation of this decision?
## Advice
*(optional)* Input received before making this decision — who was consulted, what they said, when.
Omit if the decision was made unilaterally with no external input.
```
### Status lifecycle
```
proposed → active → superseded
↘ retired (decision no longer relevant, not replaced)
```
## Rules
- One decision per file
- Files named `NNNN-short-title.md` (monotonic numbering)
- Once `active`, never edit — supersede instead
- When superseded: update `status: superseded` and add `superseded_by: "NNNN"`
- ARCHITECTURE.md reflects the current state (active decisions only)
## Index
| ID | Title | Status |
|----|-------|--------|
| [0001](0001-tauri-react-stack.md) | Tauri v2 + React as application stack | active |
| [0002](0002-filesystem-source-of-truth.md) | Filesystem as the single source of truth | active |
| [0003](0003-single-note-model.md) | Single note open at a time (no tabs) | active |
| [0004](0004-vault-vs-app-settings-storage.md) | Vault vs app settings for state storage | active |
| [0005](0005-tauri-ios-for-ipad.md) | Tauri v2 iOS for iPad support (vs SwiftUI rewrite) | active |
| [0006](0006-flat-vault-structure.md) | Flat vault structure (no type-based folders) | active |
| [0007](0007-sentry-posthog-telemetry.md) | Opt-in telemetry via Sentry and PostHog | active |
| [0008](0008-canary-release-channel.md) | Canary release channel for early testing | active |
| [0009](0009-local-feature-flags.md) | Local feature flags (no remote dependency) | active |
| [0010](0010-codescene-code-health-gates.md) | CodeScene code health gates in CI and git hooks | active |
| [0011](0011-keyword-search-only.md) | Keyword search only (remove QMD semantic indexing) | active |
| [0012](0012-underscore-system-properties.md) | Underscore convention for system properties | active |
| [0013](0013-blocknote-editor.md) | BlockNote as the rich text editor | active |
| [0014](0014-wikilink-relationships.md) | Wikilink-based relationship model | active |
| [0015](0015-note-type-system.md) | Note type system (types as files) | active |