docs(spec): Telltale — user bug/crash to issue pipeline - #63
Closed
adbarc92 wants to merge 4 commits into
Closed
Conversation
A project-generalizable feedback pipeline for the apps and games, landing as a new `feedback` source on the Project Dashboard. Three rounds of adversarial critique cut it roughly in half: - the entire crash-side pipeline is deleted in favour of Sentry's native GitHub integration (it was reimplementing grouping and user counts that Sentry supplies, on a gate that could never fire); - fleet dispatch is out of scope — it would have widened a credentialed agent's push target from one sandbox to every registry repo, for a pipeline whose input is internet-authored text. What remains: one Cloudflare Worker, a checked-in registry, four ~60-line senders, and one dashboard adapter.
- §10.1 ingest-abuse risk: put to the operator and knowingly accepted, on the same footing as the PII decision. - §6.7 T5: retained and closed. Command Center is the central hub, so the dashboard adapter is a deliverable; the saved-search fallback is kept on record as considered and rejected, not as a substitute. Promoted to locked decision #9.
Eleven TDD tasks building the standalone Worker — spec T1, T3, T4. Every decision that can be a pure function is one (schema, scrub, fingerprint, decide, registry), so the logic is unit-tested without network or KV. Scoped to P1 only. The senders (P2, nine other repos, four languages) and the dashboard adapter (P3, cockpit/ui) are separate subsystems and get their own plans; P0 is Sentry console configuration. Flags two deliberate deviations from the spec for review: a typed TS registry module instead of registry.yml, and fine-grained PATs instead of GitHub App installation tokens.
Owner
Author
|
Closing — the spec moved with the code to https://github.com/adbarc92/telltale. Telltale is now its own app in its own repo, so its design spec and implementation plan are its own design docs. Both moved there in https://github.com/adbarc92/telltale/pull/1:
The spec's §12 References still point at this repo's code — that is the change surface §6 integrates with — and are now labelled as such. This repo will get its own adapter spec when P3 is actually built, covering §6 (the See #64 for the extraction itself. |
adbarc92
added a commit
that referenced
this pull request
Aug 31, 2026
Telltale now lives at adbarc92/telltale, extracted with git subtree split so all 17 commits kept their TDD and review history. Verified before pushing: 82 passed / 1 skipped, tsc --noEmit exit 0. Also records that the handoff's step 3 was a no-op. telltale/ never existed on main or on this branch — only on PR #64's branch — so closing that PR rather than merging it left nothing to strip, the vitest (telltale) CI job included. #64 and #63 are both closed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Design spec for Telltale, a project-generalizable pipeline that turns user-reported bugs and runtime crashes from any app or game into issues in that project's own tracker, and surfaces them as a new
feedbacksource on the Project Dashboard.Docs only — no code, no behaviour change.
The design shrank by half under critique
Three independent adversarial rounds ran against it (logged in full at the bottom of the spec). Two findings were structural rather than cosmetic:
The entire crash-side pipeline was deleted. The draft built a Durable Object, a threshold gate, and a dedup decision table to compute grouping and distinct-user counts — which Sentry already supplies, and whose native GitHub integration already opens and links one issue per group with zero code. The gate also could not have worked: the only server-observed identity on a Sentry webhook is Sentry, so
distinct_identities >= 3had cardinality 1 and could never fire. Crashes now go Sentry → GitHub with no Telltale code at all.Fleet dispatch was cut. It would have widened the set of repos a credentialed containerized agent may push to from one sandbox to every repo in the registry — production apps included — for a pipeline whose input is internet-authored text. Round 3 then caught that the replacement justification ("the existing Phase 2 path dispatches it with zero changes") was itself false: Phase 2 has no UI and no POST path, and
tenzyhas noROADMAP.md. Both claims are withdrawn in the spec rather than quietly dropped.What remains
One Cloudflare Worker, a checked-in registry, four ~60-line senders, and one dashboard adapter.
Decisions recorded
titleandbodyand states plainly what that does not cover.Notable for reviewers
§6.1 retracts the dashboard spec's "one adapter, no board change" claim with a verified change-surface table, and §6.4 documents that
familyis written by three adapters and read by nothing.