fix(deploy): exclude public/commit/** from /commits + /intervene function tracing — unblocks the 255MB build failure
Production has been failing to deploy since 4450c85f8: "The Vercel Function
'commits' is 255.31mb uncompressed which exceeds the maximum uncompressed
size limit of 250mb." Root cause: /commits and /intervene do build-time
existsSync()/readdirSync() probes under public/commit/<sha> (272MB, 1049
dirs and growing by one per commit forever); Next's file tracer follows
those calls and bundles the entire tree into each route's serverless
function. Both routes are force-static — the fs probes only need the repo
on disk at BUILD time, never at runtime — so the fix is a wildcard
outputFileTracingExcludes entry (self-maintaining, same pattern already
used for /pmu-simulator/demo: never needs updating as more commit dirs
are added).
Also removed 275 legacy per-render duplicate PNGs (2.3MB) — three
timestamp-suffixed variants per commit left over from BEFORE the
2026-07-08 fix that made publish-commit-page.mjs write only two stable
files (og.png, trip-encircled-<sha>.png) per commit. Not the real bulk
(that's the self-contained base64-inlined HTML — 247MB, a deliberate
2026-07-06 fix for missing/untracked image bugs, not safe to unwind
without reintroducing that class of failure) but genuinely dead weight
matching the documented intent ("that pile of timestamp-suffixed files
was pure bloat").
Guard: tests/deployment/commit-page-function-size.test.js asserts the
wildcard exclude exists for both routes and logs public/commit/'s real
size on every test run so growth toward the 250MB ceiling is visible in
CI, not just at deploy time.
Originating-Terminal: 🔒 vault
Relevant-Rooms: 🔨 builder, 📐 architect, 🎩 operator
Story: Production had been stranded on a failing build for ~30 minutes across two deploy attempts (both carrying the scanner-gate/Chrome-bar work from this session); this fix is the unblock. The 274MB self-contained-HTML design is sound for its original bug but is unbounded — flagging as a structural follow-up, not resolving unilaterally here.
Persona-Intent: n/a (infra fix)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017qmembLtWRgiuSKCAAg25t
npx thetacog-mcp attest-demoA2,A ▸ B3,B2 B1.Tactics.Speed × A2.Strategy.Goal → ~comms-email · email comms newsletter telegram · 15 green blocksA,A2 ▸ A1,B3 C.Operations × B1.Tactics.Speed → infra-hooks · hook pre-commit post-commit launchd · 13 green blocksA1,C1 ▸ A3,C3 A2.Strategy.Goal × C2.Operations.Loop → ~book · book chapter tesseract manuscript · 7 amber blocksA3,A1 ▸ B2,A3 B1.Tactics.Speed × A2.Strategy.Goal → ~comms-email · email comms newsletter telegram · 7 amber blocksC1,A1 ▸ C3,A3 C2.Operations.Loop × A2.Strategy.Goal → ~comms-email · email comms newsletter telegram · 7 amber blocksA2,A3 ▸ B1,B3 A3.Strategy.Fund × B2.Tactics.Deal → ~infra-hooks · hook pre-commit post-commit launchd · 6 green blocksA,A ▸ C,C B.Tactics × B.Tactics → thermodynamics · thermodynamics entropy free-energy dissipation · 5 green blocksC,A ▸ A2,B A1.Strategy.Law × B.Tactics → ~blog-content · blog post mdx breadcrumb · 5 amber blocksA,C1 ▸ B,C3 B.Tactics × C2.Operations.Loop → pmu-walk · walk ballistic recursive on-chip · 5 amber blocksC1,B1 ▸ C3,B3 C2.Operations.Loop × B2.Tactics.Deal → ~comms-email · email comms newsletter telegram · 5 amber blocksC1,C1 ▸ C3,C3 C2.Operations.Loop × C2.Operations.Loop → ~comms-email · email comms newsletter telegram · 5 amber blocksA,A1 ▸ B,A2 B.Tactics × A2.Strategy.Goal → mdx-validation · mdx validate forbidden character · 4 amber blocksB1,B1 ▸ B2,B3 B2.Tactics.Deal × B2.Tactics.Deal → ~comms-email · email comms newsletter telegram · 4 amber blocksC1,A ▸ C3,B C2.Operations.Loop × B.Tactics → ~comms-email · email comms newsletter telegram · 4 amber blocksA2,A3 ▸ A2,B2 A2.Strategy.Goal × B1.Tactics.Speed → ~infra-hooks · hook pre-commit post-commit launchd · 3 amber blocksB1,C2 ▸ B2,C3 B2.Tactics.Deal × C3.Operations.Flow → ~infra-hooks · hook pre-commit post-commit launchd · 3 amber blocksB,C2 ▸ C,C2 C.Operations × C2.Operations.Loop → deployment · deploy vercel build push · 2 green blocksA3,C2 ▸ B1,C2 B1.Tactics.Speed × C2.Operations.Loop → ~infra-hooks · hook pre-commit post-commit launchd · 2 green blocksA,A ▸ B,B B.Tactics × B.Tactics → thermodynamics · thermodynamics entropy free-energy dissipation · 2 amber blocksB3,C2 B3.Tactics.Signal × C2.Operations.Loop → ~infra-hooks · hook pre-commit post-commit launchd · 1 green blockA3,B A3.Strategy.Fund × B.Tactics → ~comms-email · email comms newsletter telegram · 1 amber blockB1,C1 B1.Tactics.Speed × C1.Operations.Grid → ~infra-hooks · hook pre-commit post-commit launchd · 1 amber block
| |||||||||||||||||||||||
|
| |||||||||||||||||||||||
|
| |||||||||||||||||||||||
|
| |||||||||||||||||||||||
|
| |||||||||||||||||||||||
|
| |||||||||||||||||||||||
|
| |||||||||||||||||||||||
|
| |||||||||||||||||||||||
|
| |||||||||||||||||||||||
|
| |||||||||||||||||||||||
|
A,A The lattice we build today is what next year's underwriter inherits.B,B Tactics is the choice of which leverage to pull at which beat.C,C Operations is the loop that runs whether anyone watches.A1,A1 EU AI Act Article 14 requires human-on-the-loop oversight, with the supervisor able to interrupt the system atA2,A2 The target is the cell coordinate the system MUST occupy by end-of-quarter.A3,A3 Every dollar builds either the floor (substrate that lifts future bets) or the ceiling (cap on the next round)B1,B1 Latency is the price of a missed beat.B2,B2 The deal sets the exchange rate between two value substrates.B3,B3 Signal-to-noise is the inverse cube of bandwidth — narrow the channel, the message arrives; broaden it, recipiC1,C1 Power flows where the grid lets it.C2,C2 Each iteration is a hypothesis tested against the ground truth of the world.C3,C3 Flow is the rate at which committed work crosses the finish line.fix(deploy): exclude public/commit/** from /commits + /intervene function tracing — unblocks the 255MB build failure Production has been failing to deploy since 4450c85f8: "The Vercel Function 'commits' is 255.31mb uncompressed which exceeds the maximum uncompressed size limit of 250mb." Root cause: /commits and /intervene do build-time existsSync()/readdirSync() probes under public/commit/<sha> (272MB, 1049 dirs and growing by one per commit forever); Next's file tracer follows those calls and bundles the entire tree into each route's serverless function. Both routes are force-static — the fs probes only need the repo on disk at BUILD time, never at runtime — so the fix is a wildcard outputFileTracingExcludes entry (self-maintaining, same pattern already used for /pmu-simulator/demo: never needs updating as more commit dirs are added). Also removed 275 legacy per-render duplicate PNGs (2.3MB) — three timestamp-suffixed variants per commit left over from BEFORE the 2026-07-08 fix that made publish-commit-page.mjs write only two stable files (og.png, trip-encircled-<sha>.png) per commit. Not the real bulk (that's the self-contained base64-inlined HTML — 247MB, a delibe next.config.js public/commit/0273f5ef1/trip-delta-0273f5ef1-mqy9dhar.png public/commit/0273f5ef1/trip-delta-0273f5ef1-mqy9f5pu.png public/commit/0273f5ef1/trip-delta-0273f5ef1-mqy9le8f.png public/commit/0273f5ef1/trip-encircled-0273f5ef1-mqy9dhie.png public/commit/0273f5ef1/trip-encircled-0273f5ef1-mqy9f637.png public/commit/0273f5ef1/trip-encircled-0273f5ef1-mqy9lem1.png public/commit/0273f5ef1/trip-intent-0273f5ef1-mqy9dhar.png public/commit/0273f5ef1/trip-intent-0273f5ef1-mqy9f5pu.png public/commit/0273f5ef1/trip-intent-0273f5ef1-mqy9le8f.png
| chain | ✅ reef sensed — 144 seeds → SimHash in 415ms · grid attached (input seed → SimHash sanity check) · ✅ on-chip 566.38ns/walk · 1.730ms · 6938089 walks/sec · 42 / 144 lit (measured on silicon, this commit) · ✅ triptych rendered · pipeline 186ms · render 245ms · 162 XOR-friction nodes |
| hardware root of trust | serial CXMF9VMM29 · UUID 43C33AB6… · attest MFkwEwYHKoZIzj0CAQYIKoZIzj0D… (ecdsa-p256-sha256 · hw-derived fallback, weaker than Secure Enclave) |
| gate (XOR+popcount) | 0.5382 ns / driven comparison · walk @ gate rate 155.0 ns |
| cache witness | L1 1.97 ns · DRAM 107.11 ns · miss ×54.4 |
| daemon binary | sha256 b409b4c1dedd815b… (the attested silicon path) |
| run receipt | run-2026-07-14T19-07-54-423Z-e636b480 · payload 2c7e19be05cf65f3… · band gold |
| timings | ingest 85.8ms · definer-walk+σ 331ms · render 245ms · pipeline 186ms · ingest = commit-scoped SENSING only (msg + changed files → lattice); deep seed authoring lives in the reef-self-loop, off the commit path |
| walks (this heatmap) | INTENT: 133 hops / 133 chip processes / 133 anchors lit, ended at A1,A2 · B2,A · C3,B2 (ply 7 — the definers-of-definers) · REALITY: 124 hops / 124 chip processes / 124 anchors lit, ended at C,C3 · A1,A2 · C1,A (ply 8 — the definers-of-definers) · walks concentrate at block-heads by the ShortLex-ascending follow |
| per-stage | resolve 0ms · invariants 0.4ms · sense 85.8ms · sigma 0.1ms · binarize 0ms · project 8.5ms · xor 0.1ms · walk 43.7ms · claudbridge 34.6ms |
| walk start | B3,A3 (STABLE attractor) · 257 hops · maxPly 8 |
| σ — defined by its inputs | σ = (cos(intentCloud, realityCloud) − μ of 12 bit-shuffled-reality impostor walks) / sd · INPUTS: intent 12 claims @ θ 0.656 (msg + 0 docs + 0 tests) · reality 18 claims @ θ 0.688 (1 code) · walk topK 2 decay 0.5 ply≤8 budget 2500ms · seed-lib 8a4b87022885 — σ comparisons are only valid at equal inputs |
| σ raw | heat-cosine 0.0532 vs random 0.061 → σ_drift · noise · below zero — this read is noise, not a measurement |
| shortlex-3 projection | 292ms · intent zones 0/3/1118 (+142 cross) · reality zones 0/15/1454 (+249 cross) · zone 3 = candidate children, pre-ratchet |
| orthogonality (seed 144) | 144/144 unique · 143/144 openings · pairwise sim 0.367 · junk 0 |
| intent documents | (message only) |
Produced on the chip by the running pipeline (scripts/pmu/pipeline.mjs → runPipeline → walk + xor), commit-scoped · on-chip per-walk 566.38ns (this commit). Recompute: node scripts/pmu/commit-triptych.mjs --commit 4de546b4a
Commit artifacts (open on a computer — Gmail mobile won't follow file:// links; the inline images above are the phone-viewable form): reef grid · this triptych · the HDL — all three are also attached to this email.