Skip to content

feat(gitimpact): implement WTL engine and phased delivery policy#5

Open
siisee11 wants to merge 3 commits intomainfrom
ralph-git-impact-step3
Open

feat(gitimpact): implement WTL engine and phased delivery policy#5
siisee11 wants to merge 3 commits intomainfrom
ralph-git-impact-step3

Conversation

@siisee11
Copy link
Contributor

Summary

  • Implemented the git-impact WTL execution engine and phased delivery policy across Source Check, Collect, Link, Score, and Report.
  • Added observer lifecycle hooks and wait/resume handling via callback.
  • Added deterministic tests for phase progression, retry exhaustion, and wait handling.
  • Moved the step 3 execution plan from docs/exec-plans/active/ to docs/exec-plans/completed/.

Milestones completed

  • M1: Define gitimpact engine contract (internal/gitimpact/engine.go).
  • M2: Implement phased-delivery loop mechanics in Engine.Run (ordered progression, continue/retry, wait/resume, completion/exhaustion).
  • M3: Add observer integration surface (internal/gitimpact/observer.go).
  • M4: Add core control-flow tests (internal/gitimpact/engine_test.go).
  • M5: Verify repository health with go build ./... and go test ./....

Key decisions

  • Reused the baseline internal/wtl engine/policy loop pattern while specializing directives and phases for git-impact.
  • Kept wait handling callback-driven (WaitHandler) to support future CLI/TUI adapters without engine rewrites.
  • Used an explicit ordered phase list for auditable progression.
  • Applied phase-local retry handling with a fixed max retry count of 3.
  • Emitted observer lifecycle callbacks directly from engine run transitions.

Test plan

  • GOCACHE=/tmp/go-build-cache go build ./...
  • GOCACHE=/tmp/go-build-cache go test ./...

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