linkedin-apply-assistant 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +72 -0
  2. package/.github/ISSUE_TEMPLATE/config.yml +5 -0
  3. package/.github/ISSUE_TEMPLATE/config_help.yml +49 -0
  4. package/.github/ISSUE_TEMPLATE/docs.yml +40 -0
  5. package/.github/ISSUE_TEMPLATE/feature_request.yml +45 -0
  6. package/.github/ISSUE_TEMPLATE/safety_compliance.yml +48 -0
  7. package/.github/PULL_REQUEST_TEMPLATE.md +43 -0
  8. package/CHANGELOG.md +47 -0
  9. package/CODE_OF_CONDUCT.md +47 -0
  10. package/CONTRIBUTING.md +64 -0
  11. package/GOVERNANCE.md +41 -0
  12. package/LEGAL.md +38 -0
  13. package/LICENSE +22 -0
  14. package/MIGRATION.md +50 -0
  15. package/README.md +167 -0
  16. package/RELEASE_CHECKLIST.md +454 -0
  17. package/SAFETY.md +33 -0
  18. package/SECURITY.md +37 -0
  19. package/SUPPORT.md +44 -0
  20. package/THIRD_PARTY_NOTICES.md +67 -0
  21. package/bin/linkedin-apply-assistant.mjs +95 -0
  22. package/configs/config.example.yml +24 -0
  23. package/configs/qa_bank.example.yml +35 -0
  24. package/docs/apply.md +40 -0
  25. package/docs/assist.md +35 -0
  26. package/docs/browser-session.md +45 -0
  27. package/docs/ci-and-release-policy.md +105 -0
  28. package/docs/commands.md +176 -0
  29. package/docs/install-and-configuration.md +265 -0
  30. package/docs/registry-publication-strategy.md +169 -0
  31. package/docs/reports.md +35 -0
  32. package/docs/search.md +39 -0
  33. package/docs/troubleshooting.md +57 -0
  34. package/examples/dry_run_input.example.json +25 -0
  35. package/examples/reports/apply-audit.example.json +31 -0
  36. package/examples/reports/search-report.example.json +40 -0
  37. package/install.ps1 +178 -0
  38. package/package.json +59 -0
  39. package/pyproject.toml +51 -0
  40. package/src/linkedin_apply_assistant/__init__.py +8 -0
  41. package/src/linkedin_apply_assistant/apply_reports.py +229 -0
  42. package/src/linkedin_apply_assistant/ats_handlers.py +217 -0
  43. package/src/linkedin_apply_assistant/browser_sessions.py +155 -0
  44. package/src/linkedin_apply_assistant/cli.py +570 -0
  45. package/src/linkedin_apply_assistant/config.py +109 -0
  46. package/src/linkedin_apply_assistant/contracts.py +255 -0
  47. package/src/linkedin_apply_assistant/form_engine.py +180 -0
  48. package/src/linkedin_apply_assistant/linkedin_layer.py +436 -0
  49. package/src/linkedin_apply_assistant/page_actions.py +110 -0
  50. package/src/linkedin_apply_assistant/page_selectors.py +88 -0
  51. package/src/linkedin_apply_assistant/paths.py +135 -0
  52. package/src/linkedin_apply_assistant/qa_bank.py +352 -0
  53. package/src/linkedin_apply_assistant/redaction.py +119 -0
  54. package/src/linkedin_apply_assistant/safety.py +230 -0
  55. package/src/linkedin_apply_assistant/workflows.py +435 -0
@@ -0,0 +1,72 @@
1
+ name: Bug report
2
+ description: Report a reproducible package issue with sanitized details.
3
+ title: "[Bug]: "
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Thanks for reporting a bug.
9
+
10
+ Do not post credentials, cookies, browser profiles, screenshots, CVs, private documents, generated local reports, full private URLs, or live job history.
11
+ - type: textarea
12
+ id: command
13
+ attributes:
14
+ label: Sanitized command
15
+ description: Paste the command after removing private paths and values.
16
+ placeholder: linkedin-apply-assistant config check
17
+ validations:
18
+ required: true
19
+ - type: textarea
20
+ id: reproduction
21
+ attributes:
22
+ label: Minimal reproduction steps
23
+ description: List the smallest steps that reproduce the issue.
24
+ validations:
25
+ required: true
26
+ - type: textarea
27
+ id: expected
28
+ attributes:
29
+ label: Expected result
30
+ validations:
31
+ required: true
32
+ - type: textarea
33
+ id: actual
34
+ attributes:
35
+ label: Actual result
36
+ validations:
37
+ required: true
38
+ - type: input
39
+ id: workflow
40
+ attributes:
41
+ label: Affected workflow
42
+ placeholder: config, search, assist, apply, dry-run, report
43
+ validations:
44
+ required: true
45
+ - type: input
46
+ id: os
47
+ attributes:
48
+ label: Operating system
49
+ placeholder: Windows 11, macOS, Ubuntu
50
+ validations:
51
+ required: true
52
+ - type: input
53
+ id: python
54
+ attributes:
55
+ label: Python version
56
+ placeholder: Python 3.11.9
57
+ validations:
58
+ required: true
59
+ - type: input
60
+ id: package
61
+ attributes:
62
+ label: Package version or source commit
63
+ placeholder: 0.1.0 or commit SHA
64
+ validations:
65
+ required: true
66
+ - type: checkboxes
67
+ id: private_data
68
+ attributes:
69
+ label: Private data removed
70
+ options:
71
+ - label: I removed credentials, cookies, browser profiles, screenshots, CVs, private documents, generated local reports, full private URLs, and live job history.
72
+ required: true
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Security vulnerability
4
+ url: https://github.com/MohammedGhazal09/linkedin-apply-assistant/security/policy
5
+ about: Report vulnerabilities privately when available.
@@ -0,0 +1,49 @@
1
+ name: Config or setup help
2
+ description: Ask for setup help with sanitized local details.
3
+ title: "[Config]: "
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Do not attach .env files, real config files, Q&A banks, browser profiles, cookies, screenshots, CVs, private documents, generated local reports, full private URLs, or live job history.
9
+ - type: textarea
10
+ id: question
11
+ attributes:
12
+ label: Sanitized setup question
13
+ validations:
14
+ required: true
15
+ - type: input
16
+ id: os
17
+ attributes:
18
+ label: Operating system
19
+ placeholder: Windows 11, macOS, Ubuntu
20
+ validations:
21
+ required: true
22
+ - type: input
23
+ id: install_path
24
+ attributes:
25
+ label: Install path used
26
+ placeholder: source checkout, editable install, pipx, npm launcher
27
+ validations:
28
+ required: true
29
+ - type: textarea
30
+ id: command
31
+ attributes:
32
+ label: Command run
33
+ placeholder: linkedin-apply-assistant config check
34
+ validations:
35
+ required: true
36
+ - type: textarea
37
+ id: redacted_config
38
+ attributes:
39
+ label: Redacted config shape or error text
40
+ description: Paste only sanitized keys, paths, and error text.
41
+ validations:
42
+ required: true
43
+ - type: checkboxes
44
+ id: private_data
45
+ attributes:
46
+ label: Private runtime data removed
47
+ options:
48
+ - label: I removed private runtime data, credentials, cookies, browser profiles, screenshots, CVs, private documents, generated local reports, full private URLs, and live job history.
49
+ required: true
@@ -0,0 +1,40 @@
1
+ name: Documentation issue
2
+ description: Report confusing, missing, or stale documentation.
3
+ title: "[Docs]: "
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Do not attach private screenshots, generated local reports, CVs, private documents, full private URLs, credentials, cookies, browser profiles, or live job history.
9
+ - type: input
10
+ id: page
11
+ attributes:
12
+ label: Affected page or link
13
+ placeholder: README.md, docs/install-and-configuration.md, docs/troubleshooting.md
14
+ validations:
15
+ required: true
16
+ - type: textarea
17
+ id: stale_text
18
+ attributes:
19
+ label: Confusing, missing, or stale text
20
+ validations:
21
+ required: true
22
+ - type: textarea
23
+ id: correction
24
+ attributes:
25
+ label: Suggested correction
26
+ validations:
27
+ required: true
28
+ - type: dropdown
29
+ id: area
30
+ attributes:
31
+ label: Affected documentation area
32
+ options:
33
+ - Install
34
+ - Safety
35
+ - Legal
36
+ - Troubleshooting
37
+ - Command reference
38
+ - Other
39
+ validations:
40
+ required: true
@@ -0,0 +1,45 @@
1
+ name: Feature request
2
+ description: Propose a package improvement with safety and privacy context.
3
+ title: "[Feature]: "
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Feature requests must preserve the no-submit boundary.
9
+
10
+ Do not request unattended or background submission, hidden submission, CAPTCHA or MFA bypass, fake answers, platform throttling bypass, or mass applications.
11
+
12
+ Do not post credentials, cookies, browser profiles, screenshots, CVs, private documents, generated local reports, full private URLs, or live job history.
13
+ - type: textarea
14
+ id: problem
15
+ attributes:
16
+ label: Problem
17
+ description: What user problem would this solve?
18
+ validations:
19
+ required: true
20
+ - type: textarea
21
+ id: proposed_behavior
22
+ attributes:
23
+ label: Proposed behavior
24
+ validations:
25
+ required: true
26
+ - type: input
27
+ id: workflow
28
+ attributes:
29
+ label: Affected workflow
30
+ placeholder: config, search, assist, apply, dry-run, report, docs
31
+ validations:
32
+ required: true
33
+ - type: textarea
34
+ id: safety_privacy
35
+ attributes:
36
+ label: Safety/privacy impact
37
+ description: Explain how the change preserves no-submit behavior and avoids private runtime data.
38
+ validations:
39
+ required: true
40
+ - type: textarea
41
+ id: alternatives
42
+ attributes:
43
+ label: Alternatives considered
44
+ validations:
45
+ required: true
@@ -0,0 +1,48 @@
1
+ name: Safety or compliance concern
2
+ description: Report a public safety concern without exploit details.
3
+ title: "[Safety]: "
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Use this form only for public safety or compliance concerns that can be described without exploit details.
9
+
10
+ If the concern involves a vulnerability or exploit details, stop here and follow SECURITY.md private reporting guidance instead.
11
+
12
+ Do not post exploit details, credentials, cookies, browser profiles, screenshots, CVs, private documents, generated local reports, full private URLs, or live job history.
13
+ - type: textarea
14
+ id: concern
15
+ attributes:
16
+ label: Public safety/compliance concern summary
17
+ validations:
18
+ required: true
19
+ - type: input
20
+ id: workflow
21
+ attributes:
22
+ label: Affected workflow or docs
23
+ placeholder: search, assist, apply, SAFETY.md, LEGAL.md
24
+ validations:
25
+ required: true
26
+ - type: textarea
27
+ id: safer_behavior
28
+ attributes:
29
+ label: Expected safer behavior
30
+ validations:
31
+ required: true
32
+ - type: dropdown
33
+ id: vulnerability
34
+ attributes:
35
+ label: Could this involve a vulnerability?
36
+ options:
37
+ - "No"
38
+ - "Unsure"
39
+ - "Yes - I will use SECURITY.md private reporting instead"
40
+ validations:
41
+ required: true
42
+ - type: checkboxes
43
+ id: disclosure
44
+ attributes:
45
+ label: Public disclosure check
46
+ options:
47
+ - label: I did not post exploit details or private data publicly.
48
+ required: true
@@ -0,0 +1,43 @@
1
+ # Summary
2
+
3
+ Describe what changed.
4
+
5
+ # Rationale
6
+
7
+ Explain why the change is needed.
8
+
9
+ # Linked Issue
10
+
11
+ Link the issue or explain why no issue exists.
12
+
13
+ # Safety And No-Submit Impact
14
+
15
+ - Does this preserve no-submit behavior?
16
+ - Does this avoid unattended/background sending?
17
+ - Does this avoid hidden submission, CAPTCHA or MFA bypass, fake answers, and
18
+ platform throttling bypass?
19
+
20
+ # Privacy-Sensitive File Check
21
+
22
+ - Does this avoid private runtime data?
23
+ - Does this avoid credentials, cookies, browser profiles, screenshots, CVs,
24
+ private documents, generated local reports, full private URLs, and live job
25
+ history?
26
+
27
+ # Documentation Impact
28
+
29
+ List docs changed or explain why docs were not needed.
30
+
31
+ # Tests Or Commands Run
32
+
33
+ List commands run and their results.
34
+
35
+ # Release/Package Surface Impact
36
+
37
+ - Are package manifest or npm files affected?
38
+ - Are release-manifest entries affected?
39
+ - Are docs/tests updated?
40
+
41
+ # Residual Risk
42
+
43
+ Name any remaining risk, skipped checks, or follow-up work.
package/CHANGELOG.md ADDED
@@ -0,0 +1,47 @@
1
+ # Changelog
2
+
3
+ All notable package-local changes are documented here.
4
+
5
+ This file follows the spirit of Keep a Changelog and uses semantic version labels where available.
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [0.1.1] - 2026-06-13
10
+
11
+ ### Added
12
+
13
+ - Community health files and contribution templates for the standalone public
14
+ repository package surface.
15
+ - Registry publication strategy covering GitHub source releases, PyPI,
16
+ TestPyPI, npm launcher, PowerShell installer, and deferred GitHub Packages
17
+ channels.
18
+ - NPM global launcher release path for `linkedin-apply-assistant`.
19
+ - PowerShell no-admin installer that downloads the public GitHub source archive,
20
+ creates a local virtual environment, writes command shims, and can optionally
21
+ install Playwright Chromium.
22
+
23
+ ### Changed
24
+
25
+ - NPM package contents now include `pyproject.toml`, `src/`, and `install.ps1`
26
+ so the global launcher can point users at the bundled Python package.
27
+
28
+ ## [0.1.0] - 2026-06-12
29
+
30
+ ### Added
31
+
32
+ - Initial GitHub source release for the standalone `linkedin-apply-assistant` package.
33
+ - Fresh-reader package README and user-journey docs.
34
+ - Package-local legal, security, contribution, migration, release checklist, license, and third-party notice docs.
35
+ - Synthetic report examples and release-readiness verification coverage.
36
+ - Source, Python, and npm launcher install path readiness for local validation without registry publication.
37
+ - Distribution metadata, Python build, npm pack, and release-manifest smoke coverage for version `0.1.0`.
38
+ - Terminal help, read-only config diagnostics, command reference docs, and release-readiness coverage for Phase 21 terminal UX.
39
+ - Public GitHub metadata and release-readiness documentation for PUB-07.
40
+ - Initial standalone package boundary for local LinkedIn job workflows.
41
+ - Console command `linkedin-apply-assistant` with `search`, `assist`, `apply`, `dry-run`, and `report`.
42
+ - Sanitized config, Q&A bank, and dry-run input examples.
43
+ - Package-local quality gate with pytest, Ruff, compile checks, and dependency audit.
44
+ - No-submit safety posture and visible-browser workflow boundaries.
45
+ - User-controlled source install and download path through the canonical GitHub repository.
46
+ - Release hygiene covering manifest verification, local build/pack smoke tests, and gitleaks evidence.
47
+ - GitHub source release scope only; no npm, PyPI, or TestPyPI registry package is part of this release.
@@ -0,0 +1,47 @@
1
+ # Code of Conduct
2
+
3
+ This code of conduct is based on Contributor Covenant 2.1 and adapted for the
4
+ LinkedIn-apply-assistant standalone package.
5
+
6
+ ## Our Pledge
7
+
8
+ We aim to keep project spaces open, respectful, and focused on useful work.
9
+ Contributors are expected to participate without harassment, intimidation,
10
+ personal attacks, or discriminatory language.
11
+
12
+ ## Expected Behavior
13
+
14
+ - Be respectful when reporting bugs, reviewing pull requests, and discussing
15
+ safety tradeoffs.
16
+ - Keep criticism technical and specific.
17
+ - Respect user privacy, local runtime data, and platform-responsibility
18
+ boundaries.
19
+ - Help maintain the package no-submit posture and user-controlled browser
20
+ workflow.
21
+
22
+ ## Unacceptable Behavior
23
+
24
+ Unacceptable behavior includes harassment, threats, doxxing, sexualized
25
+ language or imagery, sustained disruption, deliberate disclosure of private
26
+ data, and attempts to pressure maintainers into unsafe submission, evasion, or
27
+ platform-abuse behavior.
28
+
29
+ ## Reporting
30
+
31
+ Conduct reports should use a maintainer-private channel placeholder until a
32
+ dedicated private contact is configured. Do not open public issues for conduct
33
+ reports that name people, include private context, or require confidential
34
+ handling.
35
+
36
+ Reports will be reviewed as privately as practical. Maintainers may remove
37
+ content, warn participants, restrict participation, or take other proportionate
38
+ action to protect the project.
39
+
40
+ Do not post credentials, cookies, browser profiles, screenshots, CVs, private
41
+ documents, generated local reports, full private URLs, or live job history in
42
+ public issues, pull requests, or discussions.
43
+
44
+ ## Attribution
45
+
46
+ Adapted from Contributor Covenant version 2.1:
47
+ <https://www.contributor-covenant.org/version/2/1/code_of_conduct/>.
@@ -0,0 +1,64 @@
1
+ # Contributing
2
+
3
+ Contributions should stay scoped to the standalone package under `standalone/linkedin-apply-assistant/`.
4
+
5
+ ## Local Setup
6
+
7
+ ```powershell
8
+ python -m pip install -e ".[dev]"
9
+ python scripts\quality.py
10
+ ```
11
+
12
+ The current repository root smoke command is:
13
+
14
+ ```powershell
15
+ node test-all.mjs --quick
16
+ ```
17
+
18
+ ## Contribution Rules
19
+
20
+ - Keep examples synthetic.
21
+ - Do not commit credentials, cookies, browser profiles, screenshots, CVs, private documents, generated local reports, full private URLs, or live job history.
22
+ - Preserve the no-submit default.
23
+ - Do not add broad approvals, background sending, hidden submission, or unattended apply behavior.
24
+ - Do not make claims that the package is legal advice, platform compliant, audit certified, or guaranteed to succeed.
25
+ - Keep public docs English-only until localization is explicitly planned.
26
+
27
+ ## Community and Reporting
28
+
29
+ - Support and setup help start in [SUPPORT.md](SUPPORT.md).
30
+ - Governance decisions follow [GOVERNANCE.md](GOVERNANCE.md).
31
+ - Conduct expectations and private conduct reporting are in [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).
32
+ - Vulnerability reporting stays in [SECURITY.md](SECURITY.md); do not post exploit details publicly.
33
+ - Public reports should use [.github/ISSUE_TEMPLATE/](.github/ISSUE_TEMPLATE/).
34
+ - Pull requests should follow [.github/PULL_REQUEST_TEMPLATE.md](.github/PULL_REQUEST_TEMPLATE.md).
35
+
36
+ Issue and pull request templates are the expected public contribution path. Keep
37
+ private runtime data out of issues and pull requests.
38
+
39
+ ## Tests and Quality
40
+
41
+ Run the package quality gate before proposing changes:
42
+
43
+ ```powershell
44
+ python scripts\quality.py
45
+ ```
46
+
47
+ Focused package tests:
48
+
49
+ ```powershell
50
+ python -m pytest tests -q
51
+ ```
52
+
53
+ Live LinkedIn or Scrapling tests are opt-in only and must stay out of default CI. Use `CAREER_OPS_RUN_LIVE_TESTS=1` only when you intentionally run live tests in a controlled local environment.
54
+
55
+ ## Pull Requests
56
+
57
+ Include:
58
+
59
+ - what changed
60
+ - why it is safe for the no-submit boundary
61
+ - commands run
62
+ - any residual release risk
63
+
64
+ If you add docs or examples, update docs smoke, privacy scan, or release-readiness tests as needed.
package/GOVERNANCE.md ADDED
@@ -0,0 +1,41 @@
1
+ # Governance
2
+
3
+ LinkedIn-apply-assistant uses a maintainer-led / BDFL governance model for the
4
+ standalone package.
5
+
6
+ ## Scope
7
+
8
+ This governance model covers:
9
+
10
+ - package source code
11
+ - public documentation
12
+ - automated tests
13
+ - release checklist and release manifest
14
+ - community health files and contribution templates
15
+
16
+ Repository settings, branch protection, Discussions, labels, topics, release
17
+ automation, provenance, and registry publication are later approved phases and
18
+ are not changed by this file.
19
+
20
+ ## Contributor Ladder
21
+
22
+ - Participant: opens issues, asks support questions, or proposes improvements.
23
+ - Contributor: sends focused pull requests that preserve safety and privacy
24
+ boundaries.
25
+ - Triager: helps reproduce issues, route support requests, and identify missing
26
+ evidence.
27
+ - Reviewer: reviews pull requests for correctness, tests, documentation, and
28
+ no-submit safety impact.
29
+ - Maintainer: owns release readiness, final merge decisions, and governance
30
+ updates.
31
+
32
+ ## Decision Process
33
+
34
+ Normal project work flows through public issues and pull requests. The
35
+ maintainer makes the final call when tradeoffs remain unresolved or a change
36
+ affects release scope, safety boundaries, or public package identity.
37
+
38
+ Security vulnerabilities and conduct reports are handled privately where
39
+ appropriate. Public discussion should avoid credentials, cookies, browser
40
+ profiles, screenshots, CVs, private documents, generated local reports, full
41
+ private URLs, live job history, and exploit details.
package/LEGAL.md ADDED
@@ -0,0 +1,38 @@
1
+ # Legal and Acceptable Use
2
+
3
+ LinkedIn-apply-assistant is an experimental local automation package for individual job-search assistance. It is not a hosted service, legal advisor, compliance product, or platform compliance certification.
4
+
5
+ ## User Responsibility
6
+
7
+ You are responsible for:
8
+
9
+ - following platform terms and employer application rules
10
+ - reviewing every form and generated answer before relying on it
11
+ - stopping when a platform checkpoint, rate limit, MFA prompt, CAPTCHA, or other risk signal appears
12
+ - keeping local browser profiles, reports, and documents private
13
+ - using truthful answers and application materials
14
+
15
+ ## Prohibited Uses
16
+
17
+ Do not use this package for:
18
+
19
+ - mass applications or spam-like recruiting workflows
20
+ - unattended apply sessions
21
+ - CAPTCHA or MFA bypass
22
+ - fake answers or guessed application responses
23
+ - unrelated personal-data scraping
24
+ - hidden or evasive automation
25
+ - continued automation after platform throttling, checkpoints, or similar risk signals
26
+
27
+ ## No Legal Advice
28
+
29
+ This document is not legal advice. It does not interpret platform terms, employment law, privacy law, or local rules for your situation.
30
+
31
+ ## No Compliance Certification
32
+
33
+ This package is not a compliance certification for GDPR, CCPA, SOC 2, LinkedIn terms, employer rules, or any other legal, platform, or audit framework.
34
+
35
+ ## Submission Boundary
36
+
37
+ The public package is no-submit by default. Current `apply` behavior is prepare-only and audit-focused. Any future submit-capable behavior must require explicit per-submission confirmation immediately before a specific application is sent.
38
+
package/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 LinkedIn-apply-assistant contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
package/MIGRATION.md ADDED
@@ -0,0 +1,50 @@
1
+ # Migration and Provenance
2
+
3
+ LinkedIn-apply-assistant is a standalone extraction of local LinkedIn job-search and application-assistance code. It keeps the package surfaces needed for search-only, visible-browser assistive filling, prepare-only apply audits, dry runs, and local report review.
4
+
5
+ ## What Moved
6
+
7
+ The standalone package contains:
8
+
9
+ - Python package metadata and console entry point
10
+ - importable automation modules
11
+ - package-local config and Q&A examples
12
+ - synthetic input and report examples
13
+ - package-local tests and quality gate
14
+ - public docs, safety, legal, contribution, security, changelog, license, and notice files
15
+
16
+ ## What Stayed Behind
17
+
18
+ The standalone package intentionally excludes the broader Career-Ops ecosystem:
19
+
20
+ - evaluation modes and scoring prompts
21
+ - application tracker workflows
22
+ - portal scanning and batch processing scripts
23
+ - dashboard and updater logic
24
+ - CV generation
25
+ - generated reports and runtime output
26
+ - root agent workflow artifacts
27
+ - private user-layer data
28
+
29
+ Do not copy those root surfaces into the standalone package as required public setup.
30
+
31
+ ## Runtime and Private Data Boundary
32
+
33
+ Keep these local and ignored:
34
+
35
+ - real config files
36
+ - real Q&A banks
37
+ - local workspace data
38
+ - visible-browser profiles
39
+ - generated outputs
40
+ - local reports
41
+ - private documents
42
+
43
+ Use the example files only as shape references. Do not publish browser state, credentials, private documents, full private URLs, screenshots, generated local reports, or live job history.
44
+
45
+ ## Maintainer Notes
46
+
47
+ Career-Ops may appear in this package only for neutral attribution, provenance, migration, or notice context. Product identity belongs to LinkedIn-apply-assistant.
48
+
49
+ Scrapling is documented as a normal dependency and notice item. Do not describe it as a stealth, bypass, anti-detection, or product identity claim.
50
+