sgit newsroom v0.1.29 · snapshot 2026-09-24

Reading room · coding.sgit.ai

On this page

Reading room / coding.sgit.ai · raw text · live ↗

From coding.sgit.ai, the page as fetched on 2026-09-25 · open the live page ↗Everything on this sheet is the source site's own text; the newsroom's chrome is outside it.

coding.sgit.ai — the style guide that measured itself

Five languages — Python, JavaScript, HTML, CSS, Bash — as they are actually written across 217,266 lines of code. Every convention here was derived by counting, not from documentation, and where a documented rule and the code disagree, both are published with the numbers.

Source: https://coding.sgit.ai/index.html↗ · site v0.2.0 · markdown twin of the front page.


31 documented rules. 0 linters. 4 guards, and 1 of them never worked.

This estate has a written style guide, which is more than most projects have. It lives in .claude/CLAUDE.md — an agent instruction file, not a published standard — and until the survey behind this site, nobody had ever measured whether the code obeys it.

# measured against 992 class-defining files

rule  7  ═══ banner on every file          100%   992 / 992
rule  8  no docstrings, ever              99.7%   3 violations
rule 22  __init__.py stays empty             99%   299 / 302
rule 21  one class per file                  90%   187 / 208 sampled
rule  9  no _ prefix on private methods      91%   97 violations
         import alignment                    39%   321 / 817   # not a rule at all

# enforcement surface, entire:
tests/ci/  4 structural guards  +  1 that has never matched anything

The last line is the one worth reading twice. The guard is supposed to fail the build if the new tree imports the legacy one; its regex requires a non-underscore character after a package stem that has two, so it matched nothing and passed. There are 228 real imports across 69 files. A guard that passes because it cannot match what it guards against ↗.

The four decisions everything else follows from

These are not style preferences with a rationale bolted on afterwards. They are four choices that produce each other, in a codebase where 61% of commits were written by an agent and a human still has to review the result.

The five languages

One is documented. Four are not, and reconstructing them by counting is most of what the survey behind this site did.

What this site does not claim

Nothing here is enforced by tooling. Compliance of 100%, 99.7% and 99% is achieved entirely by discipline, which is impressive and exactly as fragile as it sounds. Four of the five languages have no documented rules at all. Import alignment is 39%. Two CI guards are claimed in the rule set and do not appear in the rule set's own table of guards. And the most interesting page here is a position with the evidence attached, not a finding.

There is also one thing this site was commissioned to do and does not: extract its counts from the repository at build time. This repository holds the website, not the code it describes, so every number here is written in from a dated survey — 2026-08-24 — by a generator, with CI failing the release if a published number has drifted from it. That closes the drift-within-the-site problem and leaves the freshness problem open, and it is tracked as request R2.

Where this sits


All content CC BY 4.0 — Dinis Cruz, with AI co-authorship (Claude, Anthropic). The code quoted throughout is Apache-2.0 and carries its own notice; Type_Safe, Safe_Str and the constrained-primitive pattern come from osbot-utils under the owasp-sbot organisation.