Skip to main content
Insights
#2077

Block temporary email services on signup

2d ago
#2027

Retire or rebuild /admin/nurture once the epic lands — it is a gate, and gates are single-use

6d ago
#2012

feat(nurture): /admin/nurture — who would get what, and why

k6d ago
#2011

feat(nurture): the nurture_send ledger and the dry-run projector, with the cold-start seal

k6d ago
#2010

feat(nurture): batch cohort reads — account-grain identification that carries its evidence

k6d ago
#2009

feat(nurture): the flow catalog and the qualification contract (pure domain)

k6d ago
#2025

harness-marketing-funnel posts {batch:[...]} to /ingest, which is not a batch — every run silently measures zero

6d ago
#2024

feat(cli): swamp inbox — read swamp-club notifications without leaving the terminal

6d ago
#2023

feat(cli): tell operatives they have swamp-club notifications waiting

6d ago
#2022

feat(api): a cheap unread-notification count for API-key clients

6d ago
#2021

feat(nurture): deliver to the swamp-club inbox on the same dedupe decision as email

6d ago
#2020

feat(nurture): arm needs-help-after-a-failed-run (NEEDS HELP)

kBlocked6d ago
#2019

feat(nurture): arm model-usage-without-workflows (BUILDING PRODUCT FEATURES)

kBlocked6d ago
#2018

feat(nurture): arm no-activation-after-30-days (ARRIVED, NEVER RAN)

kBlocked6d ago
#2017

feat(nurture): arm reactivation-after-7-days (DRIFTED)

kBlocked6d ago
#2016

feat(nurture): arm the first flow — extension published, email only, verified in prod

kBlocked6d ago
#2015

feat(nurture): the six nurture email templates, previewed before anything sends

k6d ago
#2014

feat(nurture): an outbound transport that reports its outcome, and per-channel send status

k6d ago
#2013

feat(nurture): suppression — opt-out, address-grain frequency caps, one-click unsubscribe

k6d ago
#2008

Epic: Product nurture — lifecycle identification, dedupe-safe delivery, and operator control (email, inbox, CLI)

6d ago
#2001

SSO: SAML assertion attributes are never logged or persisted — cannot tell whether the IdP sent groups

k6d ago
#1819

IdP group memberships go stale indefinitely — user.idpGroups is only written by the SSO login hook

s7d ago
#1961

Extension version binaries never persisted — binaries security notice has never rendered

k8d ago
#1884

Genesis "New Blood" (recruit_first) only counts collective invites — a platform invite can never complete it

k14d ago
#1821

SCIM 2.0 provisioning endpoint for swamp-club (Users + Groups, deprovision)

15d ago
#1820

SSO user profile fields are frozen at first login — overrideUserInfo is never set on any provider

17d ago
#1805

@swamp/s3-datastore disables IMDS on plain EC2, so an attached instance profile cannot resolve

s17d ago
#1804

AWS credential handling is duplicated across five implementations — the #803 preflight and the #226/#228 SSO hints reached only one of them

s17d ago
#1813

A subscription stuck in incomplete has no path forward: it grants nothing, and the billing page offers no way to finish paying

17d ago
#1812

Identifier lookups are exact-match and case-sensitive across username, email and slug

17d ago
#1811

Invite failures emit no telemetry, so a rejected invitation leaves no trace anywhere

17d ago
#1810

Collective invitations expire after 48h and the auto-claim is gated on that window, so a late signup is never bound

17d ago
#1809

Invite typeahead searches username prefix only, so an operative cannot be found by name or email

17d ago
#1806

Send the release headline from the release pipeline so New Release announcements say what shipped

17d ago
#1572

Epic: /leaderboard and /u/{username} do not survive 10B events — measured audit + phased plan

17d ago
#1255

Reconcile collective-token CLI activity to members (attribute → bonus → stamp → even-split)

17d ago
#1800

deps-audit skips deno-runner and agent-runner lockfiles in ci.yml

18d ago
#1665

Sync every signup to Attio, and backfill the existing population (#809 follow-up)

k27d ago
#1669

@swamp/issue-lifecycle probes /api/health, which swamp-club stopped serving when the Fresh scaffold stubs were removed

25d ago
#1668

Lab lifecycle POST rejects any payload string that starts with a dollar sign, not just operator keys

27d ago
#1497

Push down the two cheap leaderboard scans: ghost-gate dictionary and eventCounts owner filter

k27d ago
#967

$identify events are never consumed — anonymous web history never binds to the account

k27d ago
#1667

Finish the swamp_* attribute set on Attio users, and settle the two unprefixed ones (#809 follow-up)

27d ago
#1666

aria-expanded is a raw boolean in 12 places — collapsed state is unannounced to screen readers

27d ago
#1658

One standing read: every scalar score consumer reads board_totals, not the ledger

k27d ago
#1657

Profile Edit trigger is a fire-and-forget island: no aria-expanded, and a silent no-op if the editor island does not hydrate

k27d ago
#1654

Profile XP bar jumps ~25px on fill, and pays the full cumulative walk for two numbers board_totals already holds

k27d ago
#929

Incremental activity projector + swamp.events username bloom index (spun off #925, stages 5+7)

k27d ago
#1254

Telemetry stats consumer: insert_id dedup commits before the write it guards — any upsert failure is silently swallowed on retry

k27d ago
#1598

score-rollup projector runs N× per cadence — the run gate is per-replica memory, not shared state

k27d ago
#1579

Leaderboard board windows re-anchor on wall-clock while the rest of the view is frozen at asOf

k27d ago
#1663

swamp CLI: surface the audience and resolvedInVersion fields swamp-club now serves

s8d ago
#1662

ApiKeyManager's collapsed trigger points aria-controls at an element it never renders

27d ago
#1661

A boolean aria-expanded renders as no aria-expanded: two disclosure widgets report no state to a screen reader

27d ago
#1651

Ripple redaction rewrites HTTP status-code runs as phone numbers, silently corrupting evidence

s27d ago
#1503

Profile score section blocks the render on a ClickHouse read

k27d ago
#1204

Collective invite emailed-link return path is dropped: /accept-invite sends ?returnUrl= but /login reads ?redirect=

k27d ago
#1653

Tell the inviter when a collective invite mis-lands, instead of leaving it pending forever

27d ago
#1504

Ghost profile bypasses the score-read seam and 500s on a slow ledger

k27d ago
#1589

A ledger read failure still renders as 'no activity': loadProfileScore swallows to an empty standing behind HTTP 200

k27d ago
#1620

Model lookup misreports EMFILE (too many open files) as a broken definition file and dumps a raw stacktrace

s29d ago
#1605

serve telemetry identity warnings are diagnostic but not actionable — say how to fix them

s1mo ago
#1588

swamp quest: drop the heartbeat field the server no longer sends

s1mo ago
#1604

Daemon telemetry flush: stop() can skip its final flush when a timer drain is already in flight

s1mo ago
#1607

Guard the projector's full rewrites against the fail-open lease (ADV-6 from #1575/#1576)

k1mo ago
#1606

Projector write amplification: board_totals/owner_devices full rewrites are owners × runs/day

k1mo ago
#1576

Profile candidateIds prune costs a full ledger scan to build itself — 42.88M rows for one keyed read

k1mo ago
#1575

Leaderboard phase 3: owner-grain board_totals so a cache miss is survivable at 10B

k1mo ago
#1591

swamp serve is telemetry-dark: scheduled workflow runs never reach /ingest, and the daemon never flushes

k1mo ago
#1603

CLI has never sent insert_id: retried telemetry batches are double-counted into cli_daily, inflating XP in an append-only ledger

1mo ago
#1581

Catalog backfill reconciles against the local cache, not the datastore

s1mo ago
#1599

dailyHistory range pushdown — deferred from #1576, and the measurement says why

k27d ago
#1597

Docs: manual never mentions telemetry, and the serve/scheduling pages imply automated runs are visible when they are not

1mo ago
#1574

Leaderboard phase 2: take score_grants off the board read path — read today from score_daily

k1mo ago
#1586

Profile day drill-down returns 0 entries at the 5s ClickHouse ceiling for every operative

k1mo ago
#1582

reconcile_from_disk_bench.ts fails deno check (stale DenoRuntime stub)

s1mo ago
#1573

Leaderboard phase 1: cache the board read and bust it on tier crossings (no schema change)

k1mo ago
#1580

Catalog backfill deletes rows for any model whose data names are numeric

k1mo ago
#1583

Docs: document catalog completeness check and --repair in doctor reference

1mo ago
#1577

Leaderboard phase 5: score-rollup-projector write cost at 10B — ~430M rows scanned per 60s tick

k1mo ago
#1544

swamp auth whoami should report paid tier and trial status

k1mo ago
#1545

Use whoami entitlement to explain private-extension push refusals

1mo ago
#1496

Split the score-read circuit breaker so leaderboard pressure can't blank profile scores

k1mo ago
#1475

oauth_sign_in telemetry records provider as the literal ":id" for every event

k1mo ago
#881

Council: set the scoring balance — command tiers, farm-decay parameters, cross-category ratio

1mo ago
#880

Scoring coverage gaps: instrument drop-off, score ripples/mentions, reward invite-converts

1mo ago
#1495

Materialize an active-days-by-id table for the streak board

s17d ago
#1494

score-rollup-projector: O(all-time ledger) closure + per-pod fan-out saturates prod ClickHouse CPU

k1mo ago
#1486

swamp auth server-login ignores SWAMP_SERVE_URL

s1mo ago
#1478

serve oauth: an unrecognized device-token error kills the whole serve process instead of the bootstrap

s1mo ago
#1482

CLI reports 'HTTP/2 not supported by this client' when the server actually returned 401 — masks auth failures as a transport error

s1mo ago
#1477

serve oauth: startDeviceGrant discards the OAuth error field, making device-code failures undiagnosable

s1mo ago
#1476

serve oauth bootstrap: device flow rate-limited to a 45-second window by validateClient counter, shared globally across tenants

k1mo ago
#1376

CLI: swamp invite <email> to drive the platform-invite API

1mo ago
#1337

Hide enterprise (SSO) operatives from announcements and leaderboard by default

k1mo ago
#1294

Expose the swamp.club feed as an RSS feed

k1mo ago
#1246

Docs: manual should state workflow unknown keys are rejected and placement is step-only (follow-up to #1240)

s1mo ago
#1276

ExtensionInfo.latestVersion typed 'string' but registry returns null; harden pull/resolve for prerelease-only extensions

s1mo ago
#1256

Profile stats: per-user daily rollup table + MV in ClickHouse

k27d ago
#1235

CLI telemetry: fold third-level verbs into subcommand + canonicalize aliases

17d ago
#1229

Docs: swamp skill repo-structure reference still documents repo-local .swamp/telemetry/ as live

s1mo ago
#1129

Docs: document user-global telemetry (telemetry.yaml opt-out, spool location, telemetry stats behavior)

s1mo ago
#1082

score_daily rollup strands stale grains when a day-less grant re-stamps onto a later day

k1mo ago
#1093

swamp-club: global rate limiter runs pre-auth and collapses all direct clients into one per-IP bucket — 429s authenticated CLI traffic

k1mo ago
#958

feed_post_score_events queue grows unboundedly (no TTL, no delete-on-delivery)

k1mo ago
#954

@-mention autocomplete for users when writing lab ripples

k1mo ago
#959

Remove comments from /feed and redesign the page

k1mo ago
#875

Score-refresh consumer: harden coalescing against a diverse backlog (bistability)

k1mo ago
#844

Remove feed comments — consolidate discussion in Discord

k1mo ago
#956

Relax the profanity filter

k1mo ago
#736

Extension search returns edit-distance noise for short queries ("asdl" → "AWS DEADLINE")

k1mo ago
#828

Telemetry recoverOrphaned startup race with multiple replicas (created_at-based)

k1mo ago
#827

Telemetry retry/failed path has the same non-atomic claim as #820

k1mo ago
#1205

Dead code: CollectivesSection island (pending-invite prompt) is never mounted; listPendingInvitationsByEmail has no production consumer

1mo ago
#1125

Telemetry silently dropped outside a swamp repo — lost events + undercounted scores

k1mo ago
#1120

serve: create*Deps() factories leak file-based catalog stores (3 FDs) per API request

k1mo ago
#1121

flaky test: manual_approval suspension test leaks 3 timers (OTel InMemorySpanExporter setTimeout)

k1mo ago
#1123

flaky test: serve OAuth client tests leak unconsumed fetch response bodies (+ connection_test readDir leak)

k1mo ago
#1118

serve leaks file descriptors (EMFILE) — runFileSink.unregister runs after yield, not in finally

k1mo ago
#1092

swamp-club: /api/whoami 500s on fresh install — ensureIndexes {id:1} conflicts with migration 012 id_lookup index

k2mo ago
#1091

data prune --json omits reclaimedModels[].modelName when a report entry is grouped first

k2mo ago
#1083

One-time prod data checks: github:-authored lab issues blast radius + legacy uppercase extension names

2mo ago
#1058

Serve leaderboard locate ('find yourself') live, retiring its per-replica standings cache

k2mo ago
#1055

Serve leaderboard live from the score_daily rollup — retire per-pod snapshot & campaign-blind board fallback

k2mo ago
#1012

Docs: document swamp data prune (orphaned-data reclamation)

s2mo ago
#1011

UAT: CLI coverage for swamp data prune (orphaned-data reclamation)

2mo ago
#978

Leaderboard search excludes ghosts — a visible ghost can't be found by its alias

k2mo ago
#973

issue-lifecycle: plan lifecycle entry silently dropped when summary exceeds 1000 chars

s2mo ago
#957

Make paid subscribers visually stand out (badge, profile popup summary)

1mo ago
#955

Giphy integration via /giphy command

k27d ago
#950

/lab shipped list is sorted by issue number, not ship date

k2mo ago
#924

Collscan/index-gap pack: unindexed $or id branches (every registry request), computed-field sort kills extension browse indexes, $expr blocks pull counts, apikey.userId, workflow_runs, 1100-doc profile fetch

k2mo ago
#926

Request-path external fetches with no timeout / no negative cache: profile GitHub/Discord resolution and landing-page total count (30s → 504 mechanism)

k2mo ago
#921

Auth hot path: 7 serial Atlas round trips per API-key request; session cookie cache dies after 5 min; session/apikey lookups unindexed

k2mo ago
#923

Leaderboard: window boards are unindexed full-collection aggregations ×4 per locate miss; locate fetches 4×10k rows to rank one user; search() has O(sum-of-ranks) lookup fan-out

k2mo ago
#922

/lab loads every issue with full markdown bodies on every request (incl. detail pages) + ~12 serial DB waves — the 3.4s avg / 30s tail

k2mo ago
#927

Activity projector runs on both telemetry replicas — same-day chunks can double-grant (grant_id collides but granted_at differs, ReplacingMergeTree never dedups)

1mo ago
#872

Activity heatmap clips the current UTC day — uses local browser time for "today" but snapshots are UTC-keyed

s2mo ago
#854

Epic #847 · Unit 2: score_grants append-only ledger write-model in Mongo (shadow, no read flip)

k2mo ago
#862

feat(clickhouse): tracked archive→CH backfill tooling (backfill.sql)

2mo ago
#861

feat(clickhouse): idempotent DDL migration path for running prod (#859 deliverable 2)

2mo ago
#860

chore(clickhouse): retire S3-backed v1 + s3 objects after #859 cutover

2mo ago
#859

Decouple prod ClickHouse from S3 (drop storage_policy=s3_main) + add a DDL migration path

2mo ago
#853

Epic #847 · Unit 1: Land the ClickHouse projection foundation (schema + init SQL + compose service)

k2mo ago
#850

Extension publish score is non-monotonic: yanking versions lowers a user's score

k1mo ago
#849

Live Swamp Club event console on /feed — scrolling stream of all non-sensitive events

1mo ago
#820

Telemetry watcher has no replica coordination: N replicas double-process the same batch (non-atomic find→updateMany claim)

k2mo ago
#819

Telemetry drain still capped ~80-100/s in prod: per-username full-history re-aggregate is O(users) sequential per batch (deferred #817 fix #4)

k2mo ago
#817

Telemetry ingest is consumer-bound: counter & stats dedup via O(N) sequential insertOne, throughput stuck ~20 events/s regardless of BATCH_SIZE

k2mo ago
#804

Batch step 2 of enrichAuthorPlans (per-collective subscription reads)

1mo ago
#802

Add SWAMP CLUB wordmark logo next to sc-mark.png in TRADEMARKS.md

k2mo ago
#719

Docs: document trigger.inputs for scheduled/webhook workflows in the manual

k2mo ago
#729

serve --webhook usage string makes <header> look optional for generic scheme

s2mo ago
#789

Leaderboard window baseline: 90-day cutoff zeroes returning-dormant users (latent, 0 impact today)

1mo ago
#737

Yank semantics inconsistent: all-versions-yanked acts as a free hidden/private extension; extension-level yank hard-blocks re-push

s2mo ago
#728

serve: webhook scheme not surfaced in startup event, health endpoint, or log line

s2mo ago
#726

Slack webhook pre-body gate only checks signature header, not timestamp

s2mo ago
#725

Dead code: verifySignature in webhook.ts superseded by verifier abstraction

s2mo ago
#723

Data-driven webhook signature verifiers (avoid a code change + release per provider)

2mo ago
#709

Replace third-party trademark symbol with Swamp Club (SC) mark in TRADEMARKS.md

k2mo ago
#650

datastore setup migration relocates and deletes repo-root .swamp/secrets, breaking all local_encryption vault.get

s2mo ago
#649

Registry content-type search filter can match versions absent from the displayed extension

s2mo ago
#648

Docs: document reports.require failure semantics in the manual (unresolvable required report fails the run)

s2mo ago
#645

Resource-leak test failures on main: extension_rubric_scorer_test and worker_gateway_test

s2mo ago
#635

Tier-up announcements never fire for direct score contributions (badge awards, feed credits)

k2mo ago
#507

Feed-post scoring is a direct domain write, not a consumer of feed_post_approved telemetry

k3mo ago
#492

reindexByUsername re-strands pre-association history and wipes sign_in_dates

k3mo ago
#573

extension search returns null repository fields that extension info populates

s3mo ago
#509

Docs: TLS behind inspecting proxies / private CAs (system trust store, DENO_CERT, SSL_CERT_FILE)

3mo ago
#501

username_metrics projection backfill does not trigger re-scoring (stale UserScore for dormant users)

1mo ago
#491

Telemetry never retroactively credits a device's pre-association history

k3mo ago
#448

Telemetry admin reindex endpoint is gated on a defunct @systeminit.com email domain — permanently 403

s3mo ago
#445

extension update/pull deadlocks when the repo's datastore is the extension being updated

s3mo ago
#447

CLI telemetry forwards non-personally-resolvable identity for collective auth; distinct_id is per-machine, not per-repo

k3mo ago
#446

Telemetry ingest only resolves personal API keys — collective-token events are unattributed, identity_map under-claims

k2mo ago
#430

--json output is polluted by non-JSON content, breaking machine parsing

s3mo ago
#424

swamp serve: extension bundle failure at startup is silently pinned, breaking scheduled workflows with permanent 'Unknown model type'

k3mo ago
#413

Harness detection invents env vars for kiro/opencode/codex

k3mo ago
#393

Extension METHODS table truncates Method column; short names like apply/check wrap mid-word on /extensions/@swamp/ssh

s3mo ago
#392

swamp extension rm leaves empty <kind>-bundles/<hash>/ dirs behind

s3mo ago
#383

`swamp extension rm` leaves empty scaffold dirs behind

k3mo ago
#384

identity_map row not updated when user renames

s3mo ago
#362

Unified login input that detects email vs username by presence of '@'

k3mo ago
#361

Introduce `swampd`: long-running local daemon for shared cache, secrets, and extensions

2mo ago
#338

Step key parsing in execution_service uses naive split(":") and silently truncates colon-containing step names

k4mo ago
#337

Workflow-scope report artifacts unreachable via `swamp data get --workflow`

k4mo ago
#312

telemetry: emit child entries for follow-up action method invocations

s3mo ago
#301

Per-method telemetry events for workflow runs

k4mo ago
#293

Award leaderboard points for referrals and collective invites

17d ago
#292

Add agent harness detection and AiTool to telemetry

k4mo ago
#280

Missing unique indexes on user.email and user.username allow duplicate users

k4mo ago
#282

Local extension edits don't reliably trigger rebundle

4mo ago
#278

discord-bot double-sends sign_up notifications

k4mo ago
#277

Discord bot sends duplicate signup notifications

4mo ago
#232

Extend DatastoreSyncService.markDirty() with optional relPath argument

k4mo ago
#215

Adversarial UAT test: missing cached bundle with intact catalog should self-recover

4mo ago
#214

Port importBundleByPath ENOENT fallback to datastore/driver/vault/report loaders

4mo ago
#192

swamp-club extension card no longer exposes @ns/slug as contiguous text

k4mo ago
#170

Docs: repository-configuration.md missing defaultDriver / defaultDriverConfig

ks4mo ago
#178

Better Auth rejects requests on hostnames not in hardcoded trustedOrigins (signup/signin broken on non-canonical hosts)

k4mo ago
#96

Persist lab filter selection in localStorage

k4mo ago
#169

Server-side parse query params on /lab/all so refresh preserves multi-filter URLs

k4mo ago
#165

cleanup for repoDriver

kj4mo ago
#159

Add repo-level `defaultDriver` to `.swamp.yaml`

k4mo ago
#143

First-class jsr: specifier support in extension bundler

s4mo ago
#97

Inline editing: click-to-edit fields instead of pencil icons

ks4mo ago
#142

Cross-extension code sharing via manifest exports field

4mo ago
#122

Footer floats when page content is shorter than viewport

s4mo ago
#110

Remove traffic lights in column 2 of /lab

ks4mo ago
#101

Flow modal: text rendering issues

k4mo ago
#106

Bog flow: text rendering and layout issues

k4mo ago
#109

Multi-select combo filtering on /lab

k4mo ago
#112

Filter lab issues by author (opened by user)

k4mo ago
#113

Usernames aren't linked to their profile pages

k4mo ago
#114

Collapsible left rail and repositionable right rail in Lab

k4mo ago
#115

'Assigned to me' overlaps 'Privacy policy' on short viewports

s4mo ago
#84

Consolidate MethodReportContext construction — manual and workflow report paths build contexts divergently

s4mo ago
#108

data gc skips version-count GC when no lifetime-expired data exists

k5mo ago
#98

Description 'Show more' button appears even when text fits

k5mo ago
#99

Normalize text sizing across issue list and detail views

k5mo ago
#107

Content filter should identify the flagged word or phrase

k5mo ago
#90

Audit: modelRegistry.get() without ensureTypeLoaded() in YAML repository save() paths

s5mo ago
#91

Vault CEL expressions replaced with VaultSecretBag sentinels after model type upgrade

k5mo ago
#86

issue-lifecycle models should support --assignee for swamp.club issues

s5mo ago
#89

Cross-model expression validator fails on lazy-loaded types — modelRegistry.get() bypasses ensureTypeLoaded

5mo ago
#35

Consolidate method execution paths — workflow steps and manual runs build MethodContext divergently

k5mo ago
#33

CatalogStore constructor runs createSchema before migrateIfNeeded; v1→v2 upgrade fails on existing repos

a5mo ago