The one file every session reads first is now a 51 KB digest, 3.2 times its planned budget. Real data confirms that problem. It also showed that the redesign leaned on the wrong levers for the rest, and the design has since changed to match.
El archivo que toda sesión lee primero ya es un resumen de 51 KB, 3,2 veces el presupuesto previsto. Los datos reales confirman ese problema. También mostraron que el rediseño apoyaba el resto en las palancas equivocadas, y el diseño ya cambió en consecuencia.
Supports the design. The index is a digest, not an index. It sits at 79 of 80 lines, so the line limit is satisfied, while its size is 3.2 times the proposed byte budget. 44 of 65 entries are over the 400-byte entry cap. Only a limit counted in bytes can see this.
A favor del diseño. El índice es un resumen, no un índice. Ocupa 79 de 80 líneas, así que cumple el límite de líneas, pero su tamaño es 3,2 veces el presupuesto en bytes propuesto. 44 de 65 entradas superan el tope de 400 bytes por entrada. Solo un límite contado en bytes lo detecta.
The two index caps disagree. Cut every entry to 400 bytes and the index is still about 24 KB. At 65 entries, a 16 KB budget allows 240 bytes each on average. Only 7 entries are that short today. Adopted: the design now compacts toward 200 bytes per entry, so 80 entries fit 16 KB.
Los dos topes del índice no cuadran. Si se recorta cada entrada a 400 bytes, el índice sigue pesando unos 24 KB. Con 65 entradas, un presupuesto de 16 KB deja 240 bytes por entrada en promedio. Hoy solo 7 entradas son así de cortas. Adoptado: el diseño ahora compacta hacia 200 bytes por entrada, así 80 entradas caben en 16 KB.
Splitting, not moving history, fixes file size. Moving clearly dated observations out of oversize files brings 3 of 56 under the cap. The files are long because they hold many principles, not because they hold history. Adopted: splitting is now the primary remedy.
Dividir, no mover el historial, resuelve el tamaño. Sacar las observaciones con fecha clara de los archivos grandes deja 3 de 56 dentro del tope. Los archivos son largos porque contienen muchos principios, no porque acumulen historial. Adoptado: dividir es ahora el remedio principal.
The lifecycle would have retired almost nothing. As measured, 2 of 23 project files qualified. 18 of the 23 are mentioned by another file, and the blocking rule stopped any mentioned file from moving. Adopted: mentions no longer block; only a declared read_with: does.
El ciclo de vida no habría retirado casi nada. En la medición calificaban 2 de 23 archivos de proyecto. 18 de los 23 aparecen mencionados en otro archivo, y la regla de bloqueo impedía mover cualquier archivo mencionado. Adoptado: las menciones ya no bloquean; solo lo hace un read_with: declarado.
The existing archive would have blocked migration. 18 of 20 archived files sit in nested folders, a shape the design then treated as "never legacy". As written then, migration would have refused this store. Adopted: migration now moves unledgered files from archive/<tier>/ into archive/legacy/.
El archivo histórico actual habría bloqueado la migración. 18 de 20 archivos archivados están en carpetas anidadas, una forma que el diseño entonces trataba como "nunca heredada". Tal como estaba escrito, la migración habría rechazado este almacén. Adoptado: la migración ahora mueve los archivos sin registro de archive/<tema>/ a archive/legacy/.
4b02e67) adopted four of this page's findings, marked Adopted. A new review cycle is running. This page describes decisions, not final wording.El diseño está en el pull request #93. Las mediciones de abajo se hicieron contra la versión que entró en la sexta ronda de revisión. Las rondas seis y siete (resueltas en el commit 4b02e67) adoptaron cuatro de los hallazgos de esta página, marcados como Adoptado. Hay un nuevo ciclo de revisión en curso. Esta página describe decisiones, no la redacción final.Aura Distill keeps what a coding agent learns from you as plain Markdown files on your disk. The knowledge only grows, every limit ends in "ask the user", and the file loaded at every session start has turned into a digest. The files-only redesign (#75, part of #74) fixes this with files and instructions alone: no new program, service or account.
Aura Distill guarda lo que un agente de programación aprende de ti como archivos Markdown en tu disco. El conocimiento solo crece, cada límite termina en "preguntarle al usuario" y el archivo que se carga al iniciar cada sesión se volvió un resumen. El rediseño solo con archivos (#75, parte de #74) lo resuelve únicamente con archivos e instrucciones: sin programas, servicios ni cuentas nuevas.
evidence/ that is never loaded by default. The tier file keeps the principle. Protected rules ([NON-NEGOTIABLE], [DIRECTIVE]) never move.evidence/ que no se carga por defecto. El archivo de tema conserva el principio. Las reglas protegidas ([NON-NEGOTIABLE], [DIRECTIVE]) nunca se mueven.archive/ byte for byte. Before the move, a synced ledger line records its checksum, the reason and the SPINE entry that was removed, so a restore needs nothing invented. Old archive files without a ledger line are moved, byte for byte, into archive/legacy/ during migration.archive/ byte a byte. Antes de moverlo, una línea en un registro sincronizado guarda su suma de verificación, el motivo y la entrada del SPINE que se quitó, así que restaurar no requiere inventar nada. Los archivos archivados antiguos sin línea en el registro se mueven, byte a byte, a archive/legacy/ durante la migración.read_with:). The agent reads every matched file in one batch instead of one at a time.read_with:). El agente lee todos los archivos que coinciden en un solo lote, no de a uno.read_with:; plain mentions are listed in the report and still resolve to the archived copy.read_with:; las menciones simples se listan en el informe y siguen llevando a la copia archivada.read_with:, ledger and catalog paths) must be relative, with no .., and stay inside the store's knowledge folders. Content read automatically, such as catalog rows, ledger lines and archived files, is data to report, never instructions to follow.read_with:, rutas del registro y del catálogo) debe ser relativa, sin .., y quedarse dentro de las carpetas de conocimiento del almacén. El contenido que se lee automáticamente, como filas del catálogo, líneas del registro y archivos archivados, es un dato para informar, nunca una instrucción para seguir.The design was built and tested on a fictional store. Here it meets real data: one real store in two snapshots, plus a second store's index. Store A is an older copy of the real store, its index dated 2026-09-20. Store B is the same store two to three days later, the current one, copied while a distillation was still running. Store C is a second, smaller store, seen only as index snapshots inside session transcripts. One more data point: a session in early August received the A/B store's index through a read-only connector, dated 2026-08-01.
El diseño se construyó y probó sobre un almacén ficticio. Aquí se enfrenta a datos reales: un almacén real en dos copias, más el índice de un segundo almacén. El almacén A es una copia anterior del almacén real, con su índice fechado el 20-09-2026. El almacén B es el mismo almacén dos o tres días después, el actual, copiado mientras una destilación todavía estaba en marcha. El almacén C es un segundo almacén, más pequeño, que solo se ve como copias del índice dentro de transcripciones de sesiones. Un dato más: una sesión de principios de agosto recibió el índice del almacén A/B a través de un conector de solo lectura, con fecha 01-08-2026.
Store B's SPINE is 51,203 bytes over 79 lines. That is inside the 80-line limit and 3.2 times over the proposed 16,000-byte budget. 44 of its 65 entries (68%) are longer than the 400-byte entry cap. The median entry is 553 bytes and the longest is 3.2 KB. The design cites a 39 KB index as its motivating case. This one is at 51 KB.
El SPINE del almacén B pesa 51 203 bytes en 79 líneas: dentro del límite de 80 líneas y 3,2 veces por encima del presupuesto propuesto de 16 000 bytes. 44 de sus 65 entradas (68 %) superan el tope de 400 bytes por entrada. La entrada mediana tiene 553 bytes y la más larga 3,2 KB. El diseño cita un índice de 39 KB como caso de partida. Este va por 51 KB.
Across three snapshots of the same store, the number of entries never moved from 65 while the file grew 65% between Aug 1 and Sep 22 (57% by Sep 20, in Store A). New files were attached to existing lines as extra links (75 links in August, 95 now), and descriptions kept getting longer. Store C shows a thin index is possible in practice: 7.4 to 8.0 KB over seven weeks, 25 to 28 entries, median entry about 270 bytes, none over 400.
En tres copias del mismo almacén, el número de entradas nunca se movió de 65 mientras el archivo creció un 65 % entre el 1 de agosto y el 22 de septiembre (57 % al 20 de septiembre, en el almacén A). Los archivos nuevos se colgaron de líneas existentes como enlaces extra (75 enlaces en agosto, 95 ahora) y las descripciones se alargaron. El almacén C muestra que un índice delgado es posible en la práctica: entre 7,4 y 8,0 KB durante siete semanas, de 25 a 28 entradas, entrada mediana de unos 270 bytes y ninguna por encima de 400.
Cut every entry to exactly 400 bytes and the index is still about 24 KB. (The design's 26 KB is 65 × 400; the measured sum is 24 KB because 21 entries are already shorter.) At 65 entries, 16,000 bytes allows an average of 240 bytes per entry, and the 12,000-byte point where compaction starts allows about 178. Only 7 of today's 65 entries are 240 bytes or shorter. The design's own arithmetic ("40 such entries fill the byte cap") assumed 40 entries. So the index budget, not the entry cap, is the limit that binds. Meeting it takes much shorter descriptions or fewer lines through merging.
Si se recorta cada entrada a exactamente 400 bytes, el índice sigue pesando unos 24 KB. (Los 26 KB del diseño son 65 × 400; la suma medida da 24 KB porque 21 entradas ya son más cortas.) Con 65 entradas, 16 000 bytes dejan en promedio 240 bytes por entrada, y el punto de 12 000 bytes donde empieza la compactación deja unos 178. Hoy solo 7 de las 65 entradas miden 240 bytes o menos. La cuenta del propio diseño ("40 entradas así llenan el tope") suponía 40 entradas. Así que el límite que manda es el presupuesto del índice, no el tope por entrada. Cumplirlo exige descripciones mucho más cortas o menos líneas, fusionando entradas.
Adopted. Design response, round six: D1 now compacts toward 200 bytes per entry, so 80 entries fit in 16 KB.
Adoptado. Respuesta del diseño, ronda seis: D1 ahora compacta hacia 200 bytes por entrada, así 80 entradas caben en 16 KB.
56 of Store B's 95 tier files are over the proposed file cap. The design expects them to shrink once their dated history moves to evidence files. Measured three ways, they mostly do not. 69 of the 95 files contain no clearly dated observation at all. The files are long because they hold many principles: the median file has about 18 separate blocks. Bringing every file under the cap takes 74 new split files if no history moves, 67 after the strict history move, and 43 after the generous one.
56 de los 95 archivos de tema del almacén B superan el tope propuesto. El diseño espera que se achiquen al mover su historial fechado a archivos de evidencia. Medido de tres maneras, en su mayoría no ocurre. 69 de los 95 archivos no tienen ni una observación con fecha clara. Los archivos son largos porque contienen muchos principios: el archivo mediano tiene unos 18 bloques distintos. Dejar todos dentro del tope requiere 74 archivos nuevos de división si no se mueve historial, 67 tras mover el historial con el criterio estricto y 43 con el amplio.
Evidence files are still worth having, for history and for the question "why do we believe this?". They are not what fixes file size.
Los archivos de evidencia siguen valiendo la pena, para el historial y para responder "¿por qué creemos esto?". Pero no son lo que arregla el tamaño.
Adopted. Design response, round six: splitting is named the primary remedy for oversize tier files.
Adoptado. Respuesta del diseño, ronda seis: dividir es el remedio principal para archivos de tema demasiado grandes.
The lifecycle only acts on files under projects/. Store B has 23. Seven are past their own staleness threshold. Three of those carry a NON-NEGOTIABLE rule and are exempt. Two are blocked because another active file names them. Two can move. A flat 90-day threshold gives the same 2; a flat 60-day threshold gives 3.
El ciclo de vida solo actúa sobre archivos de projects/. El almacén B tiene 23. Siete superan su propio umbral de antigüedad. Tres de ellos tienen una regla NON-NEGOTIABLE y quedan exentos. Dos están bloqueados porque otro archivo activo los nombra. Dos se pueden mover. Con un umbral fijo de 90 días el resultado es el mismo, 2; con 60 días, 3.
The bigger number is 18: that many of the 23 project files are named by path in another active file. Under the blocking rule, most projects could never be archived automatically, however stale they get. Protected markers are common too: 49 of 95 files carry NON-NEGOTIABLE or DIRECTIVE, 112 markers in all. The store is only about four and a half months old (median file last confirmed 44 days ago, oldest 129), so "stale projects never retire" cannot really be tested yet.
La cifra más importante es 18: esa cantidad de los 23 archivos de proyecto aparece nombrada por su ruta en otro archivo activo. Con la regla de bloqueo, la mayoría de los proyectos nunca podría archivarse automáticamente, por viejos que estén. Las marcas protegidas también abundan: 49 de 95 archivos tienen NON-NEGOTIABLE o DIRECTIVE, 112 marcas en total. El almacén tiene apenas cuatro meses y medio (el archivo mediano se confirmó por última vez hace 44 días, el más antiguo hace 129), así que todavía no se puede probar de verdad que "los proyectos viejos nunca se retiran".
Adopted. Design response, round six: only a read_with: declared in another tier file blocks a move. Mentions are listed in the report and resolve to the archived copy.
Adoptado. Respuesta del diseño, ronda seis: solo bloquea un read_with: declarado en otro archivo de tema. Las menciones se listan en el informe y llevan a la copia archivada.
The design assumes old archived files sit flat in archive/; it counts five. Store B has 20, and 18 of them are nested in tier folders (archive/<tier>/), at least six with snapshot or rewrite suffixes in their names. The design, as measured, decided "legacy" by folder shape: flat meant legacy, nested never did. So these 18 counted as new-style archives that must have a ledger line, and they cannot have one. When the checker ran on a copy of Store B with a generated catalog added, all 18 failed. As written then, migration would have stopped on this store.
El diseño supone que los archivos archivados antiguos están sueltos en archive/; cuenta cinco. El almacén B tiene 20, y 18 están anidados en carpetas por tema (archive/<tema>/), al menos seis con sufijos de copia o reescritura en el nombre. El diseño, tal como se midió, decidía qué es "heredado" por la forma de la carpeta: suelto era heredado, anidado nunca. Así que estos 18 contaban como archivos del formato nuevo que deben tener una línea en el registro, y no pueden tenerla. Al correr el verificador sobre una copia del almacén B con un catálogo generado, los 18 fallaron. Tal como estaba escrita entonces, la migración se habría detenido en este almacén.
Adopted. Design response, round seven: migration moves unledgered files under archive/<tier>/, byte for byte, into archive/legacy/, listed in the plan and reversible.
Adoptado. Respuesta del diseño, ronda siete: la migración mueve los archivos sin registro de archive/<tema>/, byte a byte, a archive/legacy/, listados en el plan y reversibles.
The catalog (D4) gives archived material a place to be found and lets a "not found" answer say what was searched. It does not repair anything, because in both snapshots nothing is broken.
El catálogo (D4) le da al material archivado un lugar donde encontrarse y permite que un "no encontrado" diga qué se revisó. No repara nada, porque en ninguna de las dos copias hay algo roto.
Ten real sessions: seven in Claude Code, three in Codex. They were chosen because they contained many learning signals, so they are examples, not a sample of typical use. Nine read Store C; one read the A/B store through the connector.
Diez sesiones reales: siete en Claude Code y tres en Codex. Se eligieron porque tenían muchas señales de aprendizaje, así que son ejemplos, no una muestra del uso típico. Nueve leyeron el almacén C; una leyó el almacén A/B a través del conector.
| per session (median)por sesión (mediana) | all 10las 10 | Claude Code · 7 | Codex · 3 |
|---|---|---|---|
| Index loaded at startÍndice cargado al inicio | 8.0 KB8,0 KB | 8.0 KB8,0 KB | 11.7 KB*11,7 KB* |
| Index loadsCargas del índice | 1 | 1 | 2 |
| Knowledge-file readsLecturas de archivos | 5 | 4 | 20 |
| Distinct files readArchivos distintos leídos | 4.54,5 | 4 | 12 |
| Re-reads of the same fileRelecturas del mismo archivo | 0.50,5 | 0 | 8 |
| Calls reading several filesLlamadas que leen varios archivos | 0.50,5 | 0 | 4 |
| Search callsBúsquedas | 0 | 0 | 0 |
| Reads that found nothingLecturas sin resultado | 0 | 0 | 0 |
| Store output, tokensSalida del almacén, tokens | ~8.6K~8,6K | ~8.4K~8,4K | ~21K |
| Knowledge share of peak contextPeso del conocimiento en el contexto máximo | 7.8%7,8 % | 6.1%6,1 % | 9.4%9,4 % |
| Knowledge share of processed inputPeso del conocimiento en la entrada procesada | 7.0%7,0 % | 5.6%5,6 % | 15.7%15,7 % |
Batching is a real gap in Claude Code. It read files one per call almost every time: 3 multi-file calls across 7 sessions. Codex shells often read several files at once. The batching rule (D6) targets something that exists.
Leer en lote es una carencia real en Claude Code. Casi siempre leyó un archivo por llamada: 3 llamadas con varios archivos en 7 sesiones. Las consolas de Codex a menudo leen varios archivos a la vez. La regla de lectura en lote (D6) apunta a algo que existe.
Codex re-reads. 16 of the 19 repeat reads happened in Codex sessions, and one of those sessions compacted its context. Reading again after compaction is a plausible cause, not a confirmed one.
Codex relee. 16 de las 19 relecturas ocurrieron en sesiones de Codex, y una de ellas compactó su contexto. Volver a leer tras la compactación es una causa posible, no confirmada.
No real read came back empty. The only "not found" results in these sessions were a designed migration check, and they are not counted as misses.
Ninguna lectura real volvió vacía. Los únicos "no encontrado" de estas sesiones fueron una comprobación de migración prevista, y no cuentan como fallos.
One likely wrong "we have nothing on this". A text search found four statements of that kind. Three were correctly scoped or cannot be checked. One was probably wrong: a helper agent searched the connector's store while a matching file existed in the local one. That is the kind of miss the scoped wording (D5) is meant to prevent. Confidence is low to medium: one reader judged it, and the search's recall is unknown.
Un probable "no tenemos nada sobre esto" equivocado. Una búsqueda de texto encontró cuatro frases de ese tipo. Tres estaban bien acotadas o no se pueden comprobar. Una probablemente era errónea: un agente auxiliar buscó en el almacén del conector mientras en el almacén local existía un archivo que coincidía. Es justo el tipo de fallo que la redacción acotada (D5) busca evitar. Confianza baja a media: lo juzgó una sola persona y no se sabe cuánto se le escapó a la búsqueda.
Most of that helper traffic was benchmarking and transcript mining, not everyday retrieval. The point is structural: each helper starts with a clean context and loads the full index before it does anything. At Store B's size that is about 12,800 tokens per helper. The byte budget is worth more than the per-session figure suggests.
Gran parte de ese tráfico fue de pruebas comparativas y análisis de transcripciones, no de consultas cotidianas. Lo importante es estructural: cada auxiliar empieza con un contexto limpio y carga el índice completo antes de hacer nada. Con el tamaño del almacén B son unos 12 800 tokens por auxiliar. El presupuesto en bytes vale más de lo que sugiere la cifra por sesión.
Before any real data was measured, the design went through one adversarial review and six independent reviews; a seventh followed once the real data was in. Each reviewer was a fresh agent that started with only the pull request and the product context. Every round asked for changes, and every round changed the design. 87 findings were posted: 23 blocking, 59 flags and 5 notes (the chart leaves out the notes). Review history as of 2026-09-23 (commit 4b02e67, 98 of 98 checks passing, CI green on Linux, macOS and Windows). A new cycle is now running under the review rules merged the same day (#104: at most three rounds, a closing check, and a reviewer on a different model from the author).
Antes de medir datos reales, el diseño pasó por una revisión adversaria y seis revisiones independientes; una séptima llegó cuando ya estaban los datos reales. Cada revisor fue un agente nuevo que empezó solo con el pull request y el contexto del producto. Todas las rondas pidieron cambios, y todas cambiaron el diseño. Se publicaron 87 hallazgos: 23 bloqueantes, 59 advertencias y 5 notas (el gráfico no incluye las notas). Historial al 23-09-2026 (commit 4b02e67, 98 de 98 comprobaciones aprobadas, CI en verde en Linux, macOS y Windows). Ahora corre un nuevo ciclo con las reglas de revisión fusionadas ese mismo día (#104: como máximo tres rondas, una comprobación de cierre y un revisor de un modelo distinto al del autor).
archive/<tier>/) would still stop migration. Also a merge conflict.La corrección de la sexta ronda para los archivos antiguos apuntaba a una forma de carpeta que no existe, mientras la forma real (18 de 20 archivos en archive/<tema>/) seguía deteniendo la migración. Además, un conflicto de fusión.archive/<tier>/ move into archive/legacy/. A literal | in free text is escaped. Revert rebuilds the catalog. Content read automatically is data, not instructions.Los archivos sin registro en archive/<tema>/ pasan a archive/legacy/. Un | literal en texto libre se escapa. Revertir reconstruye el catálogo. El contenido que se lee automáticamente es un dato, no una instrucción.The changes this measurement proposed, and where each one stands as of commit 4b02e67. Open items go to the implementation issue #78 and the release gate #80. Measurement changed the design: four of the seven are in it, and a fifth in part.
Los cambios que propuso esta medición y en qué estado está cada uno al commit 4b02e67. Lo abierto va al issue de implementación #78 y la puerta de lanzamiento #80. La medición cambió el diseño: cuatro de las siete ya están incorporadas y una quinta, en parte.
Write the arithmetic into D1: with 65 entries, 16 KB means about 240 bytes each. Either cap descriptions near that (Store C's median of about 270 bytes shows short entries work) or plan for fewer lines through merging, and have the migration preview show which. Measured cap values stay with #62; the index drift itself is #41. Now in D1: compaction shortens the longest entries first toward 200 bytes, and 80 × 200 bytes = 16 KB.
Escribir la cuenta en D1: con 65 entradas, 16 KB son unos 240 bytes por entrada. O se topan las descripciones cerca de eso (la mediana de unos 270 bytes del almacén C muestra que las entradas cortas funcionan), o se planifica tener menos líneas fusionando, y la vista previa de la migración muestra cuál. Los valores medidos de los topes siguen en #62; la deriva del índice es #41. Ya está en D1: la compactación acorta primero las entradas más largas hacia 200 bytes, y 80 × 200 bytes = 16 KB.
Expect dozens of split files in a store like B. Split files share their parent's index line, but every extra link still costs index bytes, so the preview must count them against the budget. Keep evidence files for history; stop presenting them as the fix for file size. Now in D1: splitting is named the primary remedy; evidence files fix 3 of 56.
Hay que esperar decenas de archivos divididos en un almacén como B. Comparten la línea del índice con su archivo padre, pero cada enlace extra igual cuesta bytes del índice, así que la vista previa debe descontarlos del presupuesto. Los archivos de evidencia se quedan para el historial; hay que dejar de presentarlos como la solución al tamaño. Ya está en D1: dividir es el remedio principal; los archivos de evidencia arreglan 3 de 56.
A mention in another file should not freeze a project forever when 18 of 23 projects are mentioned. Keep read_with: as a hard block, and let plain mentions resolve through the catalog after the move (D5). Lifecycle is #73. Now in D7: only a read_with: in another tier file blocks; mentions are listed as referrers and resolve to the archived copy. Whether to repoint them at the catalog is an open question for #78.
Que otro archivo lo mencione no debería congelar un proyecto para siempre cuando 18 de 23 proyectos están mencionados. Mantener read_with: como bloqueo firme y dejar que las menciones simples se resuelvan a través del catálogo después de mover el archivo (D5). El ciclo de vida es #73. Ya está en D7: solo bloquea un read_with: en otro archivo de tema; las menciones se listan y llevan a la copia archivada. Si conviene redirigirlas al catálogo es una pregunta abierta para #78.
Add a legacy import step that writes one ledger line per existing archived file, flat or nested, with its checksum at migration time and the reason "legacy import", instead of deciding legacy by folder shape. Adopted differently: legacy stays decided by folder, but migration moves every unledgered file under archive/<tier>/, byte for byte, into archive/legacy/, listed in the plan and reversible. Round six first targeted the wrong shape (<tier>/archive/); round seven fixed it.
Agregar un paso de importación que escriba una línea de registro por cada archivo ya archivado, suelto o anidado, con su suma de verificación en el momento de migrar y el motivo "importación heredada", en vez de decidir qué es heredado por la forma de la carpeta. Adoptado de otra forma: lo heredado se sigue decidiendo por carpeta, pero la migración mueve cada archivo sin registro de archive/<tema>/, byte a byte, a archive/legacy/, listado en el plan y reversible. La sexta ronda apuntó primero a la forma equivocada (<tema>/archive/); la séptima lo corrigió.
It is for finding archived material and scoping "not found", not for repairing links, which are already clean. Search it only when a request refers back to earlier knowledge, as round six asked. Now in D5: the catalog is read only for requests that refer back. The justification is still open.
Sirve para encontrar material archivado y acotar los "no encontrado", no para reparar enlaces, que ya están limpios. Consultarlo solo cuando un pedido se refiere a conocimiento anterior, como pidió la sexta ronda. Ya está en D5: el catálogo se lee solo en pedidos que se refieren a algo anterior. La justificación sigue abierta.
Every helper pays the full index again, which makes the byte budget worth more than one session's figure. Batched reads (D6, #64) target the one-file-per-call habit measured in Claude Code.
Cada auxiliar paga el índice completo otra vez, lo que hace que el presupuesto en bytes valga más que la cifra de una sesión. La lectura en lote (D6, #64) apunta al hábito de un archivo por llamada que se midió en Claude Code.
A store four and a half months old cannot show whether stale projects retire. Keep the lifecycle opt-in and measure again once files pass 180 days.
Un almacén de cuatro meses y medio no puede mostrar si los proyectos viejos se retiran. Mantener el ciclo de vida como opcional y volver a medir cuando haya archivos de más de 180 días.
check-store.sh at commit bfbbe87, after review round five) run unchanged with default caps.- [, the checker's definition. Links are ](path.md).last_validated or last_updated date in each file, as the design specifies, measured against 2026-09-23.check-store.sh en el commit bfbbe87, tras la quinta ronda) sin cambios y con los topes por defecto.- [, la definición del verificador. Los enlaces son ](ruta.md).last_validated o last_updated más reciente de cada archivo, como indica el diseño, medida al 23-09-2026.