@yanlinglabs/winter-conformance 0.0.2

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 (44) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +128 -0
  3. package/dist/bun-required.d.ts +54 -0
  4. package/dist/goldens.d.ts +11 -0
  5. package/dist/index-v0zvhx0z.js +1576 -0
  6. package/dist/index-z5gwvsfh.js +49 -0
  7. package/dist/index.d.ts +5 -0
  8. package/dist/index.js +49 -0
  9. package/dist/official/capture.d.ts +1 -0
  10. package/dist/official/fetch.d.ts +40 -0
  11. package/dist/official/index.d.ts +3 -0
  12. package/dist/official/index.js +27 -0
  13. package/dist/trace.d.ts +9 -0
  14. package/dist/trace.js +8 -0
  15. package/goldens/advertised-set-round.trace.json +81 -0
  16. package/goldens/background-task-round.trace.json +210 -0
  17. package/goldens/bash-background-round.trace.json +148 -0
  18. package/goldens/canusetool-approved-round.trace.json +119 -0
  19. package/goldens/compaction-auto-round.trace.json +219 -0
  20. package/goldens/compaction-manual-round.trace.json +232 -0
  21. package/goldens/denied-tool-round.trace.json +141 -0
  22. package/goldens/hook-denied-round.trace.json +169 -0
  23. package/goldens/hooked-tool-round.trace.json +147 -0
  24. package/goldens/interrupt.trace.json +129 -0
  25. package/goldens/mcp-tool-round.trace.json +131 -0
  26. package/goldens/messaging-facet-round.trace.json +278 -0
  27. package/goldens/mode-switch-mid-session.trace.json +200 -0
  28. package/goldens/multi-turn.trace.json +110 -0
  29. package/goldens/p6-anthropic-fake.trace.json +147 -0
  30. package/goldens/p6-gemini-fake.trace.json +132 -0
  31. package/goldens/p6-openai-chat-fake.trace.json +133 -0
  32. package/goldens/p6-openai-responses-fake.trace.json +145 -0
  33. package/goldens/p6-resolution-failure.trace.json +68 -0
  34. package/goldens/plain-query.trace.json +82 -0
  35. package/goldens/resume.trace.json +162 -0
  36. package/goldens/sendmessage-child-round.trace.json +158 -0
  37. package/goldens/skill-invocation-round.trace.json +123 -0
  38. package/goldens/structured-exhaustion-round.trace.json +182 -0
  39. package/goldens/structured-output-round.trace.json +106 -0
  40. package/goldens/subagent-permission-round.trace.json +174 -0
  41. package/goldens/subagent-spawn-round.trace.json +120 -0
  42. package/goldens/tool-round.trace.json +119 -0
  43. package/goldens/toolsearch-select-round.trace.json +185 -0
  44. package/package.json +50 -0
@@ -0,0 +1,278 @@
1
+ [
2
+ {
3
+ "sequence": 0,
4
+ "direction": "runtime-to-host",
5
+ "kind": "init",
6
+ "payload": {
7
+ "type": "init",
8
+ "protocolVersion": "1.0",
9
+ "cwd": "/winter-fixture",
10
+ "model": "winter-test/echo",
11
+ "permissionMode": "default",
12
+ "tools": [
13
+ "Agent",
14
+ "AskUserQuestion",
15
+ "Bash",
16
+ "CronCreate",
17
+ "CronDelete",
18
+ "CronList",
19
+ "Edit",
20
+ "EnterPlanMode",
21
+ "EnterWorktree",
22
+ "ExitPlanMode",
23
+ "ExitWorktree",
24
+ "Glob",
25
+ "Grep",
26
+ "ListAgents",
27
+ "Monitor",
28
+ "NotebookEdit",
29
+ "PushNotification",
30
+ "Read",
31
+ "ReadNotifications",
32
+ "ReportFindings",
33
+ "ScheduleWakeup",
34
+ "SendMessage",
35
+ "Skill",
36
+ "TaskCreate",
37
+ "TaskGet",
38
+ "TaskList",
39
+ "TaskOutput",
40
+ "TaskStop",
41
+ "TaskUpdate",
42
+ "Workflow",
43
+ "Write"
44
+ ]
45
+ }
46
+ },
47
+ {
48
+ "sequence": 1,
49
+ "direction": "runtime-to-host",
50
+ "kind": "system/init",
51
+ "payload": {
52
+ "type": "system",
53
+ "subtype": "init",
54
+ "cwd": "/winter-fixture",
55
+ "model": "winter-test/echo",
56
+ "permissionMode": "default",
57
+ "tools": [
58
+ "Agent",
59
+ "AskUserQuestion",
60
+ "Bash",
61
+ "CronCreate",
62
+ "CronDelete",
63
+ "CronList",
64
+ "Edit",
65
+ "EnterPlanMode",
66
+ "EnterWorktree",
67
+ "ExitPlanMode",
68
+ "ExitWorktree",
69
+ "Glob",
70
+ "Grep",
71
+ "ListAgents",
72
+ "Monitor",
73
+ "NotebookEdit",
74
+ "PushNotification",
75
+ "Read",
76
+ "ReadNotifications",
77
+ "ReportFindings",
78
+ "ScheduleWakeup",
79
+ "SendMessage",
80
+ "Skill",
81
+ "TaskCreate",
82
+ "TaskGet",
83
+ "TaskList",
84
+ "TaskOutput",
85
+ "TaskStop",
86
+ "TaskUpdate",
87
+ "Workflow",
88
+ "Write"
89
+ ],
90
+ "apiKeySource": "none",
91
+ "slash_commands": [
92
+ "compact"
93
+ ],
94
+ "output_style": "default",
95
+ "skills": [],
96
+ "plugins": []
97
+ }
98
+ },
99
+ {
100
+ "sequence": 2,
101
+ "direction": "runtime-to-host",
102
+ "kind": "control_response",
103
+ "payload": {
104
+ "type": "control_response",
105
+ "ok": true,
106
+ "payload": []
107
+ }
108
+ },
109
+ {
110
+ "sequence": 3,
111
+ "direction": "runtime-to-host",
112
+ "kind": "control_response",
113
+ "payload": {
114
+ "type": "control_response",
115
+ "ok": true,
116
+ "payload": {
117
+ "senderClass": "prompts"
118
+ }
119
+ }
120
+ },
121
+ {
122
+ "sequence": 4,
123
+ "direction": "runtime-to-host",
124
+ "kind": "control_response",
125
+ "payload": {
126
+ "type": "control_response",
127
+ "ok": true,
128
+ "payload": {
129
+ "status": "not_found",
130
+ "messageId": "host-1",
131
+ "reason": "child no longer reachable"
132
+ }
133
+ }
134
+ },
135
+ {
136
+ "sequence": 5,
137
+ "direction": "runtime-to-host",
138
+ "kind": "control_response",
139
+ "payload": {
140
+ "type": "control_response",
141
+ "ok": true,
142
+ "payload": {
143
+ "status": "not_found",
144
+ "messageId": "host-2",
145
+ "reason": "child no longer reachable"
146
+ }
147
+ }
148
+ },
149
+ {
150
+ "sequence": 6,
151
+ "direction": "runtime-to-host",
152
+ "kind": "control_response",
153
+ "payload": {
154
+ "type": "control_response",
155
+ "ok": true,
156
+ "payload": {
157
+ "status": "refused",
158
+ "messageId": "host-3",
159
+ "reason": "notify_when_idle targets a top-level session only (WS-10 §14)"
160
+ }
161
+ }
162
+ },
163
+ {
164
+ "sequence": 7,
165
+ "direction": "runtime-to-host",
166
+ "kind": "control_response",
167
+ "payload": {
168
+ "type": "control_response",
169
+ "ok": true,
170
+ "payload": {
171
+ "status": "refused",
172
+ "messageId": "host-4",
173
+ "reason": "messaging.deliver: this facet serves session \"differential-facet-fixture\" only; cross-session delivery is the router's, through its directory"
174
+ }
175
+ }
176
+ },
177
+ {
178
+ "sequence": 8,
179
+ "direction": "runtime-to-host",
180
+ "kind": "control_response",
181
+ "payload": {
182
+ "type": "control_response",
183
+ "ok": false,
184
+ "error": {
185
+ "code": "invalid_messaging_request",
186
+ "message": "messaging.deliver requires { message: GlobalAgentMessage }"
187
+ }
188
+ }
189
+ },
190
+ {
191
+ "sequence": 9,
192
+ "direction": "runtime-to-host",
193
+ "kind": "control_response",
194
+ "payload": {
195
+ "type": "control_response",
196
+ "ok": true,
197
+ "payload": {
198
+ "status": "refused",
199
+ "messageId": "host-5",
200
+ "reason": "messaging.deliver targets a SESSION; address an agent through messaging.steer_child / messaging.resume_child (WS-10 §10.3)"
201
+ }
202
+ }
203
+ },
204
+ {
205
+ "sequence": 10,
206
+ "direction": "runtime-to-host",
207
+ "kind": "control_response",
208
+ "payload": {
209
+ "type": "control_response",
210
+ "ok": true,
211
+ "payload": {
212
+ "status": "refused",
213
+ "messageId": "host-6",
214
+ "reason": "messaging.steer_child: a child is addressable only through its OWNING parent (WS-10 §10.3); \"agent:s_other:c1\" names another session"
215
+ }
216
+ }
217
+ },
218
+ {
219
+ "sequence": 11,
220
+ "direction": "runtime-to-host",
221
+ "kind": "control_request",
222
+ "payload": {
223
+ "type": "control_request",
224
+ "subtype": "messaging.idle_notice",
225
+ "payload": {
226
+ "subscriberSessionId": "host:differential-facet-fixture",
227
+ "notice": {
228
+ "notification_id": "note-1",
229
+ "origin": "session:differential-facet-fixture",
230
+ "queued_at": "QUEUED_AT",
231
+ "content": "session:differential-facet-fixture is now idle"
232
+ }
233
+ }
234
+ }
235
+ },
236
+ {
237
+ "sequence": 12,
238
+ "direction": "runtime-to-host",
239
+ "kind": "control_response",
240
+ "payload": {
241
+ "type": "control_response",
242
+ "ok": true,
243
+ "payload": {
244
+ "status": "subscribed",
245
+ "messageId": "host-7"
246
+ }
247
+ }
248
+ },
249
+ {
250
+ "sequence": 13,
251
+ "direction": "runtime-to-host",
252
+ "kind": "control_response",
253
+ "payload": {
254
+ "type": "control_response",
255
+ "ok": true,
256
+ "payload": {
257
+ "notifications": [
258
+ {
259
+ "notification_id": "note-1",
260
+ "origin": "session:differential-facet-fixture",
261
+ "queued_at": "QUEUED_AT",
262
+ "content": "session:differential-facet-fixture is now idle"
263
+ }
264
+ ],
265
+ "remaining": 0
266
+ }
267
+ }
268
+ },
269
+ {
270
+ "sequence": 14,
271
+ "direction": "runtime-to-host",
272
+ "kind": "control_response",
273
+ "payload": {
274
+ "type": "control_response",
275
+ "ok": true
276
+ }
277
+ }
278
+ ]
@@ -0,0 +1,200 @@
1
+ [
2
+ {
3
+ "sequence": 0,
4
+ "direction": "runtime-to-host",
5
+ "kind": "system/init",
6
+ "payload": {
7
+ "type": "system",
8
+ "subtype": "init",
9
+ "cwd": "/winter-fixture",
10
+ "model": "winter-test/echo",
11
+ "permissionMode": "bypassPermissions",
12
+ "tools": [
13
+ "Agent",
14
+ "AskUserQuestion",
15
+ "Bash",
16
+ "CronCreate",
17
+ "CronDelete",
18
+ "CronList",
19
+ "Edit",
20
+ "EnterPlanMode",
21
+ "EnterWorktree",
22
+ "ExitPlanMode",
23
+ "ExitWorktree",
24
+ "Glob",
25
+ "Grep",
26
+ "ListAgents",
27
+ "Monitor",
28
+ "NotebookEdit",
29
+ "PushNotification",
30
+ "Read",
31
+ "ReadNotifications",
32
+ "ReportFindings",
33
+ "ScheduleWakeup",
34
+ "SendMessage",
35
+ "Skill",
36
+ "TaskCreate",
37
+ "TaskGet",
38
+ "TaskList",
39
+ "TaskOutput",
40
+ "TaskStop",
41
+ "TaskUpdate",
42
+ "Workflow",
43
+ "Write"
44
+ ],
45
+ "apiKeySource": "none",
46
+ "slash_commands": [
47
+ "compact"
48
+ ],
49
+ "output_style": "default",
50
+ "skills": [],
51
+ "plugins": []
52
+ }
53
+ },
54
+ {
55
+ "sequence": 1,
56
+ "direction": "runtime-to-host",
57
+ "kind": "assistant",
58
+ "payload": {
59
+ "type": "assistant",
60
+ "message": {
61
+ "content": [
62
+ {
63
+ "type": "tool_use",
64
+ "id": "c1",
65
+ "name": "mystery_tool",
66
+ "input": {}
67
+ }
68
+ ]
69
+ }
70
+ }
71
+ },
72
+ {
73
+ "sequence": 2,
74
+ "direction": "runtime-to-host",
75
+ "kind": "user",
76
+ "payload": {
77
+ "type": "user",
78
+ "message": {
79
+ "content": [
80
+ {
81
+ "type": "tool_result",
82
+ "tool_use_id": "c1",
83
+ "content": "mystery_tool:{}"
84
+ }
85
+ ]
86
+ }
87
+ }
88
+ },
89
+ {
90
+ "sequence": 3,
91
+ "direction": "runtime-to-host",
92
+ "kind": "assistant",
93
+ "payload": {
94
+ "type": "assistant",
95
+ "message": {
96
+ "content": [
97
+ {
98
+ "type": "text",
99
+ "text": "first done"
100
+ }
101
+ ]
102
+ }
103
+ }
104
+ },
105
+ {
106
+ "sequence": 4,
107
+ "direction": "runtime-to-host",
108
+ "kind": "result",
109
+ "payload": {
110
+ "type": "result",
111
+ "subtype": "success",
112
+ "is_error": false,
113
+ "result": "first done",
114
+ "permission_denials": []
115
+ }
116
+ },
117
+ {
118
+ "sequence": 5,
119
+ "direction": "runtime-to-host",
120
+ "kind": "assistant",
121
+ "payload": {
122
+ "type": "assistant",
123
+ "message": {
124
+ "content": [
125
+ {
126
+ "type": "tool_use",
127
+ "id": "c2",
128
+ "name": "mystery_tool",
129
+ "input": {}
130
+ }
131
+ ]
132
+ }
133
+ }
134
+ },
135
+ {
136
+ "sequence": 6,
137
+ "direction": "runtime-to-host",
138
+ "kind": "system/permission_denied",
139
+ "payload": {
140
+ "type": "system",
141
+ "subtype": "permission_denied",
142
+ "tool_name": "mystery_tool",
143
+ "tool_use_id": "c2",
144
+ "decision_reason_type": "mode",
145
+ "message": "Denied: dontAsk mode denies unmatched actions"
146
+ }
147
+ },
148
+ {
149
+ "sequence": 7,
150
+ "direction": "runtime-to-host",
151
+ "kind": "user",
152
+ "payload": {
153
+ "type": "user",
154
+ "message": {
155
+ "content": [
156
+ {
157
+ "type": "tool_result",
158
+ "tool_use_id": "c2",
159
+ "content": "Denied: dontAsk mode denies unmatched actions",
160
+ "denied": true
161
+ }
162
+ ]
163
+ }
164
+ }
165
+ },
166
+ {
167
+ "sequence": 8,
168
+ "direction": "runtime-to-host",
169
+ "kind": "assistant",
170
+ "payload": {
171
+ "type": "assistant",
172
+ "message": {
173
+ "content": [
174
+ {
175
+ "type": "text",
176
+ "text": "second done"
177
+ }
178
+ ]
179
+ }
180
+ }
181
+ },
182
+ {
183
+ "sequence": 9,
184
+ "direction": "runtime-to-host",
185
+ "kind": "result",
186
+ "payload": {
187
+ "type": "result",
188
+ "subtype": "success",
189
+ "is_error": false,
190
+ "result": "second done",
191
+ "permission_denials": [
192
+ {
193
+ "tool_name": "mystery_tool",
194
+ "tool_use_id": "c2",
195
+ "tool_input": {}
196
+ }
197
+ ]
198
+ }
199
+ }
200
+ ]
@@ -0,0 +1,110 @@
1
+ [
2
+ {
3
+ "sequence": 0,
4
+ "direction": "runtime-to-host",
5
+ "kind": "system/init",
6
+ "payload": {
7
+ "type": "system",
8
+ "subtype": "init",
9
+ "cwd": "/winter-fixture",
10
+ "model": "winter-test/echo",
11
+ "permissionMode": "default",
12
+ "tools": [
13
+ "Agent",
14
+ "AskUserQuestion",
15
+ "Bash",
16
+ "CronCreate",
17
+ "CronDelete",
18
+ "CronList",
19
+ "Edit",
20
+ "EnterPlanMode",
21
+ "EnterWorktree",
22
+ "ExitPlanMode",
23
+ "ExitWorktree",
24
+ "Glob",
25
+ "Grep",
26
+ "ListAgents",
27
+ "Monitor",
28
+ "NotebookEdit",
29
+ "PushNotification",
30
+ "Read",
31
+ "ReadNotifications",
32
+ "ReportFindings",
33
+ "ScheduleWakeup",
34
+ "SendMessage",
35
+ "Skill",
36
+ "TaskCreate",
37
+ "TaskGet",
38
+ "TaskList",
39
+ "TaskOutput",
40
+ "TaskStop",
41
+ "TaskUpdate",
42
+ "Workflow",
43
+ "Write"
44
+ ],
45
+ "apiKeySource": "none",
46
+ "slash_commands": [
47
+ "compact"
48
+ ],
49
+ "output_style": "default",
50
+ "skills": [],
51
+ "plugins": []
52
+ }
53
+ },
54
+ {
55
+ "sequence": 1,
56
+ "direction": "runtime-to-host",
57
+ "kind": "assistant",
58
+ "payload": {
59
+ "type": "assistant",
60
+ "message": {
61
+ "content": [
62
+ {
63
+ "type": "text",
64
+ "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\nfirst"
65
+ }
66
+ ]
67
+ }
68
+ }
69
+ },
70
+ {
71
+ "sequence": 2,
72
+ "direction": "runtime-to-host",
73
+ "kind": "result",
74
+ "payload": {
75
+ "type": "result",
76
+ "subtype": "success",
77
+ "is_error": false,
78
+ "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\nfirst",
79
+ "permission_denials": []
80
+ }
81
+ },
82
+ {
83
+ "sequence": 3,
84
+ "direction": "runtime-to-host",
85
+ "kind": "assistant",
86
+ "payload": {
87
+ "type": "assistant",
88
+ "message": {
89
+ "content": [
90
+ {
91
+ "type": "text",
92
+ "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\nsecond"
93
+ }
94
+ ]
95
+ }
96
+ }
97
+ },
98
+ {
99
+ "sequence": 4,
100
+ "direction": "runtime-to-host",
101
+ "kind": "result",
102
+ "payload": {
103
+ "type": "result",
104
+ "subtype": "success",
105
+ "is_error": false,
106
+ "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\nsecond",
107
+ "permission_denials": []
108
+ }
109
+ }
110
+ ]