Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Session identity is minted fresh on every open, so a restarted or peer instance cannot resume a session

Open
#675 3 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@dinakarjs is already working on this.

Since Oct 20, 2026.

  • #793 by @dinakarjs — open

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
backend, security

Research direction

Start with session/manager.py at SessionManager.create_session() and _open_session(), then read the ID rotations in session/state.py and the session-keyed tables in session/store.py. Check the existing tests for session creation, reset, and staleness behavior before deciding how callers provide an existing ID. Done means a reopened or peer session can retrieve the same stored session state without breaking reset or staleness behavior.

Written by the indexing model from the issue text.

Description

help wanted

Raised by @rajnisht7 in #661.

SessionManager._open_session() mints a new id on every open
(session/manager.py:150, session_id = str(uuid4())), and
SessionManager.create_session() (:100) takes no parameters, so a caller
has no way to supply an existing one. Two other sites also rotate the id:
the operator session reset (session/state.py:356) and the
attestation-staleness refresh (:380).

The store added in #629 is keyed by session id, session_id TEXT PRIMARY KEY on both session_state and closed_sessions
(session/store.py:52-62). docs/configuration.md describes
session_state_path as making the ratchet "hold per session across
instances and survive a restart". Wiring the store (#653, #661) is
necessary for that but not sufficient while the identity is regenerated on
every open, since a restarted or peer instance looks up a row key it can
never produce again.

Worth noting for whoever picks this up: SessionState is a dataclass that
already accepts session_id=, so the gap is at the manager entry point
rather than in the data model.

This predates #661 and is not introduced by it.

Dominant language
Python
Stars
33
Forks
24
Avg merge
19h 50m
Merged PRs (30d)
75

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from agentrust-io/cmcp

All issues in agentrust-io/cmcp

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.