Skip to content

Task-tagged sessions with history and a Jira comment export - #2

Draft
DenDiem wants to merge 3 commits into
mainfrom
feat/task-sessions
Draft

Task-tagged sessions with history and a Jira comment export#2
DenDiem wants to merge 3 commits into
mainfrom
feat/task-sessions

Conversation

@DenDiem

@DenDiem DenDiem commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Tie a testing session to the issue it belongs to, keep past sessions instead of one running list, and hand the result to Jira as a ready comment.

Draft on purpose — not to be merged yet; deciding whether the feature is worth keeping.

What changed

Sessions carry a task. parseTask accepts a Jira URL (/browse/OM-4110, or a board URL with selectedIssue), a self-hosted host, or a bare key in any case, and pulls the key out. url is nullable so a bare key never forces a fabricated link into the data.

Storage keeps a history. Moves from a single caliper.session to caliper.sessions plus caliper.activeSessionId, migrating existing data on first read so nothing recorded is lost. SessionHistory is a separate interface from AnnotationSink. Starting a new session archives the current one only if it has annotations — an untouched session is dropped, otherwise every panel visit would leave an empty entry behind.

Jira export. toJiraComment renders the session as Jira markup: a defect table (selector, component, severity, comment, matched design token) plus the pages tested. Pipes inside comments are escaped so a stray | cannot break the table; a low-confidence selector is marked (!) brittle.

Deliberately not here

No Jira API calls. The export copies markup to the clipboard; nothing is sent anywhere. Writing to Jira directly is designed in docs/superpowers/specs/2026-07-23-jira-integration-design.md (API token, no server) and left for its own change — it rewrites the privacy claim and warrants its own review.

Verification

96 tests, tsc across all three projects, eslint and the production build clean. New tests: parseTask (7), toJiraComment (9). Panel verified by hand.

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