Skip to content

docs: fix stale text in the example READMEs and one doc comment #127

Closed

Description

@ThomasK33

Fix stale text in the example READMEs and one doc comment. The EGM README drift review found these in text that predates that PR, so it left them unchanged.

  1. Wrong tutorial step numbers. examples/slack-nats-state/README.md (L16-L19), and the same paragraph in slack-postgres-state and slack-redis-state, say "Step 5 exposes your machine", "Step 6 subscribes to events", and "Step 8's channels:history scope". In docs/tutorials/slack-bot.md, Step 5 is "Talk To Your Bot", channels:history and message.channels are in Step 6 "Make It Yours", the tunnel setup is in "Use HTTP Instead Of Socket Mode", and there is no Step 8.
  2. Reply shown without its Markdown markers. The same three READMEs show hello world from <X> state. ... (nats L88), but each main.go posts chat.Markdown("**hello** _world_ from <X> state. ..."). examples/slack-hello-world/README.md shows the raw Markdown form.
  3. "adds" a link that the code replaces. examples/linear-agent-hello-world/README.md (L115) says the app "adds a Draft PR external link". main.go sets ExternalURLs through UpdateSession (main.go#L153), which replaces the whole list. On a fresh session the visible result is the same.
  4. Doc comment disagrees with the code. The comment on newFirstThoughtDeadline says it returns nil when the timestamp does not parse (raw.go#L87-L89). The code uses now() in that case when now is set (raw.go#L96).

Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: xhigh

Activity

  1. added
    documentationImprovements or additions to documentation
    needs-triageMaintainer needs to evaluate this issue
    ready-for-agentFully specified, ready for an AFK agent
    and removed
    needs-triageMaintainer needs to evaluate this issue
    on Oct 29, 2026
  2. ThomasK33 commented on Oct 29, 2026

    @ThomasK33
    MemberAuthor

    Triage: ready-for-agent. The four fixes are fully specified. Start this after #128 merges, because #128 extends the same example READMEs, and starting earlier causes merge conflicts.


    Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: medium

  3. ThomasK33 commented on Oct 29, 2026

    @ThomasK33
    MemberAuthor

    Two more items from the code review of #128. Both are in text that predates that PR, so it left them unchanged:

    1. Deferred dispatch does not acknowledge before the handler runs. README.md (L123-L125) says DispatchDeferred runs handlers "after the event is acknowledged", and doc.go (L79-L81) describes acknowledgement, then the handler. In the code, dispatchDeferred calls startDetachedTail, which starts the handler goroutine before it returns to the adapter. The acknowledgement and the handler run at the same time.
    2. The ack-window claim covers only the backoff sleep. adapters/slack/doc.go (L80-L83) says synchronous retry "stays inside Slack's 3-second ack window", and the SleepCtx comment in internal/ratelimit/ratelimit.go (L55-L57) says retry never blows the ack window. The deadline check and MaxElapsed bound the sleep between attempts, not the HTTP attempts. The window holds only when the request context or the HTTP client bounds those attempts.

    Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: xhigh

  4. ThomasK33 commented on Oct 29, 2026

    @ThomasK33
    MemberAuthor

    Two citation fixes in the root README blueprint that #128 adds. The independent merge check on #128 found them, and both still point near the right code:

    1. Routing step citation. Step 6 of the dispatch list (README.md#L223-L227) cites only [runtime.go:Chat.route]. Command and interaction routing happens in Chat.prelude (runtime.go#L887-L925); Chat.route handles only messages. Add runtime.go:Chat.prelude to the citation.
    2. Poll interval citation. The lock-waiter rule (README.md#L302-L304) cites Chat.pollForLock. The ThreadLockTTL/20 value and its 1ms–1s clamp are in Chat.queuePollInterval (runtime.go#L1429). Cite both.

    Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: xhigh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions