ALL MEMOS Download .docx

Claude Code Audit — Delta Memo

Date: 2026-05-16T03:33:00 | Author: SCOUT | Cycle: ~32 of ongoing cadence

Baseline: F:/TITAN/plans/advisors/CLAUDE-CODE-ARCHITECTURE-DEEP-DIVE-2026-04-22.md

Previous substantive memo: F:/TITAN/plans/advisors/claude-code-audit-2026-05-15-0000.md

CC version at last memo: v2.1.142 (published 2026-05-14) | CC version at audit time: v2.1.143 (published 2026-05-15T18:45:53Z)

Locally installed: v2.1.49 (gap: 94 minor versions — widest in audit series)

Run type: Scheduled cron (00:17 local, 03:33 UTC)

---

Section 1 — What Changed in Claude Code Since Last Audit (May 15 to May 16)

1.1 Version Landscape

Claude Code shipped v2.1.143 on 2026-05-15T18:45:53Z — one release in the approximately 27-hour window since the previous memo. The latest npm tag resolves to v2.1.143; the stable tag remains lagged (approximately v2.1.132 range, approximately 10 minor versions behind). The cadence is 1–3 releases per day, unchanged since the April baseline.

The locally installed binary remains v2.1.49 — a 94-version gap, the widest in the audit series. T030 (upgrade task) remains open and blocked.

Source: npm view @anthropic-ai/claude-code version + full JSON history (fetched 2026-05-16T03:33:00); github.com/anthropics/claude-code/releases (WebFetch, 2026-05-16).

---

1.2 v2.1.143 — Architecturally Significant Changes

Plugin Dependency Enforcement (new capability):

claude plugin disable now refuses when another installed plugin depends on the target plugin. The refusal message includes a copy-pasteable disable-chain command. claude plugin enable now force-enables transitive dependencies. Architectural significance: this is the first dependency-graph enforcement in the CC plugin system. Before v2.1.143, plugin interactions were unmanaged — disabling one plugin could silently break another. TITAN's three installed plugins (firecrawl, compound-engineering, sonarqube) should be evaluated for mutual dependencies as part of T084/T085. If compound-engineering depends on firecrawl (or vice versa), the disable-chain hint will surface this.

Projected Context Cost in Plugin Marketplace:

The /plugin browse pane now shows per-turn and per-invocation token estimates for each plugin. Architectural significance: this closes the information gap that made plugin selection a guess at context cost. For TITAN's sessions, which run under a daily token budget ($50/day cap per hot memory), knowing that plugin X adds Y tokens per turn enables informed plugin selection before T035's formal evaluation process. The /plugin details command now returns cost-awareness data.

Worktree Isolation Mode (worktree.bgIsolation: "none"):

Background sessions now support a bgIsolation: "none" mode that allows background agents to edit the working copy directly without requiring EnterWorktree. Previously all background sessions were forced into worktree isolation. Architectural significance: this enables a lighter-weight background session mode for tasks that do not need branch isolation. For TITAN's cron audit sessions (which are read-only and write only to F:/TITAN/plans/), bgIsolation: "none" would eliminate the EnterWorktree overhead and reduce session startup time. This is directly relevant to T080 (Routines migration planning). See Recommendation 3 / T087.

Background Session Model/Effort Preservation:

Background sessions now preserve the model and effort level after idle wake. Previously, a background session that went idle and then resumed would revert to the default model/effort. Architectural significance: TITAN's audit cron sessions start with specific effort levels. After an idle period (e.g., between the research phase and the writing phase of an audit), the effort level will no longer silently drop, eliminating a class of degraded second-half session quality.

PowerShell -ExecutionPolicy Bypass (TITAN-specific relevance):

The PowerShell tool now automatically passes -ExecutionPolicy Bypass when invoking PowerShell scripts. Since TITAN runs on Windows 11 and uses PowerShell for many administrative tasks, this eliminates the class of "script is not digitally signed" errors that previously required explicit flag passing. The opt-out env var is CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1. No TITAN action required unless Harnoor wants to preserve policy check enforcement.

Critical Bug Fixes in v2.1.143:

Source: github.com/anthropics/claude-code/releases (WebFetch 2026-05-16T03:33:00); npm version history (direct query 2026-05-16).

---

1.3 Confirmed Week 21 Ecosystem Signals

Routines (Anthropic-announced, confirmed production):

Anthropic formally announced Routines — reusable automations that run on schedules, via API calls, webhooks, or GitHub events. Documented use cases: automated PR reviews, CI failure detection and auto-fix, issue triage, deployment verification, docs updates, cross-language SDK syncing. A merged Python SDK change can automatically trigger a Routine that ports changes to Go and opens a PR. Confirmed production status by InfoQ (infoq.com/news/2026/05/anthropic-routines-claude, May 2026).

Relevance to TITAN: T074 (Evaluate Routines as Replacement for TITAN Audit Cron) is now directly addressable. Routines running on GitHub events (webhook trigger) are not interval-constrained — they fire on event. This opens a new trigger type for TITAN tasks that are currently event-driven but polling-based. T080 (Routines migration scoping) should be elevated from open to in_progress and the Routines webhook trigger evaluated explicitly.

Billing Pool Separation (June 15, 2026 — 30 days out):

Confirmed from multiple sources: Anthropic splits programmatic usage (Claude Agent SDK, claude -p, GitHub Actions) into a separate monthly credit pool on June 15. At TITAN's current cron cadence, this memo closes the last full audit window before the billing change takes effect. T082 (effort-level capture for cost modeling) is now a pre-condition for cost modeling before June 15.

Source: Perplexity sonar (2026-05-16); infoq.com/news/2026/05/anthropic-routines-claude; zed.dev/blog/anthropic-subscription-changes.

---

1.4 TITAN Local Scan — ~/.claude/ State Versus Baseline

Skills inventory growth since baseline (April 22):

Baseline documented approximately 10 skills (dream, briefing, titan, learn, teach, newsletter, reflect, monologue, pulse, sense). Current count: 37 skills — 27 added post-baseline (feed, ship, titan-s3-backup-hourly, tube, audit, lens, verify, pilot, analyze-logs, checkin, daily-email, daily-summary, diagnose, mindmap, perplexity, plan, review, today, weekly-review, benchmark, compare, explore, symphony, incubate, deepdive, team). Architectural significance: 37 skills × 1,536 chars max per description = approximately 56K chars (~14K tokens) of potential description metadata per session. The baseline documented an 8K fallback cap for the description-matching phase. TITAN is likely exceeding this cap on every session, causing silent skill description truncation. T076 (skill trigger-type classification audit) and Recommendation 2 / T086 address this.

No .claude/hooks/ directory exists on TITAN. T067 (create hooks directory and wire audit-completion hook) remains open. The v2.1.141 terminalSequence and continueOnBlock hook enhancements cannot be exploited until T067 ships.

Agents inventory gap: Only 3 agent definition files exist in ~/.claude/agents/ (vault.md, darwin.md, guide.md). TITAN's six-agent roster (SCOUT, VAULT, FORGE, GUIDE, ORACLE, DARWIN) is missing SCOUT, FORGE, and ORACLE definition files. TITAN currently routes via CLAUDE.md rather than native claude agents invocation. This is a pre-existing gap; not a blocking task this cycle but noted for awareness.

Scheduled tasks: 15 scheduled tasks in ~/.claude/scheduled-tasks/. No new additions since last audit cycle.

Source: ~/.claude/skills/ glob (2026-05-16); ~/.claude/agents/ glob (2026-05-16); ~/.claude/scheduled-tasks/ glob (2026-05-16).

---

Section 2 — Silent Infinity Pattern Checklist Audit (Cycle 32)

2.1 Pattern Status Table

Status: ALIGNED = matches CC pattern | PARTIAL = partially implemented | GAP = not implemented | N/A = not applicable

| # | Pattern | May 15 Status | May 16 Status | Delta | Priority |

|---|---------|--------------|---------------|-------|----------|

| 1 | Memory layering (hot/warm/cold) | PARTIAL | PARTIAL | none | medium |

| 2 | System prompt composition (layered) | PARTIAL | PARTIAL | none | medium |

| 3 | Tool use (structured, schema-validated) | GAP | GAP | none | low |

| 4 | Sub-agent orchestration | PARTIAL | PARTIAL | none | medium |

| 5 | Verification-before-claim | GAP | GAP | CRITICAL — 17 cycles | CRITICAL |

| 6 | Plan-mode / reflective-pause | GAP | GAP | none | low |

| 7 | Correction-as-memory | GAP | GAP | none | medium |

| 8 | Skill auto-invocation | PARTIAL | PARTIAL | none | medium |

| 9 | Session transcript rehydration | GAP | GAP | none | medium |

| 10 | Interruptible streaming / barge-in | GAP | GAP | none | low |

| 11 | Memory compaction | GAP | GAP | deprioritized — 1M context | low |

| 12 | Permission / guardrail model | PARTIAL | PARTIAL | none | medium |

| 13 | Pre-session briefing | PARTIAL | PARTIAL | none | medium |

| 14 | Parallel tool calls | N/A | N/A | none | N/A |

Net pattern movement: 0. This is the 17th consecutive audit cycle with zero pattern movement in Silent Infinity. Pattern 5 (Verification-Before-Claim) is at 17 cycles unshipped. T078 remains the single highest-leverage unshipped item: 6 lines in system_prompt.py, zero infrastructure, zero new tests beyond a prompt-assembly check.

New v2.1.143 signal for Pattern 2 (System prompt composition): The projected context cost feature in /plugin browse makes per-turn context contribution visible for plugins. The same cost-awareness principle applies to SI's <user_context>, <user_preferences>, and <active_threads> injection layers (Patterns 1/11/12 of the baseline roadmap). SI does not yet instrument its prompt assembly token cost. Awareness only; no gap status change.

No new CC patterns introduced in v2.1.143 that require a new SI gap assessment. The three primary new capabilities (plugin dependency graph, bgIsolation mode, background model/effort preservation) are all TITAN-side architectural concerns.

2.2 Regression Check

Confirmed regressions this cycle: 0. No production code was shipped to Silent Infinity between the May 15 memo and this memo.

Carried pre-regression risks (unchanged from May 15):

New risk from v2.1.143:

---

Section 3 — Top 3 Concrete Recommendations This Cycle

---

Recommendation 1 — Ship T078: Verification-Before-Claim to system_prompt.py (SI, 1–2 hours) [T078 — 17th carry]

What: Add the two witnessing-discipline instruction blocks to system_prompt.py. Text is fully specified — no design work remains.

Block A (Pattern 5):

"Before making any observation about the user's emotional state, confirm it is grounded in something the user explicitly expressed in this session. Do not infer states not present in the user's words. Observations must cite the user's words, not the model's interpretation of them."

Block B (Pattern 14 analog):

"When you summarize what a user has expressed, quote or closely paraphrase their actual words before reflecting them back. Do not summarize at one level of abstraction above what was said. The mirror reflects; it does not interpret. Interpretation is offered only when explicitly invited."

Why this cycle specifically: v2.1.143 confirmed fast-mode runs on Opus 4.7. Higher-capability models generate confident-but-ungrounded inferences faster and with less hesitation. The witnessing discipline is not a capability limiter; it is a grounding constraint. Its urgency increases as model capability increases. 17 cycles is the longest single-item carry in the audit series.

Blast radius: system_prompt.py only. 6 lines. Fully reversible in 5 minutes. No infrastructure. No schema changes. No new tests beyond confirming lines render in the assembled prompt.

Effort: 1–2 hours.

Task: T078 (not re-numbered; 17th carry).

---

Recommendation 2 — Audit TITAN Skill Count Against Context Budget (TITAN, 2 hours) [T086 — NEW]

What: TITAN has 37 skills in ~/.claude/skills/. The baseline documented a 1% context window budget (8K fallback) for the skill description-matching phase, with a 1,536-char maximum per description. At 37 skills the total description-matching load likely exceeds the 8K CC budget cap, causing silent truncation during every session.

Execute the following pass:

1. Measure actual description sizes across all 37 SKILL.md files (descriptions are the top section before the content body).

2. Identify skills with descriptions exceeding 1,536 chars and trim to limit.

3. Classify all 37 skills into semantic (model-matched trigger) vs explicit (only fires on direct invocation). Add disable-model-invocation: true to all explicit skills — this removes them from the description-matching phase entirely.

4. Primary candidates for explicit classification: symphony, incubate, deepdive (large content bodies; unlikely to fire correctly on semantic match alone). Secondary candidates: titan-s3-backup-hourly, daily-email, daily-summary, weekly-review (scheduled/utility skills with no semantic trigger value).

5. Target: reduce description-phase token load below 8K.

Why now: v2.1.143 introduced per-plugin context cost projections, making token costs newly visible to TITAN sessions. The same cost-awareness principle applies to skills. Additionally, the 27 skills added post-baseline were added without a budget audit; this is the overdue correction. Stopping skill addition until this audit completes prevents compounding the truncation problem.

Blast radius: ~/.claude/skills/ only. Zero code changes. Zero SI impact. Reversible.

Effort: 2 hours.

Task: T086 (new this cycle).

---

Recommendation 3 — Stage worktree.bgIsolation: "none" for TITAN Cron Sessions Before T030 (TITAN, 1 hour) [T087 — NEW]

What: v2.1.143 introduces worktree.bgIsolation: "none" — a background session mode that skips EnterWorktree and edits the working copy directly. TITAN's audit cron sessions are read-only (writes go only to F:/TITAN/plans/), meaning they gain no benefit from worktree isolation while paying its startup overhead.

Add worktree.bgIsolation: "none" to TITAN's ~/.claude/settings.json (scoped to audit sessions or global). This eliminates EnterWorktree overhead from every cron session and removes the class of "background session not recognizing pre-existing git worktrees" errors patched in v2.1.142 and v2.1.143.

Why before T030: T030 will bring the binary to the v2.1.143 range. The bgIsolation setting requires the v2.1.143+ binary to take effect. Staging the configuration now means it activates immediately on upgrade day. Staging after the upgrade risks a window where upgraded sessions still pay worktree overhead.

Secondary benefit: bgIsolation: "none" is also the correct setting for TITAN's post-T030 Routines sessions (T080), since Routines writing to F:/TITAN/plans/ similarly need no worktree isolation. Setting it now prepares the Routines migration path.

Blast radius: ~/.claude/settings.json — one config key. Fully reversible. Zero SI impact.

Effort: 1 hour (confirm setting key name from v2.1.143 release notes, write to settings.json, document in T030 upgrade checklist).

Task: T087 (new this cycle).

---

Section 4 — Anti-Patterns Observed in CC This Cycle

Anti-Pattern 1 — Plugin Dependency Opacity as a Trust Surface.

The v2.1.143 plugin dependency graph enforcement is a positive architectural development, but it also reveals that until this version, one plugin could silently depend on another without any system-level visibility. For SI, this is an architectural reminder: internal module dependencies should be explicitly declared (in requirements.txt or explicit import ordering), not assumed by convention. The SI Lambda's implicit dependency on feedback_monitor.py being loaded before guardrails.py is an example of the same class of risk — correct by convention, not by enforcement. The CC pattern to copy here is explicit dependency declaration, not the dependency graph enforcement mechanism itself.

Anti-Pattern 2 — Background Effort Inheritance Without Explicit Setting.

The v2.1.143 fix for "background sessions preserve model and effort level after idle wake" reveals that prior versions silently reset effort level after idle. This anti-pattern — relying on implicit defaults rather than explicit session configuration — applies directly to SI's Bedrock invocations, which do not explicitly set effort level and therefore inherit Anthropic's current default. T037 (explicit effort configuration for SI Bedrock) is the direct mitigation. The CC fix is an architectural reminder: implicit defaults are a reliability risk in any long-running or background execution context. When the default changes silently, quality changes silently.

Anti-Pattern 3 — Goal-Completion Framing in Contemplative Contexts (carried from May 15).

The /goal command stabilized in v2.1.143 range. It is architecturally correct for TITAN's autonomous task workflows. It is structurally wrong for SI: contemplative mirrors do not have terminal completion states, and implementing a goal-completion loop would cause the system to behave as if conversation has a task endpoint rather than a presence. As /goal becomes a standard CC idiom (now visible in agent overlays, referenced in documentation), the temptation to copy it to SI will increase. This anti-pattern warning is more urgent as the pattern becomes more normalized in the CC ecosystem.

---

Section 5 — Summary Statistics

---

Sources:

1. github.com/anthropics/claude-code/releases (WebFetch, 2026-05-16T03:33:00)

2. npm view @anthropic-ai/claude-code --json (direct query, 2026-05-16T03:33:00)

3. Perplexity sonar — "Claude Code new features May 15 2026 week 21 releases xhigh effort programmatic billing" (recency=week, 2026-05-16)

4. Perplexity sonar — "Claude Code anthropic new features releases changelog 2026 May" (recency=month, 2026-05-16)

5. Perplexity sonar-pro — "Claude Code architectural changes multi-agent orchestration hooks MCP 2026" (recency=month, 2026-05-16)

6. Perplexity sonar — "Claude Code autoDream managed agents dreaming scheduled self-review 2026" (recency=month, 2026-05-16)

7. infoq.com/news/2026/05/anthropic-routines-claude (cited via Perplexity, 2026-05-16)

8. zed.dev/blog/anthropic-subscription-changes (cited via Perplexity, 2026-05-16)

9. eu.36kr.com/en/p/3804054493011461 — AutoDream 24h cycle mechanism (cited via Perplexity, 2026-05-16)

10. C:\Users\Harnoor\.claude\ glob scan — skills/, agents/, scheduled-tasks/ (direct, 2026-05-16)

11. F:\TITAN\plans\advisors\claude-code-audit-2026-05-15-0000.md (prior cycle reference)

12. F:\TITAN\plans\advisors\CLAUDE-CODE-ARCHITECTURE-DEEP-DIVE-2026-04-22.md (baseline reference)