MCPcopy Create free account

hub / github.com/MadsLorentzen/ai-job-search / types & classes

Types & classes85 in github.com/MadsLorentzen/ai-job-search

↓ 19 callersClassFakeWorksheet
tests/test_convert_salary_excel.py:13
↓ 3 callersClassVerificationError
Raised when a generated PDF does not satisfy its checks.
tools/verify_pdf.py:11
ClassAlreadyAppliedTests
tests/test_upstream_triage.py:115
ClassApplyArchivesThePosting
Step 6b must also write the posting text it is holding to the archive.
tests/test_apply_records_application.py:253
ClassApplyRecordsApplication
/apply Step 6b writes the row that six other commands read.
tests/test_apply_records_application.py:53
ClassArchiveNameIsOnePathComponent
`<company>_<role>` must derive a single path component. `Novo Nordisk A/S` used to derive `novo_nordisk_a/s_<role>/`: every command that *der
tests/test_apply_records_application.py:388
ClassCheckerRepoFixture
tests/test_check_framework_version.py:29
ClassCleanTreeTests
tests/test_security_guards.py:60
ClassCompoundCategoryPairingTests
tests/test_convert_salary_excel.py:313
ClassDeadlineSurvivesEveryWrite
#319: the deadline is carried through the whole pipeline and never dropped. The header migration must be header-line-only (inserting it mid-colum
tests/test_apply_records_application.py:313
ClassDetectColumnTypeTests
tests/test_convert_salary_excel.py:31
ClassDirectCloneFallbackTests
tests/test_check_upstream_updates.py:88
ClassDraftedMeansDraftedToEveryReader
`drafted` is non-final, so readers that mean *submitted* must say so. Each of these defines its set by exclusion from the final statuses, so
tests/test_apply_records_application.py:189
ClassForkWithoutUpstreamRemoteTests
tests/test_check_upstream_updates.py:72
ClassFormatEntryTests
tests/test_salary_lookup.py:27
ClassFrameworkVersionGateTests
tests/test_check_framework_version.py:69
ClassGitignoreGuardTests
tests/test_security_guards.py:227
ClassGitignoreNegationTests
tests/test_security_guards.py:301
ClassGitignorePatternBehaviorTests
Pin the match semantics of the shipped .gitignore for upskill reports. The upskill skill resolves `upskill/` relative to its own directory (the
tests/test_security_guards.py:263
ClassGuardRepoFixture
Builds a minimal repo tree the guards pass on, then breaks one thing per test. The guard script resolves the repo root from its own location, so
tests/test_security_guards.py:24
ClassHookGuardTests
A hook in .claude/settings.json runs with no prompt when its event fires. The shape used here is the one the Shai-Hulud worm planted in its Augus
tests/test_security_guards.py:110
ClassHtmlReportCommandFileTests
Structural checks on the command file itself.
tests/test_html_report_command.py:26
ClassHtmlReportGitignoreTests
reports/ must be gitignored — it holds personal generated output.
tests/test_html_report_command.py:94
ClassHtmlReportLintIntegrationTests
lint_skills.py must pass after the command is added.
tests/test_html_report_command.py:147
ClassHtmlReportTrackerFieldTests
The dashboard is a consumer of every tracker column: the Step 1 field enumeration and the Step 3 table columns must stay in phase with the can
tests/test_html_report_command.py:46
ClassLinterRepoFixture
tests/test_lint_skills.py:22
ClassManifestGuardTests
tests/test_security_guards.py:324
ClassMatchScoreTests
tests/test_salary_lookup.py:346
ClassMissingUpstreamRefTests
tests/test_upstream_triage.py:155
ClassNotionSyncCommandSpec
tests/test_notion_sync_command.py:25
ClassOutcomeFollowupBranchSpec
tests/test_outcome_followup.py:26
ClassParseNumericCellLocaleTests
tests/test_convert_salary_excel.py:294
ClassParsePageCountTests
tests/test_verify_pdf.py:10
ClassPermissionGuardTests
tests/test_security_guards.py:67
ClassRankCommandSpec
tests/test_rank_command.py:43
ClassReaderCases
Spot-checks across readers that prove the vocabulary block is reachable from each command that makes decisions based on tracker status. Forma
tests/test_tracker_status_vocab.py:285
ClassReadersBucketMap
Each reader that classifies tracker values must handle both spellings and must not include archive-only values in tracker buckets.
tests/test_tracker_status_vocab.py:161
ClassReadmeImageReferences
tests/test_readme_assets.py:17
ClassRealRepoTests
tests/test_security_guards.py:383
ClassRelevanceFilterTests
tests/test_upstream_triage.py:72
ClassRunToolTests
tests/test_verify_pdf.py:68
ClassScrapeProvenanceSpec
tests/test_scrape_provenance.py:31
ClassScrapeSearchOutputContractTests
Every portal CLI's search output must carry the Step 2 contract fields.
tests/test_scrape_contract.py:53
ClassSearchCompanyRefactoredTests
tests/test_salary_lookup.py:366
ClassSearchCompanyTests
tests/test_salary_lookup.py:162
ClassSettingsShapeTests
tests/test_lint_skills.py:66
ClassSkillAndCommandCheckTests
check_skill()/check_command() are the linter's main job and were previously untested - only check_settings() had coverage, so deleting e.g. th
tests/test_lint_skills.py:114
ClassTestAgentSelection
tests/test_robots_check.py:82
ClassTestArgumentHardening
A URL can never be read by curl as an option. gate() rebuilds the target as scheme://host/robots.txt, so the gate path was never exposed; thi
tests/test_robots_check.py:215
ClassTestAtsExtractionEncoding
F34: every documented extraction command must pin the encoding.
tests/test_latex_guidance.py:115
ClassTestBulletBracketTrap
F9: no document or template doc may teach `\\item [text]`.
tests/test_latex_guidance.py:50
ClassTestCli
tests/test_robots_check.py:101
ClassTestCvSentinelsAreDataLocated
tests/test_placeholder_integrity.py:44
ClassTestForkWarningsAtTheDecisionPoint
tests/test_onboarding_privacy.py:32
ClassTestGmailQueryOperators
tests/test_gmail_sync_command.py:20
ClassTestMatchScoreAnglicize
tests/test_salary_lookup.py:126
ClassTestMatchScoreExactMatch
tests/test_salary_lookup.py:95
ClassTestMatchScoreNoOverlap
tests/test_salary_lookup.py:139
ClassTestMatchScoreShortQuery
tests/test_salary_lookup.py:116
ClassTestMatchScoreSubstring
tests/test_salary_lookup.py:106
ClassTestPathRules
tests/test_robots_check.py:32
ClassTestPercentEncodedRules
Rule patterns are percent-decoded to match the decoded request path. FAIL-OPEN REGRESSION: without this, a site that percent-encodes its own
tests/test_robots_check.py:196
ClassTestProfileSentinelIsDataLocated
tests/test_placeholder_integrity.py:77
ClassTestRecencyFallback
Step 1b.3 says to scope to the last 14 days via the portal's recency flag - but not every portal has one (jobdanmark offers no date filter or
tests/test_scrape_provenance.py:81
ClassTestResetCoversEveryDocumentsSubfolder
tests/test_reset_command.py:40
ClassTestSearchCompanyBasicMatch
tests/test_salary_lookup.py:390
ClassTestSearchCompanyCityFilter
tests/test_salary_lookup.py:415
ClassTestSearchCompanyScoreThreshold
tests/test_salary_lookup.py:449
ClassTestSetupChecksOriginBeforeWriting
tests/test_onboarding_privacy.py:61
ClassTestSoftTwoHundred
A 200 whose body is not a robots.txt used to grant permission. Found by adversarial review, not inspection. A misconfigured host answering /r
tests/test_robots_check.py:113
ClassTestSpecialCharacterGuidance
F31: both template guides must document the LaTeX escapes.
tests/test_latex_guidance.py:80
ClassTriageRepoFixture
Builds a real git history: a shared base, then an `upstream/master` ref that runs ahead, so the triage script can be exercised fully offline.
tests/test_upstream_triage.py:21
ClassUpToDateTests
tests/test_upstream_triage.py:64
ClassUpskillSkillSpec
tests/test_upskill_skill.py:38
ClassUpstreamCheckerRepoFixture
tests/test_check_upstream_updates.py:32
ClassUpstreamRefMissingFileTests
Simulates upstream renaming/deleting one framework file while the fork still has its own copy: git show then fails, and the checker used to sw
tests/test_check_upstream_updates.py:135
ClassUpstreamRemotePresentTests
tests/test_check_upstream_updates.py:119
ClassUtilityTests
tests/test_salary_lookup.py:328
ClassValidateDataShapeTests
Category-shape and duplicate-name checks (reuses assert_invalid_data).
tests/test_salary_lookup.py:246
ClassValidateDataTests
tests/test_salary_lookup.py:176
ClassValidateFlagTests
End-to-end checks for the --validate pre-flight flow.
tests/test_salary_lookup.py:285
ClassVerifyPdfTests
tests/test_verify_pdf.py:19
ClassVocabularyBlockExists
The canonical definition must live in /outcome and nowhere else.
tests/test_tracker_status_vocab.py:58
ClassWontPortTests
tests/test_upstream_triage.py:140
ClassWorkflowGuardTests
The workflow must no-op on the upstream template, so a template clone never opens an issue by surprise. GitHub Actions can't run offline, so we
tests/test_upstream_triage.py:163