feat(domain): W5-C subscription gaps, episode totals, multi-inflight slot, hard conditions and priority ladder
- resolveEpisodeTotal: totals only grow; TMDB regression floored at highest covered episode; manual lock - computeUnitGaps / seasonProgress / unitsOverlap: missing = units ∩ range − covered − in-flight, season wildcard reservation, suspected-missing when total unknown - transitionWithInflight: slot status aggregates several in-flight plans (Slot × unit reservation) - hard conditions: excludeSources, hdr sets, codec sets, per-unit size, include/exclude regex (whitelist-validated), site scope, minSeeders, freeOnly (site facts via EvaluationContext) - priority ladder (MP rule-group tiers) → pri 0-100 with per-tier trace; priority-basis upgrades, targetPri ceiling, upgrade modes movie/per_unit/full_pack, improvableUnits - all evaluations carry readable trace via describeViolation Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
89ea68465e
commit
d162d464c4
9 files changed
+1023
-42
No files matched your search
@@ -6,17 +6,44 @@ export {
|
||||
type UnitCompletion,
|
||||
unitCompletion,
|
||||
} from "./completion.ts";
|
||||
export {
|
||||
type EpisodeTotalInput,
|
||||
type EpisodeTotalResult,
|
||||
type EpisodeTotalSource,
|
||||
resolveEpisodeTotal,
|
||||
} from "./episode-total.ts";
|
||||
export {
|
||||
checkHardConditions,
|
||||
compareRank,
|
||||
currentPri,
|
||||
DEFAULT_SOURCE_TIERS,
|
||||
describeViolation,
|
||||
evaluateCandidate,
|
||||
improvableUnits,
|
||||
priorityLadder,
|
||||
qualityTier,
|
||||
type RankedEvaluation,
|
||||
RESOLUTION_RANK,
|
||||
rankForSlot,
|
||||
softRank,
|
||||
unitCountOf,
|
||||
validateKeywordPattern,
|
||||
} from "./evaluate.ts";
|
||||
export {
|
||||
computeUnitGaps,
|
||||
episodeKey,
|
||||
inRange,
|
||||
parseUnitKey,
|
||||
type SeasonProgress,
|
||||
type SeasonProgressInput,
|
||||
seasonProgress,
|
||||
seasonWildcard,
|
||||
type UnitGapInput,
|
||||
type UnitGaps,
|
||||
type UnitRange,
|
||||
unitsOverlap,
|
||||
} from "./gaps.ts";
|
||||
export { busyStatus, type PlanStage, stageAfter, transitionWithInflight } from "./inflight.ts";
|
||||
export {
|
||||
canTransition,
|
||||
type SlotEvent,
|
||||
|
||||
Reference in new issue
Block a user