Home

boring / v2

publicBoring-Software-Inc/v2
Overview Code History Branches Pull requestsIssuesInsights Campfire Docs
main
HomeOverview Code PRsIssues

feat(web): polish the /activity feed — 5 defects

4 months ago

1e50b33
Authored
grim7/12/2026, 11:50:41 AM
- tripwire's own comments now nest inside the change-request timeline, labeled
  bot and deduped to one entry (one upserted artifact, §7). normalize sets a
  neutral comment.byTripwire from the forge marker; buildGroup + the live merge
  collapse create/edits. copy reads "commented on #1", never "comment #3".
- a blocked entry always says why: the leading-reason lateral falls back to the
  failing rule name when the projected summary is null. plus a one-shot
  scripts/backfill-public-projection.ts that re-projects stored evidence through
  the worker's own projectRulePublic (no second home for rule knowledge) —
  backfilled 31 of 37 stale rule steps.
- exempt evaluations and other non-run context render dimmed so they never
  compete with the verdicts.
- every entry is clickable: a run links to /runs/$runId, otherwise the event's
  github html_url (push gained an optional compare url through contracts +
  normalize).
- deleted the garbage Codertocat fixture event via a one-off SQL statement; no
  app delete path — the event store stays append-only.

root package.json gains core/db/drizzle devDeps so one-shot scripts resolve the
workspace packages. spec §4 surface line updated.

Checks: biome clean, typecheck 0, boundaries ok, 196 tests, replay 2 flips
(unchanged causes).

Parentbbf5479

12 files changed
  • DECISIONS.md+30−0
  • all-summaries.md+16−0
  • apps/web/src/components/activity/activity-group.tsx+48−18
  • apps/web/src/components/activity/activity-row.tsx+30−7
  • apps/web/src/lib/activity.query.ts+18−2
  • bun.lock+3−0
  • package.json+3−0
  • packages/contracts/src/events.ts+4−0
  • packages/db/src/services/events.ts+56−12
  • packages/forge-github/src/webhook/normalize.ts+4−0
  • scripts/backfill-public-projection.ts+86−0
  • spec.md+3−1