synthesisui 0.16.378 → 0.16.379

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.
@@ -154,10 +154,55 @@ opts = {}) {
154
154
  * medido em 11/08, 12 de 36 componentes têm árvore diferente entre o leitor de 07/08 e o de hoje.
155
155
  */
156
156
  const measuredBy = await censusMeasuredBy(root);
157
- if (behind(measuredBy, cli, READER_SINCE))
157
+ /**
158
+ * A RÉGUA QUE DIZ "VOCÊ ESTÁ ATRÁS" MORA DENTRO DA VERSÃO QUE ESTÁ ATRÁS - e por isso o silêncio
159
+ * daqui nunca significou que estava tudo em dia.
160
+ *
161
+ * O QUE ACONTECIA, medido em 05/09 no repositório do dono: o `connect` prega a versão do dia em
162
+ * que rodou, e os hooks dele chamam `synthesisui@0.16.370` LITERAL. Abrindo o tarball publicado
163
+ * daquela versão, `READER_SINCE = "0.16.367"`. O censo dele foi medido pela 0.16.376, e o leitor
164
+ * de hoje mudou na 0.16.378. Ele ESTÁ atrás - e a comparação acima, feita com a régua congelada de
165
+ * 0.16.367, responde que não: `isOlderCli("0.16.376", "0.16.367")` é falso, e este check cala.
166
+ *
167
+ * É a armadilha inteira: quem prega uma versão passa a medir a própria defasagem com a régua do
168
+ * dia em que pregou. O aviso só existe na versão que ele não tem, e um check que cala lê como
169
+ * "está em dia" - "ausência de evidência não é evidência", agora com a nossa assinatura.
170
+ *
171
+ * O SINAL QUE FUNCIONA OFFLINE, e é o que fecha a porta em vez de vigiá-la: comparar as duas
172
+ * coisas que este processo JÁ conhece. Se o CLI que está rodando é mais velho que o CLI que
173
+ * MEDIU, então ele está julgando uma medição feita por uma versão que sabe mais do que ele - e
174
+ * nada que ele afirme sobre estar em dia pode ser verdade. Ele não precisa saber o que veio
175
+ * depois; ele só precisa saber que veio.
176
+ *
177
+ * É GERAL e não depende de rede: o `align` não faz uma única chamada HTTP, de propósito, e
178
+ * continua sem fazer. As duas versões estão em disco - uma é a que está executando, a outra está
179
+ * carimbada no censo.
180
+ */
181
+ if (measuredBy && cli && isOlderCli(cli, measuredBy))
182
+ out.push({
183
+ /**
184
+ * A FRASE NÃO CITA UMA FRASE QUE A TELA NÃO IMPRIME.
185
+ *
186
+ * A primeira redação dizia que o *"you are up to date"* deste check não é uma resposta - e
187
+ * este comando nunca escreve essa linha. Ele CALA quando não encontra desalinho, e é o
188
+ * silêncio que era falso. Citar uma frase inexistente manda a pessoa procurar na tela algo
189
+ * que não está lá, que é o defeito de 08/08 outra vez em escala menor.
190
+ */
191
+ says: `this check is running on CLI ${cli}, and the measurement in this repo was read by ${measuredBy} - a newer one. It cannot see what changed in the readers after ${cli}, so its silence about the measurement being current is not an answer. ${cli} is the version pinned the day \`connect\` last ran here.`,
192
+ run: "npx synthesisui@latest connect",
193
+ });
194
+ else if (behind(measuredBy, cli, READER_SINCE))
158
195
  out.push({
159
196
  says: `the measurement stored in this repo was read by an older reader, so what the platform knows about your components is what that reader could see. A re-measure is the only thing that reaches it - the fix lives on this machine, not on the server.`,
160
- run: "npx synthesisui sync",
197
+ /**
198
+ * `connect` VEM PRIMEIRO, e a plataforma já dizia isso enquanto esta linha dizia outra coisa.
199
+ *
200
+ * `readerBehind` em `apps/web/src/lib/ds/reader-behind.ts` devolve os DOIS passos, com o
201
+ * motivo escrito: sem o `connect`, o `sync` pode medir com o leitor velho, reenviar o mesmo
202
+ * censo, e ensinar que sincronizar não adianta - "o pior resultado possível de todos". Esta
203
+ * linha mandava só `sync`, e é ela que roda na máquina dele a cada sessão.
204
+ */
205
+ run: "npx synthesisui@latest connect && npx synthesisui sync",
161
206
  });
162
207
  /**
163
208
  * O ESCOPO, que é o desalinho mais caro e o mais silencioso: sem ele o `sync` mede o repo inteiro
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.378",
3
+ "version": "0.16.379",
4
4
  "description": "Bring SynthesisUI design systems into any project - tokens, typed components, whole pages and an agent-ready CLAUDE.md manifest.",
5
5
  "type": "module",
6
6
  "bin": {