Skip to content

feat: transactional publish, JSON reports and composable hooks - #3

Closed
megamen32 wants to merge 1 commit into
feat/doctor-and-redacted-reportsfrom
feat/safe-publish-and-hooks
Closed

megamen32 wants to merge 1 commit into
feat/doctor-and-redacted-reportsfrom
feat/safe-publish-and-hooks

Conversation

@megamen32

Copy link
Copy Markdown
Owner

What changed

Keeps the simple scan / publish UX while making the defaults safer.

Transactional publish

  • captures the exact target branch SHA before sanitizing
  • uses explicit --force-with-lease=<ref>:<sha> instead of blind --force
  • refuses to overwrite concurrent target updates
  • verifies the remote SHA after push
  • re-clones and scans targets under 100 MiB; larger repos get SHA verification without the extra clone
  • never force-overwrites tags

Hooks

  • guard and auto-publish can coexist in one managed pre-push dispatcher
  • existing user hooks are preserved and chained
  • disabling the last managed action restores the original hook

CI reports

  • scan --format json
  • publish --scan --format json
  • guard run --format json

Backup/restore

  • removes the hardcoded project-specific restore path
  • restore instructions now use the actual source gitdir

Validation

  • 55 tests pass
  • warnings treated as errors
  • python -m py_compile passes
  • git diff --check passes
  • real local source→target publish verified end-to-end, including lease push, remote SHA check, independent re-clone and tree equality

@megamen32
megamen32 deleted the branch feat/doctor-and-redacted-reports July 13, 2026 13:38
@megamen32 megamen32 closed this Jul 13, 2026
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