tidaldb/.agentive-remediation/establish-foundation-standards/history.md
jordan 413b712c0a chore: initialize tidalDB repository with schema foundation and standards
- Schema phase 1 (tasks 01-02): EntityId, EntityKind, Timestamp, Score, SignalTypeDef, DecayModel, Window, WindowSet — all with property tests and benchmarks scaffolding
- Stub modules for storage, signals, query, ranking
- Full documentation suite: VISION, USE_CASES, SEQUENCE, API, CODING_GUIDELINES, ai-lookup, research docs, specs, roadmap, planning docs
- Marketing site (Next.js) with blog infrastructure
- .claude/ agents and skills for the tidalDB development workflow
- Foundation standards enforced: thiserror + tracing declared as dependencies, clippy::unwrap_used = deny added to lint config
- .gitignore hardened: .next/, node_modules/, .env, secrets, logs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 12:52:20 -07:00

39 lines
1.8 KiB
Markdown

# establish-foundation-standards
## AUDIT (2026-02-20)
Pattern: Missing foundation standards — crates not declared, lint not enforced, observability not specified.
Found 5 gaps across 2 files:
1. Cargo.toml: no `thiserror` dependency (guidelines define TidalError enum without it)
2. Cargo.toml: no `tracing` dependency (no observability crate)
3. Cargo.toml: no `unwrap_used = "deny"` lint (guidelines say no unwrap, nothing enforces it)
4. CODING_GUIDELINES.md Section 10: approved deps list missing `thiserror` and `tracing`
5. CODING_GUIDELINES.md: no Observability/Logging section at all
All 12 `unwrap()` occurrences verified to be inside `#[cfg(test)]` blocks — no production debt.
The 1 `expect()` in `Timestamp::now()` is documented with `# Panics` and is acceptable.
## FIX Log
- [x] Cargo.toml: added `thiserror = "2"` and `tracing = "0.1"` to [dependencies]
- [x] Cargo.toml: added `unwrap_used = "deny"` to [lints.clippy]
- [x] CODING_GUIDELINES.md Section 10: added `thiserror` and `tracing` to approved deps list; removed "logging facades" from the do-not-add list
- [x] CODING_GUIDELINES.md: added Section 11 Observability (tracing spans, instrumentation rules, subscriber policy, event levels)
## VERIFY (2026-02-20)
`cargo clippy` clean — 0 violations after lint addition.
All 12 `unwrap()` instances confirmed in `#[cfg(test)]` blocks (clippy's `unwrap_used` is test-aware).
## ENFORCE
`clippy::unwrap_used = "deny"` in Cargo.toml. Pre-commit hook runs `cargo clippy -D warnings` — any future `unwrap()` in production code fails the commit.
## DOCUMENT
CODING_GUIDELINES.md updated:
- Section 10: `thiserror` and `tracing` in approved deps list
- Section 11 (new): full Observability standard with instrumentation rules, subscriber policy, and log level guidance
Old Section 11 renumbered to Section 12.