sgit newsroom v0.1.29 · snapshot 2026-09-24
On this page

perspective · 2026-09-24

The week a refusal was right: 18 to 24 September 2026

The pages this piece is about

The week in counts

Counted by this desk from the logs named.

The event

Both sites spent the first half of the week correcting their own record in public, and the second half turning outward.

On sgit.ai, the fractal graphs page had its definition backwards on 19 September and was corrected three times that day. The site's own vault mirror was found to have been dead for seven releases, was purged from every commit, and the purge was written up with the forgotten branch that kept the purged files downloadable (version record, v0.2.84 and v0.2.86↗). The 21st was the busiest day of the log, with 20 releases, six of them (v0.3.2 to v0.3.7) on measuring performance rather than asserting it. By 23 and 24 September the site was publishing partnership pages and five business plans for somebody else to run (v0.5.7 to v0.6.8↗).

On riskmandate.ai the menu was rebuilt with the product first on 18 September, the site began publishing articles on 20 September, and on 21 September a memo from the site's lead set the phase: the offering is built, and what is missing is people who have used it (v1.28.0↗). The site shipped 14 releases on 24 September alone.

The moment

The turning point came late on 20 September, in sgit.ai v0.2.98. The site's author sent a screenshot: another agent, asked to inspect two published vaults, had declined because their credentials carried the private read prefix, and said it would not work around the restriction. The log records the verdict in one line: "It was right and our label was wrong." (version record, v0.2.98↗).

The bytes and the access were identical; only the label was wrong. What makes it the moment is what followed the same evening, by the git log's timestamps (22:08, 22:12 and 23:48). The validator began refusing both private prefixes in tracked files, a credentials page was written to explain the five prefixes for the first time, and the principle was stated as classification "by declaration and never by shape". The next release found that the routine lifting read keys into the machine list did not know the public prefix at all (v0.2.99). The one after moved 102 legacy-prefixed and 24 bare published read keys to the public prefix, and removed the em-dash from all prose, each with a guard (v0.3.0). The following afternoon, sgit.ai opened a Lessons learned page whose first rule is to classify a credential before it touches anything (lessons↗, created in v0.4.1).

The why, in the sources' own terms: a prefix "declares intent" (lessons↗), and the credential checker now refuses the private read prefix for publication "because the label says the opposite of what publishing it does" (version record, v0.2.98↗). The agent read the declaration and acted on it; the site changed the declaration.

The gotcha

The recurring trap of the week, on both sites, was a check that passed where it should have failed.

On sgit.ai, v0.5.0 shipped a guard for link previews, and its note said the validator catches a forgotten generator run. v0.5.1, 25 minutes later by the git log, said it did not: the fallback image always names a file that exists, so the check could never fire on the case that mattered. The author asked whether it would work for a new article with an image, and testing found the answer (version record, v0.5.1↗).

On riskmandate.ai the same shape appeared twice. On 20 September the local check ran five of the seven checkers that the hosted build ran, so a stale file stamp passed locally and failed there (v1.27.1↗). On 24 September the releases from v1.32.2 to v1.34.2 were merged but never reached the live site (six releases by this desk's count of the version record; the note's title says four), because the hosted build failed on each of them for reasons the local check did not look at. The note says: "Nothing in those releases was wrong on the page; the checks around them were." (v1.34.3↗). The interview page that sgit.ai had briefed that day was among the releases held back.

The nugget

What made the difference was proving that a guard bites by breaking the thing it guards, on purpose:

sgit.ai's lessons page gives the reason a rule keeps its origin attached: "a rule with no origin is only a preference, and the first person who finds it inconvenient will drop it." (lessons↗).

Across the two sites

The week closed with a visible hand-off between the two sites. sgit.ai published a build brief for an interview page on 24 September (version record, v0.6.7↗), and riskmandate.ai built it the same day, recording it as "A build brief from the sgit.ai site team" (v1.34.2↗). At the time of the snapshot, sgit.ai's briefs index still lists that ask as open (briefs index↗).

The full list of corrections is in the lessons, and the choices made during the week are in the decisions.