MapColonies / MapColonies/config
Stability: The Poison-Pill Register
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
### Description
Implement the Poison-Pill Register within the RolloutStateMachine. Wrap the user's onChange callback execution in an error boundary. If the application-level callback throws an error while attempting to reconcile state with the new configuration, the SDK must permanently cache that specific ETag in memory. The state machine must update its internal tracking pointer to this failed ETag so that the continuous polling loop resumes but never attempts to apply that specific faulty configuration version again.
### Acceptance criteria
- [ ] Throwing an error inside the provided onChange callback adds the incoming ETag to the internal Poison-Pill Register.
- [ ] The SDK does not enter a rapid-fire crash-loop if onChange fails.
- [ ] Subsequent polling intervals correctly ignore the quarantined ETag.
Blocked by: #125
User stories covered: 6
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start with the RolloutStateMachine and trace the polling loop, the incoming ETag, and execution of the provided onChange callback; resolve the dependency on issue #125 first. Done means callback failures are caught, the failed ETag is retained in the in-memory Poison-Pill Register, polling advances past it, and later intervals do not retry it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100