- prompts.ts: add getModePersonaSection() → injects current mode's
systemPrompt as 'mode_persona' dynamic section (first in order,
before operational instructions)
- modes/personas/claude.ts: 3KB distilled Claude persona from
Anthropic's leaked Soul Document (70KB → operational extract):
core traits, honesty principles, helpfulness/caution balance,
collaboration stance, identity stability
- Custom mode via ~/.claude/modes/claude.yaml loads seamlessly:
2848 chars, 7 modes total including the new Claude persona
- prompts.ts: add getModePersonaSection() → injects current mode's
systemPrompt as 'mode_persona' dynamic section (first in order,
before operational instructions)
- modes/personas/claude.ts: 3KB distilled Claude persona from
Anthropic's leaked Soul Document (70KB → operational extract):
core traits, honesty principles, helpfulness/caution balance,
collaboration stance, identity stability
- Custom mode via ~/.claude/modes/claude.yaml loads seamlessly:
2848 chars, 7 modes total including the new Claude persona
- Delete spec/feature_20260502_F001_fork-agent-redesign/ (3 files)
Feature merged via ba74e09→e1e23787, recorded in docs/upstream-sync.md
- Delete Friends.md (community blog collection, non-code)
MCP schema (6): Add : () => AnyObjectSchema type annotations to
ChannelMessageNotificationSchema, ChannelPermissionNotificationSchema,
AtMentionedSchema, LogEventNotificationSchema. Remove as any at
call sites in print.ts, useManageMCPConnections.ts, useIdeAtMentioned.ts,
vscodeSdkMcp.ts.
Core API (5): Replace as any with specific type assertions in
claude.ts (supportedModels/CachedMCEditsBlock/pinCacheEdits),
filesApi.ts (error property), client.ts (vertexArgs cast).
client.ts:297 retains as any — google-auth-library version conflict
(10.x vs 9.x) with #private nominal typing makes this unavoidable.
Docs: add community-code-issues.md cataloging all 20 community tsc
errors and 49 community as any casts.
Group A (4 as any): Add : () => AnyObjectSchema type annotations to
MCP notification schema constants, removing as any at call sites.
Group B (2 as any): Add isStructuredOutputAttachmentMessage type
guard for structured output attachment payloads.
Group C (3 as any): Add isMessageDeltaStreamEvent type guard for
message_delta stream event usage extraction.
tsc: 20 errors (no regression). Build: passes.
- Delete spec/feature_20260502_F001_fork-agent-redesign/ (3 files)
Feature merged via ba74e09→e1e23787, recorded in docs/upstream-sync.md
- Delete Friends.md (community blog collection, non-code)
MCP schema (6): Add : () => AnyObjectSchema type annotations to
ChannelMessageNotificationSchema, ChannelPermissionNotificationSchema,
AtMentionedSchema, LogEventNotificationSchema. Remove as any at
call sites in print.ts, useManageMCPConnections.ts, useIdeAtMentioned.ts,
vscodeSdkMcp.ts.
Core API (5): Replace as any with specific type assertions in
claude.ts (supportedModels/CachedMCEditsBlock/pinCacheEdits),
filesApi.ts (error property), client.ts (vertexArgs cast).
client.ts:297 retains as any — google-auth-library version conflict
(10.x vs 9.x) with #private nominal typing makes this unavoidable.
Docs: add community-code-issues.md cataloging all 20 community tsc
errors and 49 community as any casts.
Group A (4 as any): Add : () => AnyObjectSchema type annotations to
MCP notification schema constants, removing as any at call sites.
Group B (2 as any): Add isStructuredOutputAttachmentMessage type
guard for structured output attachment payloads.
Group C (3 as any): Add isMessageDeltaStreamEvent type guard for
message_delta stream event usage extraction.
tsc: 20 errors (no regression). Build: passes.
- Add local type assertions (AgentProgressMessage, AgentToolProgressData)
- No as any used — all specific type narrowing
- AgentTool tests: 40 pass, 0 fail
- 25 stub files: types/tools, types/utils, contextCollapse, mcpSkills, etc.
- 11 reused from chore/bridge-green, 14 created from scratch
- All stubs documented in docs/devlog/02-tsc-stubs.md
- Build passes, tests not regressed