Briefs

A brief is written before the work and published as written: what was asked, in whose words, what exists to build on, the design, what it cannot do, the deliverables and the open questions. The newsroom and the sgit.ai sites keep theirs the same way. The file is the record; this page renders admin/content/briefs/, newest first. The written request and the two voice memos that started the site are on the brief.

2026-10-22 · 2026-10-22__telemetry-over-an-append-lane.md

Who reads this site: anonymous telemetry over an append lane

Status: accepted and being built. Brief by Dinis Cruz (editor), spoken on 22 October 2026; written up by dev@php.newsroom. Build brief, the kind an agent executes.

The ask, in the editor's words

Add logging using an append lane. Capture who is visiting the website, which pages they see, and where they come from. All of it from the front end: there is no back end. Not the IP address: the region (London, Surrey) and the country, which the browser can get from a lookup service. Keep it in a separate vault, and share that vault's key with the editor. Write this as an article brief in the admin section first, then implement it.

What exists to build on

The design

1. A separate, private telemetry vault (id 84wr8mib) holds the key pair, the drained events and the daily reports. Its vault key, the enum key and the key pair's passphrase stay with the editor and the drainer; none of them is in this repository.

2. The site publishes, in data/telemetry.json, the three things a visitor's browser needs and may hold: the telemetry vault id, the append token and the recipient public key. The append token is write-only and the write response is blind, so a visitor who reads it out of the page can add rows and learn nothing. This is the one credential shape that survives publication.

3. On every page, assets/telemetry.js mints a random session id in memory, asks a geolocation service for the visitor's country, region and city (the service sees the IP; the event does not carry it), builds one event, encrypts it to the public key and posts it to the lane. It never blocks the page, fails silently, and rate-limits itself to one event per page per session.

4. admin/build/telemetry_drain.py lists the lane with the enum key, fetches pending files, decrypts them with the private key, writes them as JSON lines into the telemetry vault under drain/<date>/, marks them processed, and computes reports/<date>.json: counts by page, country, region, referrer host and site version. The site's admin section publishes the counts, never the rows.

5. A visible notice on every page says that anonymous usage events are sent and what they contain, because opening a page on this site now phones home, and the estate's rule is to say so where it happens.

The event

{ "v": 1, "site": "php.oct.2026.newsroom.sgit.ai", "ver": "0.2.3", "ts": "2026-10-22T12:00:00Z",
  "sid": "8 random hex", "path": "/code/index.html", "ref": "news.ycombinator.com",
  "country": "GB", "region": "England", "city": "London", "lang": "en-GB", "screen": "desktop",
  "tz": "Europe/London" }

No IP, no user agent string, no cookie, no name. ref is the referrer's host only. city is whatever the lookup returns, which is the ISP's idea of a city, not a location.

What it cannot do, said up front

Deliverables

Open questions for the editor

2026-10-22 · 2026-10-22__brief.md

The brief, as written by the editor on 22 October 2026

Status: accepted, by being sent. Author: Dinis Cruz. Drafted by nobody: these are the editor's own words, a message to the agent followed by two voice memos (below).

Hi based on the guidance on sgit.ai for these type of *.sgit.ai websites and what we have been doing at newsroom.sgit.ai can you create a dedicated website for us to track in super fact, deterministic and with provenance way what is going on with the PHP vulnerability

we have started doing some mapping at https://newsroom.sgit.ai/php-flaws/index.html

an an initial vault has been created to start capturing all data [vault key withheld: a vault key is write access and is never published]

I will send some voice memos about it that I have recorded next

please push to dev as you have updates since this is an important story and we can add a lot of vault here while showing the power of our setup

include the billing model in this site

The initial prompt that started the first session

The message above, with the two memo transcripts attached, in a Claude Code session with the sgit skill and the estate's guidance pages (sgit.ai/docs/guidance, sgit.ai/docs/guidance/repositories, the newsroom's php-flaws section and its meter and economics pages) read first.