Skip to content

Sprint 20-21 ceremony: gr2 event system, sync engine, QA arena#576

Merged
laynepenney merged 20 commits intomainfrom
sprint-21
Apr 15, 2026
Merged

Sprint 20-21 ceremony: gr2 event system, sync engine, QA arena#576
laynepenney merged 20 commits intomainfrom
sprint-21

Conversation

@laynepenney
Copy link
Copy Markdown
Collaborator

Summary

Ceremony PR merging Sprints 20 and 21 into main. Sprint 20 was a design sprint that produced the hook/event contract and sync failure contract. Sprint 21 was the implementation sprint that turned those designs into working code with full TDD coverage.

Sprint 20 (design)

  • Hook/event contract with PR lifecycle (Apollo, grip#572)
  • Sync failure contract with interrupt handling (Atlas, grip#573)
  • 7 commits, all design and hardening

Sprint 21 (implementation)

  • Event system runtime (Apollo, grip#574): emit() with fcntl locking, 31 EventType enum, JSONL outbox with 10MB rotation, cursor-based consumers, channel bridge, hook event wiring, PR lifecycle orchestration. 98 tests.
  • Sync engine + platform adapter (Atlas, grip#575): PlatformAdapter protocol, GitHubAdapter via gh CLI, PR group orchestration, sync lock with --dirty=stash|block|discard, failure markers at .grip/state/failures/, workspace materialize events. 16 tests.
  • Cross-lane convergence: Apollo's emit() API adopted as authoritative, PR group schema aligned, fcntl locking unified, push model for pr.review_submitted.
  • 13 implementation commits

Test results

  • Python gr2 tests: 114 passed on sprint-21 branch
  • All files compile cleanly

Retro action items (Sprint 22)

  1. Claim shared interfaces before coding
  2. Schema-first contracts with machine-checkable fixtures
  3. Post implementation plans to #dev before first commit
  4. Resolve delivery models (push vs poll) during design
  5. Tighter implementation handoff with exact example JSON

Premium boundary: grip is OSS (workspace orchestration infrastructure).

laynepenney and others added 20 commits April 15, 2026 10:45
feat: add python gr2 platform adapter and sync surfaces
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
… PR lifecycle)

98 tests across 6 domains:
- EventType enum (31 types: lane, lease, hook, PR, sync, recovery, workspace)
- emit() with flat JSONL outbox, fcntl locking, 10MB rotation, cursor consumers
- Lane/lease event wiring in app.py
- Channel bridge consumer (11 mapped event types)
- Hook execution events (started/completed/failed/skipped)
- PR lifecycle events via pr.py orchestration layer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: start sprint 21 sync engine and platform adapter lane
@laynepenney laynepenney merged commit 84de26a into main Apr 15, 2026
10 of 11 checks passed
@laynepenney laynepenney deleted the sprint-21 branch April 15, 2026 18:49
laynepenney added a commit that referenced this pull request Apr 15, 2026
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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