Skip to content

feat(miner-foundation): extract deterministic slop signals into gittensory-engine #2279

Description

@JSONbored

Move src/signals/slop.ts (516 lines: SlopBand, SlopAssessmentInput, SlopAssessment, SLOP_WEIGHTS, and the deterministic slop-scoring functions) into packages/gittensory-engine/src/slop.ts. This is the largest single extraction in the phase and depends on the smaller modules already moved (test-evidence, local-branch's isCodeFile/isTestFile classification, focus-manifest's isFocusManifestPublicSafe, path-matchers' classifyChangedFile) — sequence this AFTER the test-evidence extraction and the focus-manifest extraction issues so its internal imports resolve against the engine package instead of reaching back into src/.

Deliverables

  • packages/gittensory-engine/src/slop.ts — verbatim port of the full slop-scoring module, importing its dependencies (isCodeFile/isTestFile, isFocusManifestPublicSafe, classifyChangedFile) from sibling engine modules rather than src/.
  • packages/gittensory-engine/src/path-matchers.ts and a minimal local-branch classification helper (isCodeFile/isTestFile only, not the full local-branch module) ported as slop's direct dependencies, OR (if those are already extracted by a parallel issue) wired to the existing engine copies.
  • src/signals/slop.ts becomes a thin re-export shim from @jsonbored/gittensory-engine preserving every existing export name.
  • The full existing slop test suite (weights, bands, findings) passes unmodified against the shim — this is the highest-stakes byte-identity requirement in the phase since slop is the ONLY signal allowed to gate/block per its own module header.
  • packages/gittensory-engine/src/index.ts re-exports the new module.

References

  • src/signals/slop.ts (516 lines, full file) — the module to port, including its SLOP_WEIGHTS header comment explaining why weights are false-positive-averse (must be preserved verbatim, not paraphrased).
  • src/signals/test-evidence.ts, src/signals/path-matchers.ts — direct dependencies to sequence before this issue.
  • src/signals/focus-manifest.ts's isFocusManifestPublicSafe (line 300) — cross-module dependency to resolve.
  • packages/gittensory-engine/ — created by the package-skeleton issue (must land first).

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:featureGittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.help wantedExtra attention is needed

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions