Task-tagged sessions with history and a Jira comment export - #2
Draft
DenDiem wants to merge 3 commits into
Draft
Conversation
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.
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.
parseTaskaccepts a Jira URL (/browse/OM-4110, or a board URL withselectedIssue), a self-hosted host, or a bare key in any case, and pulls the key out.urlis nullable so a bare key never forces a fabricated link into the data.Storage keeps a history. Moves from a single
caliper.sessiontocaliper.sessionspluscaliper.activeSessionId, migrating existing data on first read so nothing recorded is lost.SessionHistoryis a separate interface fromAnnotationSink. 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.
toJiraCommentrenders 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,
tscacross all three projects,eslintand the production build clean. New tests:parseTask(7),toJiraComment(9). Panel verified by hand.