Claude: Resolve #13 #16

Open
forgejo-actions wants to merge 1 commit from claude/issue-13-40 into main

Resolves #13

Implemented by Claude Code via Forgejo Actions.

Safety Features

  • pantheon.db: SQLite PRAGMA integrity_check before and after every sync
  • Auto-stash: Local changes stashed before pull, restored after
  • Conflict detection: Reports merge conflicts with resolution instructions
  • Corrupt DB guard: Refuses to push if pantheon.db fails integrity check

Test Results

38 passed in 1.02s

All tests pass, including real git operations (clone/pull/push via local bare repos), DB validation, CLI routing, and edge cases.

Resolves #13 Implemented by Claude Code via Forgejo Actions. ### Safety Features - **pantheon.db**: SQLite `PRAGMA integrity_check` before and after every sync - **Auto-stash**: Local changes stashed before pull, restored after - **Conflict detection**: Reports merge conflicts with resolution instructions - **Corrupt DB guard**: Refuses to push if pantheon.db fails integrity check ### Test Results ``` 38 passed in 1.02s ``` All tests pass, including real git operations (clone/pull/push via local bare repos), DB validation, CLI routing, and edge cases.
Implements issue #13: git-based sync with Pi (192.168.0.237) as the
canonical tomb repository.

New files:
- scripts/tomb_sync.py: Sync tool with pull/push/dry-run/verify/status/init modes
- tests/test_tomb_sync.py: 38 tests covering all modes, DB safety, CLI parsing

Key features:
- Default: git pull from Pi bare repo (az@192.168.0.237:/home/az/tomb.git)
- --push: stage all changes, commit, and push to Pi
- --dry-run: preview changes without acting
- --verify: validate repo state, remotes, and pantheon.db integrity
- SQLite pantheon.db validation before and after sync operations
- Auto-stash local changes before pull, restore after
- Configurable via TOMB_DIR, TOMB_PI_URL, TOMB_FORGEJO_URL env vars

Updated:
- README.md: Added Tomb Sync section with architecture, usage, env vars
- .gitignore: Added __pycache__ and .pyc patterns
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin claude/issue-13-40:claude/issue-13-40
git switch claude/issue-13-40

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff claude/issue-13-40
git switch claude/issue-13-40
git rebase main
git switch main
git merge --ff-only claude/issue-13-40
git switch claude/issue-13-40
git rebase main
git switch main
git merge --no-ff claude/issue-13-40
git switch main
git merge --squash claude/issue-13-40
git switch main
git merge --ff-only claude/issue-13-40
git switch main
git merge claude/issue-13-40
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aaron/claude-ci-demo!16
No description provided.