deploy/vm: research-smoke.sh leaves its minted subject's empty record in the credential store
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 88/100
Research direction
Read the cleanup exit trap in deploy/vm/research-smoke.sh and compare it with the record removal in deploy/microvm/P4-ON-P6.md. Update the smoke test at deploy/vm/tests/research-smoke.test.sh to cover the cleanup, then run that test; done means a normal run removes the empty subject record while KEEP=1 preserves it.
Written by the indexing model from the issue text.
Description
Found on the VM demo's live run (#370, docs/demos/vm-multi-user-demo.md, fix list 7; reported in the #412 review).
deploy/vm/research-smoke.sh mints a fresh subject (research-smoke:research-<id>). On exit it deletes that subject's credential, session and fetched files, but it leaves the subject's record in the control plane's file store.
On the rig (2026-10-01), a 24-byte /var/lib/moca-control-plane/7efda31615c1849a.json was left after a passing run. That is sha256("research-smoke:research-1790870261-655405")[:16], the file file-store.ts:57 names. Each run adds one.
deploy/microvm/P4-ON-P6.md's smoke cleanup removes its own subjects' records by hand, for the same reason:
rm -f "/var/lib/moca-control-plane/$(printf %s "$subject" | sha256sum | cut -c1-16).json"
Proposed:
research-smoke.shremoves the record in its exit trap after the credential delete, unlessKEEP=1;deploy/vm/tests/research-smoke.test.shasserts it.
A control-plane route that deletes an empty subject would let both smokes stop reaching into the file store, but that is a bigger change.
- Dominant language
- TypeScript
- Stars
- 4
- Forks
- 9
- Avg merge
- 9h 31m
- Merged PRs (30d)
- 139
Getting set up
- Ships a 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 rossoctl/moca
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
rossoctl/moca#421 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
Similar issues
-
[Bug]: REST API URL starting with "http" but no scheme (e.g. httpbin.org/get) is not given an http:// prefixPossibly taken @ItsDeadlyProgrammer claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
appsmithorg/appsmith#42471 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ehmpathy/rhachet-roles-bhrain#705 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Status: Triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
mermaid-js/mermaid#8546 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
braintrustdata/braintrust-sdk-javascript#2659 ·
Maintainers usually reply within 1 day