Plans Log
Source: plans/PLANS-LOG.md · synced 2026-06-12
What this is. A live register of every plan document in the build, grouped by Step → Phase. Plans are written before code (design-first discipline). This log makes the decision trail auditable: what was planned, what shipped, what was superseded, and why.
Spine: the 12 Steps in
SOURCE-OF-TRUTH.md §2— Steps 1–9 are the pipeline a JD runs through; Steps 10–12 are non-pipeline build tracks (productisation, audit prep, infra).Status legend: ✅ Shipped · 🟢 Approved (canonical) · 🟡 Active (build pending) · 📝 Draft (awaiting greenlight) · ⚠️ Superseded · 🗄️ Archived
Last updated: 2026-06-03.
1. Register — grouped by Step → Phase
Step 1 — JD ingested
| Phase | Plan | Status | Notes |
|---|---|---|---|
| 1.1 — JD upload + text extraction | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-design (shared §JD Parser) | 🟡 Active | Reuses CV extractor pattern. |
| 1.1 — JD upload + text extraction | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-impl (Tasks 1–3) | 🟡 Active | Implementation tasks shared with Step 2. |
Step 2 — JD parsed
| Phase | Plan | Status | Notes |
|---|---|---|---|
| 2.1 — JD parser build | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-design §“JD Parser — Output Schema” | 🟡 Active | Claude tool-use → ParsedJD. |
| 2.1 — JD parser build | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-impl (Tasks 1–3) | 🟡 Active | Shared with Step 1. |
Step 3 — JD normalised + tagged
| Phase | Plan | Status | Notes |
|---|---|---|---|
| 3.1 — Tag-vocab bootstrap | step-3.1-vocab-bootstrap-design | 🟢 Approved | Data-driven pilot (Stage 1–5). Output: config/tag-vocab.json. Unblocks the entire matching build. |
| 3.1 — Tag-vocab bootstrap | step-3.1-vocab-bootstrap-impl | 🟢 Build complete · ⏳ Ratification pending | Tasks 1–10 shipped via subagent-driven dev on calibre-app/feat/vocab-bootstrap (12 commits, 19 files, 47 tests). Remaining: Task 11 (live pipeline run, ~USD 5–10) → Task 12 (Calibre-team ratification session). |
| 3.1 — Tag-vocab bootstrap (extended) | amendment-3.1+5.3+6.1-bootstrap-rubric-extension | 📝 Draft 2026-06-11 | Extends the 3.1 mine to also emit Step 5.3 hard rules + 22 sub-vertical rubric configs in one live run. Combined ratification session. ~USD 20–40. Cross-references Steps 5.4 + 6.1. |
| 3.2 — JD normaliser build | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-design §“JD Normaliser — Output Schema” | 🟡 Active | Schema overridden by amendment-3.2+5.2+6.1-taxonomy-3level. |
| 3.2 — JD normaliser build | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-impl (Tasks 4–6) | 🟡 Active | Build pending. Precondition: Step 3.1 vocab locked. |
| 3.2 — JD normaliser build | amendment-3.2+5.2+6.1-taxonomy-3level | 🟢 Approved | Canonical. Ripples 3-level taxonomy through NormalisedJD, NormalisedCV, Layer1Result, rubric loader, adjacency resolver. |
Step 4 — Sourcing (candidate + employer scraping)
| Phase | Plan | Status | Notes |
|---|---|---|---|
| 4.1 — Apify candidate scraping | pipeline-4-sourcing-design | ⏸️ Deferred 2026-06-11 | Covers all 4 sub-steps. NormalisedJD → search query → 100 profiles/JD. |
| 4.2 — Apollo enrichment | pipeline-4-sourcing-design | ⏸️ Deferred 2026-06-11 | Employer firmographics + decision-maker chain. |
| 4.3 — Anymail Finder | pipeline-4-sourcing-design | ⏸️ Deferred 2026-06-11 | Verified emails, confidence ≥ 0.8 threshold. |
| 4.4 — Employer-side BD scraping | pipeline-4-sourcing-design | ⏸️ Deferred 2026-06-11 | Grant-required (AD1 employer-side). Lands in separate bd_leads table. |
Step 5 — CV parsed + normalised + matched 1:1
| Phase | Plan | Status | Notes |
|---|---|---|---|
| 5.0 — Candidate-record merge | step-5.0-candidate-merge-design | 📝 Draft 2026-06-11 | Bridge between Step 4 sourcing and Step 5.1.1 parsing. Defines CandidateRecord schema + merge algorithm. Impl plan pending greenlight. |
| 5.1.1 — CV parser core | step-5.1.1-cv-parser-design | ✅ Shipped | Approved by Ben. Code: calibre-app/src/lib/cv-parser/. |
| 5.1.1 — CV parser core | step-5.1.1-cv-parser-impl | ✅ Shipped | 7 tasks. 66+ CVs batch-tested. Retained for audit traceability. |
| 5.1.2 — CV parser hardening | step-5.1.2-cv-parser-hardening-design | ✅ Shipped | On feat/parser-hardening. Closed earlier-flagged unreadable-file issues. |
| 5.1.2 — CV parser hardening | step-5.1.2-cv-parser-hardening-impl | ✅ Shipped | On feat/parser-hardening. |
| 5.2 — CV normaliser | step-5-phase-2-cv-normaliser-design (archived) | 🗄️ Archived 2026-06-11 | Flat 2-level tag vocab replaced by 3-level amendment. Moved to _archive/2026-06-11-superseded-plans/. Schema authoritative source is now amendment-3.2+5.2+6.1-taxonomy-3level. |
| 5.2 — CV normaliser | amendment-3.2+5.2+6.1-taxonomy-3level | 🟢 Approved | Canonical schema source for NormalisedCV. |
| 5.4 — Industry-expert filter | step-5.3-industry-filter-design | 📝 Draft | Awaiting greenlight + Calibre team scaffold-review session. ExpertRule schema, recruiter heuristics as config. Runtime order: fires between Step 6 and Step 7 (confirmed 2026-06-11). |
| 5.4 — Industry-expert filter (content source) | amendment-3.1+5.3+6.1-bootstrap-rubric-extension | 📝 Draft 2026-06-11 | Bootstrap mine emits the hard-rules content (split into 5.4a hard gates + 5.4b boost/penalty per session D1 rec). |
Step 6 — Layer 1 hard-fit filter
| Phase | Plan | Status | Notes |
|---|---|---|---|
| 6.1 — Rubric loader + composite scorer | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-design §“Layer 1 — Hard Fit” | 🟡 Active | |
| 6.1 — Rubric loader + composite scorer | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-impl (Tasks 9–10) | 🟡 Active | Rubric loader needs re-key to (sub_function, sub_vertical). |
| 6.1 — Rubric content source | amendment-3.1+5.3+6.1-bootstrap-rubric-extension | 📝 Draft 2026-06-11 | Bootstrap mine emits 22 per-sub-vertical rubric configs. Replaces the 4 archived grant-vertical stubs. |
Step 7 — Layer 2 deep assessment
| Phase | Plan | Status | Notes |
|---|---|---|---|
| 7.1 — Adjacency resolver | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-design §“Adjacency Resolver” | 🟡 Active | |
| 7.2 — Evidence-grounded LLM | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-design §“Layer 2 — Deep Assessment” | 🟡 Active | |
| 7.1 + 7.2 | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-impl (Tasks 11–13) | 🟡 Active |
Step 8 — Shortlist (4 fit groups)
| Phase | Plan | Status | Notes |
|---|---|---|---|
| 8.1 — Layer 3 verdict synthesis | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-design §“Layer 3 — Verdict Synthesis” | 🟡 Active | |
| 8.1 — Layer 3 verdict synthesis | pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-impl (Task 14) | 🟡 Active |
Step 9 — Personalised outreach
| Phase | Plan | Status | Notes |
|---|---|---|---|
| 9.1 — Personalisation engine | pipeline-9-outreach-design | 📝 Draft 2026-06-11 | Covers all 4 sub-steps. Evidence-grounded LLM personalisation using Step 7.2 quotes + per-vertical tone guide. |
| 9.2 — Email send | pipeline-9-outreach-design | 📝 Draft 2026-06-11 | Tool decision pending: Instantly vs Smartlead. |
| 9.3 — LinkedIn sequencing | pipeline-9-outreach-design | 📝 Draft 2026-06-11 | Connect → InMail → follow-up. Tool TBD. 48h gap after email. |
| 9.4 — Response handling | pipeline-9-outreach-design | 📝 Draft 2026-06-11 | 5-signal taxonomy. Re-pool deferred candidates after 90d. |
Step 10 — Productisation surface
🔴 No plans yet. Architecture sketch lives in grant/architecture.md. Opens after Steps 7–8 prove the matching engine.
Step 11 — Audit prep
🔴 No plans yet. Deliverable checklist in grant/deliverable-checklist.md. Opens Oct 2026.
Step 12 — Infra
| Phase | Plan | Status | Notes |
|---|---|---|---|
| 12.4 — Documentation governance | meta-2026-06-03-nomenclature-reorg | 🟢 Approved | Locks the 2-vocabulary system (Step + Phase / Sub-step). Retires Phases A–E, Stages A.1–A.5, Sprints 1a..4, sub-step letters (3a/3b/5a/5b). |
2. Decision trail — changes to decisions
Where a plan was reversed or restructured, the reasoning is recorded here so the build’s evolution is legible.
| Date | Decision | Change | Why |
|---|---|---|---|
| 2026-05-25 | Taxonomy depth | 2-level → 3-level (sub_function → sub_vertical → tag) | Rubrics must fire at sub-vertical granularity — an LNG operator and a fertilizer operator both sit under cargo-ops but score on different criteria. Superseded the flat vocab in title-normaliser-design (now step-5-phase-2-cv-normaliser-design.md). |
| 2026-05-25 | Tag vocabulary | Pre-defined by design → bootstrapped from data | Tags emerge from a lean CV↔JD pilot match, not design-by-committee. Step 3 split into Step 3.1 (bootstrap) + Step 3.2 (normaliser build). |
| 2026-05-25 | Step 5 structure | Single match step → Step 5.3 (LLM inference) + Step 5.3 (industry-expert filter) | Separates the model’s view from the Calibre team’s ratified recruiter heuristics — the latter is the proprietary domain layer defending AD2. |
| 2026-05-24 → 2026-05-25 | Dual-surface scope | Logged as a “scope cut” → reframed as scope phasing | The dual-surface architecture is grant-mandated, not optional. Now lives as Step 10 (productisation) in the 12-step spine. |
| 2026-06-03 | Nomenclature unification | 5 overlapping vocabularies → 2 (Step + Phase / Sub-step) | Phases A–E, Stages A.1–A.5, Sprints 1a..4, and sub-step letters (3a/3b/5a/5b) were all interchangeably used in SOT §2/§4/§5/§7. Even the operator and client could not tell which “phase” a piece of work was in. Locked to one spine (12 Steps) + one build hierarchy (Phase / Sub-step). Reorg plan: meta-2026-06-03-nomenclature-reorg. |
3. What’s stale / needs attention
- step-5-phase-2-cv-normaliser-design (was
2026-05-19-title-normaliser-design) — superseded at the schema level. Keep for audit, but do not build from its tag vocab; use the 3-level amendment. - pipeline-1.1+2.1+3.2+6.1+7.1+7.2+8.1-matching-engine-design + impl (was
2026-05-23-jd-cv-matching-*) — approved but pre-date the 3-level taxonomy. Both need an amendment pass (rubric loader re-key, schema alignment) before code starts. - step-3.1-vocab-bootstrap-design + step-5.3-industry-filter-design — drafts blocking the matching build. Step 3.1 must run to lock the vocab; Step 5.3 needs a Calibre team review session.
- Missing plans: Step 4 (sourcing), Step 9 (outreach), Step 10 (productisation), Step 11 (audit prep). Flag when each opens.
- Superseded reference asset (not a plan): the original 6-phase workflow diagram (
reference/3d73b3a…png) is replaced by the canonical 12-step in §2 of SOURCE-OF-TRUTH. De-listed from the site.