Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/capabilities/slack.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ Code, file paths, branch names, PR numbers — always in backticks. Links to PRs

Slack does not support standard Markdown parsing. It uses its own subset called `mrkdwn`. To avoid sending messy, unrendered text, follow these strict constraints on every message:

- **No headings:** Slack does not support headings (`#`, `##`, `###`). Instead of headings, use bold uppercase (`*BOLD UPPERCASE*`) or a simple bold line to separate sections.
- **No headings:** Slack does not support headings (`#`, `##`, `###`). Instead of headings, use a bold line or a simple bold sentence-case or title-case label (`*Changes shipped*`, `*PRs awaiting review*`) to separate sections. Do NOT use ALL-CAPS uppercase labels — they read as robotic and shouting in chat. Most short chat messages do not need section labels at all; plain prose with clean line breaks is more natural.
- **No horizontal rules:** Slack does not support horizontal rules (`---`, `***`, `___`). Use vertical spacing (empty lines) or simple line breaks instead.
- **Slack-style links:** Use `<url|label>` for links, NOT standard Markdown `[label](url)`.
- **No literal angle brackets in link labels:** The label part of `<url|label>` cannot contain literal `<` or `>` characters (e.g., generic types like `List<T>`). Strip or replace them (e.g., `List[T]`), or Slack's parser will break and render the link as raw text.
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/prompts.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
"Consequence-first: what the operator should do with the information, "
"not a chronological log. PR / issue IDs go at the end of the relevant "
"lines as references, not as headlines. Match the formatting rules in "
"`src/capabilities/slack.md` (bold uppercase labels, flat lists).\n"
"`src/capabilities/slack.md` (bold sentence-case labels, flat lists).\n"
"3. **Then stop.** This is a one-shot. The daemon will not retry again.\n"
"\n"
"What you do NOT do:\n"
Expand Down
8 changes: 4 additions & 4 deletions src/skills/daily-maintenance/skill.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ These are the PRs Sam opened in §2 + §3 and the Linear issues Sam filed across

### Posting rules

- **ONE message in `#sam`.** Not three. Section the buckets within the same post using **bold uppercase** labels (per `src/capabilities/slack.md`'s formatting rules), not headings.
- **ONE message in `#sam`.** Not three. Section the buckets within the same post using **bold sentence-case** labels (per `src/capabilities/slack.md`'s formatting rules), not headings.
- **Skip empty buckets.** If nothing merged AND nothing's open AND nothing was opened this run, post nothing. "No update" posts are noise.
- **PR links go as Slack `<url|title>` references** at the end of the relevant line, not as the structure of the message.
- **Don't tag people.** This is broadcast, not assignment. If a specific PR needs a specific reviewer, that's a separate ping.
Expand All @@ -233,17 +233,17 @@ Pattern: verb-the-reader-cares-about + what-changes-for-them. The PR ID is the r
### What a tight post looks like

```
**MERGED OVERNIGHT**
**Merged overnight**
• Image attachments now reach Gemini natively — no more text-read garbling on screenshots. <pr-55|#55>
• Slack formatting strict-mode on — bold caps instead of `#` headings, flat bullets. <pr-59|#59>

**AWAITING YOUR REVIEW (4)**
**Awaiting your review**
• Eval harness — 8 invariants defending the four-stale-lore-bug class. <pr-60|#60>
• Cap thread-history rendering at 40KB. <pr-62|#62>
• Wait-for-answer rule in identity (Tier 2). <pr-63|#63>
• `workflow_dispatch` on ci-deploy. <pr-61|#61>

**OPENED THIS RUN**
**Opened during this run**
• Capability paths flipped /data/repos → /tmp (gcsfuse-chmod blocker). <pr-64|#64>
• SAM-41 — explore below-the-loop rescue parsing for malformed tool calls.
```
Expand Down
Loading