85 lines
3.4 KiB
Markdown
85 lines
3.4 KiB
Markdown
# 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`
|