Redmine Story Status
@twonines/redmine-story-statusv2026.08.20.1
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.
02Models
@twonines/redmine-story-statusv2026.08.20.1redmine_story_analysis.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| region | string | AWS region for Bedrock inference |
| modelId | string | Bedrock model or inference profile ID |
| maxTokens | number | |
| temperature | number | |
| gitlabHost | string | Host serving referenced GitLab merge requests, e.g. gitlab.example.com. |
| redmineWebHost | string | Base URL of the Redmine web UI used to build citation links, e.g. |
| maxFileBytes | number | |
| maxTotalBytes | number |
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
| Argument | Type | Description |
|---|---|---|
| storyId | number | |
| paths | array | |
| 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
| Argument | Type | Description |
|---|---|---|
| storyId | number | |
| story | record | |
| tasks | array | |
| meetings | record |
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
| Argument | Type | Description |
|---|---|---|
| storyId | number | |
| story | record | |
| tasks | array | |
| meetings | record | |
| mergeRequests | record | |
| teamsThread | record |
fn analyze(storyId: number, facts: record, citations: array, sanitized: record)
Analyze a normalized Redmine story using sanitized evidence and Bedrock, without mutation tools
| Argument | Type | Description |
|---|---|---|
| storyId | number | |
| facts | record | |
| citations | array | |
| sanitized | record |
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
03Workflows
@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.
04Reports
@twonines/redmine-story-reportmethod
redmine_story_status.ts
Concise evidence-backed Redmine Story status report with task and MR tables
redminestory-statusevidencellm
05Previous Versions
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