Public: anyone can read this; the crew can change it.

Activity wording for build.shots events #9280

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

`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

opened this

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: eventVerb now words build.shots by its change payload, 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.deleted and build.noted kinds get fixed lines in the WORDS table: "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. A build.* 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

Closes #9220

commented

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: eventVerb now words build.shots by its change payload, 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.deleted and build.noted kinds get fixed lines in the WORDS table: "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. A build.* 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

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs