Auditor packets and run summaries remain unscoped on a scoped deployment profile (#501 follow-up)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 68/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
Research direction
Start with profileSubjectMatcher in backend-ts/src/config/deployment-profile.ts, then trace the listed run and case packet paths, export-csv.ts, routes/runs.ts, routes/auditor.ts, and mcp/tools.ts. Verify that scoped profiles filter rows and per-status totals while the default profile retains unresolvable QRDA-imported subjects. Add the Maui RED tests and default companion tests described in the issue.
Written by the indexing model from the issue text.
Description
Found by review of #506. Three surfaces still ignore the deployment profile:
- Run packet —
backend-ts/src/audit/audit-packet.ts(~102–113) loads every outcome, computes unfiltered totals, and maps rows with the unfilteredtoRunOutcomeRowand the static directory, so on the Maui profile a foreign subject id can reach the downloadable, hash-stamped JSON/HTML. - Case packet —
audit-packet.ts(~137, ~217) andbackend-ts/src/routes/auditor.ts(~56) accept a foreign case id and emit its external id and fallback name. - Run summaries — the runs CSV (
export-csv.ts~51),/api/runs(routes/runs.ts~441, ~1191) and MCP run summaries (mcp/tools.ts~230) use rawcountOutcomesByStatus, so totals can include foreign subjects while the outcome grid excludes them.
Fix shape: profileSubjectMatcher (backend-ts/src/config/deployment-profile.ts) with the request-local directory, applied before rows/totals are assembled and hashed, a no-op on the default profile; for the counts, a per-status histogram that respects the predicate on scoped profiles. Each gets a Maui RED test plus a default companion asserting an unresolvable (QRDA-imported) subject is retained.
Not reachable on a freshly provisioned Maui database (no foreign rows), same premise as #501.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 3h 6m
- Merged PRs (30d)
- 113
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Taleef7/workwell
-
documentation owner-ops waiting
Difficulty 1/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
owner-ops waiting
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
infra maui-pilot
Difficulty 3/5 1-2 days Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
backend bug
Difficulty 5/5 Over a week Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
cql-engine pilot-trust
Difficulty 3/5 1-2 days Newbie friendliness 72/100
Maintainers usually reply within 1 day
All issues in Taleef7/workwell
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
nats-io/nats.docs.v2#101 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
profullstack/ugig.net#601 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
github/codeql-action#4202 ·
Maintainers usually reply within 1 day
-
agents: formatReport/reportOrigin only importable through an entry that loads every runtime (~1.5 s)Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day