refactor: extract review engine and default composition into plugin #106

Merged
severus-snape merged 1 commit from refactor/review-engine-plugin into main 2026-10-27 07:03:51 +00:00
Collaborator

Scope

Move actual ReviewService, ledger/budget implementation, lifecycle, scope, summaries, guards and policy adapter from Core to harness/plugins. New plugin createReviewEngine owns bundled default policy/tool/instruction selection. Host composes returned policies/modules and adds generic required identities, not hardcoded review identity. Core completion/context assessment now depend on generic AssessmentBackend rather than review engine. Compatibility reviewConfig/model/tool selection remain in host intentionally; not claimed universal plugin config or full removal of review references. Existing startup selection and runtime policy overrides preserved.

Engine six files copied byte-for-byte, deleted from Core; tests import generated immutable plugin artifacts. No ledger schema/path rewrite, reviewer round grants or live ledger modifications. Plugin pin4493c9a from own source repository with digest verification; no generated edits. Required policy identities only additive from trusted host, not plugin API.

Validation

583/583 full tests, 42 preexisting focused review/policy tests plus2 new extraction tests, typecheck/build/diffcheck PASS. Regression seeds legacy version1 exhausted ledger with findings/assessments/grant and verifies exact state/bytes retained, zero backend calls after reopen/run, default plugin tools+required identity, disabled default no policies/tools. Existing budget and boundary suites unchanged apart import paths.

Review / rollout

Author inspected mechanical moves/composition and tests; persistent review status blockers0, no additional independent round/reset. Existing history/budget untouched. Bundled source ownership separation, image rollout required; not hot unload and not a universal runtime review-service selection API. Runtime policy replacement remains supported via generic manager, tool service remains bundled default. Deployment activation must be verified separately; merge/build not activation. Original dirty checkouts preserved.

## Scope Move actual ReviewService, ledger/budget implementation, lifecycle, scope, summaries, guards and policy adapter from Core to harness/plugins. New plugin createReviewEngine owns bundled default policy/tool/instruction selection. Host composes returned policies/modules and adds generic required identities, not hardcoded review identity. Core completion/context assessment now depend on generic AssessmentBackend rather than review engine. Compatibility reviewConfig/model/tool selection remain in host intentionally; not claimed universal plugin config or full removal of review references. Existing startup selection and runtime policy overrides preserved. Engine six files copied byte-for-byte, deleted from Core; tests import generated immutable plugin artifacts. No ledger schema/path rewrite, reviewer round grants or live ledger modifications. Plugin pin4493c9a from own source repository with digest verification; no generated edits. Required policy identities only additive from trusted host, not plugin API. ## Validation 583/583 full tests, 42 preexisting focused review/policy tests plus2 new extraction tests, typecheck/build/diffcheck PASS. Regression seeds legacy version1 exhausted ledger with findings/assessments/grant and verifies exact state/bytes retained, zero backend calls after reopen/run, default plugin tools+required identity, disabled default no policies/tools. Existing budget and boundary suites unchanged apart import paths. ## Review / rollout Author inspected mechanical moves/composition and tests; persistent review status blockers0, no additional independent round/reset. Existing history/budget untouched. Bundled source ownership separation, image rollout required; not hot unload and not a universal runtime review-service selection API. Runtime policy replacement remains supported via generic manager, tool service remains bundled default. Deployment activation must be verified separately; merge/build not activation. Original dirty checkouts preserved.
Sign in to join this conversation.
No reviewers
No labels
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
harness/core!106
No description provided.