Enhance logging in FdsSqlOptions and related classes
- Updated FdsSqlOptions to accept an optional ILogger parameter for improved error logging. - Modified FdsMfr and FdsMfrClient classes to pass the logger instance to FdsSqlOptions. - Added detailed error logging in various methods to capture SQL execution issues and file handling errors. - Improved documentation for FdsSqlOptions to clarify logging behavior. - Updated Archive class to log compression errors, enhancing traceability of failures. - Adjusted project configuration to suppress specific warnings related to transitive dependencies. - Added NuGet.config to define package sources for dependency management. - Updated submodule references for OCORE and related projects.
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# Decisions
|
||||
|
||||
This folder holds **Architecture Decision Records (ADRs)** — short, immutable
|
||||
records of a specific technical choice, why it was made, and what it implies
|
||||
going forward.
|
||||
|
||||
## What belongs here
|
||||
|
||||
A decision, not a how-to. If it answers "why do we do X this way, and what
|
||||
else did we consider," it's a decision. If it explains "how subsystem X
|
||||
currently works," that belongs in [`../Concepts`](../Concepts/README.md)
|
||||
instead (and a decision often triggers a concept doc to be created/updated).
|
||||
|
||||
## File naming
|
||||
|
||||
`NNNN-kebab-case-title.md`, four-digit zero-padded, sequential across the
|
||||
whole folder (`0001-...`, `0002-...`). Never reuse or renumber.
|
||||
|
||||
## Required YAML frontmatter
|
||||
|
||||
Every decision file starts with:
|
||||
|
||||
```yaml
|
||||
---
|
||||
status: Accepted # Proposed | Accepted | Superseded
|
||||
date: 2026-07-03 # date the decision was accepted
|
||||
applyTo: # glob(s) — files/areas this decision governs
|
||||
- "Fuchs/Notifications/**"
|
||||
supersededBy: "" # filename of the decision that replaced this one, if any
|
||||
---
|
||||
```
|
||||
|
||||
**Agents (Claude, Copilot, Codex) must scan the YAML frontmatter of every file
|
||||
in this folder first** (cheap — no need to read the body) and only read the
|
||||
full body of decisions whose `applyTo` glob matches the files they're about
|
||||
to touch, or whose subject is otherwise clearly relevant to the task. This
|
||||
keeps decision-following cheap even as the folder grows.
|
||||
|
||||
## Body template
|
||||
|
||||
```markdown
|
||||
# NNNN — Title
|
||||
|
||||
## Context
|
||||
What problem/situation forced a choice.
|
||||
|
||||
## Decision
|
||||
What was decided, stated plainly.
|
||||
|
||||
## Consequences
|
||||
What this implies for future code — constraints, follow-ups, trade-offs
|
||||
accepted knowingly.
|
||||
|
||||
## Alternatives considered
|
||||
Options that were rejected and why (optional but preferred).
|
||||
```
|
||||
|
||||
## Rules
|
||||
|
||||
- **Decisions are immutable once `Accepted`.** Do not edit the Decision/
|
||||
Consequences of an existing file to reverse it. Instead, write a new
|
||||
decision, set its `applyTo`/subject accordingly, and set the old file's
|
||||
`status: Superseded` + `supersededBy: NNNN-new-file.md`.
|
||||
- **Follow existing decisions.** Before implementing anything in an area
|
||||
covered by an `Accepted` decision, read it and conform to it. If you
|
||||
believe a decision is wrong, raise it with the user rather than silently
|
||||
deviating.
|
||||
- **Capture new decisions as they happen.** Whenever the user (or the code
|
||||
you're writing) settles a non-obvious architectural or cross-cutting
|
||||
choice — not a routine implementation detail — add a decision here in the
|
||||
same change, and create/update the matching concept doc in `../Concepts`.
|
||||
Reference in New Issue
Block a user