Skip to content

fix(engine): classify 'ci' change-kind only by real CI path segments, not any .yml/.yaml (#8873) - #8971

Closed
RealDiligent wants to merge 1 commit into
JSONbored:mainfrom
RealDiligent:fix/critical-issue-objective-anchor-yaml-8873
Closed

fix(engine): classify 'ci' change-kind only by real CI path segments, not any .yml/.yaml (#8873)#8971
RealDiligent wants to merge 1 commit into
JSONbored:mainfrom
RealDiligent:fix/critical-issue-objective-anchor-yaml-8873

Conversation

@RealDiligent

Copy link
Copy Markdown
Contributor

Problem

Closes #8873.

packages/loopover-engine/src/objective-anchor.ts's kindsFromPath classified ci via CI_SEGMENTS.has(segment) || filename.endsWith('.yml') || filename.endsWith('.yaml'). The bare-extension fallback tagged any YAML file — root .loopover.yml, docs/mkdocs.yml — as ci, diluting the ci change-kind dimension scoreObjectiveAnchor relies on.

Fix

Drop the extension fallback. ci is classified only via a real CI path segment (CI_SEGMENTS), the same path-segment discipline every other change-kind uses.

Tests

.loopover.yml and docs/mkdocs.yml no longer produce ci; .github/workflows/ci.yml still does. Reverting fails the negative assertions. git diff --check clean.

@RealDiligent
RealDiligent requested a review from JSONbored as a code owner July 26, 2026 14:38
@superagent-security

Copy link
Copy Markdown
Contributor

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

… not any .yml/.yaml

objective-anchor.ts's kindsFromPath tagged any YAML file as 'ci' via a bare `.yml`/`.yaml` extension
fallback, so a root `.loopover.yml` or `docs/mkdocs.yml` diluted the 'ci' change-kind dimension
scoreObjectiveAnchor relies on. Drop the extension fallback -- 'ci' is now classified only via a real
CI path segment (CI_SEGMENTS), the same path-segment discipline every other change-kind uses.

Tests: a config YAML at the repo root and docs/mkdocs.yml no longer produce 'ci'; a YAML under a real
CI path segment (.github/workflows/ci.yml) still does.
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 26, 2026
@loopover-orb

loopover-orb Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Caution

🛑 LoopOver review result - fixes required

Review updated: 2026-07-26 14:58:40 UTC

2 files · no blockers · CI failing · blocked

🛑 Suggested Action - Fix Blockers

  • AI review already in progress for this PR head: Another LoopOver pass is already running the AI review for this exact PR head. This pass is skipping to avoid a duplicate LLM call.

Review summary
AI review is already running for this PR head in another LoopOver pass. LoopOver is holding this PR for manual review until that pass completes.

Nits — 1 non-blocking
  • AI review already in progress for this PR head — The gate is held for a human reviewer rather than passed automatically; it re-evaluates once the in-flight review completes or on the next update.

CI checks failing

  • validate
  • validate-tests

Decision drivers

  • ✅ Code review — No blockers (No AI review summary)
  • ⚠️ Gate result — Not blocking (Advisory; not blocking this PR.)
Context & advisory signals — never blocks the verdict
Signal Result Evidence
Linked issue ✅ Linked #8873
Related work ✅ No active overlap found No same-issue or scoped active PR overlap found.
Change scope ✅ 20/20 Low review scope from cached public metadata (1 linked issue).
Validation posture ✅ 25/25 PR body includes validation/test evidence.
Contributor workload ✅ 10/10 Author activity: 305 registered-repo PR(s), 121 merged, 37 issue(s).
Contributor context ✅ Confirmed Gittensor contributor RealDiligent; Gittensor profile; 305 PR(s), 37 issue(s).
Improvement ✅ Minor risk: clean · value: minor
Linked issue satisfaction

Addressed
The diff removes the bare .yml/.yaml extension fallback so 'ci' is classified only via CI_SEGMENTS path-segment match, and adds negative tests confirming .loopover.yml and docs/mkdocs.yml no longer produce 'ci' plus a positive test that a real CI path still does.

Review context
  • Author: RealDiligent
  • Role context: outside_contributor
  • Public audience mode: oss maintainer
  • Lane context: Repository is configured for direct PR review.
  • Public profile languages: not available
  • Official Gittensor activity: 305 PR(s), 37 issue(s).
  • PR-specific overlap: none found.
Contributor next steps
  • Start here: Triage stale or unlinked PRs.
Signal definitions
  • Related work = same linked issue, overlapping active PRs, or title/path similarity.
  • Change scope = cached public metadata such as size labels, draft state, and review-burden hints.
  • Validation posture = whether the PR provides enough public validation/test evidence for maintainer review.
  • Contributor workload = public contributor activity and cleanup pressure, not a repo-wide quality failure.
  • Contributor context = public GitHub/Gittensor identity context; non-Gittensor status is not a blocker.
🧪 Chat with LoopOver

Ask LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.

  • @loopover ask <question> answers contribution-quality Q&A with source citations and freshness.
  • @loopover chat <question> answers in natural prose from cached decision-pack facts via local inference (maintainer/collaborator; read-only).
  • A plain-language @loopover mention with a real question is routed to the closest matching read-only command automatically — no exact syntax required.

Full command reference: https://loopover.ai/docs/loopover-commands

🧪 Experimental — new and may change.

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed


💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →.

Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.

  • Re-run LoopOver review

@loopover-orb

loopover-orb Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

LoopOver is closing this pull request on the maintainer's behalf (CI is failing (validate, validate-tests)). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed.

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.

fix(engine): objective-anchor misclassifies any .yml/.yaml file anywhere as a "ci" change kind

1 participant