Architectural Decisions
Accepted decisions live in this directory as MADR-style notes named NNNN-kebab-title.md.
Index
- ADR-0001 - Local CLI vault architecture
- ADR-0002 - Docs and ADRs form the governance graph
- ADR-0003 - Adopt proven foundation crates
- ADR-0004 - Tree-sitter source graph
- ADR-0005 - ast-grep policy search and enforcement
- ADR-0006 - fff source index and incremental watch
- ADR-0007 - Content-addressed state and diffing
- ADR-0008 - Optional semantic note search
- ADR-0009 - Obsidian plugin as state consumer
- ADR-0010 -
criv initinstalls agent runtime skills - ADR-0011 - Embed runtime skill templates as assets
- ADR-0012 - ADR immutability enforcement
- ADR-0013 - Mise managed hk hook toolchain
- ADR-0014 - Tag triggered release binary workflow
- ADR-0015 - Size optimized release profile
- ADR-0016 - Conventional commit SemVer release automation
- ADR-0017 - Deprecate Intel macOS release archives
- ADR-0018 - Offline zizmor Actions security check
- ADR-0019 - Export Usage CLI spec and help
- ADR-0020 - Portable note wikilinks
- ADR-0021 - Audit remediation boundaries
- ADR-0022 - Hosted CI entry point
- ADR-0023 - Do not track generated plugin bundles
- ADR-0024 - Oxlint only JavaScript TypeScript enforcement
- ADR-0025 - Init ships plugin source not generated bundle
- ADR-0026 - Mermaid C4 diagrams as vault content
- ADR-0027 - C4 diagram fenced block extraction scope
- ADR-0028 - C4 standard alignment for Mermaid diagrams
- ADR-0029 - Generated C4 Code architecture
- ADR-0030 - DOT for generated Code architecture
- ADR-0031 - Text first C4 architecture formats
- ADR-0032 - .c4 files as architecture artifacts
- ADR-0033 - Typed Wikilink source references
- ADR-0034 - AST-aware source selectors
- ADR-0035 - VS Code-compatible companion extension
- ADR-0036 - VS Code extension test stack
- ADR-0037 - VS Code JSON diagnostics in hooks
- ADR-0038 - ADR Policy Rule Generation
- ADR-0039 - Inline ADR Policy Rules
- ADR-0040 - Inline Only ADR Policy Rules
- ADR-0041 - ADR-Owned Policy Patterns
- ADR-0042 - Shared Source Index Lifecycle
- ADR-0043 - Hawk visibility analysis
- ADR-0044 - Vault write confinement
- ADR-0045 - Note line identity in generated state
- ADR-0046 - No native linting in criv enforce
- ADR-0047 - Semantic note search stays source only
- ADR-0048 - 2026-07-25 audit findings not actioned
- ADR-0049 - Checks defined in hk, not mise
- ADR-0050 - Repeated Wikilinks are not a defect
- ADR-0051 - Refresh generated agent skills explicitly
- ADR-0052 - Harden generated skill refresh
- ADR-0053 - Claude skills is a link
- ADR-0054 - criv does not install Git hooks
- ADR-0055 - Dependency auditing in hk checks
- ADR-0056 - ADR policy patterns are the only registered patterns
- ADR-0057 - Branch-local ADR publication and reconciliation
- ADR-0058 - Embedded Git repository access
- ADR-0059 - Accepted only ADR policy state
- ADR-0060 - Parallel hosted validation and lean local hooks
- ADR-0061 - Hook-owned local validation and direct CI profile
- ADR-0062 - Canonical generated criv configuration
- ADR-0063 - ADR reconciliation owns its commit
- ADR-0064 - Typed query subcommands
- ADR-0065 - Shared compiled policy scan plans
- ADR-0066 - Capability-directed Wikilink and query resolution
- ADR-0067 - Staged changes are a partial check scope
- ADR-0068 - Bounded local snapshot lifecycle
- ADR-0069 - Repeatable two tier performance evidence
- ADR-0070 - Publish push performance evidence as Git notes
- ADR-0071 - Make Wasm editor projections canonical
- ADR-0072 - Keep performance observation outside core
- ADR-0073 - Effective ADR governance and source reconciliation
- ADR-0074 - LikeC4 as the architecture source and renderer
- ADR-0075 - LikeC4 preview as the default C4 editor
- ADR-0076 - Focused LikeC4 workspace navigation
- ADR-0077 - C4 standard alignment for the LikeC4 workspace
- ADR-0078 - The editor follows preview navigation
- ADR-0079 - No fallback view in the C4 preview
- ADR-0080 - Co-locate primary LikeC4 views with their models
- ADR-0081 - Require material State store performance gains
- ADR-0082 - No standalone search command
- ADR-0083 - Own one loaded State revision per editor workspace
- ADR-0084 - Require Windows hosted validation
- ADR-0085 - Keep the optional editor viewer local
- ADR-0086 - Bundle one editor viewer with criv
- ADR-0087 - Keep editor setup out of init
- ADR-0088 - Share the State wire document
- ADR-0089 - Reconcile effective query and LikeC4 contracts
- ADR-0090 - Enforce runtime boundary decisions
- ADR-0091 - Enforce editor adapter boundaries
- ADR-0092 - Transactional live watch generations
- ADR-0093 - Recoverable State publication transactions
- ADR-0094 - Automatic recoverable State publication
- ADR-0095 - Operating-system watch session lock
- ADR-0096 - Enforce editor preview revision lifecycle
- ADR-0097 - Explicit source target lookup results
- ADR-0098 - Own the latest VS Code check result
- ADR-0099 - Enforce the shared LikeC4 and Wasm adapter boundary
- ADR-0100 - Agent-authored language-independent C4 architecture
- ADR-0101 - One reconciliation transaction owner
- ADR-0102 - Request local query reverse indexes
- ADR-0103 - Required repository self governance
- ADR-0104 - Split the Obsidian host by lifecycle owner
- ADR-0105 - Use owner-scoped Rust module layout
- ADR-0106 - Enforce current runtime module paths
- ADR-0107 - Group Obsidian host files by owner scope
- ADR-0108 - Bounded hosted Rust compilation
- ADR-0109 - Drop removed architecture configuration compatibility
- ADR-0110 - Enforce runtime paths without architecture compatibility
- ADR-0111 - File discovery compatibility contract
- ADR-0112 - Direct ignore file discovery
- ADR-0113 - Enforce runtime paths after file discovery replacement
- ADR-0114 - Reconcile file discovery source scopes
- ADR-0115 - Build Source catalog and graph from one read
- ADR-0116 - Run release acceptance on the controlled local computer
- ADR-0117 - Hosted automatic release acceptance
- ADR-0118 - Bound hosted Source release scaling
- ADR-0119 - First class Elixir language support
- ADR-0120 - Reset the release baseline for default Elixir support
- ADR-0121 - Separate performance evidence from automatic release
- ADR-0122 - Use byte spans and LSP diagnostic ranges
- ADR-0123 - Own reconciliation under the ADR module
- ADR-0124 - Own C4 implementations under the C4 module
- ADR-0125 - Own installation implementations under the Install module
- ADR-0126 - Own one Source state per refresh
- ADR-0127 - Own repository files behind one interface
- ADR-0128 - Enforce runtime paths through Repository Files
- ADR-0129 - Own Elixir graph meaning in the Elixir module
- ADR-0130 - Share structured Source identity text
- ADR-0131 - Publish verified documentation assets for native previews
- ADR-0132 - Use aqua with a mise alias and GitHub fallback
- ADR-0133 - Use exact lowercase documentation asset extensions
- ADR-0134 - Parse the CLI with Usage
- ADR-0135 - Answer agents with codes, fixes, and next commands
- ADR-0136 - Retire the util module
- ADR-0137 - Link creation guard follows the helper
- ADR-0138 - Confine repository reads
- ADR-0139 - Name the glob module for what it holds
- ADR-0140 - Own the complete ADR change decision
- ADR-0141 - Own ordinary refresh checks in the Watch generation
- ADR-0142 - Use mbx for local Cargo caching
- ADR-0143 - Lint docs prose with Vale
- ADR-0144 - Apply strict lints across the workspace
- ADR-0145 - Gate Rust dependencies with cargo-deny
- ADR-0146 - Type diagnostic codes, graph kinds, and hash inputs