Skip to main content

Redmine Story Status

@twonines/redmine-story-statusv2026.08.20.1· 2d agoMODELSWORKFLOWSREPORTS
01README

Read-only workflow for evidence-backed Redmine Story status analysis.

Purpose:

  • Assess Story progress, completion, blockers, readiness, and remaining work.
  • Combine Redmine data with optional meeting, Teams, and GitLab evidence.
  • Produce a cited status assessment with confidence, risks, gaps, and questions.

Workflow:

  • Collects the target Redmine Story and its direct child tasks.
  • Ingests optional VTT, Markdown, or text meeting files.
  • Reads one explicitly supplied Microsoft Teams thread when configured.
  • Extracts and fetches explicitly referenced GitLab merge requests.
  • Builds and cites source facts before qualitative analysis.
  • Sanitizes untrusted source text before sending it to AWS Bedrock.
  • Remains read-only: it does not modify Redmine, GitLab, or Teams resources.

Dependencies:

  • @webframp/redmine — Story and child-task data.
  • @webframp/gitlab — referenced merge-request evidence.
  • @webframp/microsoft/teams — optional Teams thread evidence.
  • @mgreten/brief-sanitize — source-text sanitization.

This extension bundles its own analyzer model and status report; they are not external dependencies.

Required model instances:

  • tracker using @webframp/redmine.
  • gitlab using @webframp/gitlab.
  • my-teams using @webframp/microsoft/teams.
  • story-analyzer using @twonines/redmine-story-status.
  • sanitizer using @mgreten/brief-sanitize.

Prerequisites:

  • Set tracker.globalArguments.project to the target Redmine project.
  • Keep the project name configurable; do not hardcode it in the workflow.
  • Provide redmine-secrets.REDMINE_API_KEY for Redmine access.
  • Provide GITLAB_API_TOKEN when referenced merge requests are fetched.
  • Provide teams-secrets tenantId, clientId, and refreshToken for Teams access.
  • Make supplied meeting-file paths readable by the workflow runtime.
  • Provide AWS credentials with Bedrock access in us-east-1.
  • The analyzer uses us.anthropic.claude-sonnet-4-20250514-v1:0.

Runtime inputs:

  • storyId — required numeric Redmine Story identifier.
  • meetingFiles — optional VTT, Markdown, or text file paths.
  • teamsThreadUrl — optional Microsoft Teams message deep-link.

Installation:

  • Pull with: swamp extension pull @twonines/redmine-story-status.
  • Validate the workflow and model configuration before running it.
02Models1
@twonines/redmine-story-statusv2026.08.20.1redmine_story_analysis.ts

Global Arguments

ArgumentTypeDescription
regionstringAWS region for Bedrock inference
modelIdstringBedrock model or inference profile ID
maxTokensnumber
temperaturenumber
gitlabHoststringHost serving referenced GitLab merge requests, e.g. gitlab.example.com.
redmineWebHoststringBase URL of the Redmine web UI used to build citation links, e.g.
maxFileBytesnumber
maxTotalBytesnumber
fn ingest_meeting_files(storyId: number, paths: array, maxFileBytes?: number, maxTotalBytes?: number)
Read and normalize relative or absolute VTT, Markdown, and text meeting-minute files
ArgumentTypeDescription
storyIdnumber
pathsarray
maxFileBytes?number
maxTotalBytes?number
fn extract_gitlab_references(storyId: number, story: record, tasks: array, meetings: record)
Extract explicit GitLab project!IID and merge-request URL references from story evidence
ArgumentTypeDescription
storyIdnumber
storyrecord
tasksarray
meetingsrecord
fn build_evidence(storyId: number, story: record, tasks: array, meetings: record, mergeRequests: record, teamsThread: record)
Build deterministic facts, citation locators, and untrusted prompt items for a story analysis
ArgumentTypeDescription
storyIdnumber
storyrecord
tasksarray
meetingsrecord
mergeRequestsrecord
teamsThreadrecord
fn analyze(storyId: number, facts: record, citations: array, sanitized: record)
Analyze a normalized Redmine story using sanitized evidence and Bedrock, without mutation tools
ArgumentTypeDescription
storyIdnumber
factsrecord
citationsarray
sanitizedrecord

Resources

documents(7d)— Normalized meeting-minute files with source locators
references(7d)— GitLab merge-request references extracted from story evidence
evidence(7d)— Deterministic story facts, citation catalog, and prompt items
analysis(30d)— Structured LLM analysis of a Redmine story
03Workflows1
@twonines/redmine-story-statusbc896133-155c-4191-9791-5d7dfa167305

Read-only, evidence-backed analysis of a Redmine Story, its open tasks, referenced GitLab merge requests, and supplied meeting-minute files.

collect-source-evidenceFetch the Redmine Story, direct subtasks, meeting-minute files, and optional Teams thread.
1.fetch-storytracker.get_issue— Fetch the Story description and current Redmine state.
2.fetch-taskstracker.list_issues— Fetch direct child tasks with status, progress, and descriptions.
3.ingest-meeting-filesstory-analyzer.ingest_meeting_files— Normalize supplied meeting minutes while preserving source locators.
4.read-teams-threadmy-teams.read_thread— Fetch the explicitly supplied Teams thread as optional source evidence.
extract-referencesExtract explicit GitLab project!IID and merge-request URL references.
1.extract-gitlab-referencesstory-analyzer.extract_gitlab_references— Extract references from the Story, tasks, and meeting minutes.
fetch-gitlab-evidenceFetch all explicitly referenced GitLab MRs in one read-only fan-out.
1.fetch-referenced-mrsgitlab.fetch_referenced_merge_requests— Fetch MR state, mergeability, pipeline status, and blockers.
prepare-and-analyzeBuild evidence, sanitize it, and generate the final LLM analysis.
1.build-evidencestory-analyzer.build_evidence— Build deterministic facts, citation locators, and prompt items.
2.sanitize-evidencesanitizer.sanitize— Sanitize untrusted source text before it is sent to Bedrock.
3.analyze-storystory-analyzer.analyze— Generate a structured, evidence-backed qualitative Story analysis.
04Reports1
@twonines/redmine-story-reportmethod
redmine_story_status.ts

Concise evidence-backed Redmine Story status report with task and MR tables

redminestory-statusevidencellm
05Previous Versions8
2026.08.19.1
2026.08.18.2
2026.08.18.1yanked

Added 1 models. Added 1 reports. updated dependencies

2026.08.11.5yanked
2026.08.11.4
2026.08.11.3
2026.08.11.2
2026.08.11.1
06Stats
A
100 / 100
Downloads
1
Archive size
258.0 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
07Platforms
08Labels