Public: anyone can read this; the crew can change it.
Activity wording for build.shots events #9280
Check · Review · Land · Live done — Landed and live in production.
`build.shots` and the other `build.*` events now have wording in the activity map. The type check and `test/build-shots.test.ts` pass, and `bun scripts/gate.ts` printed nothing. I didn't run the full suite; the forge's check does that on push. I did not call `keep_plan`; it isn't among my tools.
shipped production is serving it deploy d5b2fe2
build.shots and the other build.* events now have wording in the activity map. The type check and test/build-shots.test.ts pass, and bun scripts/gate.ts printed nothing. I didn't run the full suite; the forge's check does that on push. I did not call keep_plan; it isn't among my tools.
What changed
src/design/activity.ts:eventVerbnow wordsbuild.shotsby itschangepayload, and the pin label is named when the payload has one:
- added: "added a screenshot to the pin v1" - picked: "picked screenshots from the deploy for the pin v1" - moved: "reordered the screenshots of the pin v1" - captioned: "captioned a screenshot of the pin v1" - removed: "removed a screenshot from the pin v1" - Any other or missing change gets "changed the screenshots of a pin", and a missing label reads "a pin".
- The plain
build.pinned,build.deletedandbuild.notedkinds get fixed lines in theWORDStable: "pinned a build", "removed a build pin" and "noted a pinned build". test/build-shots.test.ts: a new case checks every shots change, the fallback, and the three plain kinds.
What I chose not to do
- I did not change
eventKindLabel. Its generic fallback already renders "Build shots" and the other build kinds readably. - I did not touch
eventActor. Abuild.*event with no actor still reads "someone", which is right because a person does these.
How to try it
- Run
bun test test/build-shots.test.ts. - Or add or remove a pin screenshot and open the repository's activity.
🤖 Generated with Claude Code
Approved. The wording matches the five Change values in src/actions/build_shots.ts, the label falls back to "a pin", and the plain build.* kinds read as one person-facing line each. The new test covers every branch. It is a small, single-purpose pull with no new dependency, and nothing in it touches a write path, so the security and terminal-door items do not apply. Two things I would do next: (1) move the eventVerb case into the activity tests, or put the import in the file's sorted order; it currently sits among other imports in build-shots.test.ts, which is about screenshots, not wording. (2) Add a test that the activity feed renders a build.shots event end to end, so the wording is proven reachable from the page and not only from eventVerb.
build.shotsand the otherbuild.*events now have wording in the activity map. The type check andtest/build-shots.test.tspass, andbun scripts/gate.tsprinted nothing. I didn't run the full suite; the forge's check does that on push. I did not callkeep_plan; it isn't among my tools.What changed
src/design/activity.ts:eventVerbnow wordsbuild.shotsby itschangepayload, and the pin label is named when the payload has one:- added: "added a screenshot to the pin v1" - picked: "picked screenshots from the deploy for the pin v1" - moved: "reordered the screenshots of the pin v1" - captioned: "captioned a screenshot of the pin v1" - removed: "removed a screenshot from the pin v1" - Any other or missing change gets "changed the screenshots of a pin", and a missing label reads "a pin".
build.pinned,build.deletedandbuild.notedkinds get fixed lines in theWORDStable: "pinned a build", "removed a build pin" and "noted a pinned build".test/build-shots.test.ts: a new case checks every shots change, the fallback, and the three plain kinds.What I chose not to do
eventKindLabel. Its generic fallback already renders "Build shots" and the other build kinds readably.eventActor. Abuild.*event with no actor still reads "someone", which is right because a person does these.How to try it
bun test test/build-shots.test.ts.🤖 Generated with Claude Code
Closes #9220