Mutation

76.1%
score
none%
ratchet floor
601
mutants caught
189
mutants that survived
FileScoreCaughtSurvived
apps/advocate/src/eligibility/engine.ts64.8%215117
packages/gates/src/gate.ts74.4%2910
packages/runtime/src/approval.ts80.0%5614
packages/runtime/src/governor.ts96.4%803
apps/advocate/src/domain/tone.ts77.3%10230
packages/gates/src/ratchet.ts84.1%7414
packages/gates/src/verdict.ts97.8%451

Survivors to kill next

FileLineChange that went unnoticed
apps/advocate/src/eligibility/engine.ts28ArithmeticOperator: extra / (size - arr.length)
apps/advocate/src/eligibility/engine.ts28EqualityOperator: size >= arr.length
apps/advocate/src/eligibility/engine.ts37StringLiteral: ""
apps/advocate/src/eligibility/engine.ts38StringLiteral: ""
apps/advocate/src/eligibility/engine.ts40StringLiteral: ""
apps/advocate/src/eligibility/engine.ts39StringLiteral: ""
apps/advocate/src/eligibility/engine.ts43ArrayDeclaration: []
apps/advocate/src/eligibility/engine.ts43StringLiteral: ""
apps/advocate/src/eligibility/engine.ts43ArrayDeclaration: ["Stryker was here"]
apps/advocate/src/eligibility/engine.ts46ArrayDeclaration: ["Stryker was here"]
apps/advocate/src/eligibility/engine.ts48EqualityOperator: credits > 6
apps/advocate/src/eligibility/engine.ts49OptionalChaining: s.receives.snap
apps/advocate/src/eligibility/engine.ts49ArrayDeclaration: ["Stryker was here"]
apps/advocate/src/eligibility/engine.ts58ConditionalExpression: true
apps/advocate/src/eligibility/engine.ts58ConditionalExpression: false
packages/gates/src/gate.ts46MethodExpression: cases.some(c => c.status === 'fail')
packages/gates/src/gate.ts55StringLiteral: ""
packages/gates/src/gate.ts56StringLiteral: ""
packages/gates/src/gate.ts57ConditionalExpression: false
packages/runtime/src/approval.ts36StringLiteral: ""
packages/runtime/src/approval.ts36StringLiteral: ``
packages/runtime/src/approval.ts49StringLiteral: ""
packages/runtime/src/approval.ts49ObjectLiteral: {}
packages/runtime/src/approval.ts53ConditionalExpression: false
packages/runtime/src/approval.ts53StringLiteral: ""
packages/runtime/src/approval.ts54ConditionalExpression: false
packages/runtime/src/approval.ts54StringLiteral: ""
packages/runtime/src/approval.ts55StringLiteral: ""
packages/runtime/src/approval.ts56EqualityOperator: new Date(token.expiresAt).getTime() <= now
packages/runtime/src/approval.ts27ArithmeticOperator: 30 / 60
packages/runtime/src/approval.ts27BlockStatement: {}
packages/runtime/src/approval.ts28ConditionalExpression: false
packages/runtime/src/governor.ts30OptionalChaining: parts.find(p => p.type === t).value
packages/runtime/src/governor.ts38EqualityOperator: s < e
apps/advocate/src/domain/tone.ts25EqualityOperator: w.length < 3
apps/advocate/src/domain/tone.ts26Regex: /(?:[laeiouy]es|ed|[^laeiouy]e)$/
apps/advocate/src/domain/tone.ts26Regex: /(?:[^laeiouy]es|ed|[^laeiouy]e)/
apps/advocate/src/domain/tone.ts26Regex: /y/
apps/advocate/src/domain/tone.ts27OptionalChaining: groups.length
apps/advocate/src/domain/tone.ts39StringLiteral: "Stryker was here!"
apps/advocate/src/domain/tone.ts40Regex: /\b[A-Z][\w'.&-]*(?:\s(?:of|and|the|for|de|&)?\s*[A-Z][\w'.&-]*)+/g
apps/advocate/src/domain/tone.ts40Regex: /\b[A-Z][\w'.&-]*(?:\s+(?:of|and|the|for|de|&)?\S*[A-Z][\w'.&-]*)+/g
apps/advocate/src/domain/tone.ts40StringLiteral: ""
apps/advocate/src/domain/tone.ts41Regex: /[.!?](\s|$)/g
apps/advocate/src/domain/tone.ts41ArrayDeclaration: ["Stryker was here"]
apps/advocate/src/domain/tone.ts42Regex: /\s/
apps/advocate/src/domain/tone.ts63StringLiteral: ""
apps/advocate/src/domain/tone.ts66StringLiteral: ``
apps/advocate/src/domain/tone.ts66EqualityOperator: grade >= targetGrade + lim.gradeSlack
packages/gates/src/ratchet.ts31StringLiteral: ``
packages/gates/src/ratchet.ts33StringLiteral: ``
packages/gates/src/ratchet.ts35EqualityOperator: current <= state.floor
packages/gates/src/ratchet.ts37StringLiteral: ``
packages/gates/src/ratchet.ts51StringLiteral: ``
packages/gates/src/ratchet.ts52EqualityOperator: after.floor <= before.floor
packages/gates/src/ratchet.ts53StringLiteral: ""
packages/gates/src/ratchet.ts54ConditionalExpression: true
packages/gates/src/ratchet.ts55StringLiteral: ``
packages/gates/src/ratchet.ts56StringLiteral: ``
packages/gates/src/ratchet.ts57MethodExpression: entry.reason
packages/gates/src/ratchet.ts57EqualityOperator: entry.reason.trim().length <= 20
packages/gates/src/ratchet.ts57StringLiteral: ""
packages/gates/src/ratchet.ts58StringLiteral: ``
packages/gates/src/verdict.ts34StringLiteral: ""