Tacit knowledge files captured in tracked .sf/ artifacts (per ADR-001):
- PRINCIPLES.md: durable design philosophy, with PDD as the canonical
change method (purpose / consumer / contract / failure boundary /
evidence / non-goals / invariants — all 7 fields required)
- TASTE.md: what good code looks like in SF — verbose names, domain >
layer, behavior-is-the-spec, minimum change, idempotent dispatch,
fail-non-fatal, structured blocker format, PDD discipline
- ANTI-GOALS.md: 25 rule-coded anti-patterns (SF001-SF025) covering bare
errors, type lies, magic strings, partial migrations, Ralph-loop retry,
central federation, MCP between first-party services, implementation-
mirror tests, coding-before-PDD-fields, happy-path-only, etc.
Translated from ACE-coder's STYLEGUIDE.md as the model. Anchored on
purpose-driven-development as the canonical change method. These three
files plus KNOWLEDGE.md plus DECISIONS.md are the tacit-knowledge layer
auto-injected into every agent context (via system-context.ts mtime cache).
Closes the "smart human gap" identified in this session: the difference
between SF behaving like a competent engineer in this codebase vs. a
generic LLM is the accumulated tacit knowledge available to the agent.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>