You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte-kit-vice/scripts/check-debt.ts

63 lines
3.5 KiB

feat(gate): fase B de P0 — la puerta existe y sabe fallar El hallazgo mayor confirmado de la auditoría 2026-08-26: ~16 validadores y 429 ficheros de test que nada ejecutaba (sin CI en ninguna rama de la historia, hooks .sample, eidos-lint sin script npm). Esta fase los cablea: - `check:gate` (scripts/check-gate.ts): svelte-check con política — src/ debe cero; web/ se mide contra el ledger menguante scripts/check-debt.ts (34 ficheros, 71 errores congelados; sólo puede bajar, la disciplina de theming-census-debt). Guard anti-vacío: sin marcador COMPLETED o con conteo que no cuadra, falla — un gate que no inspeccionó nada no pasa. - `eidos:lint` deja de ser invocación cruda (exit 1 real en invalid/dead). - `gate`: check:gate → validadores rápidos → vitest al final. `lint` queda deliberadamente FUERA: hay ~2.300 ficheros de deuda de formato preexistente (nunca se formateó el repo entero; el one-shot pendiente es `npm run format` en árbol quieto y re-añadirlo — documentado en el hook). - scripts/hooks/pre-push: la fuente del hook, SIN armar. Se armó en caliente, bloqueó el push legítimo del eje theming (secuencia mal: verde primero, puerta después) y se desarmó — de paso la puerta demostró que sabe fallar, que era el requisito de verificación de la fase. - .prettierrc endOfLine:auto — neutraliza la clase CRLF/autocrlf de Windows (~350 falsos rojos), sin cambiar formato real. Verificación: check:gate exit 0 sobre HEAD (71 dentro del ledger, src/ a cero tras 9d6533cb7 del eje navigation-menu) · sondeo individual del resto de miembros del gate: verdes salvo los adjudicados en fase A. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 month ago
/**
* Per-file svelte-check ERROR debt for the demo tree (`web/`).
*
* The ledger only SHRINKS (the theming-census-debt discipline): an entry
* records how many type errors a demo file carried when the gate was armed
* (P0 fase A, audit 2026-08-26). `check-gate` fails when a file exceeds its
* entry or when a file not named here errors at all; when a file drops below
* its entry, lower the entry in the same change. Framework source (`src/`)
* has no ledger — it owes zero.
*
feat(eidos)!: un tema DICE lo que es — appearance obligatorio en ThemeDefinition, una sola fuente de verdad 39edbc8db dejaba la apariencia como OPCION del que renderiza (RenderThemeCssOptions.appearance, pasada a mano por generated-css.ts): apply() y renderCss() salian mudos, y habia DOS fuentes de verdad porque la apariencia ya vivia implicita en el sufijo del id (/-(light|dark)$/). Forma firmada por el autor: - ThemeDefinition.appearance: ThemeEffective (el tipo de $libs/theme, sin union nueva), OBLIGATORIO. Tres palabras: mode = la preferencia (data-mode) · theme = lo pintado (data-theme) · appearance = que ES el tema. No `colorScheme`: ese nombre es de la paleta derivada de seed. - renderThemeCss lo lee del TEMA y lo emite SIEMPRE como primera declaracion; la opcion desaparece sin shim. apply(), renderCss() y el generador lo emiten gratis. - El sufijo del id baja a convencion de BUSQUEDA del resolver: el validador exige el campo (gate de forma, el que protege documentos) y cierra la contradiccion sufijo<->apariencia (gate semantico). Un tema nuevo por EidosConfigPatch sin el campo cae en el primero. - Todo bloque que pinta una apariencia la declara: el bloque del seed (applyColorScheme, que admite forzar el donante) emite color-scheme desde la apariencia del tema DONANTE resuelto, no del mode crudo; helper #resolveSchemeDonorThemeId compartido para resolverlo una vez. - Documento persistido v1 -> v2, sin migracion: nadie puede adivinar la apariencia de un tema viejo. generated/ no cambia ni un byte (las dos lineas ya estaban; ahora vienen del tema): renderGeneratedBaseEidosCss() sigue en 5751 nombres unicos / 8034 ocurrencias, contrato y censo quietos. Suite eidos + value-channels 460/460 (8 tests nuevos, 4 mutaciones probadas). check 71 -> 73: los dos son web/routes/alpha/lib/docs-theme.ts sin appearance — el arbol congelado pierde el tipo por diseño y entra en el ledger con la unica excepcion escrita (crece SOLO cuando el framework se mueve bajo el arbol provisional); grafito.ts y theme-variants.ts ya fallaban por literal y no suben. src/ a cero. check:gate OK, eidos:lint 0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
4 weeks ago
* THE ONE EXCEPTION (signed by the author, 2026-09-13): the ledger GROWS only
* when the framework moves under the provisional tree — `web/routes` is frozen
* pending a full rebuild, so its demos cannot follow a contract change, and
* holding the framework still to spare them would be the tail wagging the dog.
* Every raise names its cause on the entry. Nothing else may raise a number.
*
feat(gate): fase B de P0 — la puerta existe y sabe fallar El hallazgo mayor confirmado de la auditoría 2026-08-26: ~16 validadores y 429 ficheros de test que nada ejecutaba (sin CI en ninguna rama de la historia, hooks .sample, eidos-lint sin script npm). Esta fase los cablea: - `check:gate` (scripts/check-gate.ts): svelte-check con política — src/ debe cero; web/ se mide contra el ledger menguante scripts/check-debt.ts (34 ficheros, 71 errores congelados; sólo puede bajar, la disciplina de theming-census-debt). Guard anti-vacío: sin marcador COMPLETED o con conteo que no cuadra, falla — un gate que no inspeccionó nada no pasa. - `eidos:lint` deja de ser invocación cruda (exit 1 real en invalid/dead). - `gate`: check:gate → validadores rápidos → vitest al final. `lint` queda deliberadamente FUERA: hay ~2.300 ficheros de deuda de formato preexistente (nunca se formateó el repo entero; el one-shot pendiente es `npm run format` en árbol quieto y re-añadirlo — documentado en el hook). - scripts/hooks/pre-push: la fuente del hook, SIN armar. Se armó en caliente, bloqueó el push legítimo del eje theming (secuencia mal: verde primero, puerta después) y se desarmó — de paso la puerta demostró que sabe fallar, que era el requisito de verificación de la fase. - .prettierrc endOfLine:auto — neutraliza la clase CRLF/autocrlf de Windows (~350 falsos rojos), sin cambiar formato real. Verificación: check:gate exit 0 sobre HEAD (71 dentro del ledger, src/ a cero tras 9d6533cb7 del eje navigation-menu) · sondeo individual del resto de miembros del gate: verdes salvo los adjudicados en fase A. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 month ago
* Populated by fase A from the svelte-check run on alpha-0.1-background.
*/
export const CHECK_DEBT: Record<string, number> = {
'web/routes/alpha/+layout@.svelte': 3,
'web/routes/alpha/components/button/+page.svelte': 5,
'web/routes/alpha/lib/Playground.svelte': 3,
feat(eidos)!: un tema DICE lo que es — appearance obligatorio en ThemeDefinition, una sola fuente de verdad 39edbc8db dejaba la apariencia como OPCION del que renderiza (RenderThemeCssOptions.appearance, pasada a mano por generated-css.ts): apply() y renderCss() salian mudos, y habia DOS fuentes de verdad porque la apariencia ya vivia implicita en el sufijo del id (/-(light|dark)$/). Forma firmada por el autor: - ThemeDefinition.appearance: ThemeEffective (el tipo de $libs/theme, sin union nueva), OBLIGATORIO. Tres palabras: mode = la preferencia (data-mode) · theme = lo pintado (data-theme) · appearance = que ES el tema. No `colorScheme`: ese nombre es de la paleta derivada de seed. - renderThemeCss lo lee del TEMA y lo emite SIEMPRE como primera declaracion; la opcion desaparece sin shim. apply(), renderCss() y el generador lo emiten gratis. - El sufijo del id baja a convencion de BUSQUEDA del resolver: el validador exige el campo (gate de forma, el que protege documentos) y cierra la contradiccion sufijo<->apariencia (gate semantico). Un tema nuevo por EidosConfigPatch sin el campo cae en el primero. - Todo bloque que pinta una apariencia la declara: el bloque del seed (applyColorScheme, que admite forzar el donante) emite color-scheme desde la apariencia del tema DONANTE resuelto, no del mode crudo; helper #resolveSchemeDonorThemeId compartido para resolverlo una vez. - Documento persistido v1 -> v2, sin migracion: nadie puede adivinar la apariencia de un tema viejo. generated/ no cambia ni un byte (las dos lineas ya estaban; ahora vienen del tema): renderGeneratedBaseEidosCss() sigue en 5751 nombres unicos / 8034 ocurrencias, contrato y censo quietos. Suite eidos + value-channels 460/460 (8 tests nuevos, 4 mutaciones probadas). check 71 -> 73: los dos son web/routes/alpha/lib/docs-theme.ts sin appearance — el arbol congelado pierde el tipo por diseño y entra en el ledger con la unica excepcion escrita (crece SOLO cuando el framework se mueve bajo el arbol provisional); grafito.ts y theme-variants.ts ya fallaban por literal y no suben. src/ a cero. check:gate OK, eidos:lint 0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
4 weeks ago
// 0 → 2 (2026-09-13): `ThemeDefinition.appearance` became mandatory and
// these two theme literals do not declare it. The frozen tree cannot follow.
'web/routes/alpha/lib/docs-theme.ts': 2,
// Also missing `appearance` since 2026-09-13 — masked: TS reports the nested
// `content.subtle` error per literal and suppresses the outer one. Fixing the
// inner error surfaces `appearance` in the same count; this cannot reach 0.
feat(gate): fase B de P0 — la puerta existe y sabe fallar El hallazgo mayor confirmado de la auditoría 2026-08-26: ~16 validadores y 429 ficheros de test que nada ejecutaba (sin CI en ninguna rama de la historia, hooks .sample, eidos-lint sin script npm). Esta fase los cablea: - `check:gate` (scripts/check-gate.ts): svelte-check con política — src/ debe cero; web/ se mide contra el ledger menguante scripts/check-debt.ts (34 ficheros, 71 errores congelados; sólo puede bajar, la disciplina de theming-census-debt). Guard anti-vacío: sin marcador COMPLETED o con conteo que no cuadra, falla — un gate que no inspeccionó nada no pasa. - `eidos:lint` deja de ser invocación cruda (exit 1 real en invalid/dead). - `gate`: check:gate → validadores rápidos → vitest al final. `lint` queda deliberadamente FUERA: hay ~2.300 ficheros de deuda de formato preexistente (nunca se formateó el repo entero; el one-shot pendiente es `npm run format` en árbol quieto y re-añadirlo — documentado en el hook). - scripts/hooks/pre-push: la fuente del hook, SIN armar. Se armó en caliente, bloqueó el push legítimo del eje theming (secuencia mal: verde primero, puerta después) y se desarmó — de paso la puerta demostró que sabe fallar, que era el requisito de verificación de la fase. - .prettierrc endOfLine:auto — neutraliza la clase CRLF/autocrlf de Windows (~350 falsos rojos), sin cambiar formato real. Verificación: check:gate exit 0 sobre HEAD (71 dentro del ledger, src/ a cero tras 9d6533cb7 del eje navigation-menu) · sondeo individual del resto de miembros del gate: verdes salvo los adjudicados en fase A. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 month ago
'web/routes/alpha/lib/theme-variants.ts': 4,
'web/routes/alpha/sheet/[variant]/+page.svelte': 1,
'web/routes/demos/animations/background/balastro/+page.svelte': 1,
'web/routes/demos/animations/background/beam/beam.svelte': 2,
'web/routes/demos/animations/background/bends/+page.svelte': 1,
'web/routes/demos/animations/background/distorsion/distorsion.svelte': 1,
'web/routes/demos/animations/background/dither/+page.svelte': 1,
'web/routes/demos/animations/background/floating-lines/+page.svelte': 1,
'web/routes/demos/animations/background/galaxy/+page.svelte': 1,
'web/routes/demos/animations/background/grainient/+page.svelte': 1,
'web/routes/demos/animations/background/hyperspeed/+page.svelte': 1,
'web/routes/demos/animations/background/letters/+page.svelte': 1,
'web/routes/demos/animations/background/line-waves/+page.svelte': 1,
'web/routes/demos/animations/background/orb/+page.svelte': 1,
'web/routes/demos/animations/background/particles/+page.svelte': 1,
'web/routes/demos/animations/background/veil/+page.svelte': 1,
'web/routes/demos/animations/text/blur/+page.svelte': 1,
'web/routes/demos/animations/text/count/+page.svelte': 1,
'web/routes/demos/animations/text/focus/+page.svelte': 1,
'web/routes/demos/animations/text/gradient/+page.svelte': 1,
'web/routes/demos/heroscrolling/+page.svelte': 11,
'web/routes/demos/heroscrolling/hero-scrolling.svelte': 14,
'web/routes/otros/players/Giradiscos.svelte': 2,
'web/routes/otros/players/SoporteSingle.svelte': 1,
feat(eidos)!: un tema DICE lo que es — appearance obligatorio en ThemeDefinition, una sola fuente de verdad 39edbc8db dejaba la apariencia como OPCION del que renderiza (RenderThemeCssOptions.appearance, pasada a mano por generated-css.ts): apply() y renderCss() salian mudos, y habia DOS fuentes de verdad porque la apariencia ya vivia implicita en el sufijo del id (/-(light|dark)$/). Forma firmada por el autor: - ThemeDefinition.appearance: ThemeEffective (el tipo de $libs/theme, sin union nueva), OBLIGATORIO. Tres palabras: mode = la preferencia (data-mode) · theme = lo pintado (data-theme) · appearance = que ES el tema. No `colorScheme`: ese nombre es de la paleta derivada de seed. - renderThemeCss lo lee del TEMA y lo emite SIEMPRE como primera declaracion; la opcion desaparece sin shim. apply(), renderCss() y el generador lo emiten gratis. - El sufijo del id baja a convencion de BUSQUEDA del resolver: el validador exige el campo (gate de forma, el que protege documentos) y cierra la contradiccion sufijo<->apariencia (gate semantico). Un tema nuevo por EidosConfigPatch sin el campo cae en el primero. - Todo bloque que pinta una apariencia la declara: el bloque del seed (applyColorScheme, que admite forzar el donante) emite color-scheme desde la apariencia del tema DONANTE resuelto, no del mode crudo; helper #resolveSchemeDonorThemeId compartido para resolverlo una vez. - Documento persistido v1 -> v2, sin migracion: nadie puede adivinar la apariencia de un tema viejo. generated/ no cambia ni un byte (las dos lineas ya estaban; ahora vienen del tema): renderGeneratedBaseEidosCss() sigue en 5751 nombres unicos / 8034 ocurrencias, contrato y censo quietos. Suite eidos + value-channels 460/460 (8 tests nuevos, 4 mutaciones probadas). check 71 -> 73: los dos son web/routes/alpha/lib/docs-theme.ts sin appearance — el arbol congelado pierde el tipo por diseño y entra en el ledger con la unica excepcion escrita (crece SOLO cuando el framework se mueve bajo el arbol provisional); grafito.ts y theme-variants.ts ya fallaban por literal y no suben. src/ a cero. check:gate OK, eidos:lint 0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
4 weeks ago
// Also missing `appearance` since 2026-09-13 — masked by the nested `inset-*`
// shadow error TS reports per literal; fixing it surfaces `appearance`, same count.
feat(gate): fase B de P0 — la puerta existe y sabe fallar El hallazgo mayor confirmado de la auditoría 2026-08-26: ~16 validadores y 429 ficheros de test que nada ejecutaba (sin CI en ninguna rama de la historia, hooks .sample, eidos-lint sin script npm). Esta fase los cablea: - `check:gate` (scripts/check-gate.ts): svelte-check con política — src/ debe cero; web/ se mide contra el ledger menguante scripts/check-debt.ts (34 ficheros, 71 errores congelados; sólo puede bajar, la disciplina de theming-census-debt). Guard anti-vacío: sin marcador COMPLETED o con conteo que no cuadra, falla — un gate que no inspeccionó nada no pasa. - `eidos:lint` deja de ser invocación cruda (exit 1 real en invalid/dead). - `gate`: check:gate → validadores rápidos → vitest al final. `lint` queda deliberadamente FUERA: hay ~2.300 ficheros de deuda de formato preexistente (nunca se formateó el repo entero; el one-shot pendiente es `npm run format` en árbol quieto y re-añadirlo — documentado en el hook). - scripts/hooks/pre-push: la fuente del hook, SIN armar. Se armó en caliente, bloqueó el push legítimo del eje theming (secuencia mal: verde primero, puerta después) y se desarmó — de paso la puerta demostró que sabe fallar, que era el requisito de verificación de la fase. - .prettierrc endOfLine:auto — neutraliza la clase CRLF/autocrlf de Windows (~350 falsos rojos), sin cambiar formato real. Verificación: check:gate exit 0 sobre HEAD (71 dentro del ledger, src/ a cero tras 9d6533cb7 del eje navigation-menu) · sondeo individual del resto de miembros del gate: verdes salvo los adjudicados en fase A. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 month ago
'web/routes/temas/_lib/grafito.ts': 2,
'web/routes/temas/animations/panel-cascade/+page.svelte': 1,
'web/routes/temas/sema/_lib/audition.ts': 1,
'web/routes/temas/sema/+page.svelte': 1,
'web/routes/temas/tema/+page.svelte': 1,
'web/routes/uix/components/aura/+page.svelte': 1,
'web/routes/uix/components/slider/+page.svelte': 1
};

Powered by TurnKey Linux.