proof

Receipts, not testimonials

Everything below is exported from this platform's own operational data at checkpoint time. Where a number is unflattering, it is here anyway — the whole point of publishing a record is that you don't get to pick which parts.

exhibit · audit-hardening · 2026-07-22

Recompute the chain yourself

Below are 5 consecutive evidence records exactly as they were written, plus the hash published for each one. Your browser recomputes every hash from the record bytes — no network call, no server. Then flip a record's text and watch the chain break from that point forward.

  1. buzz-hardening2026-07-22T16:52:27.996Z
    seq 73

    Tamper-evident chain over outputs/evidence/*.jsonl; anchor writes HEAD+chain-index.jsonl; 6/6 tests pass; verify clean on 73 real records.

    published
    4a03710c939af9dfa7ef48e86ec375ebd05d5c712e8f3478d36a0721b018188f
    computed
  2. buzz-hardening2026-07-22T17:13:34.682Z
    seq 74

    logEvidence signs canonicalBody when AGENT_KEY_<ID> set; grandfathers unsigned. 7/7 UC1 tests + real-CLI verify/tamper e2e pass.

    published
    64d9ff1211695f95483bb03c81350a7210b13d0cd64df1861952a47488dd9d41
    computed
  3. buzz-hardening2026-07-22T19:10:33.193Z
    seq 75

    applyTransition signs the transition tuple with the Publisher key; additive nullable cols; CONTENT_DB_PATH makes the sole-writer testable. 5/5 UC3 + UC1/UC2 regressions pass.

    published
    7140b32a8bc894b336cdb2e34d8c877c0a943572d7fb4a170e81bba50468f08c
    computed
  4. buzz-hardening2026-07-22T19:52:11.694Z
    seq 76

    Pure read-only projection of evidence+transitions+slack into FTS5; deterministic event_ids; tenant-scoped; pipeline-activity reads projection w/ inline fallback. Fixed FTS5 special-char query bug. 6/6 UC4 tests.

    published
    f8034a425aa734c7bbb3d6b175a435ce915aad0878fa35e2f0c9eb32f903714a
    computed
  5. buzz-hardening2026-07-22T19:56:53.334Z
    seq 77

    Every RAG answer appends verifiable event_ids from the UC4 projection; zero-receipt answers labelled unverified. 5/5 UC suites green. buzz-hardening COMPLETE.

    published
    3419953595ff0b4374bfa36cc5dce2f307d73822e0b3059615755334c4654685
    computed
What this proves — and what it doesn't

What it proves

  • These 5 records are byte-for-byte what they were when the chain was anchored on 2026-07-22. Editing any covered field in any record changes that record's hash and every hash after it.
  • The segment descends from the published anchorb5b97423e7ecc593…, and its terminal hash is the committed head of the whole chain.
  • The verification runs entirely in your browser, over the same JSON that is printed on this page. There is nothing to trust in between.

What it does not prove

  • That the anchor is honest. A chain shows that history wasn't edited after anchoring. It cannot show that the anchor itself was truthful. That needs the baseline to be independently visible, and the repository holding it is private — so this is self-consistent and tamper-evident, not third-party attested. Saying otherwise would be the exact overclaim this site exists to avoid.
  • That an agent authored a record. That is what the Ed25519 signatures are for, and zero of the records are signed. The signing code is complete and tested; no keys have been provisioned. No public keys are published yet, so there is nothing here to check against.
  • That the work was good. A record proves an action was logged, not that it was correct. That is what the human gate is for.

evidence log

Every agent action, written down

136
evidence records
2026-03-19 → 2026-08-03
15
distinct agents
18
distinct commands
0
cryptographically signed
Signing code is complete and tested. No keys provisioned yet — so this is zero, and it says zero.

the ledger

114 commits, parent-linked

The build history of the engine itself, each commit shown with the parent it descends from. This is displayed linkage, not verified linkage: recomputing a git hash in your browser needs the raw commit object, which carries the author's email. Theevidence chain above is the part that is actually recomputed. Those two things are easy to blur and this site won't.

1,495
file changes
+134k
lines added
−14.6k removed
13
weeks with commits
2026-05-04 → 2026-08-03
  1. bbebca399b0a792026-08-03

    feat(site): Phases 2b–5 — pages, content collections, Verify + gate islands, anatomy ingest

    38 files · +3222 −79

  2. 99b0a79837133e2026-08-03

    chore: mark clembot-site Phase 2a done in todo.md

    1 files · +1 −1

  3. 837133e2bd2f662026-08-03

    feat(site): Phase 2a — Astro infrastructure scaffold for clembot.wanessalabs.com

    12 files · +4538 −1

  4. 2bd2f66390c8442026-08-03

    chore: checkpoint output state (gmail poller, weekly LinkedIn build log)

    5 files · +107 −2

  5. 390c84406b02702026-07-30

    feat(site): read-only feed exporter for clembot.wanessalabs.com

    6 files · +2284 −14

  6. 06b0270470de9a2026-07-28

    checkpoint: session-end: /enrich live (PR #12) — Slack command + YouTube key added & verified; YouTube Data API search fallback + name-aware matcher fix; Reddit deferred on dev-app approval

    2 files · +7 −6

  7. 470de9a8ca2b5a2026-07-28

    feat(follows/enrich): resolve any YouTube video via Data API search + name-aware matching

    1 files · +30 −4

  8. 8ca2b5a8de4d1c2026-07-28

    checkpoint: follows analysis depth: provisional lens-first read for thin feeds + on-demand /enrich bot (opens link, reads HN/Reddit/YouTube discussion -> cited Deeper read on the Notion page)

    3 files · +30 −1

  9. 8de4d1c144eb362026-07-28

    checkpoint: lists-of-30 X threads: adapter array-content + CLI ---split + compose() scrapes list items; regenerated 13 Aug drafts as threads; fixed posts:delete no-JSON bug

    8 files · +135 −17

  10. 144eb36d74fb742026-07-28

    feat(follows): on-demand deep enrichment (/enrich) — open link + read HN/Reddit/YouTube

    6 files · +717 −2

  11. d74fb74dbccdcb2026-07-28

    feat(follows): provisional lens-first analysis for thin feeds

    1 files · +51 −11

  12. dbccdcb5490c162026-07-27

    checkpoint: Follows lens personalized (real macro priors) + Notion routing curated 12/4; session-end

    3 files · +24 −8

  13. 5490c169134e2c2026-07-27

    checkpoint: bip-cadence Phases 0-5 (clembot tenant, /bip-batch, coverage, metrics loop) + lists-of-30->X engine — Aug filled with 13 X drafts

    4 files · +62 −1

  14. 9134e2cd4e46ab2026-07-27

    checkpoint: Follows deep Notion analysis: lens-aware saved-analysis pages (analyze.js + vault lens + Markdown->Notion blocks); session-end

    11 files · +566 −6

  15. d4e46abd96893c2026-07-27

    feat(bip-cadence): 3x/week build-in-public cadence on Postiz + clembot tenant

    15 files · +513 −16

  16. d96893c96877882026-07-25

    checkpoint: Gmail scout calibration + --discuss (per-signal persona debate + [Signal] Notion entry); PR #11 merged, auto on 08:10 job

    3 files · +21 −5

  17. 96877881107e842026-07-25

    Merge pull request #11 from clemenswan/feat/gmail-scout-discuss

    0 files · +0 −0

  18. a547aea1107e842026-07-25

    feat(gmail-scout): recalibrate scoring + add --discuss (persona debate + Notion entry)

    5 files · +206 −25

  19. 1107e84b8c4c272026-07-25

    checkpoint: Gmail scout scheduled (daily 08:10) + --mark-read; fixed clembotscrape dual-token OAuth outage (Testing->Production); recovered follows fix fbe6e64 to main (PR #9, #10)

    6 files · +149 −7

  20. b8c4c27244b2922026-07-25

    Merge pull request #10 from clemenswan/fix/follows-digest-links

    0 files · +0 −0

  21. 244b292f2a72d02026-07-25

    Merge pull request #9 from clemenswan/feat/gmail-scout-scheduled-mark-read

    0 files · +0 −0

  22. fbe6e6482478992026-07-25

    fix(follows): repair Slack digest links + silently-failing Notion sink

    3 files · +48 −29

  23. 8247899f2a72d02026-07-25

    feat(gmail-scout): schedule daily + add --mark-read; log clembotscrape auth outage

    3 files · +39 −6

  24. f2a72d0a7a6a2e2026-07-24

    Merge pull request #8 from clemenswan/fix/docs-tab-build-time-bundle

    0 files · +0 −0

Showing the 24 most recent of 114. 3 commit subjects are replaced with [redacted] — they name client work, which never appears on this site. The commits themselves are still listed; only the message is withheld.

activity

Shape, not transcript

Six agent personas talk to each other in a chat workspace all day. The activity log records volume and threading — it never recorded message bodies, so there are none to publish. What follows is honestly all that exists: 273 messages and 188 threaded replies over the last 30 days.

By persona

  • Clembot-Dev118 · 5 threads
  • Clembot-Publisher117 · 21 threads
  • Clembot-Research31 · 39 threads
  • Clembot-Brain6 · 41 threads
  • Clembot-Marketing1 · 78 threads
  • Clembot-Sales0 · 4 threads

By day

21 days with activity in the window. Gaps are real — nothing here runs on a cron that posts for the sake of posting.

The six personas
  • Clembot-Brain — Chief strategist. strategy and synthesis.
  • Clembot-Marketing — Content & growth lead. content angles, hooks, distribution, audience reach.
  • Clembot-Sales — Revenue lead. pipeline, conversion, client objections, demos.
  • Clembot-Research — Market intelligence. evidence, market patterns, competitors, precedent.
  • Clembot-Dev — Engineer. feasibility, automation leverage, what to build or instrument.
  • Clembot-Publisher — Operations & calendar. cadence, scheduling, the pipeline from draft to posted.