| type | Feature |
|---|---|
| title | Add soft-delete and restore support to kyc-webhooks |
| labels | type:feature, area:kyc-webhooks, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 |
| assignees |
Deleting kyc-webhooks records is destructive and irreversible. This issue adds soft-delete with a restore path and a retention window.
- Repository scope: Liquifact/Liquifact-backend only.
- Mark kyc-webhooks records deleted (not purged) and exclude them from default reads; add a restore endpoint within a retention window.
- Purge past the window via a maintenance task.
- Cover delete, restore, and window-expiry in tests.
- Fork the repo and create a branch
git checkout -b feature/kyc-webhooks-31-softdelete- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: delete hides, restore within window, expiry purges.
- Include the full test output in the PR description.
feat(kyc-webhooks): add soft-delete and restore
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add an audit log for kyc-webhooks mutations" labels: type:feature, area:kyc-webhooks, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Changes to kyc-webhooks leave no audit trail, complicating incident review. This issue records who/what/when for each mutation.
- Repository scope: Liquifact/Liquifact-backend only.
- Append an audit entry (actor, action, before/after summary, timestamp) on each kyc-webhooks write; expose a read view.
- Bound the log; redact secrets.
- Cover create/update/delete audit entries in tests.
- Fork the repo and create a branch
git checkout -b feature/kyc-webhooks-32-audit- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: create, update, delete audit entries; redaction.
- Include the full test output in the PR description.
feat(kyc-webhooks): add mutation audit log
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add load/concurrency smoke tests for the kyc-webhooks endpoint" labels: type:test, area:kyc-webhooks, stack:nodejs, stack:typescript, priority:high, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
The kyc-webhooks endpoint isn't tested under concurrency, hiding race conditions. This issue adds concurrency smoke tests.
- Repository scope: Liquifact/Liquifact-backend only.
- Add tests firing concurrent kyc-webhooks requests and asserting consistent state and no lost updates.
- Keep them deterministic and bounded (no real network).
- Fix any race surfaced (note it).
- Fork the repo and create a branch
git checkout -b test/kyc-webhooks-31-concurrency- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: parallel writes, read-after-write, no lost update.
- Include the full test output in the PR description.
test(kyc-webhooks): add concurrency smoke tests
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Extract kyc-webhooks business logic into a service layer" labels: type:refactor, area:kyc-webhooks, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
kyc-webhooks logic is mixed into route handlers, hurting testability. This issue extracts a service layer.
- Repository scope: Liquifact/Liquifact-backend only.
- Move kyc-webhooks business logic into a service module; handlers become thin adapters.
- Behaviour unchanged; add unit tests for the service.
- No new deps.
- Fork the repo and create a branch
git checkout -b refactor/kyc-webhooks-31-service- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: service unit tests, handler delegates.
- Include the full test output in the PR description.
refactor(kyc-webhooks): extract service layer
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add an API changelog section for kyc-webhooks" labels: type:docs, area:kyc-webhooks, stack:nodejs, stack:typescript, priority:low, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Consumers can't track kyc-webhooks API changes. This issue adds a changelog section and a policy for updating it.
- Repository scope: Liquifact/Liquifact-backend only.
- Add a
docs/changelog-kyc-webhooks.md(or a section) documenting notable kyc-webhooks API changes and a note to update it per PR. - Backfill the last few notable changes.
- Keep it accurate.
- Fork the repo and create a branch
git checkout -b docs/kyc-webhooks-31-changelog- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: n/a β verify entries against history.
- Include the full test output in the PR description.
docs(kyc-webhooks): add API changelog
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add soft-delete and restore support to escrow-read" labels: type:feature, area:escrow-read, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Deleting escrow-read records is destructive and irreversible. This issue adds soft-delete with a restore path and a retention window.
- Repository scope: Liquifact/Liquifact-backend only.
- Mark escrow-read records deleted (not purged) and exclude them from default reads; add a restore endpoint within a retention window.
- Purge past the window via a maintenance task.
- Cover delete, restore, and window-expiry in tests.
- Fork the repo and create a branch
git checkout -b feature/escrow-read-31-softdelete- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: delete hides, restore within window, expiry purges.
- Include the full test output in the PR description.
feat(escrow-read): add soft-delete and restore
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add an audit log for escrow-read mutations" labels: type:feature, area:escrow-read, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Changes to escrow-read leave no audit trail, complicating incident review. This issue records who/what/when for each mutation.
- Repository scope: Liquifact/Liquifact-backend only.
- Append an audit entry (actor, action, before/after summary, timestamp) on each escrow-read write; expose a read view.
- Bound the log; redact secrets.
- Cover create/update/delete audit entries in tests.
- Fork the repo and create a branch
git checkout -b feature/escrow-read-32-audit- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: create, update, delete audit entries; redaction.
- Include the full test output in the PR description.
feat(escrow-read): add mutation audit log
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add load/concurrency smoke tests for the escrow-read endpoint" labels: type:test, area:escrow-read, stack:nodejs, stack:typescript, priority:high, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
The escrow-read endpoint isn't tested under concurrency, hiding race conditions. This issue adds concurrency smoke tests.
- Repository scope: Liquifact/Liquifact-backend only.
- Add tests firing concurrent escrow-read requests and asserting consistent state and no lost updates.
- Keep them deterministic and bounded (no real network).
- Fix any race surfaced (note it).
- Fork the repo and create a branch
git checkout -b test/escrow-read-31-concurrency- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: parallel writes, read-after-write, no lost update.
- Include the full test output in the PR description.
test(escrow-read): add concurrency smoke tests
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Extract escrow-read business logic into a service layer" labels: type:refactor, area:escrow-read, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
escrow-read logic is mixed into route handlers, hurting testability. This issue extracts a service layer.
- Repository scope: Liquifact/Liquifact-backend only.
- Move escrow-read business logic into a service module; handlers become thin adapters.
- Behaviour unchanged; add unit tests for the service.
- No new deps.
- Fork the repo and create a branch
git checkout -b refactor/escrow-read-31-service- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: service unit tests, handler delegates.
- Include the full test output in the PR description.
refactor(escrow-read): extract service layer
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add an API changelog section for escrow-read" labels: type:docs, area:escrow-read, stack:nodejs, stack:typescript, priority:low, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Consumers can't track escrow-read API changes. This issue adds a changelog section and a policy for updating it.
- Repository scope: Liquifact/Liquifact-backend only.
- Add a
docs/changelog-escrow-read.md(or a section) documenting notable escrow-read API changes and a note to update it per PR. - Backfill the last few notable changes.
- Keep it accurate.
- Fork the repo and create a branch
git checkout -b docs/escrow-read-31-changelog- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: n/a β verify entries against history.
- Include the full test output in the PR description.
docs(escrow-read): add API changelog
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add soft-delete and restore support to invoice-state" labels: type:feature, area:invoice-state, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Deleting invoice-state records is destructive and irreversible. This issue adds soft-delete with a restore path and a retention window.
- Repository scope: Liquifact/Liquifact-backend only.
- Mark invoice-state records deleted (not purged) and exclude them from default reads; add a restore endpoint within a retention window.
- Purge past the window via a maintenance task.
- Cover delete, restore, and window-expiry in tests.
- Fork the repo and create a branch
git checkout -b feature/invoice-state-31-softdelete- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: delete hides, restore within window, expiry purges.
- Include the full test output in the PR description.
feat(invoice-state): add soft-delete and restore
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add an audit log for invoice-state mutations" labels: type:feature, area:invoice-state, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Changes to invoice-state leave no audit trail, complicating incident review. This issue records who/what/when for each mutation.
- Repository scope: Liquifact/Liquifact-backend only.
- Append an audit entry (actor, action, before/after summary, timestamp) on each invoice-state write; expose a read view.
- Bound the log; redact secrets.
- Cover create/update/delete audit entries in tests.
- Fork the repo and create a branch
git checkout -b feature/invoice-state-32-audit- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: create, update, delete audit entries; redaction.
- Include the full test output in the PR description.
feat(invoice-state): add mutation audit log
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add load/concurrency smoke tests for the invoice-state endpoint" labels: type:test, area:invoice-state, stack:nodejs, stack:typescript, priority:high, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
The invoice-state endpoint isn't tested under concurrency, hiding race conditions. This issue adds concurrency smoke tests.
- Repository scope: Liquifact/Liquifact-backend only.
- Add tests firing concurrent invoice-state requests and asserting consistent state and no lost updates.
- Keep them deterministic and bounded (no real network).
- Fix any race surfaced (note it).
- Fork the repo and create a branch
git checkout -b test/invoice-state-31-concurrency- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: parallel writes, read-after-write, no lost update.
- Include the full test output in the PR description.
test(invoice-state): add concurrency smoke tests
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Extract invoice-state business logic into a service layer" labels: type:refactor, area:invoice-state, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
invoice-state logic is mixed into route handlers, hurting testability. This issue extracts a service layer.
- Repository scope: Liquifact/Liquifact-backend only.
- Move invoice-state business logic into a service module; handlers become thin adapters.
- Behaviour unchanged; add unit tests for the service.
- No new deps.
- Fork the repo and create a branch
git checkout -b refactor/invoice-state-31-service- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: service unit tests, handler delegates.
- Include the full test output in the PR description.
refactor(invoice-state): extract service layer
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add an API changelog section for invoice-state" labels: type:docs, area:invoice-state, stack:nodejs, stack:typescript, priority:low, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Consumers can't track invoice-state API changes. This issue adds a changelog section and a policy for updating it.
- Repository scope: Liquifact/Liquifact-backend only.
- Add a
docs/changelog-invoice-state.md(or a section) documenting notable invoice-state API changes and a note to update it per PR. - Backfill the last few notable changes.
- Keep it accurate.
- Fork the repo and create a branch
git checkout -b docs/invoice-state-31-changelog- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: n/a β verify entries against history.
- Include the full test output in the PR description.
docs(invoice-state): add API changelog
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add soft-delete and restore support to metrics" labels: type:feature, area:metrics, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Deleting metrics records is destructive and irreversible. This issue adds soft-delete with a restore path and a retention window.
- Repository scope: Liquifact/Liquifact-backend only.
- Mark metrics records deleted (not purged) and exclude them from default reads; add a restore endpoint within a retention window.
- Purge past the window via a maintenance task.
- Cover delete, restore, and window-expiry in tests.
- Fork the repo and create a branch
git checkout -b feature/metrics-31-softdelete- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: delete hides, restore within window, expiry purges.
- Include the full test output in the PR description.
feat(metrics): add soft-delete and restore
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add an audit log for metrics mutations" labels: type:feature, area:metrics, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Changes to metrics leave no audit trail, complicating incident review. This issue records who/what/when for each mutation.
- Repository scope: Liquifact/Liquifact-backend only.
- Append an audit entry (actor, action, before/after summary, timestamp) on each metrics write; expose a read view.
- Bound the log; redact secrets.
- Cover create/update/delete audit entries in tests.
- Fork the repo and create a branch
git checkout -b feature/metrics-32-audit- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: create, update, delete audit entries; redaction.
- Include the full test output in the PR description.
feat(metrics): add mutation audit log
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add load/concurrency smoke tests for the metrics endpoint" labels: type:test, area:metrics, stack:nodejs, stack:typescript, priority:high, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
The metrics endpoint isn't tested under concurrency, hiding race conditions. This issue adds concurrency smoke tests.
- Repository scope: Liquifact/Liquifact-backend only.
- Add tests firing concurrent metrics requests and asserting consistent state and no lost updates.
- Keep them deterministic and bounded (no real network).
- Fix any race surfaced (note it).
- Fork the repo and create a branch
git checkout -b test/metrics-31-concurrency- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: parallel writes, read-after-write, no lost update.
- Include the full test output in the PR description.
test(metrics): add concurrency smoke tests
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Extract metrics business logic into a service layer" labels: type:refactor, area:metrics, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
metrics logic is mixed into route handlers, hurting testability. This issue extracts a service layer.
- Repository scope: Liquifact/Liquifact-backend only.
- Move metrics business logic into a service module; handlers become thin adapters.
- Behaviour unchanged; add unit tests for the service.
- No new deps.
- Fork the repo and create a branch
git checkout -b refactor/metrics-31-service- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: service unit tests, handler delegates.
- Include the full test output in the PR description.
refactor(metrics): extract service layer
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add an API changelog section for metrics" labels: type:docs, area:metrics, stack:nodejs, stack:typescript, priority:low, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Consumers can't track metrics API changes. This issue adds a changelog section and a policy for updating it.
- Repository scope: Liquifact/Liquifact-backend only.
- Add a
docs/changelog-metrics.md(or a section) documenting notable metrics API changes and a note to update it per PR. - Backfill the last few notable changes.
- Keep it accurate.
- Fork the repo and create a branch
git checkout -b docs/metrics-31-changelog- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: n/a β verify entries against history.
- Include the full test output in the PR description.
docs(metrics): add API changelog
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add soft-delete and restore support to config" labels: type:feature, area:config, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Deleting config records is destructive and irreversible. This issue adds soft-delete with a restore path and a retention window.
- Repository scope: Liquifact/Liquifact-backend only.
- Mark config records deleted (not purged) and exclude them from default reads; add a restore endpoint within a retention window.
- Purge past the window via a maintenance task.
- Cover delete, restore, and window-expiry in tests.
- Fork the repo and create a branch
git checkout -b feature/config-31-softdelete- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: delete hides, restore within window, expiry purges.
- Include the full test output in the PR description.
feat(config): add soft-delete and restore
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add an audit log for config mutations" labels: type:feature, area:config, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Changes to config leave no audit trail, complicating incident review. This issue records who/what/when for each mutation.
- Repository scope: Liquifact/Liquifact-backend only.
- Append an audit entry (actor, action, before/after summary, timestamp) on each config write; expose a read view.
- Bound the log; redact secrets.
- Cover create/update/delete audit entries in tests.
- Fork the repo and create a branch
git checkout -b feature/config-32-audit- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: create, update, delete audit entries; redaction.
- Include the full test output in the PR description.
feat(config): add mutation audit log
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add load/concurrency smoke tests for the config endpoint" labels: type:test, area:config, stack:nodejs, stack:typescript, priority:high, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
The config endpoint isn't tested under concurrency, hiding race conditions. This issue adds concurrency smoke tests.
- Repository scope: Liquifact/Liquifact-backend only.
- Add tests firing concurrent config requests and asserting consistent state and no lost updates.
- Keep them deterministic and bounded (no real network).
- Fix any race surfaced (note it).
- Fork the repo and create a branch
git checkout -b test/config-31-concurrency- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: parallel writes, read-after-write, no lost update.
- Include the full test output in the PR description.
test(config): add concurrency smoke tests
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Extract config business logic into a service layer" labels: type:refactor, area:config, stack:nodejs, stack:typescript, priority:medium, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
config logic is mixed into route handlers, hurting testability. This issue extracts a service layer.
- Repository scope: Liquifact/Liquifact-backend only.
- Move config business logic into a service module; handlers become thin adapters.
- Behaviour unchanged; add unit tests for the service.
- No new deps.
- Fork the repo and create a branch
git checkout -b refactor/config-31-service- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: service unit tests, handler delegates.
- Include the full test output in the PR description.
refactor(config): extract service layer
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated. ++++++
type: Feature title: "Add an API changelog section for config" labels: type:docs, area:config, stack:nodejs, stack:typescript, priority:low, Stellar Wave, MAYBE REWARDED, GRANTFOX OSS, OFFICIAL CAMPAIGN, Official Campaign | FWC26 assignees: ''
Consumers can't track config API changes. This issue adds a changelog section and a policy for updating it.
- Repository scope: Liquifact/Liquifact-backend only.
- Add a
docs/changelog-config.md(or a section) documenting notable config API changes and a note to update it per PR. - Backfill the last few notable changes.
- Keep it accurate.
- Fork the repo and create a branch
git checkout -b docs/config-31-changelog- Implement changes
- Write code in: the relevant module.
- Write comprehensive tests in: cover the new behaviour and edge cases.
- Test and commit
- Run
npm run lint,npm test, andnpm run build. - Cover edge cases: n/a β verify entries against history.
- Include the full test output in the PR description.
docs(config): add API changelog
- Minimum 95 percent test coverage for impacted modules.
- Clear, reviewer-focused documentation.
- Timeframe: 96 hours.
- π¬ Join the Liquifact community on Discord: https://discord.gg/JrGPH4V3
- β This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project β a 5-star rating is much appreciated.