@yanlinglabs/winter-conformance 0.0.15 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/official/differential-harness.d.ts +90 -0
  2. package/dist/official/web-tools-script.d.ts +118 -0
  3. package/goldens/advertised-set-round.trace.json +4 -2
  4. package/goldens/background-task-round.trace.json +2 -0
  5. package/goldens/bash-background-round.trace.json +2 -0
  6. package/goldens/canusetool-approved-round.trace.json +2 -0
  7. package/goldens/compaction-auto-round.trace.json +2 -0
  8. package/goldens/compaction-manual-round.trace.json +2 -0
  9. package/goldens/denied-tool-round.trace.json +2 -0
  10. package/goldens/hook-denied-round.trace.json +2 -0
  11. package/goldens/hooked-tool-round.trace.json +2 -0
  12. package/goldens/interrupt.trace.json +4 -0
  13. package/goldens/mcp-tool-round.trace.json +2 -0
  14. package/goldens/messaging-facet-round.trace.json +4 -0
  15. package/goldens/mode-switch-mid-session.trace.json +2 -0
  16. package/goldens/multi-turn.trace.json +6 -4
  17. package/goldens/p6-anthropic-fake.trace.json +2 -0
  18. package/goldens/p6-gemini-fake.trace.json +2 -0
  19. package/goldens/p6-openai-chat-fake.trace.json +2 -0
  20. package/goldens/p6-openai-responses-fake.trace.json +2 -0
  21. package/goldens/p6-resolution-failure.trace.json +2 -0
  22. package/goldens/plain-query.trace.json +4 -2
  23. package/goldens/resume.trace.json +8 -4
  24. package/goldens/sendmessage-child-round.trace.json +4 -1
  25. package/goldens/skill-invocation-round.trace.json +2 -0
  26. package/goldens/structured-exhaustion-round.trace.json +2 -0
  27. package/goldens/structured-output-round.trace.json +2 -0
  28. package/goldens/subagent-permission-round.trace.json +4 -1
  29. package/goldens/subagent-spawn-round.trace.json +4 -1
  30. package/goldens/tool-round.trace.json +2 -0
  31. package/goldens/toolsearch-select-round.trace.json +2 -0
  32. package/package.json +1 -1
@@ -0,0 +1,90 @@
1
+ export declare const CLAUDE_VERSION = "0.3.250";
2
+ export declare const OFFICIAL_MODEL = "claude-haiku-4-5";
3
+ export type RawFrame = Record<string, unknown>;
4
+ export type ResolvedBinary = {
5
+ binaryPath: string;
6
+ } | {
7
+ reason: string;
8
+ };
9
+ /**
10
+ * Resolves (fetching + installing on first use, into a CACHED prefix reused across runs) the pinned
11
+ * claude binary. Returns `{reason}` -- never throws -- for every reason it might be unavailable, so
12
+ * every caller's `describe.skipIf` can report the reason plainly.
13
+ */
14
+ export declare function resolvePinnedClaudeBinary(): Promise<ResolvedBinary>;
15
+ export interface OfficialRoots {
16
+ root: string;
17
+ home: string;
18
+ cfg: string;
19
+ cwd: string;
20
+ }
21
+ /** Fresh mkdtemp HOME/CLAUDE_CONFIG_DIR/cwd under one owned root -- never the real `~/.claude`. */
22
+ export declare function makeOfficialRoots(prefix: string): OfficialRoots;
23
+ export declare function cleanupRoots(r: OfficialRoots): void;
24
+ /**
25
+ * The explicit, minimal env every spawn in this family uses -- never a `process.env` spread. `extra`
26
+ * merges last (an env var a specific scenario needs, e.g. `CLAUDE_CODE_FORK_SUBAGENT`).
27
+ */
28
+ export declare function minimalOfficialEnv(opts: {
29
+ home: string;
30
+ cfg: string;
31
+ baseUrl: string;
32
+ extra?: Record<string, string>;
33
+ }): Record<string, string>;
34
+ export interface SseEvent {
35
+ event: string;
36
+ data: unknown;
37
+ }
38
+ export declare function sseResponse(events: SseEvent[]): Response;
39
+ /** One assistant turn carrying N `tool_use` blocks (batched, as a model that calls several tools at
40
+ * once does -- scenario 4's two sibling forks are one assistant message with two blocks). */
41
+ export declare function sseToolUseTurn(blocks: Array<{
42
+ id: string;
43
+ name: string;
44
+ input: unknown;
45
+ }>, opts?: {
46
+ msgId?: string;
47
+ }): SseEvent[];
48
+ export declare function sseTextTurn(text: string, opts?: {
49
+ msgId?: string;
50
+ }): SseEvent[];
51
+ /**
52
+ * A `Bun.serve` fake of the Anthropic Messages API that keeps the RAW request body (never just
53
+ * `.messages`, unlike `task-frames-differential.test.ts`'s own inline server -- request-layout
54
+ * scenarios need `system`/`tools`/every top-level key too) and routes every POST by content through
55
+ * the caller's `route` callback. Every request is logged to stderr (structural facts only -- request
56
+ * count, path, message count/roles -- never the system/tools prose, matching this whole file
57
+ * family's own logging discipline). Non-POST hits (health-check pings) get a benign ack.
58
+ */
59
+ export declare function startCapturingLoopback(route: (messages: RawFrame[], body: RawFrame, count: number) => Response, logPrefix?: string): {
60
+ url: string;
61
+ requests: RawFrame[];
62
+ stop: () => void;
63
+ };
64
+ export interface OfficialStreamSession {
65
+ /** Writes one NDJSON `type:"user"` frame to stdin and flushes -- the exact shape the pinned binary's `--input-format stream-json` accepts, verified against a real spawn (spike, 2026-09-17). */
66
+ send(text: string): void;
67
+ /** Reads (and buffers) stdout frames until `pred` matches one (inclusive); returns every frame seen so far, from the start of the stream. Throws with the stderr tail on timeout. */
68
+ readUntil(pred: (frame: RawFrame) => boolean, timeoutMs?: number): Promise<RawFrame[]>;
69
+ /** Waits `graceMs`, returning whatever NEW frames (since the last `readUntil`/`drainQuiet` call) arrived in that window -- used to prove nothing MORE arrives unprompted (P16-3's held-vs-immediate `result` claim). */
70
+ drainQuiet(graceMs: number): Promise<RawFrame[]>;
71
+ /** Every frame seen so far, in order (same backing array `readUntil`/`drainQuiet` read from). */
72
+ allFrames: RawFrame[];
73
+ /** Ends stdin -- the binary's own `--input-format stream-json` exits once it sees EOF and no task is holding it open. */
74
+ close(): void;
75
+ exited: Promise<number | null>;
76
+ stderrTail(n?: number): string;
77
+ }
78
+ /**
79
+ * Spawns the pinned binary with stdin held open (`-p --input-format stream-json --output-format
80
+ * stream-json --verbose`), the shape scenarios 1/2/5 need (a two-turn or open-ended conversation in
81
+ * ONE process, matching R3a's "streaming-input hosts... never get a held result" claim and R4's
82
+ * "index-0 stable across turns" claim -- both need turns inside a single live session, not two
83
+ * separate `--resume` invocations). `opts.args` are extra flags appended after the fixed base set.
84
+ */
85
+ export declare function spawnOfficialStreamJson(opts: {
86
+ binaryPath: string;
87
+ env: Record<string, string>;
88
+ cwd: string;
89
+ args?: string[];
90
+ }): OfficialStreamSession;
@@ -0,0 +1,118 @@
1
+ import { type OfficialRoots, type RawFrame, type SseEvent } from "./differential-harness.js";
2
+ /** One scripted search hit. `extra` rides along on the WIRE only (page_age, encrypted_content, ...) to prove it never survives. */
3
+ export interface ScriptedHit {
4
+ title: string;
5
+ url: string;
6
+ extra?: Record<string, unknown>;
7
+ }
8
+ /**
9
+ * The claude-side block sequence an inner `web_search_20250305` response carries. A `search` is a
10
+ * `server_tool_use` block immediately followed by its `web_search_tool_result` block (hits, or a
11
+ * result-block error).
12
+ */
13
+ export type ScriptedSearchBlock = {
14
+ kind: "text";
15
+ text: string;
16
+ } | {
17
+ kind: "search";
18
+ query: string;
19
+ hits: ScriptedHit[];
20
+ } | {
21
+ kind: "search_error";
22
+ query: string;
23
+ errorCode: string;
24
+ };
25
+ /** Structurally identical to the runtime's own `WebSearchStreamEvent` (declared here rather than imported so this module stays free of cross-package imports; each test file passes the result straight to the real assembler, so a drift in that type is a compile error THERE). */
26
+ export type WinterSearchEvent = {
27
+ type: "text";
28
+ text: string;
29
+ } | {
30
+ type: "search_result";
31
+ hits: Array<{
32
+ title: string;
33
+ url: string;
34
+ }>;
35
+ } | {
36
+ type: "search_error";
37
+ code: string;
38
+ };
39
+ /**
40
+ * The SAME scripted sequence in Winter's event shape. Deliberately passes every `extra` field
41
+ * through on the hit objects (as untyped excess properties), so "only title and url survive" is
42
+ * proven on Winter's side by the assembler dropping them, not by this mapper never offering them.
43
+ */
44
+ export declare function toWinterEvents(blocks: readonly ScriptedSearchBlock[]): WinterSearchEvent[];
45
+ /** The inner response as an SSE stream: one content block per text, two per search. */
46
+ export declare function sseInnerSearchTurn(blocks: readonly ScriptedSearchBlock[], model?: string): SseEvent[];
47
+ export declare const INNER_SEARCH_USER_PREFIX = "Perform a web search for the query: ";
48
+ export declare const INNER_FETCH_USER_PREFIX = "\nWeb page content:\n";
49
+ export declare function toolsOf(body: RawFrame): RawFrame[];
50
+ /** The inner search call: recognised by the server tool in its tool list, never by position. */
51
+ export declare function isInnerSearchRequest(body: RawFrame): boolean;
52
+ /** The first user message's text, whether the wire carries it as a string or as a one-block array. */
53
+ export declare function firstUserText(body: RawFrame): string;
54
+ /** The inner digest call: no tools at all, and the page-content template opening the user text. */
55
+ export declare function isInnerFetchRequest(body: RawFrame): boolean;
56
+ export declare function hasToolResult(messages: readonly RawFrame[]): boolean;
57
+ export interface OfficialToolResult {
58
+ /** The tool_result `content` as the binary's own stdout `user` frame carries it -- the tool's PURE output. */
59
+ content: string;
60
+ isError: boolean;
61
+ /** The binary's structured result for the call (`tool_use_result` on the same frame), when it has one. */
62
+ structured: unknown;
63
+ }
64
+ /** Every tool_result the binary emitted on stdout, keyed by `tool_use_id` (never by position -- batched calls finish in any order). */
65
+ export declare function toolResultsFromFrames(frames: readonly RawFrame[]): Map<string, OfficialToolResult>;
66
+ /** Every tool_result in a captured main-loop REQUEST, keyed by `tool_use_id` -- what actually went back to the API. */
67
+ export declare function toolResultsFromRequest(body: RawFrame): Map<string, string>;
68
+ /**
69
+ * The binary's MAIN LOOP appends a token-budget note to a tool_result on the wire (observed on the
70
+ * last tool_result of a request). It is loop decoration, not part of any tool's own output -- the
71
+ * stdout frame for the same call does not carry it -- so the wire comparison allows exactly this
72
+ * suffix and nothing else.
73
+ */
74
+ export declare const MAIN_LOOP_WIRE_SUFFIX: RegExp;
75
+ /** True when `wire` is `pure` exactly, or `pure` plus the one known main-loop suffix. */
76
+ export declare function wireMatchesPure(wire: string, pure: string): boolean;
77
+ export interface ProxyTrap {
78
+ url: string;
79
+ /** The first line of every request that reached the trap -- must stay EMPTY for a hermetic run. */
80
+ hits: string[];
81
+ stop(): void;
82
+ }
83
+ export declare function startProxyTrap(): ProxyTrap;
84
+ export interface LoopbackTls {
85
+ key: string;
86
+ cert: string;
87
+ certPath: string;
88
+ }
89
+ /** A self-signed cert for 127.0.0.1, written under `dir` (a mkdtemp root the caller owns). Returns `{reason}` when openssl is unavailable, so the caller can skip plainly rather than fail obscurely. */
90
+ export declare function makeLoopbackTls(dir: string): LoopbackTls | {
91
+ reason: string;
92
+ };
93
+ export interface OfficialRun {
94
+ /** Every POST body the loopback received, in arrival order. */
95
+ requests: RawFrame[];
96
+ /** Every stdout frame the binary emitted. */
97
+ frames: RawFrame[];
98
+ /** First lines of anything that tried to leave the box (see the header) -- asserted empty by every caller. */
99
+ trapHits: string[];
100
+ }
101
+ export interface OfficialRunOptions {
102
+ binaryPath: string;
103
+ model?: string;
104
+ prompt: string;
105
+ route: (messages: RawFrame[], body: RawFrame, count: number) => Response;
106
+ logPrefix: string;
107
+ /** Extra `--settings` JSON (always merged over `skipWebFetchPreflight: true`). */
108
+ settings?: Record<string, unknown>;
109
+ extraEnv?: Record<string, string>;
110
+ /** Called with the roots before the spawn -- for a caller that needs files under them (a TLS cert). */
111
+ roots?: OfficialRoots;
112
+ }
113
+ /**
114
+ * One headless `-p` invocation of the pinned binary against a scripted loopback, permission mode
115
+ * `bypassPermissions` -- the SAME way every other file in this family lets a tool run (WebSearch and
116
+ * WebFetch both prompt otherwise); no allow rule, no hook, nothing more invasive than that.
117
+ */
118
+ export declare function runOfficialOnce(opts: OfficialRunOptions): Promise<OfficialRun>;
@@ -38,6 +38,8 @@
38
38
  "TaskOutput",
39
39
  "TaskStop",
40
40
  "TaskUpdate",
41
+ "WebFetch",
42
+ "WebSearch",
41
43
  "Workflow",
42
44
  "Write"
43
45
  ],
@@ -66,7 +68,7 @@
66
68
  "content": [
67
69
  {
68
70
  "type": "text",
69
- "text": "echo: <system-reminder>\nAuto-memory (injected by the runtime, not typed by the user):\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\n\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\n\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\n\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\n\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\n</system-reminder>\n\n<system-reminder>\nAgent-tool listing (injected by the runtime, not typed by the user):\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\nhi"
71
+ "text": "echo: <system-reminder>\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\n<system-reminder>\nAs you answer the user's questions, you can use the following context:\n# currentDate\nToday's date is <FIXTURE-DATE>.\n\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\n</system-reminder>\n\n\nhi"
70
72
  }
71
73
  ]
72
74
  }
@@ -80,7 +82,7 @@
80
82
  "type": "result",
81
83
  "subtype": "success",
82
84
  "is_error": false,
83
- "result": "echo: <system-reminder>\nAuto-memory (injected by the runtime, not typed by the user):\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\n\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\n\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\n\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\n\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\n</system-reminder>\n\n<system-reminder>\nAgent-tool listing (injected by the runtime, not typed by the user):\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\nhi",
85
+ "result": "echo: <system-reminder>\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\n<system-reminder>\nAs you answer the user's questions, you can use the following context:\n# currentDate\nToday's date is <FIXTURE-DATE>.\n\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\n</system-reminder>\n\n\nhi",
84
86
  "permission_denials": []
85
87
  }
86
88
  }
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ]
@@ -84,6 +86,8 @@
84
86
  "TaskOutput",
85
87
  "TaskStop",
86
88
  "TaskUpdate",
89
+ "WebFetch",
90
+ "WebSearch",
87
91
  "Workflow",
88
92
  "Write"
89
93
  ],
@@ -44,6 +44,8 @@
44
44
  "TaskStop",
45
45
  "TaskUpdate",
46
46
  "WaitForMcpServers",
47
+ "WebFetch",
48
+ "WebSearch",
47
49
  "Workflow",
48
50
  "Write",
49
51
  "mcp__t8mcpsdk__echo"
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ]
@@ -84,6 +86,8 @@
84
86
  "TaskOutput",
85
87
  "TaskStop",
86
88
  "TaskUpdate",
89
+ "WebFetch",
90
+ "WebSearch",
87
91
  "Workflow",
88
92
  "Write"
89
93
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -67,7 +69,7 @@
67
69
  "content": [
68
70
  {
69
71
  "type": "text",
70
- "text": "echo: <system-reminder>\nAuto-memory (injected by the runtime, not typed by the user):\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\n\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\n\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\n\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\n\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\n</system-reminder>\n\n<system-reminder>\nAgent-tool listing (injected by the runtime, not typed by the user):\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\nfirst"
72
+ "text": "echo: <system-reminder>\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\n<system-reminder>\nAs you answer the user's questions, you can use the following context:\n# currentDate\nToday's date is <FIXTURE-DATE>.\n\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\n</system-reminder>\n\n\nfirst"
71
73
  }
72
74
  ]
73
75
  }
@@ -81,7 +83,7 @@
81
83
  "type": "result",
82
84
  "subtype": "success",
83
85
  "is_error": false,
84
- "result": "echo: <system-reminder>\nAuto-memory (injected by the runtime, not typed by the user):\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\n\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\n\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\n\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\n\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\n</system-reminder>\n\n<system-reminder>\nAgent-tool listing (injected by the runtime, not typed by the user):\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\nfirst",
86
+ "result": "echo: <system-reminder>\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\n<system-reminder>\nAs you answer the user's questions, you can use the following context:\n# currentDate\nToday's date is <FIXTURE-DATE>.\n\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\n</system-reminder>\n\n\nfirst",
85
87
  "permission_denials": []
86
88
  }
87
89
  },
@@ -95,7 +97,7 @@
95
97
  "content": [
96
98
  {
97
99
  "type": "text",
98
- "text": "echo: <system-reminder>\nAuto-memory (injected by the runtime, not typed by the user):\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\n\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\n\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\n\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\n\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\n</system-reminder>\n\n<system-reminder>\nAgent-tool listing (injected by the runtime, not typed by the user):\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\nsecond"
100
+ "text": "echo: second"
99
101
  }
100
102
  ]
101
103
  }
@@ -109,7 +111,7 @@
109
111
  "type": "result",
110
112
  "subtype": "success",
111
113
  "is_error": false,
112
- "result": "echo: <system-reminder>\nAuto-memory (injected by the runtime, not typed by the user):\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\n\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\n\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\n\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\n\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\n</system-reminder>\n\n<system-reminder>\nAgent-tool listing (injected by the runtime, not typed by the user):\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\nsecond",
114
+ "result": "echo: second",
113
115
  "permission_denials": []
114
116
  }
115
117
  }
@@ -40,6 +40,8 @@
40
40
  "TaskOutput",
41
41
  "TaskStop",
42
42
  "TaskUpdate",
43
+ "WebFetch",
44
+ "WebSearch",
43
45
  "Workflow",
44
46
  "Write"
45
47
  ],
@@ -40,6 +40,8 @@
40
40
  "TaskOutput",
41
41
  "TaskStop",
42
42
  "TaskUpdate",
43
+ "WebFetch",
44
+ "WebSearch",
43
45
  "Workflow",
44
46
  "Write"
45
47
  ],
@@ -40,6 +40,8 @@
40
40
  "TaskOutput",
41
41
  "TaskStop",
42
42
  "TaskUpdate",
43
+ "WebFetch",
44
+ "WebSearch",
43
45
  "Workflow",
44
46
  "Write"
45
47
  ],
@@ -40,6 +40,8 @@
40
40
  "TaskOutput",
41
41
  "TaskStop",
42
42
  "TaskUpdate",
43
+ "WebFetch",
44
+ "WebSearch",
43
45
  "Workflow",
44
46
  "Write"
45
47
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -67,7 +69,7 @@
67
69
  "content": [
68
70
  {
69
71
  "type": "text",
70
- "text": "echo: <system-reminder>\nAuto-memory (injected by the runtime, not typed by the user):\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\n\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\n\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\n\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\n\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\n</system-reminder>\n\n<system-reminder>\nAgent-tool listing (injected by the runtime, not typed by the user):\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\nhi"
72
+ "text": "echo: <system-reminder>\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\n<system-reminder>\nAs you answer the user's questions, you can use the following context:\n# currentDate\nToday's date is <FIXTURE-DATE>.\n\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\n</system-reminder>\n\n\nhi"
71
73
  }
72
74
  ]
73
75
  }
@@ -81,7 +83,7 @@
81
83
  "type": "result",
82
84
  "subtype": "success",
83
85
  "is_error": false,
84
- "result": "echo: <system-reminder>\nAuto-memory (injected by the runtime, not typed by the user):\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\n\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\n\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\n\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\n\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\n</system-reminder>\n\n<system-reminder>\nAgent-tool listing (injected by the runtime, not typed by the user):\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\nhi",
86
+ "result": "echo: <system-reminder>\nAvailable agent types for the Agent tool:\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \"src/components/**/*.tsx\"), grep for symbols or keywords (eg. \"API endpoints\"), or answer \"where is X defined / which files reference Y.\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \"quick\" for a single targeted lookup, \"medium\" for moderate exploration, or \"very thorough\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\n\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\n</system-reminder>\n\n<system-reminder>\nAs you answer the user's questions, you can use the following context:\n# currentDate\nToday's date is <FIXTURE-DATE>.\n\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\n</system-reminder>\n\n\nhi",
85
87
  "permission_denials": []
86
88
  }
87
89
  }
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -67,7 +69,7 @@
67
69
  "content": [
68
70
  {
69
71
  "type": "text",
70
- "text": "[{\"role\":\"user\",\"content\":\"<system-reminder>\\nAuto-memory (injected by the runtime, not typed by the user):\\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\\n\\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\\n\\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\\n\\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\\n\\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\\n</system-reminder>\\n\\n<system-reminder>\\nAgent-tool listing (injected by the runtime, not typed by the user):\\nAvailable agent types for the Agent tool:\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\"src/components/**/*.tsx\\\"), grep for symbols or keywords (eg. \\\"API endpoints\\\"), or answer \\\"where is X defined / which files reference Y.\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\"quick\\\" for a single targeted lookup, \\\"medium\\\" for moderate exploration, or \\\"very thorough\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\n\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\n</system-reminder>\\n\\nfirst\"}]"
72
+ "text": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"<system-reminder>\\nAvailable agent types for the Agent tool:\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\"src/components/**/*.tsx\\\"), grep for symbols or keywords (eg. \\\"API endpoints\\\"), or answer \\\"where is X defined / which files reference Y.\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\"quick\\\" for a single targeted lookup, \\\"medium\\\" for moderate exploration, or \\\"very thorough\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\n\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\n</system-reminder>\\n\"},{\"type\":\"text\",\"text\":\"<system-reminder>\\nAs you answer the user's questions, you can use the following context:\\n# currentDate\\nToday's date is <FIXTURE-DATE>.\\n\\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\\n</system-reminder>\\n\\n\"},{\"type\":\"text\",\"text\":\"first\"}]}]"
71
73
  }
72
74
  ]
73
75
  }
@@ -81,7 +83,7 @@
81
83
  "type": "result",
82
84
  "subtype": "success",
83
85
  "is_error": false,
84
- "result": "[{\"role\":\"user\",\"content\":\"<system-reminder>\\nAuto-memory (injected by the runtime, not typed by the user):\\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\\n\\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\\n\\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\\n\\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\\n\\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\\n</system-reminder>\\n\\n<system-reminder>\\nAgent-tool listing (injected by the runtime, not typed by the user):\\nAvailable agent types for the Agent tool:\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\"src/components/**/*.tsx\\\"), grep for symbols or keywords (eg. \\\"API endpoints\\\"), or answer \\\"where is X defined / which files reference Y.\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\"quick\\\" for a single targeted lookup, \\\"medium\\\" for moderate exploration, or \\\"very thorough\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\n\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\n</system-reminder>\\n\\nfirst\"}]",
86
+ "result": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"<system-reminder>\\nAvailable agent types for the Agent tool:\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\"src/components/**/*.tsx\\\"), grep for symbols or keywords (eg. \\\"API endpoints\\\"), or answer \\\"where is X defined / which files reference Y.\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\"quick\\\" for a single targeted lookup, \\\"medium\\\" for moderate exploration, or \\\"very thorough\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\n\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\n</system-reminder>\\n\"},{\"type\":\"text\",\"text\":\"<system-reminder>\\nAs you answer the user's questions, you can use the following context:\\n# currentDate\\nToday's date is <FIXTURE-DATE>.\\n\\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\\n</system-reminder>\\n\\n\"},{\"type\":\"text\",\"text\":\"first\"}]}]",
85
87
  "permission_denials": []
86
88
  }
87
89
  },
@@ -125,6 +127,8 @@
125
127
  "TaskOutput",
126
128
  "TaskStop",
127
129
  "TaskUpdate",
130
+ "WebFetch",
131
+ "WebSearch",
128
132
  "Workflow",
129
133
  "Write"
130
134
  ],
@@ -153,7 +157,7 @@
153
157
  "content": [
154
158
  {
155
159
  "type": "text",
156
- "text": "[{\"role\":\"user\",\"content\":\"first\"},{\"role\":\"assistant\",\"content\":\"[{\\\"role\\\":\\\"user\\\",\\\"content\\\":\\\"<system-reminder>\\\\nAuto-memory (injected by the runtime, not typed by the user):\\\\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\\\\n\\\\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\\\\n\\\\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\\\\n\\\\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\\\\n\\\\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\\\\n</system-reminder>\\\\n\\\\n<system-reminder>\\\\nAgent-tool listing (injected by the runtime, not typed by the user):\\\\nAvailable agent types for the Agent tool:\\\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\\\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\\\\\"src/components/**/*.tsx\\\\\\\"), grep for symbols or keywords (eg. \\\\\\\"API endpoints\\\\\\\"), or answer \\\\\\\"where is X defined / which files reference Y.\\\\\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\\\\\"quick\\\\\\\" for a single targeted lookup, \\\\\\\"medium\\\\\\\" for moderate exploration, or \\\\\\\"very thorough\\\\\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\\\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\\\n\\\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\\\n</system-reminder>\\\\n\\\\nfirst\\\"}]\"},{\"role\":\"user\",\"content\":\"<system-reminder>\\nAuto-memory (injected by the runtime, not typed by the user):\\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\\n\\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\\n\\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\\n\\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\\n\\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\\n</system-reminder>\\n\\n<system-reminder>\\nAgent-tool listing (injected by the runtime, not typed by the user):\\nAvailable agent types for the Agent tool:\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\"src/components/**/*.tsx\\\"), grep for symbols or keywords (eg. \\\"API endpoints\\\"), or answer \\\"where is X defined / which files reference Y.\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\"quick\\\" for a single targeted lookup, \\\"medium\\\" for moderate exploration, or \\\"very thorough\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\n\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\n</system-reminder>\\n\\nsecond\"}]"
160
+ "text": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"<system-reminder>\\nAvailable agent types for the Agent tool:\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\"src/components/**/*.tsx\\\"), grep for symbols or keywords (eg. \\\"API endpoints\\\"), or answer \\\"where is X defined / which files reference Y.\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\"quick\\\" for a single targeted lookup, \\\"medium\\\" for moderate exploration, or \\\"very thorough\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\n\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\n</system-reminder>\\n\"},{\"type\":\"text\",\"text\":\"<system-reminder>\\nAs you answer the user's questions, you can use the following context:\\n# currentDate\\nToday's date is <FIXTURE-DATE>.\\n\\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\\n</system-reminder>\\n\\n\"},{\"type\":\"text\",\"text\":\"first\"}]},{\"role\":\"assistant\",\"content\":\"[{\\\"role\\\":\\\"user\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"<system-reminder>\\\\nAvailable agent types for the Agent tool:\\\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\\\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\\\\\"src/components/**/*.tsx\\\\\\\"), grep for symbols or keywords (eg. \\\\\\\"API endpoints\\\\\\\"), or answer \\\\\\\"where is X defined / which files reference Y.\\\\\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\\\\\"quick\\\\\\\" for a single targeted lookup, \\\\\\\"medium\\\\\\\" for moderate exploration, or \\\\\\\"very thorough\\\\\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\\\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\\\n\\\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\\\n</system-reminder>\\\\n\\\"},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"<system-reminder>\\\\nAs you answer the user's questions, you can use the following context:\\\\n# currentDate\\\\nToday's date is <FIXTURE-DATE>.\\\\n\\\\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\\\\n</system-reminder>\\\\n\\\\n\\\"},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"first\\\"}]}]\"},{\"role\":\"user\",\"content\":\"second\"}]"
157
161
  }
158
162
  ]
159
163
  }
@@ -167,7 +171,7 @@
167
171
  "type": "result",
168
172
  "subtype": "success",
169
173
  "is_error": false,
170
- "result": "[{\"role\":\"user\",\"content\":\"first\"},{\"role\":\"assistant\",\"content\":\"[{\\\"role\\\":\\\"user\\\",\\\"content\\\":\\\"<system-reminder>\\\\nAuto-memory (injected by the runtime, not typed by the user):\\\\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\\\\n\\\\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\\\\n\\\\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\\\\n\\\\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\\\\n\\\\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\\\\n</system-reminder>\\\\n\\\\n<system-reminder>\\\\nAgent-tool listing (injected by the runtime, not typed by the user):\\\\nAvailable agent types for the Agent tool:\\\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\\\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\\\\\"src/components/**/*.tsx\\\\\\\"), grep for symbols or keywords (eg. \\\\\\\"API endpoints\\\\\\\"), or answer \\\\\\\"where is X defined / which files reference Y.\\\\\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\\\\\"quick\\\\\\\" for a single targeted lookup, \\\\\\\"medium\\\\\\\" for moderate exploration, or \\\\\\\"very thorough\\\\\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\\\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\\\n\\\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\\\n</system-reminder>\\\\n\\\\nfirst\\\"}]\"},{\"role\":\"user\",\"content\":\"<system-reminder>\\nAuto-memory (injected by the runtime, not typed by the user):\\nAuto-memory for this project lives at /winter-home/projects/-winter-fixture/memory. The directory is created on demand and there are no memory tools: read and write it with the ordinary file tools, exactly like any other directory.\\n\\n/winter-home/projects/-winter-fixture/memory/MEMORY.md is the INDEX, and only its first 200 lines / 25 KB are loaded into a session. Keep every index entry to one line; the substance belongs in the topic file it points at, which you can read on demand when it turns out to matter.\\n\\nTo record something worth having in a LATER session -- a standing preference, a correction you were given, a durable constraint of this project -- write it to its own `<slug>.md` in that directory and add a one-line pointer to the index: `- [<slug>](<slug>.md) — <one-line summary>`.\\n\\nRevise a fact by rewriting its file and its index line, never by adding a near-duplicate under a new name; remove both once it stops being true. An index full of stale near-duplicates is worse than an empty one, because it costs the same and misleads.\\n\\nDo not record what the repository already records. Code, configuration, documentation and WINTER.md are durable on their own; memory is for what is true about this project or this user and lives nowhere in the tree.\\n</system-reminder>\\n\\n<system-reminder>\\nAgent-tool listing (injected by the runtime, not typed by the user):\\nAvailable agent types for the Agent tool:\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: All tools)\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\"src/components/**/*.tsx\\\"), grep for symbols or keywords (eg. \\\"API endpoints\\\"), or answer \\\"where is X defined / which files reference Y.\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\"quick\\\" for a single targeted lookup, \\\"medium\\\" for moderate exploration, or \\\"very thorough\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: All tools)\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, Edit, ExitPlanMode, NotebookEdit, Write)\\n\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\n</system-reminder>\\n\\nsecond\"}]",
174
+ "result": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"<system-reminder>\\nAvailable agent types for the Agent tool:\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\"src/components/**/*.tsx\\\"), grep for symbols or keywords (eg. \\\"API endpoints\\\"), or answer \\\"where is X defined / which files reference Y.\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\"quick\\\" for a single targeted lookup, \\\"medium\\\" for moderate exploration, or \\\"very thorough\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\n\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\n</system-reminder>\\n\"},{\"type\":\"text\",\"text\":\"<system-reminder>\\nAs you answer the user's questions, you can use the following context:\\n# currentDate\\nToday's date is <FIXTURE-DATE>.\\n\\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\\n</system-reminder>\\n\\n\"},{\"type\":\"text\",\"text\":\"first\"}]},{\"role\":\"assistant\",\"content\":\"[{\\\"role\\\":\\\"user\\\",\\\"content\\\":[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"<system-reminder>\\\\nAvailable agent types for the Agent tool:\\\\n- claude: Catch-all for any task that doesn't fit a more specific agent. (Tools: *)\\\\n- Explore: Fast read-only search agent for locating code. Use it to find files by pattern (eg. \\\\\\\"src/components/**/*.tsx\\\\\\\"), grep for symbols or keywords (eg. \\\\\\\"API endpoints\\\\\\\"), or answer \\\\\\\"where is X defined / which files reference Y.\\\\\\\" Do NOT use it for code review, design-doc auditing, cross-file consistency checks, or open-ended analysis — it reads excerpts rather than whole files and will miss content past its read window. When calling, specify search breadth: \\\\\\\"quick\\\\\\\" for a single targeted lookup, \\\\\\\"medium\\\\\\\" for moderate exploration, or \\\\\\\"very thorough\\\\\\\" to search across multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\\\n- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)\\\\n- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)\\\\n\\\\nWhen you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently.\\\\n</system-reminder>\\\\n\\\"},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"<system-reminder>\\\\nAs you answer the user's questions, you can use the following context:\\\\n# currentDate\\\\nToday's date is <FIXTURE-DATE>.\\\\n\\\\n IMPORTANT: this context may or may not be relevant to your tasks. You should not respond to this context unless it is highly relevant to your task.\\\\n</system-reminder>\\\\n\\\\n\\\"},{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"first\\\"}]}]\"},{\"role\":\"user\",\"content\":\"second\"}]",
171
175
  "permission_denials": []
172
176
  }
173
177
  }
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -71,7 +73,8 @@
71
73
  "name": "Agent",
72
74
  "input": {
73
75
  "description": "message target",
74
- "prompt": "child probe text"
76
+ "prompt": "child probe text",
77
+ "run_in_background": false
75
78
  }
76
79
  }
77
80
  ]
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -40,6 +40,8 @@
40
40
  "TaskOutput",
41
41
  "TaskStop",
42
42
  "TaskUpdate",
43
+ "WebFetch",
44
+ "WebSearch",
43
45
  "Workflow",
44
46
  "Write"
45
47
  ],
@@ -40,6 +40,8 @@
40
40
  "TaskOutput",
41
41
  "TaskStop",
42
42
  "TaskUpdate",
43
+ "WebFetch",
44
+ "WebSearch",
43
45
  "Workflow",
44
46
  "Write"
45
47
  ],
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -71,7 +73,8 @@
71
73
  "name": "Agent",
72
74
  "input": {
73
75
  "description": "permission probe",
74
- "prompt": "child probe text"
76
+ "prompt": "child probe text",
77
+ "run_in_background": false
75
78
  }
76
79
  }
77
80
  ]
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -71,7 +73,8 @@
71
73
  "name": "Agent",
72
74
  "input": {
73
75
  "description": "equivalence probe",
74
- "prompt": "child probe text"
76
+ "prompt": "child probe text",
77
+ "run_in_background": false
75
78
  }
76
79
  }
77
80
  ]
@@ -39,6 +39,8 @@
39
39
  "TaskOutput",
40
40
  "TaskStop",
41
41
  "TaskUpdate",
42
+ "WebFetch",
43
+ "WebSearch",
42
44
  "Workflow",
43
45
  "Write"
44
46
  ],
@@ -44,6 +44,8 @@
44
44
  "TaskStop",
45
45
  "TaskUpdate",
46
46
  "ToolSearch",
47
+ "WebFetch",
48
+ "WebSearch",
47
49
  "Workflow",
48
50
  "Write"
49
51
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yanlinglabs/winter-conformance",
3
- "version": "0.0.15",
3
+ "version": "0.0.17",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "engines": {