JB/BETA_OPERATIONS_MANUAL.md

85 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# JobsBoard — Continuous Beta Operations Manual
## 1. The Continuous Operations Cycle
```
DEPLOY
↓
RUN JOB ACQUISITION
↓
MONITOR SOURCES
↓
GROW REAL JOB INVENTORY
↓
INVITE TESTERS
↓
COLLECT FEEDBACK
↓
FIX REAL PROBLEMS
↓
MEASURE
↓
REPEAT
```
---
## 2. Real Job Acquisition Campaigns
### Registered & Permitted Live ATS Sources
JobsBoard is configured to ingest directly from authentic ATS endpoints:
- **Greenhouse**: `stripe`, `cloudflare`, `datadog`, `figma`
- **Lever**: `palantir`
- **Ashby**: `ramp`, `notion`
### Running an Acquisition Campaign
```bash
cd web
node scripts/acquire-live-sources.js
```
This script executes genuine HTTPS requests against verified ATS APIs, normalizes URLs to strip tracking tokens, generates SHA-256 content fingerprints to prevent duplicates, updates freshness timestamps, and persists full execution audit logs into `SourceExecutionLog`.
---
## 3. Job Data Quality Scoring System
JobsBoard incorporates a multidimensional **Job Quality Score (0–100)**:
- **Source Reliability (25%)**: Verified ATS API adapters / direct employer posts.
- **Last Verified Freshness (25%)**: Exponential score decay based on days since last scan or posting.
- **Description Completeness (15%)**: Length and semantic depth of job responsibilities/requirements.
- **Location Quality (15%)**: Precision of geographic data (city, country or remote classification).
- **Application URL Validity (20%)**: Fully formed, valid HTTPS target application link.
Tiers:
- `90–100`: **EXCELLENT**
- `75–89`: **GOOD**
- `55–74`: **QUESTIONABLE**
- `< 55`: **LOW_QUALITY**
---
## 4. Operational Resilience Protocols
### Automated Fault Recovery
- **Scheduler Idempotency**: Scheduled ingestion runs are tagged with hourly idempotency tokens (`source_run_<sourceId>_<YYYY-MM-DDTHH>`), guaranteeing no duplicate simultaneous executions.
- **Source Anomaly Protection**: If an ATS returns 0 jobs due to network or upstream issues, active inventory is untouched (`missingScanCount` is not incremented).
- **Three-Scan Expiration Safeguard**: A job is transitioned to `EXPIRED` only after failing to appear across 3 consecutive successful scans.
- **Degraded Infrastructure Mode**: If Redis is offline, rate limiting and queues fall back automatically to in-process sliding window and memory queues without dropping incoming HTTP requests.
---
## 5. Phased Tester Cohort Strategy
| Cohort | Target Size | Audience | Key Goals |
| :--- | :--- | :--- | :--- |
| **Cohort 1 (Active)** | 3–5 users | Direct trusted contacts | Friction in registration, broken links, search anomalies, mobile glitches |
| **Cohort 2** | 10–20 users | Extended colleagues & peers | End-to-end application workflow, salary insights, team management |
| **Cohort 3** | 50+ users | Friends & family wider release | High concurrency, broad browser diversity, organic feedback volume |
### Active Cohort 1 Provisioned Invitations
1. **Alice (Seeker)**: `alice.tester@example.com`
- Link: `http://localhost:3000/register?betaToken=beta_forcrx5Vg_N_vyejgiGPSTDMHnTrmxYC&email=alice.tester%40example.com`
2. **Bob (Seeker)**: `bob.tester@example.com`
- Link: `http://localhost:3000/register?betaToken=beta_DCh9wP-92CiLiGsuBWq2BkjzhNzi77VP&email=bob.tester%40example.com`
3. **Carol (Employer)**: `carol.recruiter@example.com`
- Link: `http://localhost:3000/register?betaToken=beta_iF9jH_sVFLFDWPj1-e5Ar_MrdbKuDSNM&email=carol.recruiter%40example.com`