Title: Ship Log 2026 — 8,784 commits through October 13 | MidnightDev
URL: https://midnightdev.dev/ship-log
Description: A local Git recount through October 13: 8,784 non-merge commits across 103 repository identities, on 258 of 286 days. Project table retains its dated August snapshot.
Generated from the live page on 2026-10-22. Do not edit by hand; run `pnpm twins`.

---

ship_log · 2026 · midnight_dev

# Shipped, not claimed.

From January 1 through October 13, a commit landed somewhere on **258** of 286 days — **90%**. Across **103** repository identities, deduplicated and dated straight from local Git history. The entries below tell some of the stories behind the count.

8,784

non-merge commits through oct 13

258/286

active_days — 90%

103

repository_identities

119d

longest_streak — mar 24 → jul 20

## Cadence

every day in the counted period · one cell each · colored by commits that day

jan

feb

mar

apr

may

jun

jul

aug

sep

oct

fewer more — across all repositories combined

## The public work · August snapshot

These project rows belong to the earlier 5,382-commit count through August 21. They are a dated snapshot, not a breakdown of the updated headline. Client and internal repositories stay unnamed — see [the remainder](https://midnightdev.dev/ship-log#remainder).

*Named projects in the August 21 snapshot, with commit counts, active days and date spans*

| project | group | commits | days | span |
| --- | --- | --- | --- | --- |
| [yapword Daily word game with a persistent AI character that remembers how you play.](https://midnightdev.dev/work/yapword.md) | games | 1,361 | 63 | 03-24 → 08-13 |
| [methyleneblueultra Research-led DTC health property.](https://methyleneblueultra.com/) | product | 835 | 45 | 03-21 → 08-13 |
| [That's My Best Multimodal photo-grid social quiz. Concept to App Store approval in about two weeks.](https://midnightdev.dev/work/thatsmybest.md) | games | 501 | 29 | 07-01 → 08-13 |
| [htxworkinjury Houston industrial injury information system.](https://htxworkinjury.com/) | product | 185 | 11 | 05-10 → 08-13 |
| [midnightdev This site, the build room, and the writing.](https://midnightdev.dev/index.md) | product | 159 | 31 | 01-24 → 08-21 |
| [jonesactcalculator Maritime claim estimation tool.](https://www.jonesactcalculator.com/) | product | 154 | 37 | 03-14 → 08-13 |
| [buylandfl Florida land acquisition and transactional search.](https://buylandfl.com/) | product | 108 | 32 | 01-24 → 07-20 |
| [Yapoleon's Court Competitive AI game with score protection.](https://midnightdev.dev/work/yapoleonscourt.md) | games | 87 | 10 | 06-15 → 08-13 |
| [geo-scanner → ReadableByAI AI-crawler visibility monitoring platform.](https://readablebyai.com/) | product | 70 | 6 | 08-07 → 08-18 |
| [htxpermitfix Commercial permit expediting.](https://htxpermitfix.com/) | product | 43 | 14 | 01-11 → 08-07 |
| [htxfoundationfix Foundation repair business scaffold.](https://htxfoundationfix.com/) | product | 34 | 6 | 04-16 → 08-18 |
| [wordgameai Editorial comparison and discovery property.](https://wordgameai.com/) | games | 16 | 7 | 06-22 → 08-13 |
| [ai-boardroom-forecast-audit Synthetic decision-lens auditing system.](https://midnightdev.dev/work/boardroom.md) | research | 6 | 3 | 07-28 → 08-18 |
| [gemini-reliability-proxy Fallback chains, retries, budget guards.](https://github.com/abouchard11/gemini-reliability-proxy) | research | 6 | 4 | 07-19 → 08-18 |
| [graphiti-neo4j-ops Memory-graph operations.](https://github.com/abouchard11/graphiti-neo4j-ops) | research | 6 | 4 | 07-25 → 08-18 |
| [midnight-seo-skills Agent skills for technical SEO.](https://github.com/abouchard11/midnight-seo-skills) | research | 4 | 3 | 07-22 → 08-18 |
| [ai-citation-patterns How assistants choose their sources.](https://github.com/abouchard11/ai-citation-patterns) | research | 4 | 4 | 07-19 → 08-18 |
| [llm-safety-gate Pre-flight gate for model calls.](https://github.com/abouchard11/llm-safety-gate) | research | 3 | 3 | 07-22 → 08-18 |

## Most recent stretch

aug 7 → oct 14, 2026

Newest first. The headline and cadence run through 2026-10-13. These entries describe selected work and are not extra commits to add to that count.

1. 10-14
   ### A very crowded Tuesday
   An October 14 audit of the previous day found 520 distinct Git commits across 39 repository identities, including 29 with Merge-prefixed subjects. They were steps in the work, not 520 deployed features. Of the same-day GitHub Actions runs linked to counted commits, 305 succeeded and 46 failed; the record includes fixes and later green runs. The essay tells the human story of the harness, the agent team, and the checks that could say no. The 520 includes merges; the non-merge day count in the heatmap above is 489. The technical notes carry the count method and its limits.
   [essay](https://midnightdev.dev/writing/a-very-crowded-tuesday.md) [technical notes](https://midnightdev.dev/writing/a-very-crowded-tuesday-technical-notes.md)
2. 10-12
   ### Code graph walkthrough
   An 81-second walkthrough of the Yapword client code as a knowledge graph: 103 nodes and 211 edges across the UI and client logic layers, with a six-step tour from the README to Yapoleon's voice. The graph was built on 2026-06-23 with the open-source Understand Anything plugin by Yuxiang Lin. Payment, sign-in, server and data code is removed from the graph before recording, and two captions are trimmed to match.
   [watch](https://midnightdev.dev/media/yapword-code-graph-tour.mp4) [yapword case study](https://midnightdev.dev/work/yapword.md) [understand anything](https://github.com/Egonex-AI/Understand-Anything)
3. 10-08
   ### Reviews of record
   A GitHub search on 2026-10-12 for pull requests merged under my account between June 10 and October 8 finds a usage-limit notice in the comments of 788 of 934, private repositories included. The reviewer had hit its limit and said so, and the pull requests merged anyway. That one is on me: nothing in my setup checked that a review had happened. A required check now passes only on a human approval of the head commit, or on a review record committed to the branch that names a reviewer different from the author. It fails if any code changed after the review, and it runs from the base branch, so a pull request cannot edit the gate to pass itself. On 2026-10-12 it is required in 7 repositories, with 17 records on default branches. Author and reviewer are both agents under one account, and the gate can only check that the two names differ. The record makes the review a named, committed act. It does not create independence.
   [gate source](https://midnightdev.dev/tools/review-gate.mjs) [workflow](https://midnightdev.dev/tools/review-ok.yml)
4. 10-06
   ### Typed rulebook
   Agent instruction files drift apart. Measured 2026-10-12 with the scanner linked here: 205 rule files in 123 repositories, and 46 of 55 CLAUDE.md and AGENTS.md pairs differ. On the same day the rules my agents steer by were 23 typed records in a private repository, each carrying the exact quote and who said it. Twelve name the thing that enforces them. A check with 25 tests runs on every change to the rulebook, and three preregistered experiments can kill the idea.
   [essay: unsigned rules](https://midnightdev.dev/writing/unsigned-rules.md) [scanner](https://midnightdev.dev/tools/agent_rules_scan.py)
5. 09-30
   ### Backlog close-out
   Nineteen pull requests of mine were open on 2026-09-30, fourteen of them in my own repositories. An agent landed all fourteen and read each merge back from the remote before reporting it. Seven were strict prefixes of an eighth, proven by commit identity, so one merge closed eight and no commit landed twice. Three sat in repositories that deploy on merge, and those waited for my word.
   [merge: midnight-reasoning 6](https://github.com/abouchard11/midnight-reasoning/pull/6) [merge: polydrift 1](https://github.com/abouchard11/polydrift/pull/1)
6. 09-01
   ### Architecture maps
   Mapped repositories keep a typed JSON spec of their own architecture, and one command re-renders every map from those specs with no model in the loop. A diagram becomes a build artifact you can regenerate and diff. The renderer is the open-source Archify by tt-a1i, which builds on Cocoon AI's diagram generator, pinned to v2.15.0 with one local patch that removes its Google Fonts request. The Caduceus map is a snapshot traced at v0.3.3, rendered here with its budget figures removed. It passes all nine showcase checks and loads nothing external.
   [caduceus map](https://midnightdev.dev/maps/caduceus-architecture.html) [its spec](https://github.com/abouchard11/caduceus/blob/main/docs/architecture/caduceus.architecture.json) [archify](https://github.com/tt-a1i/archify) [archify license](https://midnightdev.dev/maps/ARCHIFY-LICENSE.txt)
7. 08-26
   ### Drift sentinel
   On 2026-08-25 a 101-line installed copy of a linter passed a graph that the canonical version, 341 lines at the time, rejected. The sentinel hashes five installed copies of verification tools against their sources and fails closed. A healer runs first and overwrites only bytes that match a committed canonical version, with a backup. Anything else waits for a person. It runs each morning at 08:00 and at login. The sentinel, the healer and the dashboard overlay had 17 passing tests between them on 2026-10-12. The tools live in a private repository.
8. 08-21
   ### Field Notes 001
   Pushed, deployed, and linked from the first public post about it.
9. 08-20
   ### BB-1 datasheet
   A three-terminal edge primitive, published as a component datasheet.
10. 08-19
    ### Caduceus v0.3.0
    Five-seat AI council with believability-weighted decisions, live on Hermes Agent.
11. 08-17
    ### Two more ships
    A benchmarking essay for a generative character, and the Yapword voice-evaluation case study.
12. 08-15
    ### GEO hardening
    ImageObject schema and IPTC/XMP metadata on every screenshot.
13. 08-07
    ### The firewall piece
    Eighteen sites probed with the user-agent of every AI crawler that matters. Two of my own findings did not survive the data.

## The August remainder

In the August snapshot, fifty more repositories carried the remaining 1,800 commits. Client and internal work stays unnamed.

- 25 product & research repositories 856 commits
- 14 site properties 490 commits
- 8 internal tooling 396 commits
- 3 infrastructure 58 commits

**How this was counted.** The headline and heatmap recount accessible local Git refs from 2026-01-01 through2026-10-13 in Chicago time. Commits use Alex's account emails and first-party agent attribution, are deduplicated by SHA across worktrees, and exclude commits with multiple parents. Third-party history under generic agent emails is excluded. One broken local worktree could not be read; remote-only history may be missing. The project table and remainder retain their separately counted August 21 snapshot. Git commits are steps in the work, not deployments or proof that every change was clean.

midnight_dev · alex bouchard · ship_log / 001 · counted through 2026-10-13 · entries through 2026-10-14

Next step

## Want to talk it through?

Book a 30-minute call. I will tell you plainly whether I can help and what I would test first.

[Book a call](https://calendly.com/alex-midnightdev/30min?utm_source=midnightdev&utm_medium=site&utm_campaign=ship-log) [or email alex@midnightdev.dev](mailto:alex@midnightdev.dev)
