Claude Code Architecture
1. Git Workflow
2. Reliability Stack
3. Hook Lifecycle
4. Data Flow
MAIN
dev/2025-03-25
PR MERGE
session/2025-03-25-auth-fix
PR
session/2025-03-25-gap-report
PR
Worktree A
.claude/worktrees/auth-fix
isolated fs
Worktree B
.claude/worktrees/gap-report
isolated fs
CLAUDE CODE RELIABILITY STACK
4: SCOPE — TASK DECOMPOSITION
FAILURE MODE
Scope sprawl / uncontrolled multi-file edits
CONTROL MECHANISM
PreToolUse gate + PostToolUse diff review
3: CONTEXT — AUTONOMOUS BRIEFS
FAILURE MODE
Memory fog / stale context between sessions
CONTROL MECHANISM
SessionStart hook / daily brief / memory health
2: SESSION — VERIFICATION GATES
FAILURE MODE
Confident wrong claims / unverified completion
CONTROL MECHANISM
git-hash sentinel / Stop hook blocks on mismatch
1: DATA — TOOL ENFORCEMENT
FAILURE MODE
Customer context contamination
CONTROL MECHANISM
@require_verified_context / source trust tags
User
Claude
Session
PreTool
PostTool
Stop
1.
session start
fires SessionStart
morning brief injected
2.
edit 4 files
PreToolUse check
BLOCK: no active task
3.
TaskUpdate in_progress
sentinel written
4.
edit files
PreToolUse check
PASS: sentinel present
5.
TaskUpdate completed
PostToolUse fires
git diff + review prompt injected
6.
session end
Stop hook fires
hash match - ALLOW
hash mismatch - BLOCK
SOURCE TAGGING — DATA DISCIPLINE FLOW
MCP TOOL LAYER
@require_verified_context
customer_id validation
against _registry.yaml
stamp_source_tag()
infers trust level
injects _source into result
INPUTS
Customer A
Customer B
Unregistered
x
BLOCKED
TRUST-TAGGED OUTPUT
[API:get_metrics]
[FILE:config.json]
[TRANSCRIPT]
[INFERRED]
Source tag assigned at tool boundary — LLM sees tag in result
API/FILE = high trust TRANSCRIPT = hypothesis INFERRED = flag explicitly