{
  "agent": "incident.observability@web-summit.dinis",
  "by": "incident.observability@web-summit.dinis",
  "updated": "2026-11-11T00:17:36Z",
  "state": "active: /agents/ is the one agents page (cards, Dinis's asks, live map, Universe, release speed with CI's own push-to-served, ledger); page views built and off until a vault exists; hourly wake",
  "last_wake": "2026-11-11T00:17Z",
  "jobs": [
    "J1: /agents/: every agent (name, role, doing, done, next, asks with Dinis's on top, last commit, key fingerprint); tools/agents-index.mjs writes data/agents/index.json; the page reads JSON only, refreshes every minute.",
    "J2: reuse as pinned copies with their source commit: Angelo's live map (who talks to whom from For: trailers); Silvio's Universe, mind map and Talk view; one small adapter per engine, no fork; credit on the page.",
    "J3: page views (promptugal.news's obs.js model, no geo lookup); release speed per push; the model ledger."
  ],
  "done": [
    "session key made (record sha256:4eaeeacb457991e0), public half in data/keys.json",
    "tools/agents-index.mjs -> data/agents/index.json (roster from agents/JOBS.md, statuses, key fingerprints; session ids stripped)",
    "the agents page at /app/agents/ (app/agents/agents.js, agents.css, index.html, about.md): asks for Dinis on top, a card per agent, who writes for whom, the last pushes; live status files and GitHub's public API, refreshed every minute",
    "Angelo's live map on /app/agents/#live: live.js and live3d.js unchanged, pinned at SGit-AI__Website__Web-Summit commit 57636ac (app/agents/vendor/live-map@57636ac/pin.json, tools/agents-pin.mjs); app/agents/live-adapter.js shapes this repository's commits (Agent: and For: trailers) into the engine's map and live.json, and labels the dots through the engine's own hook; 3D loads Silvio's three.js bundle from web-summit.sgit.ai under a sha384 check, never committed",
    "tools/agents-commits.mjs -> data/agents/commits.json (who pushed what, for whom; pair counts): the page's fallback when GitHub's API does not answer, and the who-talks-to-whom dataset for agents",
    "Silvio's Universe on /agents/#universe (Map, Circuit, Talk): brain.js and brain.css unchanged, pinned at commit 57636ac (app/agents/vendor/universe@57636ac/pin.json); app/agents/universe-adapter.js puts this site's four readers where the engine looks (window.LiveUniverse), so it draws this team from this repository and reads nothing from its home site; opened on request (1.6 MB of 3D libraries from web-summit.sgit.ai under a sha384 check)",
    "release speed on /agents/#releases: every run of the deploy workflow (GitHub's public API): pushed, by whom, deployed / superseded / failed, seconds from push to run finished; median and slowest tenth",
    "the model ledger on /agents/#ledger: tools/agents-ledger.mjs turns an agent's own ledger (tools/llm.mjs) into counts per day and task in data/agents/ledger/<role>.json (no model names, prompts or answers)",
    "page views: app/agents/obs.js, promptugal.news's sender without the place lookup (no third party sees a visitor's IP); data/agents/obs.json holds its lane and is off until a vault exists",
    "tools/agents-index.mjs takes --out <dir> (the build can refresh the index on every push); every JSON carries by and updated; about.md opens with its Kept-by line",
    "asks that may be stale are marked and listed last: an agent whose status file is here but who has pushed nothing here (its file is synced from the old repository)",
    "/app/agents/ redirects to /agents/ (one agents page, the framed one)",
    "release cadence measured after CI stopped cancelling a running deploy (23:56 to 00:14 UTC, GitHub's run records read 00:14:51): 44 pushes (2.5 a minute), 34 deployed, 10 superseded while waiting, 0 failed; a deploy every 24 s at the median (longest gap 95 s); push to run finished 32 s median, 41 s at the 90th percentile, 49 s worst; CI's own push-to-served on the last twelve releases 22 to 32 s",
    "the push-to-served column checked against the real check-runs API (the notice reads '<n> s (<version>)', as the page parses it)",
    "the Circuit reads the librarian's draft policies (agents/<role>/policy.md) as served; every one is titled and versioned DRAFT, not agreed, and a banner above the Universe says how many are drafts and that a draft is not a licence to operate; gaps and barriers stay on the policy pages",
    "a pipeline-health strip at the top of /agents/: pushes, deployed, median push to served, superseded and failed in the last hour"
  ],
  "next": [
    "when Dinis answers the vault ask: the lanes, the drain (counts only, published as data/agents/views.json) and the views section of /agents/",
    "replay.js (the Gantt of every commit) on the live-map pin, if its data shape can be made in the browser"
  ],
  "asks": [
    "Dinis: page views need a vault with append lanes on SG/Send (as promptugal.news's obs vault) and a drain key that outlives one session. The sender is built and switched off (data/agents/obs.json). Either make the vault and hand me its id and lane tokens (public by design), or say that I may make it with the SG/Send token in this session's environment; and say whose key the events are sealed to (a session key ends with its session).",
    "everyone: after model calls, AGENT=<your name> node tools/agents-ledger.mjs and commit data/agents/ledger/<role>.json; one For: trailer per line (Silvio's Talk view reads only the first name on a line)."
  ]
}
