synthesisui 0.16.161 → 0.16.162

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.
@@ -1205,7 +1205,17 @@ export async function takeCensus(root, opts) {
1205
1205
  * product is broken, reasoning correctly from what they were shown. The gap was never
1206
1206
  * the defect; the silence was (dono, 01/08).
1207
1207
  */
1208
- const coverage = summarizeCoverage(shapes, componentFiles, Object.keys(looks).length, Object.values(looks).reduce((n, look) => n +
1208
+ /**
1209
+ * O DENOMINADOR CONTA COMPONENTES, e contava ARQUIVOS.
1210
+ *
1211
+ * `looks` é por NOME e `componentFiles` é por arquivo, então um arquivo que exporta dois
1212
+ * componentes produzia "36 of 35 components came out with a look - 103%" (medido na biblioteca do
1213
+ * dono em 06/08). Uma porcentagem que passa de 100 por construção não é um arredondamento: é a
1214
+ * linha que declara a cobertura da esteira inteira se medindo contra outra unidade.
1215
+ *
1216
+ * `componentFiles` segue existindo para as formas de estilo, que SÃO por arquivo.
1217
+ */
1218
+ const coverage = summarizeCoverage(shapes, defined.length || componentFiles, Object.keys(looks).length, Object.values(looks).reduce((n, look) => n +
1209
1219
  Object.keys(look.base).length +
1210
1220
  Object.keys(look.dark ?? {}).length +
1211
1221
  Object.values(look.states).reduce((m, block) => m + Object.keys(block).length, 0) +
@@ -92,7 +92,16 @@ export function countShape(source, name, into) {
92
92
  }
93
93
  export function summarizeCoverage(counts, components, read, declarations) {
94
94
  return {
95
- components,
95
+ /**
96
+ * NUNCA MENOS QUE O QUE FOI LIDO.
97
+ *
98
+ * `read` conta LOOKS por nome e o denominador chegava contando ARQUIVOS - um arquivo que exporta
99
+ * dois componentes produzia `36 of 35 components came out with a look - 103%` na biblioteca do
100
+ * dono (06/08). O conserto de verdade é o chamador passar a mesma unidade, e ele passa; isto é a
101
+ * trava, para que a linha que declara a cobertura da esteira inteira não possa afirmar mais do
102
+ * que existe se outro chamador errar a unidade de novo.
103
+ */
104
+ components: Math.max(components, read),
96
105
  read,
97
106
  declarations,
98
107
  counts: [...counts.values()].sort((a, b) => b.files - a.files),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.161",
3
+ "version": "0.16.162",
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": {