Skip to content

docs: v2 roadmap and community health files - #222

Merged
RichardAtCT merged 6 commits into
mainfrom
claude/repo-review-growth-8nv2s5
Sep 11, 2026
Merged

RichardAtCT merged 6 commits into
mainfrom
claude/repo-review-growth-8nv2s5

Conversation

@RichardAtCT

@RichardAtCT RichardAtCT commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

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.subtype parsing, turn-limit default, Docker/GHCR/PyPI, CI matrix), M1 interactive UX (answer AskUserQuestion from 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, /sessions browser, 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_tools never reach can_use_tool, so question and plan interception must strip those tools from the SDK allowlist; file checkpointing covers Write/Edit/NotebookEdit only, not Bash; 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.1 CODE_OF_CONDUCT.md; a rewritten CONTRIBUTING.md replacing the stale "TODO-7" content with PR scope rules, the AI-contribution policy and the current layout; Dependabot (weekly for claude-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.toml pointed at github.com/richardatkinson/..., a handle that is not this project's. They now point at RichardAtCT. These URLs surface in pip show and 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

  • Bug fix (package metadata URLs)
  • New feature
  • Breaking change (documented in CHANGELOG under "Changed" or "Removed")
  • Documentation or tooling only

How it was tested

  • Tests added or updated (not applicable; no Python code changes)
  • make test passes locally on the base commit (539 passed); no Python files changed
  • poetry check passes after the pyproject.toml edit (one pre-existing deprecation warning about [tool.poetry.extras], unrelated)
  • All new YAML under .github/ parses; the review workflow is validated by structure only and needs the CLAUDE_CODE_OAUTH_TOKEN (or ANTHROPIC_API_KEY) repository secret before its first run
  • Tested by hand against a running bot: not applicable

Checklist

  • One concern per PR; unrelated changes are split out (roadmap, community files and the URL fix are three commits of the same "take the project forward" change)
  • CHANGELOG.md has an entry under [Unreleased]
  • Documentation updated (README.md, docs/README.md, CONTRIBUTING.md)
  • New settings default to current behaviour (none added)
  • If AI tools helped write this change, I reviewed every line and the hand-testing above is mine

After merging

Repository settings that the files depend on and that a PR cannot change:

  1. Add the CLAUDE_CODE_OAUTH_TOKEN secret, or switch the workflow to ANTHROPIC_API_KEY.
  2. Create the labels listed in MAINTAINERS.md; GitHub silently drops template labels that do not exist.
  3. Enable private vulnerability reporting so the Security Advisories link in the issue chooser works.
  4. Optionally enable Discussions for questions.

🤖 Generated with Claude Code

https://claude.ai/code/session_019LaezV767Pguhpat9zVyEs

claude and others added 6 commits September 11, 2026 07:57
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
RichardAtCT merged commit 2a71ba2 into main Sep 11, 2026
2 checks passed
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
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.
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.

2 participants