jcfischer / jcfischer/supertag-cli
delta-sync poison-node: follow-ups from PR #86 review
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 49
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Non-blocking observations from sage's review of #86 (poison-node resilience). All deferred as nice-to-haves.
-
Poison-cluster visibility — adjacent poison nodes each trigger independent bisection (~7 fetches each;
MAX_PAGE_ITERATIONScaps pathological cases). Add an escalated log line whenpoisonNodesSkipped > 3in a single cycle to surface unexpected Tana API degradation early. -
Watermark-after-poison-only-cycle trade-off — advancing to
Date.now()when only poison nodes were skipped (zero real nodes found) means a node changed between the old watermark and now won't reappear in the next delta unless it changes again. Low risk (poison is rare + fullsync indexrecovers). Add a code comment acknowledging the trade-off for future readers. -
getFailureState()test — add a lightweight poller-test assertion thatconsecutiveFailuresresets to 0 after a successful cycle.
Source: PR #86 review by sage (cortex).
Contributor 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.
Research direction
Start with PR #86 and its poison-node resilience changes, then locate the delta-sync cycle, MAX_PAGE_ITERATIONS, poisonNodesSkipped, and getFailureState(). Add the escalated visibility, document the watermark trade-off, and assert the consecutiveFailures reset in the poller test; verify the relevant tests pass and the sync index recovery behavior remains available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli, observability, testing
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100