Skip to content

Replay sync operation contracts#29

Merged
mdheller merged 1 commit into
mainfrom
work/sync-operation-contracts-replay
May 22, 2026
Merged

Replay sync operation contracts#29
mdheller merged 1 commit into
mainfrom
work/sync-operation-contracts-replay

Conversation

@mdheller
Copy link
Copy Markdown
Contributor

Summary

Clean replay of the contract payload from #19 onto current main.

Original PR #19 contains useful sync operation contract work but is unmergeable and had CI failure from a stale Makefile heredoc. Current main already has a corrected validate-json path and additional validation lanes, so this replacement carries forward the contract payload while intentionally avoiding a stale Makefile overwrite.

Added / updated

  • .gitignore
  • docs/contracts.md
  • examples/contracts/conflict.alpha.json
  • examples/contracts/operation-task.alpha.json
  • examples/contracts/workspace-operation.alpha.json
  • src/sourceos_syncd/contracts.py
  • tests/test_contracts.py

Scope

Workspace sync operation contracts, OperationTask records, conflict DecisionCard semantics, fixtures, docs, and tests. No runtime daemon behavior is introduced by this replay.

Validation

Expected validation:

make validate
python3 -m pytest tests/test_contracts.py

Supersedes

Supersedes #19 for the contract payload after this PR lands. #19 should not be closed until this replay merges or another capture location is recorded.

@mdheller mdheller merged commit a365ba8 into main May 22, 2026
4 checks passed
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