Skip to content
sgit/ store
Produced with model assistance. Read the disclosure

store.sgit.ai / Release history

Release history

Every push to the release branch is a release, and every release is tagged. The version is owned by admin/build/version.txt, moved only by bin/bump.py, repeated in the release commit's subject, and CI refuses to tag if the two disagree. The same records are served as JSON.

Releases

VersionReleasedWhat changedCommit
v0.3.24 — current2026-09-17the emails nobody has turned on, and the one a free order cannot send—
v0.3.232026-09-17the page a buyer lands on after paying can find their order5cbeb893aa
v0.3.222026-09-17level one can be paid fora01342cf4f
v0.3.212026-09-17the checkout hands over to the provider39585a99b4
v0.3.202026-09-17the disclosure moves off the top of the page2c92a1928c
v0.3.192026-09-16the five doors, drawn the way v4 draws themc77fa621c3
v0.3.182026-09-16the buy references, and the rest of v4 that the store was missingafc694477f
v0.3.172026-09-16five readers walked the whole store, and four stopped in the same placeb8ca1ff3b5
v0.3.162026-09-16the new design is the store, and the one it replaced is kept at /v1/86b68b9ca8
v0.3.152026-09-16the rest of the next store: the comparison, the doors, the ledger and the person7c11b81d47
v0.3.142026-09-16the buying flow, end to end, and one order across both designsde2d735b5a
v0.3.132026-09-16the next store, in the design we chose94fe9dc7fb
v0.3.122026-09-16the comparison table, on paper04bebcf864
v0.3.112026-09-16the vault contract, learned the hard wayd93cfcd053
v0.3.102026-09-16a brief somebody can work from1d799aac67
v0.3.92026-09-16the moves, on the board1be8078f45
v0.3.82026-09-16four homepages, five readerseecda03c29
v0.3.72026-09-16the homepage concepts, reviewedc63bf4392d
v0.3.62026-09-16what happened to each memo, on one pagea2fa742f7a
v0.3.52026-09-16describe your agent, in words this store did not invent44c6f6e36f
v0.3.42026-09-16a product page, prototyped where it cannot do any harm1e27920b76
v0.3.32026-09-16you see a vault on the page you land on, and the rule was narrowed a second time to allow it5078346ab0
v0.3.22026-09-16who owns what, written down where both sides' agents can read it251a8720ca
v0.3.12026-09-16a code published on the two journeys it applies to, and it cannot buy anybody's daybbfbfb35b7
v0.3.02026-09-16the buyer lands on this site620fbb37b0
v0.2.92026-09-16the two upper levels say whose work they are93af071d65
v0.2.82026-09-16the comparison table, free column first062b2d001b
v0.2.72026-09-16five audiences, five doors, and nothing hidden from anybody5b2d539185
v0.2.62026-09-16SumUp comes off the store for the first end-to-end MVP, and the plan for it is parked rather than deletedabbf7a67ce
v0.2.52026-09-16the never-done language comes off the site, because it was describing the sale and reading as the workc0fbe75497
v0.2.42026-09-16the cap on the hundred-per-cent coupon is ruled out rather than dropped, and level four takes the name the product hase92148b8a9
v0.2.32026-09-16three coupons exist, zero promotion codes do, and that is the whole gap982fa1c3a9
v0.2.22026-09-16the home page becomes a shop front, and the Stripe catalogue becomes a reconciliation85660404d9
v0.2.12026-09-16the work has been done, and the site finally says where to go and look76c0136d84
v0.2.02026-09-16the entry level becomes a licence at £10, and every level says when it arrives60993ad04d
v0.1.182026-09-16the admin section becomes a console, with its own UI, the two payment rails written up as plans, a board of the work, and the queue the work comes out off709591710
v0.1.172026-09-16the vault is embedded, and the claim it costs is rewritten to be exactly truead46c8f1b7
v0.1.162026-09-15reviews become a dated register, and the second one is this repository reviewing its own instrument0d873dc16c
v0.1.152026-09-15a partner's review, published in full, and the one rule that moved to let it be answered06267775cd
v0.1.142026-09-15the gitignore rule that swallowed the PDFs, anchored — and a check that asks git911c1ccbb1
v0.1.132026-09-15three things five synthetic users found, two of them regressions from v0.1.9688c10812d
v0.1.122026-09-15the two walkthroughs as PDFs, hosted under /admin/d2427fb84d
v0.1.112026-09-15the walkthrough codes stay out of the indexed bulk file too9c6042b928
v0.1.102026-09-15a walkthrough anybody can run, with the codes printed on it456b3bddb5
v0.1.92026-09-15the handover to the page after payment, and a discount code that arrives in the address00a03b81cf
v0.1.82026-09-15the flow runs end to end on a simulated wallet, and two levels take a fifth on the order41985da6ef
v0.1.72026-09-15the store: fifteen agent behaviour policies, four levels each, a cart and two rails326e078094
v0.1.62026-09-11the tier four deposit paragraph stops saying the balance is invoiced twice892e790c3f
v0.1.52026-09-11tier four takes a £500 deposit by payment link, and the balance stays on the invoice rail43c77bff76
v0.1.42026-09-11a prototype can switch view in place, so one page can host all five920f8f2a0a
v0.1.32026-09-11five prototypes of the purchase flow for the grant and mandate mapping work1a860430b7
v0.1.22026-09-11the six offers are grouped by which of three buyers each was built for, and the checkout is wired to payment linksdaf6d30696
v0.1.12026-09-10the delivery pages stop printing the page navigation twice14b96dbada
v0.1.02026-09-10the offer page, the four codes, the two rails and the pack3779062835

The pipeline that gates each one

Three jobs, in this order, the same order as every sibling site in this estate.

1 · validate. admin/build/validate.sh — the build is reproducible against the committed output, the version agrees everywhere it appears, internal links resolve, every canonical URL is on the host in CNAME, the credential tripwire is clean, every inline script parses, and this site's own acceptance assertions hold. A failure stops the release: no tag, no publish. It runs on pull requests too, so branch work is gated before it ever reaches the release branch.

2 · tag-release. The version file is read, the release commit is found by its subject line, and the two must agree. The tag must be the next minor — or a deliberate major — after the previous latest. Historical tags missing from the remote are backfilled, idempotently. Then the tag is pushed.

3 · deploy. The site is rebuilt from content/ and published. It never runs when validation failed, and never from a pull request.

What this site's gate checks that a sibling's does not

This is the first site in the estate that carries a price, and a page with a price is an offer. So the gate carries the rules that constrain an offer, as machine assertions rather than as advice in a document:

A rule that only lives in a document gets broken by the next person who has not read it. These live in tools/check_site.py, and each one names the rule it enforces.