Blog
The running record. Status notes, release announcements, and decisions as they get made — including the ones that turn out to be wrong.
This exists because the failure being fixed here was never really a technical one. It was a communication failure: issues nobody answered, releases nobody explained, and a format whose rules lived in a source tree that outsiders had to read to understand. The correction for that is to over-communicate, on a schedule, in public.
Subscribe via RSS. Decisions get argued in the discussion; work happens in the spotlight-tools and spotlight-spec issues.
Nobody should be writing industry rulesets
Speculation, on purpose. If the blocker on industry rulesets is that nobody will maintain them, then the answer is not to find maintainers — it is to stop authoring the rules by hand.
One standard, twice — and ninety-odd, never
Exactly one industry standard has a ruleset behind it, and it has two. Not because the demand is missing, but because nobody has said what such a ruleset is allowed to claim.
Valuable real estate, claimed in the open
Specifications are economic land grabs. This one is too — so the only thing that distinguishes it is doing it openly, honestly, and giving the land away at the end.
Open source permanently — and how it gets paid for
No commercial tier, ever. Which makes the funding question unavoidable rather than optional, so here is the stance, the mechanism, and the list of people this actually concerns.
Below the waterline is not a stable state
The format did not get abandoned in a way anyone would notice. It sank into other people's products while adoption kept climbing — and that phase ends somewhere worse.
The best idea in the format is trapped inside one ruleset
Aliases already solve the JSONPath problem, and almost nobody can use them. Six of them ship, in one ruleset, and they cannot cross a ruleset boundary. Here is what aliases actually do today.
The 2012 move, one layer up
Swagger was a config file for a code generator until a group of people decided it was a format. This is the same move, applied to the rules that govern the descriptions.
Mapping every implementation of the format
The tool is one implementation among many — a claim worth nothing without a published list. So here is the list, with the evidence for every entry and a rule that maintainer corrections get merged on sight.
Why splitting the Spectral spec from the tooling is the priority
The first move after forking was not fixing the tool. It was pulling the ruleset format out of the tool entirely — because whatever gets built first becomes the definition, and because "supports Spectral" currently me...
Twenty-seven CI runs, and not one of them a test
A day spent on the unglamorous half of forking something — security policy, package metadata, branch protection — which turned up the fact that no test had ever run here, that the one workflow which did run belonged t...
A development strategy you can actually switch to
Branching, releases, package management, README, and communication — proposed in public before any of it is built, because a fork nobody can switch to is worthless.