feat(node): add scheduled inbound mirror worker - #347
gnanam1990 wants to merge 9 commits into
Conversation
Origin-Session: local-d6a143 | Codex | 12 prompts
Origin-Session: local-d6a143 | Codex | 14 prompts
Origin-Session: local-d6a143 | Codex | 16 prompts
Origin-Session: local-d6a143 | Codex | 20 prompts
Origin-Session: local-d6a143 | Codex | 20 prompts
Origin-Session: local-d6a143 | Codex | 21 prompts
Origin-Session: local-d6a143 | Codex | 18 prompts
Origin-Session: local-d6a143 | Codex | 24 prompts
Origin-Session: local-d6a143 | Codex | 24 prompts
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
euxaristia
left a comment
There was a problem hiding this comment.
For a draft this is in strong shape: clap-enforced config ranges, keyset pagination with SQL-side clamp, one shared absolute deadline across probes and fetch, lease waiter cap plus write semaphore plus acquire timeout, git children under the process-group watchdog, per-repo failure isolation, env-cleared git children with protocol.allow=never, https-only, self-resolved DNS with every answer validated and pinned, and insteadOf rejection, each with tests. The EX-001 concern is not inherited: targets come only from durable inbound rows (no route sets them yet), enabling requires enforce-owner-push, and the authority recheck happens under lease and semaphore. Two notes: shutdown is observed only between scans (bounded by the per-fetch timeout, acceptable), and a fast-failing dead mirror retries every tick with no backoff. Needs rebase on #333 and a green run before merge.
Dependency
This is a stacked follow-up to #333.
Summary
Network and credential safety
Scope
This PR covers the scheduled-fetch portion of Track B1.
Not included here:
Verification
Passed locally:
The complete local node test binary finished with 842 of 849 passing. The seven failures are the same host-load-sensitive object-count, deadline, process-watchdog, and IPFS timing names already observed on the B1a baseline; all changed-path tests passed.
A multi-lens internal review reproduced and fixed three blocking defects before this draft was opened: broken HTTPS startup from empty client-certificate settings, incomplete special-purpose address rejection, and invalid Git configuration parsing for equals-sign paths.