Skip to content

fix(settings): give loopover its own autonomy config-as-code - #6468

Merged
JSONbored merged 1 commit into
mainfrom
fix/loopover-autonomy-config
Jul 16, 2026
Merged

fix(settings): give loopover its own autonomy config-as-code#6468
JSONbored merged 1 commit into
mainfrom
fix/loopover-autonomy-config

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

  • repository_settings has no row at all for JSONbored/loopover (confirmed via direct DB query), so every agent action class (merge, close, approve, request_changes, update_branch, assign) resolved to DEFAULT_AUTONOMY_LEVEL = "observe" (deny-by-default) regardless of review verdict — reviewed, CI-green, mergeable PRs (e.g. fix(api): open the public no-credential routes to any CORS origin #6401, chore(mcp): remove dead referenceScorePreviewCommand export in local-branch.js #6402) were never actually merged or closed.
  • Adds an autonomy: block to .loopover.yml's settings: (and its bundled self-repo-fallback twin in src/config/loopover-repo-focus-manifest.ts), matching the policy already live in JSONbored/awesome-claude and JSONbored/metagraphed's DB rows — this repo gets the same policy as config-as-code instead of a DB row.
  • Also scopes several test fixtures' self-repo identity override (LOOPOVER_DRIFT_ISSUE_REPO) away from JSONbored/gittensory so their own DB-configured settings in those specific tests aren't silently replaced by the bundled fallback manifest (which now carries this same autonomy: block).

Part of #6440

Scope

  • Stayed within wantedPaths (.loopover.yml, src/, test/)
  • No secrets / wallets / hotkeys / trust scores / reward values
  • No site/, CNAME, lovable changes
  • No changelog edit

Validation

  • npm run test:ci (full local gate, green)
  • npm run test:coverage (unsharded)
  • npm audit --audit-level=moderate (0 vulnerabilities)
  • git diff --check (clean)
  • Bundled manifest twin-file alignment test passes

Safety

  • No secrets in code/comments/tests
  • No auth/CORS surface touched

Repository_settings had no row at all for JSONbored/loopover, so every
agent action class silently defaulted to "observe" (deny-by-default)
regardless of review verdict -- reviewed, CI-green, mergeable PRs were
never actually merged or closed. Matches the autonomy policy already
live in JSONbored/awesome-claude and JSONbored/metagraphed's DB rows,
carried instead via .loopover.yml/the bundled self-repo manifest.

Also scopes several test fixtures' self-repo identity override
(LOOPOVER_DRIFT_ISSUE_REPO) away from "JSONbored/gittensory" so their
own DB-configured settings aren't silently replaced by the bundled
fallback manifest.

Part of #6440
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@JSONbored JSONbored self-assigned this Jul 16, 2026
@JSONbored
JSONbored merged commit 090d946 into main Jul 16, 2026
13 checks passed
@JSONbored
JSONbored deleted the fix/loopover-autonomy-config branch July 16, 2026 09:32
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 16, 2026
@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.56%. Comparing base (4d6d016) to head (fa1aaf2).
⚠️ Report is 30 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6468      +/-   ##
==========================================
- Coverage   95.56%   95.56%   -0.01%     
==========================================
  Files         589      589              
  Lines       47057    47057              
  Branches    14967    14967              
==========================================
- Hits        44972    44970       -2     
- Misses       1294     1295       +1     
- Partials      791      792       +1     
Flag Coverage Δ
shard-1 44.11% <ø> (-0.11%) ⬇️
shard-2 37.30% <ø> (+0.68%) ⬆️
shard-3 32.31% <ø> (-0.04%) ⬇️
shard-4 34.49% <ø> (-0.83%) ⬇️
shard-5 31.42% <ø> (+0.42%) ⬆️
shard-6 45.68% <ø> (+0.28%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/config/loopover-repo-focus-manifest.ts 100.00% <ø> (ø)

... and 1 file with indirect coverage changes

JSONbored added a commit that referenced this pull request Jul 16, 2026
… autonomy config-as-code PR

#773's autonomy config-as-code change (fix(settings): give loopover its own autonomy
config-as-code, merged as PR #6468) replaced the same settings: block section in both
.loopover.yml and its bundled fallback manifest, silently dropping this repo's own
draftPrClosePolicy: close line in the process — the feature (#6454, merged) has been
fully live in code since, just disabled for loopover's own repo because nothing
enabled it.

Re-add draftPrClosePolicy: close alongside (not replacing) the autonomy: block, in
both the committed .loopover.yml and its bundled byte-identical twin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant