Part of #4092.
Problem
isGroundingEnabled (src/review/grounding-wire.ts, consumed via isConvergenceRepoAllowed directly) is NOT YET migrated onto the existing per-repo feature-activation mechanism. src/review/feature-activation.ts's own header comment confirms this explicitly: "grounding and screenshots stay on the GITTENSORY_REVIEW_REPOS allowlist for now (grounding is coupled to the merge/close DISPOSITION path...) — a follow-up." This issue IS that follow-up.
(Correction from this issue's original scope: feature-activation.ts — resolveConvergedFeature/convergedFeatureActive, CONVERGED_FEATURE_KEYS — already exists and already covers rag/reputation/unifiedComment/safety; no new resolver needs building. See #4092's corrected state.)
Fix
- Add
"grounding" to CONVERGED_FEATURE_KEYS (packages/gittensory-engine/src/focus-manifest.ts) and FEATURE_GLOBAL_FLAG (src/review/feature-activation.ts, mapping to isGroundingEnabled).
- Migrate grounding's real call site(s) from the raw
isGroundingEnabled(env) && isConvergenceRepoAllowed(env, repo) pattern to convergedFeatureActive(env, repoFullName, "grounding") (or resolveConvergedFeature if a manifest is already in hand at the call site).
- Investigate the "coupled to the merge/close DISPOSITION path" note before touching call sites — understand why this was deferred before assuming a naive swap is safe.
.gittensory.yml.example + config/examples/gittensory.full.yml document the new features.grounding key.
Deliverables
Expected outcome
An operator can turn grounding on/off per-repo purely through .gittensory.yml, using the same mechanism as rag/reputation/safety/unifiedComment.
Effort
S-M — mechanical if the disposition-path coupling turns out to be a non-issue; investigate first.
Part of #4092.
Problem
isGroundingEnabled(src/review/grounding-wire.ts, consumed viaisConvergenceRepoAlloweddirectly) is NOT YET migrated onto the existing per-repo feature-activation mechanism.src/review/feature-activation.ts's own header comment confirms this explicitly: "grounding and screenshots stay on the GITTENSORY_REVIEW_REPOS allowlist for now (grounding is coupled to the merge/close DISPOSITION path...) — a follow-up." This issue IS that follow-up.(Correction from this issue's original scope:
feature-activation.ts—resolveConvergedFeature/convergedFeatureActive,CONVERGED_FEATURE_KEYS— already exists and already covers rag/reputation/unifiedComment/safety; no new resolver needs building. See #4092's corrected state.)Fix
"grounding"toCONVERGED_FEATURE_KEYS(packages/gittensory-engine/src/focus-manifest.ts) andFEATURE_GLOBAL_FLAG(src/review/feature-activation.ts, mapping toisGroundingEnabled).isGroundingEnabled(env) && isConvergenceRepoAllowed(env, repo)pattern toconvergedFeatureActive(env, repoFullName, "grounding")(orresolveConvergedFeatureif a manifest is already in hand at the call site)..gittensory.yml.example+config/examples/gittensory.full.ymldocument the newfeatures.groundingkey.Deliverables
groundingadded toCONVERGED_FEATURE_KEYS+FEATURE_GLOBAL_FLAGfeature-activation.test.ts's existing pattern for rag/reputation/safety/unifiedCommentExpected outcome
An operator can turn grounding on/off per-repo purely through
.gittensory.yml, using the same mechanism as rag/reputation/safety/unifiedComment.Effort
S-M — mechanical if the disposition-path coupling turns out to be a non-issue; investigate first.