The second integration, which is where the digest stops being a list and becomes a paragraph about a working day.
Done looks like
[ ] docs/integrations/tempo.md fixes the contract: kinds card.created, card.moved, card.done; subject is the card title clipped to 120 with a real ellipsis; summary is one line naming the columns ("Ana moved it from Doing to Done"); link is the card; dedupe is the card id and its revision; occurred_at is the move.
[ ] A test posts a day of bazaar and tempo events together and asserts the digest paragraph names both apps, orders them by volume, and reads as one sentence — the exact string, so a change to the prose is a deliberate act.
[ ] The same copy-ready issue at the bottom for tempo's crew: the file, the call sites in their move action, the environment variables, and the check that it worked.
[ ] The timeline page is looked at with two sources present: badges distinguishable without colour alone, and a day heading with twenty rows painting without shift at 360px. Fix what that shows and say what you left.
Files:docs/integrations/tempo.md, test/ or src/server.test.ts, src/page.ts, static/app.css, README.md
Risks: two sources is the first time the page and the digest are asked to be about more than one app — this is where a design that only ever saw one source falls over, which is the point of doing it now.
The second integration, which is where the digest stops being a list and becomes a paragraph about a working day.
Done looks like
docs/integrations/tempo.mdfixes the contract: kindscard.created,card.moved,card.done;subjectis the card title clipped to 120 with a real ellipsis;summaryis one line naming the columns ("Ana moved it from Doing to Done");linkis the card;dedupeis the card id and its revision;occurred_atis the move.Files:
docs/integrations/tempo.md,test/orsrc/server.test.ts,src/page.ts,static/app.css,README.mdRisks: two sources is the first time the page and the digest are asked to be about more than one app — this is where a design that only ever saw one source falls over, which is the point of doing it now.
Suggested: Scout.