OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
HASH      0752e997b344
DATE      2026-07-18
SUBJECT   web: commit pages collapse to diffstat at humane thresholds, per-file diff
          cap
FILES     1 CHANGED
HASH      0752e997b344
DATE      2026-07-18
SUBJECT   web: commit pages collapse to diffstat
          at humane thresholds, per-file diff
          cap
FILES     1 CHANGED
 

diff --git a/ooknet-design/src/lib/git.ts b/ooknet-design/src/lib/git.ts
index af62406..89af7c7 100644
--- a/ooknet-design/src/lib/git.ts
+++ b/ooknet-design/src/lib/git.ts
@@ -211,8 +211,9 @@ export interface Commit {
   stat?: string;
 }
 
-/** True when a numstat says the patch is too big for a page - data
- *  dumps produce patches in the hundreds of megabytes. */
+/** True when a numstat says the patch is too big for a page. Data
+ *  regen commits produced 5MB pages at looser thresholds - a human
+ *  reads neither a thousand changed lines nor fifty files. */
 export function oversizedNumstat(numstat: string): boolean {
   const rows = numstat.split("\n").filter(Boolean);
   let lines = 0;
@@ -220,7 +221,7 @@ export function oversizedNumstat(numstat: string): boolean {
     const [a, d] = r.split("\t");
     lines += (parseInt(a, 10) || 0) + (parseInt(d, 10) || 0);
   }
-  return rows.length > 200 || lines > 5000;
+  return rows.length > 50 || lines > 1000;
 }
 
 /** One commit with its patch split per file, github-style. Oversized
@@ -245,8 +246,11 @@ export function readCommit(path: string, hash: string): Commi
t {
     if (!chunk.trim()) continue;
     const m = chunk.match(/^diff --git a\/.+? b\/(.+)$/m);
     const file = m ? m[1] : "?";
+    const MAX_FILE_DIFF = 64 * 1024;
     const trimmed =
-      chunk.length > MAX_BLOB ? chunk.slice(0, MAX_BLOB) + "\n[diff truncated]" :
 chunk;
+      chunk.length > MAX_FILE_DIFF
+        ? chunk.slice(0, MAX_FILE_DIFF) + "\n[diff truncated]"
+        : chunk;
     files.push({ path: file, diff: trimmed });
   }
   return { ...base, files };

diff --git a/ooknet-design/src/lib/git.ts b/
ooknet-design/src/lib/git.ts
index af62406..89af7c7 100644
--- a/ooknet-design/src/lib/git.ts
+++ b/ooknet-design/src/lib/git.ts
@@ -211,8 +211,9 @@ export interface Commit 
{
   stat?: string;
 }
 
-/** True when a numstat says the patch is t
oo big for a page - data
- *  dumps produce patches in the hundreds o
f megabytes. */
+/** True when a numstat says the patch is t
oo big for a page. Data
+ *  regen commits produced 5MB pages at loo
ser thresholds - a human
+ *  reads neither a thousand changed lines 
nor fifty files. */
 export function oversizedNumstat(numstat: s
tring): boolean {
   const rows = numstat.split("\n").filter(B
oolean);
   let lines = 0;
@@ -220,7 +221,7 @@ export function oversize
dNumstat(numstat: string): boolean {
     const [a, d] = r.split("\t");
     lines += (parseInt(a, 10) || 0) + (pars
eInt(d, 10) || 0);
   }
-  return rows.length > 200 || lines > 5000;
+  return rows.length > 50 || lines > 1000;
 }
 
 /** One commit with its patch split per fil
e, github-style. Oversized
@@ -245,8 +246,11 @@ export function readCom
mit(path: string, hash: string): Commit {
     if (!chunk.trim()) continue;
     const m = chunk.match(/^diff --git a\/.
+? b\/(.+)$/m);
     const file = m ? m[1] : "?";
+    const MAX_FILE_DIFF = 64 * 1024;
     const trimmed =
-      chunk.length > MAX_BLOB ? chunk.slice
(0, MAX_BLOB) + "\n[diff truncated]" : chunk
;
+      chunk.length > MAX_FILE_DIFF
+        ? chunk.slice(0, MAX_FILE_DIFF) + "
\n[diff truncated]"
+        : chunk;
     files.push({ path: file, diff: trimmed 
});
   }
   return { ...base, files };
 
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET