docs: v2 roadmap and community health files - #222
Merged
Merged
Conversation
Plan the 2.0 release in docs/ROADMAP-v2.md: SDK 0.2 migration, interactive question/plan/permission UX over inline keyboards, file-checkpoint undo, per-conversation concurrency, a session browser, token-based usage reporting, classic-mode removal, and container/PyPI distribution. Work already covered by open pull requests is listed as out of scope so contributors do not duplicate it. Link it from the docs index and changelog. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LaezV767Pguhpat9zVyEs
Add the files a contributor-driven project needs that were missing: issue forms (bug, feature, question) that ask for version, mode and logs up front; a pull request template with a hand-testing section; CODEOWNERS; MAINTAINERS.md with roles, a one-week response promise, the label set, and the path to maintainership; and a Contributor Covenant 2.1 code of conduct. Rewrite CONTRIBUTING.md, which still described the project as mid-way through "TODO-7", to cover PR scope rules, the AI-assisted contribution policy, the current source layout, and the review flow. Add Dependabot (weekly for the Claude SDK and Telegram library, monthly grouped otherwise) and restore a Claude Code Review workflow as a read-only first-pass reviewer that also covers fork PRs. Link the new files from the README, docs index and changelog. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LaezV767Pguhpat9zVyEs
The Homepage, Repository and Documentation entries in pyproject.toml referenced github.com/richardatkinson/claude-code-telegram, a handle that is not the project's. These URLs surface in `pip show` and would become the links on a PyPI listing. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LaezV767Pguhpat9zVyEs
Resolve the CHANGELOG.md conflict by keeping the Unreleased entries from this branch above the 1.6.2 section from main. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LaezV767Pguhpat9zVyEs
Drop the out-of-scope rows for PRs merged in 1.6.2 (#214, #212, #196, #177, #178, #206), note #220, point the AskUserQuestion and ExitPlanMode items at the GUARDED_TOOLS set that 1.6.2 introduced, and remove the docs/tools.md item that 1.6.2 already fixed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LaezV767Pguhpat9zVyEs
RichardAtCT
pushed a commit
that referenced
this pull request
Sep 11, 2026
PR #222 was squash-merged, so main carries this branch's earlier work as a single commit while the branch still holds the originals. Merging main back in reconciles the two and brings in #217 and the #196 lockfile fix, which the branch predated. Every conflict was the squash duplication: the same file added on both sides. Each was resolved to the branch copy, which is main's content plus the overwirehq URL sweep and the 1.7.0 roadmap corrections. Verified by diffing the merged tree against main: only the thirteen documentation files change, and no source or test file is touched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LaezV767Pguhpat9zVyEs
14 tasks
RichardAtCT
added a commit
that referenced
this pull request
Sep 11, 2026
) Three follow-ups to #222, all consequences of the org move and the 1.7.0 release. main was red. test_allowed_tools_none_unaffected_by_approval_filter asserted that allowed_tools is None under DISABLE_TOOL_VALIDATION, but 94d764d (#206) had changed that value to [] to match the list[str] that ClaudeAgentOptions declares. #217 added the test against a base without #206, so neither pull request was red alone and the failure appeared only once both were on main. Two other tests in the same file already assert [], so line 689 was the outlier: the expectation is corrected and the test renamed, since "none" in its name is what hid the mismatch. Repository URLs now point at overwirehq across the README, docs, SECURITY.md, the issue templates, CONTRIBUTING.md, the packaging metadata and the star-history badge. References to @RichardAtCT as a person are left alone; that account has not moved. The v2 roadmap is rebased on reality: M0 moves from 1.7 to 1.8 since the #219 security fix took that version, #217 leaves the out-of-scope table now that it is merged, and item 0.4 names ghcr.io/overwirehq/claude-code-telegram. The Unreleased changelog entries dropped during the 1.7.0 merge into #222 are restored.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Three commits, no Python code changes.
v2 roadmap (
docs/ROADMAP-v2.md). Plans the 2.0 release in five milestones: M0 foundations shipped as 1.7 (SDK 0.2 bump,ResultMessage.subtypeparsing, turn-limit default, Docker/GHCR/PyPI, CI matrix), M1 interactive UX (answerAskUserQuestionfrom inline keyboards, plan mode with approval, permission modes per conversation, undo via file checkpointing, tool-failure and subagent lines,/effort), M2 sessions (conversation-keyed state,/sessionsbrowser, continue scheduled/webhook runs, token-based usage), M3 concurrency (per-conversation locks under a global cap, queue-or-interrupt follow-ups), M4 2.0 cleanup (remove classic mode, dead code, coverage to 75%, upgrade guide). Each item has a size, likely files, and a done-when line. It opens with a table of all 25 open PRs marked out of scope so the roadmap does not duplicate them, and names #217 and #165 as prerequisites.Three SDK mechanics were verified against the current Agent SDK docs and shaped the plan: tools in
allowed_toolsnever reachcan_use_tool, so question and plan interception must strip those tools from the SDK allowlist; file checkpointing coversWrite/Edit/NotebookEditonly, notBash; the SDK does not accept a user message mid-turn, so steering is "queue as next turn on the open client".Community health files. Issue forms (bug, feature, question) that ask for version, mode and logs up front; a PR template with a hand-testing section and an AI-assisted disclosure checkbox;
CODEOWNERS;MAINTAINERS.md(roles, one-week response promise, merge rules, path to maintainership, label set, release cadence); Contributor Covenant 2.1CODE_OF_CONDUCT.md; a rewrittenCONTRIBUTING.mdreplacing the stale "TODO-7" content with PR scope rules, the AI-contribution policy and the current layout; Dependabot (weekly forclaude-agent-sdk,python-telegram-bot,anthropic; monthly grouped otherwise); and a Claude Code Review workflow that posts a read-only first-pass review on every non-draft PR, including fork PRs. README, docs index and changelog link the new files.Project URL fix. The Homepage, Repository and Documentation entries in
pyproject.tomlpointed atgithub.com/richardatkinson/..., a handle that is not this project's. They now point atRichardAtCT. These URLs surface inpip showand would be the links on a PyPI listing.Related issue
Touches #130, #149, #102, #126, #172, #209 (planned in the roadmap; none closed by this PR).
Type of change
How it was tested
make testpasses locally on the base commit (539 passed); no Python files changedpoetry checkpasses after thepyproject.tomledit (one pre-existing deprecation warning about[tool.poetry.extras], unrelated).github/parses; the review workflow is validated by structure only and needs theCLAUDE_CODE_OAUTH_TOKEN(orANTHROPIC_API_KEY) repository secret before its first runChecklist
CHANGELOG.mdhas an entry under[Unreleased]README.md,docs/README.md,CONTRIBUTING.md)After merging
Repository settings that the files depend on and that a PR cannot change:
CLAUDE_CODE_OAUTH_TOKENsecret, or switch the workflow toANTHROPIC_API_KEY.MAINTAINERS.md; GitHub silently drops template labels that do not exist.🤖 Generated with Claude Code
https://claude.ai/code/session_019LaezV767Pguhpat9zVyEs