Skip to content

docs: sync operator manual with current config#265

Open
rvac-bucky wants to merge 2 commits into
ambicuity:mainfrom
rvac-bucky:fix/242-operator-manual-sync
Open

docs: sync operator manual with current config#265
rvac-bucky wants to merge 2 commits into
ambicuity:mainfrom
rvac-bucky:fix/242-operator-manual-sync

Conversation

@rvac-bucky
Copy link
Copy Markdown
Contributor

@rvac-bucky rvac-bucky commented May 15, 2026

Summary\n- Sync the Operator Manual with current config.yml filtering/API keys\n- Align workflow names and automation behavior with the current GitHub Actions setup\n- Replace stale operational guidance with source-backed scraper/update behavior\n\n## Validation\n- git diff --check\n- .venv/bin/python -m pre_commit run --files docs/wiki/Operator-Manual.md\n- make test (664 passed)\n- Source-backed consistency checks against config.yml, .github/workflows/update-jobs.yml, and scripts/update_jobs.py\n\nCloses #242

Summary by CodeRabbit

  • Documentation
    • Updated Operator Manual with revised recipes for adding keyword filters, tuning thread-pool/concurrency via configuration, and adding new JobSpy country entries.
    • Expanded CI/CD monitoring guide with additional security checks and clearer maintenance steps.
    • Improved troubleshooting tree with updated guidance for merge conflicts and job output issues.
    • Minor formatting fixes to prediction documents.

Review Change Stack

@rvac-bucky rvac-bucky requested a review from ambicuity as a code owner May 15, 2026 01:54
@github-actions
Copy link
Copy Markdown
Contributor

👋 Welcome back, @rvac-bucky! Great to see PR #265 from you.

You've contributed 10 merged PRs so far — thank you for your continued support! CI is running now, and a maintainer will review shortly. 🚀

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 15, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: d63ab4db-cca1-4fe9-9dc6-e9a6c94515e0

📥 Commits

Reviewing files that changed from the base of the PR and between 9f0c82d and 826721e.

📒 Files selected for processing (2)
  • docs/predictions-status.json
  • docs/predictions.json

📝 Walkthrough

Walkthrough

Synchronizes docs with current config and workflows: updates operator recipes to use filtering.exclusion_signals, worker_pools, and apis.jobspy.countries; revises CI/CD monitoring and troubleshooting guidance; clarifies performance tuning and cron frequency.

Changes

Operator Manual Alignment

Layer / File(s) Summary
Configuration Recipes
docs/wiki/Operator-Manual.md
Keyword filtering recipe updated to use filtering.exclusion_signals; thread-pool tuning now directs to worker_pools in config.yml with per-source min/max examples; JobSpy country recipe references apis.jobspy.countries with code/location pairs. CI/CD monitoring guide expanded to include CodeQL, Trivy, OpenSSF Scorecard, and SBOM generator.
Troubleshooting Tree Entries
docs/wiki/Operator-Manual.md
Merge conflict entry documents workflow --autostash behavior and three-attempt retry logic. No-output entry points to filtering.max_age_days and specific signal lists (filtering.new_grad_signals, filtering.track_signals, filtering.exclusion_signals).
Performance Tuning Guidance
docs/wiki/Operator-Manual.md
Adds worker_pools tuning guidance (startup read + fallback), retains connection pooling numeric settings as advanced options, and restates hourly cron recommendation to reduce compute/commit churn.
Whitespace fixes
docs/predictions-status.json, docs/predictions.json
Trailing end-of-file newline/whitespace adjusted without changing JSON content.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A tiny rabbit hops through docs anew,
Swapping stale paths for config true.
Filters sing and workers pool,
Troubleshooters follow the rule.
The manual's tidy, springtime view—✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: sync operator manual with current config' directly summarizes the main change—synchronizing documentation with current configuration—and aligns with the PR objectives and linked issue #242.
Linked Issues check ✅ Passed The PR successfully addresses all coding-related requirements from #242: updates documentation to reference 'filtering.exclusion_signals' instead of 'filters.exclude_keywords', replaces direct script edits with 'worker_pools' config guidance, updates JobSpy country references, and aligns workflow/automation documentation with current GitHub Actions setup.
Out of Scope Changes check ✅ Passed All changes are in scope: primary updates to Operator-Manual.md align with issue #242 requirements, and minor whitespace adjustments in predictions-status.json and predictions.json are acceptable documentation-related housekeeping.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

📋 Issue Planner

Built with CodeRabbit's Coding Plans for faster development and fewer bugs.

View plan used: #242

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/wiki/Operator-Manual.md`:
- Line 12: Add the missing blank lines around markdown headings and fenced code
blocks: ensure there is a blank line before each code fence marked with ```yaml
and a blank line after each heading line (lines starting with #); update each
occurrence of the code block fence and heading in the document so that code
blocks are preceded by an empty line and headings are followed by an empty line
to satisfy markdownlint rules.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 9a6ffd7b-c887-4a65-afd6-420a648e779b

📥 Commits

Reviewing files that changed from the base of the PR and between 9d0a068 and 9f0c82d.

📒 Files selected for processing (1)
  • docs/wiki/Operator-Manual.md

2. Locate the `filters.exclude_keywords` list.
2. Locate the `filtering.exclusion_signals` list.
3. Append your new keyword to the bottom of the list in lowercase.
```yaml
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix markdown formatting violations.

Markdownlint flags missing blank lines around code blocks and headings at multiple locations. Add blank lines to comply with markdown best practices.

📝 Proposed formatting fixes

Line 12 - Add blank line before code block:

 3. Append your new keyword to the bottom of the list in lowercase.
+
 ```yaml

Line 20 - Add blank line after heading:

 ### 2. Tuning the Thread Pool Size
+
 If you are hitting rate limits or GitHub Actions is running out of memory:

Line 25 - Add blank line before code block:

 3. Lower the source-specific worker count that is causing pressure, then test with the `Update New Grad Jobs` workflow.
+
 ```yaml

Line 41 - Add blank line after heading:

 ### 3. Adding a New JobSpy Country
+
 To add a country-level JobSpy search target:

Line 46 - Add blank line before code block:

 3. Append a `code` and `location` pair supported by JobSpy/Indeed:
+
 ```yaml

Also applies to: 20-20, 25-25, 41-41, 46-46

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 12-12: Fenced code blocks should be surrounded by blank lines

(MD031, blanks-around-fences)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/wiki/Operator-Manual.md` at line 12, Add the missing blank lines around
markdown headings and fenced code blocks: ensure there is a blank line before
each code fence marked with ```yaml and a blank line after each heading line
(lines starting with #); update each occurrence of the code block fence and
heading in the document so that code blocks are preceded by an empty line and
headings are followed by an empty line to satisfy markdownlint rules.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the Operator-Manual.md to align with recent architectural changes, specifically moving configuration settings for keyword filtering and worker pool sizes from hardcoded Python constants to config.yml. It also expands the CI/CD monitoring guide to include new security workflows and provides more detailed troubleshooting steps for merge conflicts and job filtering. Feedback was provided regarding a discrepancy between the newly documented security workflows (OpenSSF Scorecard and SBOM Generator) and the repository's style guide, which currently lacks these entries.

3. **Pre-commit (`Code Hygiene (Pre-commit)`)**:
* **Why it matters**: It automatically catches messy formatting, merge markers, oversized files, private keys, and secret leaks so you don't have to leave nitpicky review comments. If it fails, just ask the contributor to run `pre-commit run --all-files` locally before you merge.
4. **Security workflows (`CodeQL Security Scan`, `Vulnerability Scanner (Trivy)`, `OpenSSF Scorecard`, `SBOM Generator`)**:
* **Why it matters**: These provide code scanning, dependency/container vulnerability checks, supply-chain posture checks, and SBOM output. GitHub will send you an email alert if a critical vulnerability is found. You only need to look at these if you get an alert or one of these required checks blocks a PR.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The manual mentions OpenSSF Scorecard and SBOM Generator as part of the security workflows. These are not currently listed in the project's CI Pipeline documentation in the repository style guide (Section 6). If these workflows have been recently added to the repository, please ensure the style guide is also updated to maintain a single source of truth for required CI checks.

References
  1. The style guide lists Python Lint & Syntax, Pre-commit Hooks, Unit Tests, CodeQL, and Trivy as the required checks in the CI Pipeline. (link)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant