From db7f54bcb424a5b2a3da6ade435021035d7e41b1 Mon Sep 17 00:00:00 2001 From: Einar Ingebrigtsen Date: Mon, 10 Aug 2026 16:51:19 +0200 Subject: [PATCH] Remove foreign .agents/PROJECT.md This file was never authored in this repository. A broken instruction-sync mechanism propagated Chronicle's .agents/PROJECT.md across the organization, so the content here describes the Chronicle Workbench - its dev ports and local sign-in credentials - rather than this repository. .agents/PROJECT.md is read as project-local truth by every agent session, so leaving Chronicle's copy in place actively misinforms. There is nothing to restore: this repository never had a PROJECT.md of its own, and the shared corpus reads the file only if it exists. The deletion stays recoverable from git history should this repository ever want one. The root cause is fixed in Cratis/Workflows (5ae82e5): .agents/PROJECT.md is now excluded unconditionally from both propagation and bootstrap cleanup, so this deletion will not be undone by a later sync. --- .agents/PROJECT.md | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 .agents/PROJECT.md diff --git a/.agents/PROJECT.md b/.agents/PROJECT.md deleted file mode 100644 index d27d4a4..0000000 --- a/.agents/PROJECT.md +++ /dev/null @@ -1,42 +0,0 @@ -# Chronicle — Project-Specific Instructions - -Project-local context for this repository. See `.claude/CLAUDE.md` for the shared Cratis corpus. - -## Running the local stack - -The Workbench is a Vite dev server that proxies to the Chronicle Kernel: - -| Piece | Address | Notes | -| --- | --- | --- | -| Workbench (dev) | `http://localhost:9000` | `yarn dev` from `Source/Workbench` | -| Chronicle Kernel | `https://localhost:35000` | **HTTPS** with a dev certificate — use `curl -k`; plain `http://` returns an empty reply | -| Orleans gateway / silo | `127.0.0.1:30000` / `127.0.0.1:11111` | | -| MongoDB | `localhost:27017` | Runs in Docker | - -The kernel serves everything on the single TLS port; the Vite proxy sets `secure: false` for it. - -## Workbench credentials (local development) - -The Workbench requires signing in before any view loads — unauthenticated requests to -`/.cratis/me` and `/api/event-stores` return `401` and the app redirects to `/login`. - -| Username | Password | -| --- | --- | -| `Admin` | `ChangeMeNow!` | - -These are the local development defaults only. They are not valid anywhere else, and nothing -outside a developer machine should ever accept them. - -## Verifying Workbench behavior - -Drive the Workbench through the browser tooling rather than guessing from source — several of its -views are fed by observable (SSE) queries whose behavior only shows up at runtime: - -- Sign in first, or every view renders empty and looks like a data bug. -- Inspect the SSE frames when a live view misbehaves. Observable queries default to `Delta` - transfer mode, so a frame carries a `changeSet` (`added` / `replaced` / `removed`) and an empty - `data` array — the client reconstructs the collection from the previous state. -- Delta reconciliation matches items by a property named `id` on both the server - (`ChangeSetComputor`) and the client (`useObservableQuery`). A read model without an `id` - falls back to whole-payload JSON equality, which is fragile for models carrying a changing - timestamp. Check this first when a live list grows, duplicates, or fails to drop rows.