Skip to content

docs: rewrite guides, reference, and explanation in the README's style - #84

Merged
ThomasK33 merged 8 commits into
mainfrom
docs/improve-guides
Sep 24, 2026
Merged

ThomasK33 merged 8 commits into
mainfrom
docs/improve-guides

Conversation

@ThomasK33

Copy link
Copy Markdown
Member

Rewrites the rest of the user docs in the style of the new README (#81): result first, short sentences, plain terms instead of internal vocabulary ("dispatch spine", "slice", "single-slot"), and limits after the main task. Docs-only; facts are unchanged except one correction noted below.

Changes

  • How-to guides
    • deferred-dispatch: options table with defaults, a separate "How it works", a concurrency-strategy table, and an overload section with a per-platform response table.
    • choose-a-state-backend: decision table first; namespace rules as two bullets.
    • slash-commands, interactive-components: plain intros; interactive limits (modal clicks, view_submission) collected in one section.
    • multi-tenant-install: subsections for storing the bot user ID and for Linear's unverified tenant lookup.
    • linear-agent-sessions: numbered timing steps and a shorter Stop section. Source-marked snippets are unchanged.
  • Explanation: leads with "The Short Version"; intentional gaps grouped by area (every item kept); the CONTEXT.md/ADR index moved to the end.
  • Reference: plainer intro; the testing contract moved to CONTRIBUTING.md ("What Tests Must Cover").
  • Docs index, Linear capabilities: shorter blurbs, linked Linear docs instead of bare URLs, and a link to the example README's setup fix instead of repeating it.
  • Tutorial Step 5: ngrok and Tailscale Funnel as two parallel options. Linear example README: short numbered intro.

Review focus

  • One factual correction: the slash-command guide now says RespondURL responses are always ephemeral (adapters/slack/interactive.go hardcodes response_type: "ephemeral"); the old text said "ephemeral by default".
  • An independent fresh-context review against origin/main and the Go source found no blockers; its should-fix items (Linear completion signals are per session, burst join order, documentation-coverage wording) are fixed in the last commit.

Validation

  • go test -run 'TestDocumentation|TestLinearHowTo|TestREADME|TestAdapterDocumentation' . passes (with -race).
  • go vet ./..., go test ./... in examples/linear-agent-hello-world, and git diff --check pass.
  • A relative-link and anchor checker reports 0 broken links across all Markdown (negative control confirmed it flags bad anchors and missing files).

Not changed on purpose: CONTEXT.md and the ADRs (vocabulary and decision records).


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

Rewrite the six how-to guides in the README's style: lead with what the
reader needs, use short sentences and plain terms instead of internal
vocabulary ("dispatch spine", "slice", "single-slot"), and move limits and
edge cases after the main task.

- deferred-dispatch: options table, separate "How it works",
  concurrency-strategy table, and an overload section with a response table.
- choose-a-state-backend: decision table first; namespace rules as bullets.
- slash-commands, interactive-components: plain intros; interactive limits
  (modal clicks, view_submission) collected in one section.
- multi-tenant-install: headed subsections for bot user IDs and Linear's
  unverified tenant lookup.
- linear-agent-sessions: numbered timing steps and a shorter stop section;
  source-marked snippets unchanged.

Facts are unchanged, except the slash-command guide now says RespondURL
always sends ephemeral responses (it hardcodes response_type).

_Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_
…ties

- explanation: lead with the short version; group the intentional gaps by
  area (every item kept); move the CONTEXT.md and ADR index to the end.
- reference: plainer intro and event wording; move the testing contract to
  CONTRIBUTING.md, where contributors look for it.
- docs index: shorter section blurbs; "For Contributors" heading.
- linear-agent-capabilities: linked Linear docs instead of bare URLs, ADR
  links, the setup workaround points at the example README instead of
  repeating it, and a one-line "Planned Work" section.

_Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_
- Slack tutorial Step 5: show ngrok and Tailscale Funnel as two parallel
  options, with the Funnel cleanup note after its commands.
- Linear example README: a short intro with a numbered list of what the
  example does, linked ADRs, and plain wording in the notes.

_Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_
Restore facts the rewrite weakened: Linear completion signals are
per-session, burst batches run in join order and in the order they close,
the documentation-coverage test family names what it covers, slash commands
share tenant scoping and replace handlers atomically, and the Linear
capabilities page keeps the note that #47-#49 shipped. Put Linear's
deferred-dispatch setup before the per-event steps, note that strategy
options must be positive, and restore the softer "production-shaped" and
"equivalent for the runtime" wording.

_Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-23T16:55:15.293250Z 4f3eb60 Manual request
🔒 Security Review ✅ Completed 2026-09-23T16:58:27.027287Z 4f3eb60 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: f7365a768b

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

…after it

Deferred handlers launch at acknowledgement time and may start before the
2xx is written, so "runs after the acknowledgement" overstated the order.

_Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f7365a768b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/how-to/deferred-dispatch.md Outdated
Comment thread docs/how-to/choose-a-state-backend.md Outdated
Comment thread docs/how-to/deferred-dispatch.md Outdated
Dedupe marks record accepted events, written before handlers run, not
handled events. Under ConcurrencyConcurrent an event waiting for a slot
spends its DetachTimeout and is dropped if it runs out.

_Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: e2b17d8f4d

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e2b17d8f4d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/how-to/interactive-components.md Outdated
…rategy

ConcurrencyConcurrent takes no thread lock, so commands and interactions
follow the configured strategy rather than always being serialized.

_Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: 403f127ce4

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 403f127ce4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/how-to/deferred-dispatch.md Outdated
Codex: the debounce quiet period and the lock wait after it consume the
event's DetachTimeout, as do queue and concurrent-slot waits; state this
once for all waiting strategies. Readiness review: restore that MaxDetached
must be positive under deferred dispatch, that modal clicks are not
normalized yet, and that Linear's experimental tier and developer preview
are separate facts.

_Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex security review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Hooray!

Reviewed commit: 4f3eb60e42

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review

Security review completed. No security issues were found in this pull request.

Reviewed commit: 4f3eb60e42

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@ThomasK33

ThomasK33 commented Sep 23, 2026 •

Copy link
Copy Markdown
Member Author

Readiness record: ready (not merged — see below).

  • Final head: 4f3eb60. CI test: pass on this head.
  • Codex code review: "Didn't find any major issues" on 4f3eb60. Codex security review: no issues on 4f3eb60.
  • Review rounds: 4 of 6. Rounds 1–3 each raised one to three P2 accuracy findings (ack ordering, dedupe marks, concurrent/debounce DetachTimeout budgets, strategy-dependent serialization); all fixed, replied to, and resolved. 0 unresolved threads.
  • Independent fresh-context readiness check: ready on 4f3eb60, verified against runtime.go.
  • Local: documentation tests (with -race), go vet ./..., link/anchor checker (0 broken), git diff --check.

Why not merged: main has no merge queue (GraphQL mergeQueue is null, no rulesets or branch protection), and the merge was authorized via the merge queue only. A direct squash merge needs explicit approval.

Rendered-docs evidence (GitHub preview of the branch at 279c9c0, before the two small table fixes; this checks rendering and navigation, not live Slack or Linear behavior). Screenshots: the deferred-dispatch strategy and overload tables, interactive components, explanation, and the docs index.

Deferred dispatch strategy and overload tables
Interactive components guide
Explanation page
Docs index

Recording: a scroll-through of the deferred-dispatch guide, the explanation page, and the Linear agent sessions guide. The recorder writes frames only on visual change, so playback (about 7 s) is compressed.


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

tour.webm

@ThomasK33
ThomasK33 merged commit edf7b1b into main Sep 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant