Skip to content

feat(engine): extract content-lane's pure leaf modules to loopover-engine - #5775

Merged
loopover-orb[bot] merged 1 commit into
JSONbored:mainfrom
real-venus:feat/loopover-engine-extract-content-lane
Jul 14, 2026
Merged

feat(engine): extract content-lane's pure leaf modules to loopover-engine#5775
loopover-orb[bot] merged 1 commit into
JSONbored:mainfrom
real-venus:feat/loopover-engine-extract-content-lane

Conversation

@real-venus

Copy link
Copy Markdown
Contributor

Summary

Extracts the two dependency-free leaf modules of the content-lane subtree into @loopover/engine, validating the shim pattern on the cleanest possible boundary (the pilot the issue explicitly calls for) before the interdependent and Env-bound files:

  • content-repo-spec.ts — the curated-list content-repository spec (a pure interface + a default const, no imports).
  • flag.ts — the content-lane enablement flag (a pure interface + a pure function, no imports).

Each is moved into packages/loopover-engine/src/review/content-lane/, with a thin re-export shim left at its old src/ path, following the established convention exactly (see src/signals/check-summary.ts, PR #4256): the shim does export * from "<relative source path into the engine tree>", so every consumer and test keeps its existing import unchanged.

Why this is scoped to the two leaf files

Investigating the subtree surfaced hard constraints that make a single "move the entire subtree" PR neither clean nor safe:

  • Three files can't move without prior extractions/host wiring: security-scan.ts (depends on src/review/secret-patterns.ts, not yet in the engine), and spec-resolver.ts / content-lane-wire.ts (Worker Env / D1 / GitHub I/O — correctly the host adapter the issue says should "remain in src/").
  • safe-url.ts is coupled to a guarded path: converting it to a shim would break the hard-coded SAFE_URL_TWIN_PAIR marker check in scripts/check-engine-parity.ts — and scripts/** is a guardrail path, which would hold the PR for manual review.
  • The two leaf files chosen here are pure (no imports, no Env/D1), already at 100% coverage, and byte-identical git mvs, so the move is coverage-safe and consumer-transparent — the ideal boundary to validate the shim mechanics first. Follow-ups can extract the interdependent files (scope/duplicates/source-evidence/registry-logic/netuid/orchestrator) and handle safe-url's parity bookkeeping separately.

Scope

  • The PR title follows type(scope): short summary Conventional Commit format.
  • This PR is focused and does not mix unrelated backend, UI, MCP, docs, dependency, and deploy changes.
  • This follows CONTRIBUTING.md and does not reintroduce GitHub Pages, VitePress, site/, or CNAME.
  • I linked a currently open issue this PR resolves — Closes Extract content-lane/* as one vertical slice #4880.

Validation

  • git diff --check
  • npm run typecheck (root + @loopover/engine build both clean)
  • npm run test:coverage — the two moved engine files and both shims are at 100% line + branch coverage (verified via the v8 JSON report); all 253 content-lane unit tests pass unchanged, resolving through the shims (no test import changed).
  • npm run command-reference:check (unaffected).
  • Engine-parity check passes (22 hand-duplicated pairs agree); these two leaf files are not twin pairs, so no parity bookkeeping changes.

If any required check was skipped, explain why:

  • actionlint, test:workers, ui:*, npm audit were not run — this change adds no workflow, worker, UI, or dependency surface. The full npm run test:ci runs them on CI.

Safety

  • No secrets, wallet details, hotkeys, coldkeys, user PATs, private keys, raw trust scores, private rankings, or private maintainer evidence are exposed. This is a pure source relocation + re-export shim; behavior is byte-for-byte unchanged.
  • Public GitHub text stays sanitized, low-noise, and does not imply compensation guarantees or optimization tactics.
  • Public docs/changelogs are updated where needed; no changelog is edited.

Auth/CORS/session, API/OpenAPI/MCP, and UI safety boxes are not applicable — this PR changes none of those surfaces.

…gine

Move the two dependency-free leaf modules of the content-lane subtree —
content-repo-spec.ts (the curated-list registry spec) and flag.ts (the
content-lane enablement flag) — into packages/loopover-engine, leaving thin
re-export shims at their old src/ paths so every consumer and test resolves
unchanged. Follows the established engine-extraction convention exactly (see
src/signals/check-summary.ts): the shim re-exports the engine implementation via
a relative source path, not the published package.

These two files are pure (no imports, no Env/D1 dependency) and already at 100%
coverage, so the move is coverage-safe. This validates the shim pattern on the
cleanest boundary before extracting the interdependent and Env-bound files.

Closes JSONbored#4880
@real-venus
real-venus requested a review from JSONbored as a code owner July 14, 2026 14:17
@superagent-security

Copy link
Copy Markdown
Contributor

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

@codecov

codecov Bot commented Jul 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.07%. Comparing base (e4fd9c1) to head (bf0ddca).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5775   +/-   ##
=======================================
  Coverage   95.07%   95.07%           
=======================================
  Files         582      582           
  Lines       46216    46216           
  Branches    14820    14820           
=======================================
  Hits        43940    43940           
  Misses       1516     1516           
  Partials      760      760           
Flag Coverage Δ
shard-1 43.93% <66.66%> (-0.01%) ⬇️
shard-2 35.79% <33.33%> (+0.02%) ⬆️
shard-3 32.25% <66.66%> (+<0.01%) ⬆️
shard-4 33.54% <33.33%> (+0.60%) ⬆️
shard-5 31.18% <33.33%> (-0.55%) ⬇️
shard-6 44.61% <66.66%> (-0.04%) ⬇️

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

Files with missing lines Coverage Δ
...ngine/src/review/content-lane/content-repo-spec.ts 100.00% <100.00%> (ø)
...es/loopover-engine/src/review/content-lane/flag.ts 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@loopover-orb loopover-orb Bot added the gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. label Jul 14, 2026
@loopover-orb

loopover-orb Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Tip

🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩

✅ LoopOver review result - approve/merge recommended

Review updated: 2026-07-14 14:23:14 UTC

4 files · 1 AI reviewer · no blockers · readiness 100/100 · CI green · clean

✅ Suggested Action - Approve/Merge

  • safe to merge

Review summary
This is a byte-identical git-mv of two dependency-free leaf modules (content-repo-spec.ts, flag.ts) from src/review/content-lane/ into packages/loopover-engine/, with thin re-export shims left at the old paths so existing consumers/tests keep working unchanged. The pattern matches the established convention cited (src/signals/check-summary.ts, PR #4256), the moved content is a verbatim copy (identical constants/interfaces), and the shims use correct relative paths. The most notable detail is that no test files moved or were added — the PR relies entirely on existing tests exercising the old import path, which the shim preserves.

Nits — 5 non-blocking
  • No new/moved test files accompany this extraction (0 test-path changes per the ratio); confirm the existing tests importing from src/review/content-lane/content-repo-spec.ts and flag.ts still exercise the moved code via the shim rather than needing a copy under packages/loopover-engine/.
  • content-repo-spec.ts hardcodes docs/GitHub catalog URLs (code.claude.com, github.com) inline rather than via config — pre-existing from the original file, not introduced by this move, but worth flagging as the spec becomes reusable across content lanes.
  • Consider adding a lightweight test file under packages/loopover-engine/ that imports directly from the new path, to ensure the engine package is independently testable/coverage-tracked going forward, not just reachable via the shim.
  • Double check the relative path `../../../packages/loopover-engine/src/review/content-lane/...` resolves correctly given src/review/content-lane/'s actual depth from repo root — worth a quick `tsc --noEmit` sanity note in the PR body since CI already passed.
  • Code changes lack test evidence — Add focused regression tests or explain why existing coverage is sufficient.
Signal Result Evidence
Code review ✅ No blockers 1 reviewer
Linked issue ✅ Linked #4880
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: 106 registered-repo PR(s), 54 merged, 14 issue(s).
Contributor context ✅ Confirmed Gittensor contributor real-venus; Gittensor profile; 106 PR(s), 14 issue(s).
Gate result ✅ Passing No configured blocker found.
Improvement ⚠️ ℹ️ None detected risk: low · value: none — No structural-improvement signals were detected for this PR. LLM value judgment: minor — The diff is a narrow, low-risk verbatim extraction of two pure leaf files validating a shim pattern, which is useful groundwork but intentionally small in scope per the PR's own stated exclusions.
Linked issue satisfaction

Partially addressed
The PR moves only two dependency-free leaf files (content-repo-spec.ts, flag.ts) with working re-export shims, but the issue asks to move 'the entire content-lane subtree' as one vertical slice, and the second acceptance criterion about the visual-capture/I/O-bound sibling dependency isn't addressed since those interdependent and Env-bound files (security-scan.ts, spec-resolver.ts, content-lane-wi

Review context
  • Author: real-venus
  • 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: 106 PR(s), 14 issue(s).
  • PR-specific overlap: none found.
Contributor next steps
  • Keep the PR focused and include validation evidence before maintainer review.
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.
[BETA] Chat with Gittensory

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

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

Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands

🟩 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 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gittensory approves — the gate is satisfied and CI is green.

@loopover-orb
loopover-orb Bot merged commit 60ed3cd into JSONbored:main Jul 14, 2026
16 checks passed
This was referenced Jul 14, 2026
This was referenced Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extract content-lane/* as one vertical slice

1 participant