Skip to content

feat: opt-in auto-pull for local workflow sync#33

Merged
rhiever merged 4 commits into
mainfrom
feat/auto-pull-local-workflow-sync
Jun 15, 2026
Merged

feat: opt-in auto-pull for local workflow sync#33
rhiever merged 4 commits into
mainfrom
feat/auto-pull-local-workflow-sync

Conversation

@rhiever

@rhiever rhiever commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Adds an opt-in auto-pull mode for local workflow sync. When enabled via goodeye workflows sync auto on, the CLI pulls the safe set (new and behind-server workflows) as a best-effort tail after the command completes. It never blocks the command, never overwrites local edits, and never deletes.

No new files: the on/off and interval settings live in the existing sync config, and the throttle timestamp lives on the existing sync index. Workflows with local edits or conflicts are skipped and surfaced; workflows gone from the registry are reported, never removed.

Verification: 711 passed; ruff, ruff-format, and pyright all pass.

🤖 Generated with Claude Code

rhiever and others added 4 commits June 14, 2026 21:49
Add an opt-in mode that keeps already-configured sync targets fresh without a manual pull. When enabled, the CLI pulls the safe set (new and behind-server workflows) as a best-effort tail after the command completes: it never blocks the command, never overwrites local edits, and never deletes.

No new files. The on/off and interval settings live in the existing sync config, and the throttle timestamp lives on the existing sync index. Workflows with local edits or conflicts are skipped and surfaced; workflows gone from the registry are reported, never removed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Use contextlib.suppress(OSError) in _release_lock, inline the atexit
register test wrappers, and apply ruff formatting so the checks pass.

format_auto_pull_summary now reports the count of workflows gone from the
registry even when skipped local edits are present, instead of dropping
that count whenever a skip coexists. Adds a regression test for the
gone-plus-skipped case.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The pinned ruff-format pre-commit hook (the one CI runs) and the newer
local ruff disagree on how to wrap this multiline assert. A prior pass
rewrote the line into the newer single-form, which the pinned hook then
re-wraps, failing the lint-and-test job. This assert is unrelated to the
sync change in this branch, so restore it to the form already on main,
which the pinned hook accepts unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Main now pins ruff 0.15.11; reformat the one assert the newer formatter
wraps differently so the branch matches the updated lint baseline.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@rhiever rhiever force-pushed the feat/auto-pull-local-workflow-sync branch from 53079dc to 790bfc4 Compare June 15, 2026 04:50
@rhiever rhiever merged commit 4140e0e into main Jun 15, 2026
1 check passed
@rhiever rhiever deleted the feat/auto-pull-local-workflow-sync branch June 15, 2026 04:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant