Append-Only Audit - https://append-only-audit.skillsafe.ai/ This app's agent prompt is a derivative work of two agent skills. It paraphrases and adapts their guidance; it does not reproduce the skills or their reference files verbatim. 1. event-store-design Source: https://github.com/wshobson/agents Path: plugins/backend-development/skills/event-store-design/SKILL.md (and references/details.md) Author: Seth Hobson (wshobson) Licence: MIT License - https://opensource.org/licenses/MIT Modifications: the skill's requirements (append-only, per-stream and global ordering, optimistic concurrency, idempotent writes by event id, correlation and causation ids, events versioned from day one, small payloads, no updates or deletes) and its PostgreSQL schema and asyncpg store templates were restated as deterministic browser checks (eskit.js, ES-01..ES-10) and as the store lane of this app's prompt. The sequence-gap check and guard, and the concurrency-error mapping of a unique violation, are additions of this app. 2. projection-patterns Source: https://github.com/wshobson/agents Path: plugins/backend-development/skills/projection-patterns/SKILL.md (and references/details.md) Author: Seth Hobson (wshobson) Licence: MIT License - https://opensource.org/licenses/MIT Modifications: the skill's practices (idempotent projections, transactions for multi-table updates, stored checkpoints, ordered processing, error handling, rebuilds) and its projector templates were restated as deterministic browser checks (eskit.js, PJ-01..PJ-10) and as the projection lane of this app's prompt. The requirement that the checkpoint commit in the read model's transaction and the per-row position guard are additions of this app. The exact before/after edit contract, the re-check of every edit and returned file, the changes list tied to the page's flags, the browser-side checks (eskit.js), the reconciliation (recon.js) and the rest of the page are original to this app. PostgreSQL is a trademark of the PostgreSQL Community Association of Canada; this app is not affiliated with or endorsed by it or by the asyncpg project. "Event store" here names the general append-only pattern; this app is not affiliated with or endorsed by Kurrent (formerly Event Store Ltd) or its KurrentDB / EventStoreDB products.