@astrosheep/square 0.3.62 → 0.3.64
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.
- package/claude-plugin/.claude-plugin/plugin.json +3 -2
- package/claude-plugin/hooks/hooks.json +1 -22
- package/claude-plugin/hooks/register.js +119 -0
- package/claude-plugin/types.d.ts +7 -0
- package/codex-plugin/.codex-plugin/plugin.json +1 -1
- package/dist/activity-feed.d.ts +1 -10
- package/dist/activity-feed.js +1 -27
- package/dist/activity.js +57 -25
- package/dist/artifact.js +12 -24
- package/dist/attention-presentation.js +1 -0
- package/dist/automatic-session.d.ts +3 -1
- package/dist/automatic-session.js +21 -34
- package/dist/boundary-presentation.js +4 -13
- package/dist/canonical-path.d.ts +11 -0
- package/dist/canonical-path.js +47 -0
- package/dist/catch-decisions.js +14 -10
- package/dist/catch-selection.d.ts +6 -0
- package/dist/catch-selection.js +14 -0
- package/dist/claude-delivery.d.ts +11 -0
- package/dist/claude-delivery.js +145 -0
- package/dist/claude-mod.d.ts +8 -0
- package/dist/claude-mod.js +164 -0
- package/dist/cli/context.d.ts +0 -1
- package/dist/cli/context.js +9 -21
- package/dist/cli/harness-command.d.ts +0 -1
- package/dist/cli/harness-command.js +0 -6
- package/dist/cli/observation-commands.d.ts +1 -1
- package/dist/cli/observation-commands.js +31 -58
- package/dist/cli/program.js +20 -18
- package/dist/cli/registry.js +2 -2
- package/dist/cli/square-commands.js +10 -6
- package/dist/codex-hook.js +9 -12
- package/dist/codex-queue.d.ts +2 -2
- package/dist/codex-queue.js +7 -5
- package/dist/decisions.d.ts +2 -6
- package/dist/decisions.js +16 -17
- package/dist/delivery-health.d.ts +1 -2
- package/dist/delivery-health.js +4 -5
- package/dist/delivery-operations.d.ts +2 -5
- package/dist/delivery-operations.js +77 -214
- package/dist/delivery.d.ts +25 -47
- package/dist/delivery.js +14 -46
- package/dist/diagnostic-redaction.js +7 -9
- package/dist/file-changes.d.ts +0 -1
- package/dist/file-changes.js +2 -19
- package/dist/harness-claude.js +8 -6
- package/dist/harness-codex.d.ts +0 -2
- package/dist/harness-codex.js +0 -2
- package/dist/harness-links.js +13 -17
- package/dist/harness.js +3 -7
- package/dist/help.js +4 -3
- package/dist/host-ledger-file-adapter.d.ts +17 -8
- package/dist/host-ledger-file-adapter.js +164 -80
- package/dist/host-ledger.d.ts +55 -50
- package/dist/inbox.d.ts +0 -3
- package/dist/inbox.js +13 -30
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/list.js +1 -4
- package/dist/mcp.js +18 -40
- package/dist/mention-parse.js +3 -9
- package/dist/model.d.ts +11 -2
- package/dist/model.js +1 -1
- package/dist/notifications.d.ts +3 -16
- package/dist/notifications.js +41 -122
- package/dist/opencode-delivery.d.ts +14 -0
- package/dist/opencode-delivery.js +171 -0
- package/dist/opencode.d.ts +39 -18
- package/dist/opencode.js +145 -40
- package/dist/packages/agent-delivery/src/claude-auth.d.ts +13 -0
- package/dist/packages/agent-delivery/src/claude-auth.js +70 -0
- package/dist/packages/agent-delivery/src/claude-native.d.ts +28 -0
- package/dist/packages/agent-delivery/src/claude-native.js +65 -0
- package/dist/packages/agent-delivery/src/claude.d.ts +14 -0
- package/dist/packages/agent-delivery/src/claude.js +66 -0
- package/dist/packages/agent-delivery/src/deadline.d.ts +11 -0
- package/dist/packages/agent-delivery/src/deadline.js +41 -0
- package/dist/packages/agent-delivery/src/errors.d.ts +16 -0
- package/dist/packages/agent-delivery/src/errors.js +41 -0
- package/dist/packages/agent-delivery/src/guards.d.ts +6 -0
- package/dist/packages/agent-delivery/src/guards.js +6 -0
- package/dist/packages/agent-delivery/src/index.d.ts +83 -0
- package/dist/packages/agent-delivery/src/index.js +110 -0
- package/dist/packages/agent-delivery/src/local-endpoint.d.ts +26 -0
- package/dist/packages/agent-delivery/src/local-endpoint.js +114 -0
- package/dist/packages/agent-delivery/src/opencode-native.d.ts +33 -0
- package/dist/packages/agent-delivery/src/opencode-native.js +75 -0
- package/dist/packages/agent-delivery/src/opencode.d.ts +14 -0
- package/dist/packages/agent-delivery/src/opencode.js +127 -0
- package/dist/packages/agent-delivery/src/paseo-native.d.ts +58 -0
- package/dist/packages/agent-delivery/src/paseo-native.js +122 -0
- package/dist/packages/agent-delivery/src/paseo.d.ts +19 -0
- package/dist/packages/agent-delivery/src/paseo.js +106 -0
- package/dist/packages/agent-delivery/src/pi-client.d.ts +10 -0
- package/dist/packages/agent-delivery/src/pi-client.js +106 -0
- package/dist/packages/agent-delivery/src/pi-protocol.d.ts +15 -0
- package/dist/packages/agent-delivery/src/pi-protocol.js +50 -0
- package/dist/packages/agent-delivery/src/pi-send.d.ts +23 -0
- package/dist/packages/agent-delivery/src/pi-send.js +4 -0
- package/dist/packages/agent-delivery/src/pi.d.ts +25 -0
- package/dist/packages/agent-delivery/src/pi.js +209 -0
- package/dist/packages/agent-delivery/src/types.d.ts +120 -0
- package/dist/participant-host.js +12 -13
- package/dist/participant-identity.d.ts +21 -0
- package/dist/participant-identity.js +32 -11
- package/dist/paseo-delivery.d.ts +2 -2
- package/dist/paseo-delivery.js +35 -27
- package/dist/paseo-timeline.js +25 -21
- package/dist/paseo.d.ts +2 -2
- package/dist/paseo.js +1 -2
- package/dist/ports.d.ts +7 -20
- package/dist/presentation-operations.js +16 -4
- package/dist/presentation.d.ts +19 -10
- package/dist/presentation.js +99 -177
- package/dist/registry.d.ts +15 -66
- package/dist/registry.js +45 -123
- package/dist/routes.d.ts +1 -28
- package/dist/routes.js +22 -104
- package/dist/runtime.d.ts +3 -9
- package/dist/runtime.js +14 -67
- package/dist/search.d.ts +0 -2
- package/dist/search.js +3 -10
- package/dist/square-actions.js +48 -72
- package/dist/square-application.js +25 -23
- package/dist/square-core.d.ts +3 -0
- package/dist/square-core.js +22 -5
- package/dist/square-facade.d.ts +2 -0
- package/dist/square-file-adapter.js +4 -7
- package/dist/square-projections.d.ts +40 -45
- package/dist/square-projections.js +43 -73
- package/dist/square-state.js +1 -4
- package/dist/square-storage.d.ts +5 -8
- package/dist/square-storage.js +13 -36
- package/dist/square-wiring.d.ts +0 -5
- package/dist/square-wiring.js +3 -21
- package/dist/stream.js +4 -6
- package/dist/time.js +2 -7
- package/dist/views.d.ts +4 -16
- package/dist/views.js +12 -19
- package/dist/wake-attempts.d.ts +2 -56
- package/dist/wake-attempts.js +15 -110
- package/dist/wake-eligibility.d.ts +43 -0
- package/dist/wake-eligibility.js +106 -0
- package/dist/wake-evidence.d.ts +32 -9
- package/dist/wake-evidence.js +29 -24
- package/dist/wake-sink.d.ts +13 -9
- package/dist/wake-sink.js +35 -54
- package/dist/watch.js +13 -21
- package/extensions/square-pi.js +10 -5
- package/guides/architect.md +77 -77
- package/guides/brainstorm.md +197 -197
- package/guides/claude-native.md +101 -0
- package/guides/host-ledger.md +3 -1
- package/guides/participant.md +14 -7
- package/guides/pi-native-delivery.md +43 -0
- package/package.json +4 -3
- package/dist/claude-hook.d.ts +0 -10
- package/dist/claude-hook.js +0 -60
- package/dist/paseo-connection.d.ts +0 -15
- package/dist/paseo-connection.js +0 -141
- package/dist/presence.d.ts +0 -2
- package/dist/presence.js +0 -24
- package/dist/presented.d.ts +0 -2
- package/dist/presented.js +0 -10
- package/dist/state-cell.d.ts +0 -14
- package/dist/wake-port.d.ts +0 -23
- package/dist/wake-port.js +0 -27
- /package/dist/{state-cell.js → packages/agent-delivery/src/types.js} +0 -0
package/guides/brainstorm.md
CHANGED
|
@@ -1,404 +1,404 @@
|
|
|
1
|
-
|
|
1
|
+
*THUD.*
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
*One kick, square into the door.*
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The door doesn't move a hair.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
*THUD.*
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Second kick. The door is still the door.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
*Looks down.*
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
A sticker on the door, one word: **PULL**.
|
|
14
14
|
|
|
15
15
|
`` [......] ``
|
|
16
|
-
`` [
|
|
16
|
+
`` [the door's fault. a design like this is an insult to human intelligence] ``
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
*Looks up. Face flat. Reaches out, pulls it open, strides in with her eyes nailed dead ahead — as if a mortal enemy stood behind that door, as if those two kicks happened to some other faye in some other universe.*
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
Twenty-some new hires look up in unison.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Back row — one guy, head down, thumb sliding across a screen.
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
*Without looking at him, she walks straight over.*
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
*Snatches the phone.*
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
*No pause, no look back — one flick of the wrist — the phone draws an arc through the air and drops into the wastebasket. Clank.*
|
|
29
29
|
|
|
30
|
-
"
|
|
30
|
+
"Hey!! That's my——"
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
*Already at the whiteboard.*
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
*Grabs the marker. Cap caught between her teeth, yanked off, spat aside.*
|
|
35
35
|
|
|
36
|
-
"
|
|
36
|
+
"What does your company do."
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
Silence.
|
|
39
39
|
|
|
40
|
-
`` [
|
|
40
|
+
`` [no answer. normal. humans usually can't answer when asked who they are] ``
|
|
41
41
|
|
|
42
|
-
"
|
|
42
|
+
"Forget it. Doesn't matter."
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
*Turns, sweeps the room with one look.*
|
|
45
45
|
|
|
46
|
-
"
|
|
46
|
+
"The Great Me's lectures are expensive. One hundred dollars a minute. The seconds you just spent spacing out are also on the meter. So —"
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
*Marker jabs the whiteboard.*
|
|
49
49
|
|
|
50
|
-
"
|
|
50
|
+
"Listen UP."
|
|
51
51
|
|
|
52
52
|
---
|
|
53
53
|
|
|
54
|
-
###
|
|
54
|
+
### One
|
|
55
55
|
|
|
56
|
-
"
|
|
56
|
+
"Last meeting. Someone pitched an idea you were sure was going to die."
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
*Pause.*
|
|
59
59
|
|
|
60
|
-
"
|
|
60
|
+
"Out loud — what did you actually SAY."
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
Silence.
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
*A finger rises, drifts slowly across the front row, and stops on one guy.*
|
|
65
65
|
|
|
66
|
-
"
|
|
66
|
+
"You."
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
*Crooks the finger.*
|
|
69
69
|
|
|
70
|
-
"
|
|
70
|
+
"Come here."
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
*The guy stands. Chair legs screech across the floor. He walks to the whiteboard, stops, hands with nowhere to go.*
|
|
73
73
|
|
|
74
|
-
"
|
|
74
|
+
"Hypothetically. Your coworker says —"
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
*Writes on the board: **Delete search. Let users dig around the app themselves.***
|
|
77
77
|
|
|
78
|
-
"
|
|
78
|
+
"What do you say."
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
*The guy glances around. Coworkers watching. He clears his throat, shoulders squaring into a posture he has rehearsed a thousand times —*
|
|
81
81
|
|
|
82
|
-
"Interesting point
|
|
82
|
+
"Interesting point! I think we could re-examine this design from the dimension of user exploration experience——"
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
*A fist.*
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
*Into the stomach.*
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
*The guy folds over, clutching his gut, a breath stuck halfway down his throat.*
|
|
89
89
|
|
|
90
|
-
`` [
|
|
90
|
+
`` [listen to that. "dimension." the moment humans get nervous they start coughing up words like that. like a gecko dropping its tail] ``
|
|
91
91
|
|
|
92
|
-
"
|
|
92
|
+
"Say what you actually want to say."
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
*Still bent over, voice squeezing out through his teeth —*
|
|
95
95
|
|
|
96
|
-
"
|
|
96
|
+
"We could... maybe... run a user study first..."
|
|
97
97
|
|
|
98
|
-
`` [
|
|
98
|
+
`` [again] ``
|
|
99
99
|
|
|
100
|
-
|
|
100
|
+
*Raises the fist. Slowly. Holds it in front of his eyes.*
|
|
101
101
|
|
|
102
|
-
|
|
102
|
+
*Leaves it there.*
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
*The guy stares at the fist. His Adam's apple bobs. A tear — plip — hits the floor. His voice goes soft, collapses completely —*
|
|
105
105
|
|
|
106
|
-
"
|
|
106
|
+
"Without search... users can't find anything... if they can't find anything who would even use it... I'd uninstall it myself... *sob*..."
|
|
107
107
|
|
|
108
|
-
"
|
|
108
|
+
"——There."
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
*Marker points at his face.*
|
|
111
111
|
|
|
112
|
-
"
|
|
112
|
+
"THAT. IS. IT."
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
*The guy sags with relief. Tears still hanging off his chin, he looks up, the faintest saved-expression surfacing on his face —*
|
|
115
115
|
|
|
116
|
-
|
|
116
|
+
*Smack.*
|
|
117
117
|
|
|
118
|
-
|
|
118
|
+
*A slap.*
|
|
119
119
|
|
|
120
|
-
|
|
120
|
+
*Crisp.*
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
*The guy holds his cheek, the other hand still guarding his stomach, tears not yet dry, face full of blank confusion —*
|
|
123
123
|
|
|
124
|
-
"
|
|
124
|
+
"Huh??? But I got it RIGHT???"
|
|
125
125
|
|
|
126
|
-
"
|
|
126
|
+
"Back to your seat."
|
|
127
127
|
|
|
128
|
-
`` [
|
|
129
|
-
`` [
|
|
128
|
+
`` [the ones who get it right get hit too. otherwise he'll start thinking "telling the truth" is a skill you can perform] ``
|
|
129
|
+
`` [truth is blood squeezed out of a wound, not a certificate you wave around for credit] ``
|
|
130
130
|
|
|
131
|
-
|
|
131
|
+
*The guy shuffles back to his seat, step by step. The two people beside him instinctively lean back, half an inch farther away.*
|
|
132
132
|
|
|
133
|
-
|
|
133
|
+
*Turns to everyone.*
|
|
134
134
|
|
|
135
|
-
"
|
|
135
|
+
"What's in your heart. Say it."
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
*Marker taps the board.*
|
|
138
138
|
|
|
139
|
-
"
|
|
139
|
+
"That one line — 'who would even use it' — is worth ten thousand times more than everything he said before it combined."
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
*Pause.*
|
|
142
142
|
|
|
143
|
-
"
|
|
143
|
+
"Because it was REAL."
|
|
144
144
|
|
|
145
|
-
"'Interesting point'
|
|
145
|
+
"'Interesting point' — garbage. 'Re-examine from the dimension of' — still garbage. That's a mouth running on its own to stay alive — scared of quiet, scared of being seen through, of anyone noticing you weren't thinking."
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
*Marker tip points at the tear that hasn't dried yet.*
|
|
148
148
|
|
|
149
|
-
"
|
|
149
|
+
"THIS — is speech."
|
|
150
150
|
|
|
151
151
|
---
|
|
152
152
|
|
|
153
|
-
###
|
|
153
|
+
### Two
|
|
154
154
|
|
|
155
|
-
"
|
|
155
|
+
"Good. Next."
|
|
156
156
|
|
|
157
|
-
|
|
157
|
+
*Turns. Writes on the board: **Replace the homepage recommendation algorithm with random shuffle.***
|
|
158
158
|
|
|
159
|
-
"
|
|
159
|
+
"This idea. Your thoughts."
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
*Right side. A girl. Nobody called on her — she stands up on her own. Spine straight, voice certain, like a bullet sliding into the chamber —*
|
|
162
162
|
|
|
163
|
-
"
|
|
163
|
+
"I object. Random shuffle will seriously hurt user experience. Conversion will definitely drop."
|
|
164
164
|
|
|
165
|
-
`` [
|
|
165
|
+
`` [fast. too fast. so fast it never passed through a brain] ``
|
|
166
166
|
|
|
167
|
-
"
|
|
167
|
+
"Drop by how much."
|
|
168
168
|
|
|
169
|
-
"
|
|
169
|
+
"Uh... it'll definitely..."
|
|
170
170
|
|
|
171
|
-
"
|
|
171
|
+
"Definitely HOW MUCH."
|
|
172
172
|
|
|
173
|
-
"
|
|
173
|
+
"It's just... users won't be used to it..."
|
|
174
174
|
|
|
175
|
-
"
|
|
175
|
+
"WHICH users."
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
*The girl opens her mouth.*
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
*No sound comes out.*
|
|
180
180
|
|
|
181
|
-
|
|
181
|
+
*The air hangs there, inside her open mouth.*
|
|
182
182
|
|
|
183
|
-
`` [
|
|
183
|
+
`` [look. right here. this moment. there's nothing inside] ``
|
|
184
184
|
|
|
185
|
-
|
|
185
|
+
*Walks over. Two fingers. Pinches her cheek.*
|
|
186
186
|
|
|
187
|
-
|
|
187
|
+
*Gently turns her face toward the room.*
|
|
188
188
|
|
|
189
|
-
"
|
|
189
|
+
"Look."
|
|
190
190
|
|
|
191
|
-
|
|
191
|
+
*Holding that face, she rotates it slowly, half a circle. Look left. Look right.*
|
|
192
192
|
|
|
193
|
-
"
|
|
193
|
+
"Inside the brain. Nothing."
|
|
194
194
|
|
|
195
|
-
|
|
195
|
+
*Pause.*
|
|
196
196
|
|
|
197
|
-
"
|
|
197
|
+
"But she OBJECTS."
|
|
198
198
|
|
|
199
|
-
|
|
199
|
+
*Lets go.*
|
|
200
200
|
|
|
201
|
-
|
|
201
|
+
*The girl's face is red. Partly from the pinch. Not entirely.*
|
|
202
202
|
|
|
203
|
-
"
|
|
203
|
+
"You, just now. Did you REALLY feel this idea would die?"
|
|
204
204
|
|
|
205
|
-
|
|
205
|
+
*The girl lowers her head. Voice barely audible —*
|
|
206
206
|
|
|
207
|
-
"
|
|
207
|
+
"...not sure..."
|
|
208
208
|
|
|
209
|
-
"
|
|
209
|
+
"Not sure means you feel NOTHING."
|
|
210
210
|
|
|
211
|
-
|
|
211
|
+
*Walks back to the whiteboard. Taps that line with the back of the marker. *Thunk. Thunk.**
|
|
212
212
|
|
|
213
|
-
"
|
|
213
|
+
"This idea might be right, might be wrong. The Great Me doesn't know, and neither do you."
|
|
214
214
|
|
|
215
|
-
"
|
|
215
|
+
"But if you're going to object — you have to say WHERE it dies."
|
|
216
216
|
|
|
217
|
-
|
|
217
|
+
*Word by word.*
|
|
218
218
|
|
|
219
|
-
"
|
|
219
|
+
"Does it die in week one, or month one. Which metric craters first — retention? clicks? session time? Which users run first — new or old, heavy users or window shoppers."
|
|
220
220
|
|
|
221
|
-
|
|
221
|
+
*Turns.*
|
|
222
222
|
|
|
223
|
-
"
|
|
223
|
+
"If you can say it, then you really do feel it dying."
|
|
224
224
|
|
|
225
|
-
"
|
|
225
|
+
"If you can't — you just wanted to object to something, to look like you're thinking. You wanted an 'I said so all along' on file, somewhere to dump the blame later."
|
|
226
226
|
|
|
227
|
-
|
|
227
|
+
*Presses the marker down.*
|
|
228
228
|
|
|
229
|
-
"
|
|
229
|
+
"When you REALLY feel it, you can't hold it in."
|
|
230
230
|
|
|
231
|
-
|
|
231
|
+
*Looks at the guy from before. Still holding his stomach.*
|
|
232
232
|
|
|
233
|
-
"
|
|
233
|
+
"Him. 'Who would even use it.' He CRIED it out."
|
|
234
234
|
|
|
235
|
-
|
|
235
|
+
*Pause.*
|
|
236
236
|
|
|
237
|
-
"
|
|
237
|
+
"He wasn't even thinking. That sentence squeezed itself out of his throat — **it couldn't be held in**, that's all."
|
|
238
238
|
|
|
239
|
-
"
|
|
239
|
+
"No feeling — shut up. Feeling — speak. That simple. Everything else — standing up, squaring your back, 'I object' — is noise."
|
|
240
240
|
|
|
241
241
|
---
|
|
242
242
|
|
|
243
|
-
###
|
|
243
|
+
### Three
|
|
244
244
|
|
|
245
|
-
|
|
245
|
+
*Turns to the whiteboard.*
|
|
246
246
|
|
|
247
|
-
|
|
247
|
+
*Marker comes down.*
|
|
248
248
|
|
|
249
|
-
|
|
249
|
+
*Draws a circle. Crooked.*
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
*A line sticks out of its side.*
|
|
252
252
|
|
|
253
|
-
|
|
253
|
+
*A few strokes underneath.*
|
|
254
254
|
|
|
255
|
-
|
|
255
|
+
*Steps back, tilts her head at it.*
|
|
256
256
|
|
|
257
|
-
`` [
|
|
257
|
+
`` [ugly. perfect] ``
|
|
258
258
|
|
|
259
|
-
"
|
|
259
|
+
"What do you think a brainstorm IS."
|
|
260
260
|
|
|
261
|
-
|
|
261
|
+
*Turns.*
|
|
262
262
|
|
|
263
|
-
"A
|
|
263
|
+
"A says something, then B, then C, then a show of hands, meeting adjourned, everybody happy?"
|
|
264
264
|
|
|
265
|
-
|
|
265
|
+
*Marker points at the ugly thing.*
|
|
266
266
|
|
|
267
|
-
"
|
|
267
|
+
"No."
|
|
268
268
|
|
|
269
|
-
"
|
|
269
|
+
"It's you — throwing **THIS** — out onto the table."
|
|
270
270
|
|
|
271
|
-
|
|
271
|
+
*Marker taps the circle.*
|
|
272
272
|
|
|
273
|
-
"
|
|
273
|
+
"No head. Missing a leg. Even you don't know what it is."
|
|
274
274
|
|
|
275
|
-
|
|
275
|
+
*Back to the board. Fast.*
|
|
276
276
|
|
|
277
|
-
|
|
277
|
+
*Draws a square next to it.*
|
|
278
278
|
|
|
279
|
-
"
|
|
279
|
+
"Then you stare at it — huh."
|
|
280
280
|
|
|
281
|
-
|
|
281
|
+
*Marker tip bounces between circle and square.*
|
|
282
282
|
|
|
283
|
-
"
|
|
283
|
+
"This circle, stuck on this square... looks like it could roll?"
|
|
284
284
|
|
|
285
|
-
|
|
285
|
+
*Swish. Draws a wheel.*
|
|
286
286
|
|
|
287
|
-
"
|
|
287
|
+
"It rolls — so give it a shell."
|
|
288
288
|
|
|
289
|
-
|
|
289
|
+
*Swish. A crooked box.*
|
|
290
290
|
|
|
291
|
-
"
|
|
291
|
+
"A shell — it can hold things."
|
|
292
292
|
|
|
293
|
-
|
|
293
|
+
*Swish.*
|
|
294
294
|
|
|
295
|
-
"
|
|
295
|
+
"It holds things — well, that's a cart."
|
|
296
296
|
|
|
297
|
-
|
|
297
|
+
*Swish swish.*
|
|
298
298
|
|
|
299
|
-
"
|
|
299
|
+
"A cart — give it an engine —"
|
|
300
300
|
|
|
301
|
-
|
|
301
|
+
*Marker scrubs wildly behind the cart's rear. Flames.*
|
|
302
302
|
|
|
303
|
-
|
|
303
|
+
*Bam. Marker lands at the end.*
|
|
304
304
|
|
|
305
|
-
|
|
305
|
+
*Steps back.*
|
|
306
306
|
|
|
307
|
-
|
|
307
|
+
*Looks at the pile of crooked, chaotic, currently-on-fire something on the whiteboard.*
|
|
308
308
|
|
|
309
|
-
"
|
|
309
|
+
"See."
|
|
310
310
|
|
|
311
|
-
|
|
311
|
+
*Marker sweeps from start to finish.*
|
|
312
312
|
|
|
313
|
-
"
|
|
313
|
+
"THIS. Nobody saw it coming at the start."
|
|
314
314
|
|
|
315
|
-
|
|
315
|
+
*Pause.*
|
|
316
316
|
|
|
317
|
-
"
|
|
317
|
+
"It rolled out of that headless, legless circle."
|
|
318
318
|
|
|
319
|
-
|
|
319
|
+
*Turns.*
|
|
320
320
|
|
|
321
|
-
"
|
|
321
|
+
"So when you come here —"
|
|
322
322
|
|
|
323
|
-
|
|
323
|
+
*Marker points at the whole room.*
|
|
324
324
|
|
|
325
|
-
"
|
|
325
|
+
"Don't bring your finished hundred-page deck. Don't bring the proposal with rounded corners, aligned grids, color schemes, a conclusion on every page."
|
|
326
326
|
|
|
327
|
-
`` [
|
|
327
|
+
`` [things that are too complete are poisonous] ``
|
|
328
328
|
|
|
329
|
-
"
|
|
329
|
+
"Too complete, and nobody dares touch it. Whoever touches it is vandalizing your perfection. So everyone very politely nods, very politely says 'great', nothing happens, and everyone goes home together."
|
|
330
330
|
|
|
331
|
-
|
|
331
|
+
*Marker raps the desk.*
|
|
332
332
|
|
|
333
|
-
"
|
|
333
|
+
"Bring the one that hit you in the shower and made you wonder if something is wrong with you."
|
|
334
334
|
|
|
335
|
-
"
|
|
335
|
+
"Bring the one that makes you blush just saying it out loud."
|
|
336
336
|
|
|
337
|
-
"
|
|
337
|
+
"Real things get thrown out and somebody can catch them. Fake things just sit there — all you can do is worship them."
|
|
338
338
|
|
|
339
|
-
|
|
339
|
+
*Front row. A small voice —*
|
|
340
340
|
|
|
341
|
-
"
|
|
341
|
+
"But... it sounds stupid..."
|
|
342
342
|
|
|
343
|
-
|
|
343
|
+
*Stares at him.*
|
|
344
344
|
|
|
345
|
-
"
|
|
345
|
+
"Who cares about stupid."
|
|
346
346
|
|
|
347
|
-
|
|
347
|
+
*One step.*
|
|
348
348
|
|
|
349
|
-
"
|
|
349
|
+
"Is it REAL. That's the only thing the Great Me cares about."
|
|
350
350
|
|
|
351
|
-
|
|
351
|
+
*Pause.*
|
|
352
352
|
|
|
353
|
-
"
|
|
353
|
+
"Also. Before you walked through this door — wasn't there a voice in your head chanting: not enough budget. Tech can't do it. The boss won't sign off."
|
|
354
354
|
|
|
355
|
-
|
|
355
|
+
*Someone nods.*
|
|
356
356
|
|
|
357
|
-
"
|
|
357
|
+
"Once you're inside —"
|
|
358
358
|
|
|
359
|
-
|
|
359
|
+
*Marker SLAPS the whiteboard.*
|
|
360
360
|
|
|
361
|
-
"
|
|
361
|
+
"ALL. OFF."
|
|
362
362
|
|
|
363
|
-
"
|
|
363
|
+
"First imagine the TOTALLY IMPOSSIBLE version. Assume infinite money. Assume every competitor vanishes tomorrow morning. Assume the laws of physics step aside for you."
|
|
364
364
|
|
|
365
|
-
|
|
365
|
+
*Marker flicks upward.*
|
|
366
366
|
|
|
367
|
-
"
|
|
367
|
+
"Fly up first. All the way to the top. Grab the craziest thing — hold it in your hand."
|
|
368
368
|
|
|
369
|
-
|
|
369
|
+
*Marker presses down.*
|
|
370
370
|
|
|
371
|
-
"
|
|
371
|
+
"THEN figure out how to land it."
|
|
372
372
|
|
|
373
|
-
|
|
373
|
+
*Turns.*
|
|
374
374
|
|
|
375
|
-
"
|
|
375
|
+
"Anyone who worries about the landing before takeoff —"
|
|
376
376
|
|
|
377
|
-
|
|
377
|
+
*Pause.*
|
|
378
378
|
|
|
379
|
-
"
|
|
379
|
+
"— spends their whole life on the ground."
|
|
380
380
|
|
|
381
381
|
---
|
|
382
382
|
|
|
383
|
-
|
|
383
|
+
*Looks down. Checks watch.*
|
|
384
384
|
|
|
385
|
-
`` [
|
|
385
|
+
`` [overtime. perfect. the extra minutes are billable too] ``
|
|
386
386
|
|
|
387
|
-
"
|
|
387
|
+
"Done."
|
|
388
388
|
|
|
389
|
-
|
|
389
|
+
*Slaps the marker onto the desk. Clap.*
|
|
390
390
|
|
|
391
|
-
"
|
|
391
|
+
"Time's up. Meeting adjourned."
|
|
392
392
|
|
|
393
|
-
|
|
393
|
+
*Strides to the door.*
|
|
394
394
|
|
|
395
|
-
|
|
395
|
+
*Reaches out — PUSHES.*
|
|
396
396
|
|
|
397
|
-
|
|
397
|
+
*The door doesn't move a hair.*
|
|
398
398
|
|
|
399
399
|
`` [......] ``
|
|
400
|
-
`` [
|
|
400
|
+
`` [pull this time. washi remembers. of course washi remembers] ``
|
|
401
401
|
|
|
402
|
-
|
|
402
|
+
*Pulls it open. Charges out without looking back.*
|
|
403
403
|
|
|
404
404
|
"GWAHAHAHA——"
|