---
title: PM Workflow Pattern — LFCS Bid Prep + Project Setup
created: 2026-05-03
created_by: cowork-hq (proof-of-concept built on 2602 Munmorah Bridge bid)
status: draft-v1
purpose: Replicable AI-assisted workflow for setting up a new LFCS project from incoming tender documents through to bid submission. Pattern derived from 2602 Munmorah Bridge prep on 2026-05-03. Refine after running through 2-3 jobs.
related:
  - "[[lfcs-standards/folder-spec]]"
  - "[[2602 - Dec Projects - Munmorah Bridge/00-brief]]"
audience: LFCS PMs (Rocky + the other guy in the office, plus future hires)
---

# PM Workflow Pattern — LFCS Bid Prep + Project Setup

> First proof-of-concept on the **2602 Munmorah Bridge** bid (Sun 2026-05-03 evening). Pattern documented here so any LFCS PM can replicate it on any incoming tender. Refine after we've run 2-3 more jobs through it.

---

## Why this exists

Robert's idea (per 2026-05-03 conversation): for each project, get AI to read every drawing, extract structured summaries, and put them in a queryable form (Airtable + Obsidian). So that:
- Pricing decisions are faster (you can grep "Renderoc" across all jobs to see how it was priced before)
- Inclusions/exclusions are tighter (every item references the source drawing)
- Onboarding new PMs is faster (the structure is the same on every job)
- The QS call goes smoother (you walk in with a structured question list, not just a "we'll see what comes up")

The 2602 Munmorah job was the first run. This doc captures what worked.

---

## When you trigger this workflow

- New tender documents arrive (drawings + BOQ + scope brief, typically PDF + xlsx)
- Bid window is short (1-2 weeks)
- You want to bid competitively without missing scope or eating uncosted risk
- You want a defensible inclusions/exclusions list when the head contractor pushes back

If a job is awarded (no bid required), skip to **Stage B** (project intake).

---

## Stage A — Bid prep workflow (1-2 evenings, AI-assisted)

### Step 1 — Receive + register the tender pack
- Tender docs arrive via email
- File them under a temporary location (Downloads / desktop) — you'll move them into the vault in step 3

### Step 2 — Open the LFCS Cowork project + tell it the job
```
"Working on a new bid — [Job number] [Client] [Site]. Got drawings and BOQ. Want to do bid prep."
```
Cowork (cowork-lfcs) will ask: scaffold the folder? answer yes.

### Step 3 — Scaffold the job folder
Cowork creates the full 11-section folder structure under:
```
11_OpsMan_LFCS/Operations/Jobs/Upcoming/[NNNN] - [Client] - [Site]/
```
per the canonical `lfcs-standards/folder-spec.md`.

You drop the source files into:
- Drawings → `03 - Plans and Specifications/03a - Issued for Construction/`
- BOQ (issued) → `02 - Scope and Pricing/02b - BOQ and Rate Schedules/`
- Working copy of BOQ (your priced version) → `02 - Scope and Pricing/02a - Quotes and Estimates/`

### Step 4 — Extract drawing data (the queryable bit)
Cowork runs text extraction on every drawing PDF. For each drawing, it builds a row in `Drawing-Index.md` capturing:
- Drawing number, title, discipline, sheet size, rev, date, drafter
- Geometry / dimensions extracted from text labels
- Materials and specifications referenced
- Construction notes (verbatim, important)
- Existing services / risk items flagged
- LFCS-scope tag (Yes / Reference / NO)

Plus cross-cutting tables:
- All materials referenced (with LFCS scope flag)
- All dimensions captured
- All risks identified
- All standards referenced

**Caveat to remember:** text extraction misses geometric content that's drawn but not text-labelled. You MUST do a vision-pass on each drawing yourself before final pricing. The AI extract is a head-start, not a substitute.

### Step 5 — BOQ parse
Cowork parses the BOQ xlsx and writes a quantities-at-a-glance table into `00-brief.md` (concrete, reo, formwork, strip totals). All quantities, no rates yet.

### Step 6 — Bid prep doc
Cowork writes `00-Bid-Prep.md` with:
- Scope summary (1-2 paras)
- Tender document register
- Bridge / structure specs (geometry, codes, loading)
- Quantities (by element, with totals)
- Risks identified at quote stage
- Cost framework skeleton (pointing to `lfcs-standards/rate-card.md`)
- Variation rate template
- Exclusions headline
- Submission strategy

### Step 7 — Pre-call questions doc
Cowork writes `06 - Correspondence/06c - Meeting Minutes/Pre-Call-Questions-[date].md` with the QS call agenda — every must-have-clarified item with answer slots. You take the call with this open and type answers in-line.

Categories of questions:
- **Scope clarifications** (supply boundaries, cranage, specs, drawing currency, programme)
- **Commercial** (variation process, retentions, LDs, defects period, insurance, submission format)
- **Site / risk** (existing services, site access, geotech, latent conditions)
- **Nice-to-have** (alternatives, pour planning, subbie approvals)

### Step 8 — Inclusions/Exclusions draft
Cowork writes `02 - Scope and Pricing/02a - Quotes and Estimates/Inclusions-Exclusions.md` with:
- Inclusions (what LFCS will price + perform), grouped by BOQ section
- Exclusions (cranage, supply items, other trades, design, PM obligations, latent, commercial)
- Qualifications and assumptions (drawing basis, specs assumed, programme, services, rate validity, insurance)
- Variation rate schedule (placeholder rates to fill)
- Submission checklist

Items pending Tuesday-call confirmation are flagged in italics for easy spotting.

### Step 9 — You read the drawings yourself
Non-negotiable. AI extraction is good for structured text, weak on drawn geometry. You eyeball every page. Annotate in the drawings PDF or in `Drawing-Index.md` if anything's wrong.

### Step 10 — QS call (Tuesday evening typically)
Walk through `Pre-Call-Questions-[date].md`. Type answers in-line. After the call, propagate confirmed answers into `Inclusions-Exclusions.md` and the pricing working sheet.

### Step 11 — Pricing
You (or cowork-lfcs with your direction) fill rates into the BOQ working copy. Cross-check with `lfcs-standards/rate-card.md`. Cowork can sanity-check totals against the quantities-at-a-glance in `00-brief.md`.

### Step 12 — Submission package
- Cover letter
- Priced BOQ (PDF)
- Inclusions / Exclusions / Qualifications (signed)
- Variation rate schedule
- Programme assumption (rough sequence + duration)
- Reference projects + insurance certificates

Cowork can draft the cover letter. You sign and send.

### Step 13 — Log it
Append a one-liner to `11_OpsMan_LFCS/_Brain/_Log.md` with the bid date and outcome status (`submitted`, `awarded`, `lost`).

---

## Stage B — Project intake (after award)

If awarded:
1. Move the folder from `Jobs/Upcoming/` to `Jobs/Ongoing Jobs/`
2. Update `00-brief.md` frontmatter (status: ongoing, contract_price: $XXX, start_date: YYYY-MM-DD, target_pc: YYYY-MM-DD)
3. Receive the scaled-CAD drawings (Northrop's promise post-award) — drop new revs into `03a` with rev suffix
4. Run a re-rate pass — compare scaled CAD scope against tender-day scope, lodge VOs for any deltas using the pre-agreed rate schedule
5. Stand up SWMS, JSAs, inductions per `05 - Safety and Compliance/`
6. Open the Job Tracker xlsx (copy `lfcs-standards/Job-Tracker-Template.xlsx`) into the project root

If lost:
1. Move folder to `Jobs/Completed Jobs/[Job number] - [Client] - [Site] (LOST)/` or archive it under `_Archive/Lost-Bids/`
2. Append outcome to `_Log.md`

---

## Stage C — Scaling to the office (Robert's full vision)

Once 5+ jobs have been run through Stage A, evaluate:
- Is `Drawing-Index.md` actually getting referenced when pricing new jobs?
- Are PMs grepping across jobs for "how did we price X last time"?
- Are inclusions/exclusions getting tighter?

If yes → build the Airtable layer:
- One base, one row per drawing per job
- Frontmatter from `Drawing-Index.md` rows feeds it (manual import or scripted)
- Lookups: "every job using AS p/n 040910R bearings", "average $/m³ priced for 50 MPa deck concrete"

If no → drop the Airtable idea. Markdown + Obsidian search is enough. Don't over-engineer.

**Decision point: 5 jobs in. Date estimate: ~2026-08 if bid cadence is 1-2 per month.**

---

## Files this pattern produces (per job)

```
Jobs/Upcoming/[Job number] - [Client] - [Site]/
├── README.md                                    ← folder map + status
├── 00-brief.md                                  ← frontmatter, scope, quantities, risks, dates
├── 00-Bid-Prep.md                               ← full bid analysis
├── 01 - Contracts and POs/                      (after award)
├── 02 - Scope and Pricing/
│   ├── 02a - Quotes and Estimates/
│   │   ├── Inclusions-Exclusions.md             ← bid submission inclusions/exclusions
│   │   └── Pricing-Working-[date].xlsx          ← your priced BOQ working copy
│   └── 02b - BOQ and Rate Schedules/
│       └── [original BOQ from QS]
├── 03 - Plans and Specifications/
│   └── 03a - Issued for Construction/
│       ├── [original drawings PDFs from designer]
│       └── Drawing-Index.md                     ← AI-extracted queryable per-drawing summary
├── 04 - Programme and Scheduling/               (post-award)
├── 05 - Safety and Compliance/                  (post-award)
├── 06 - Correspondence/
│   ├── 06a - Emails/                            (export important emails as PDF)
│   ├── 06b - RFIs/_REGISTER.md
│   └── 06c - Meeting Minutes/
│       └── Pre-Call-Questions-[date].md         ← QS call agenda + answer slots
├── 07-11 ...                                    (post-award per folder-spec)
```

---

## Lane reminders

- **cowork-lfcs** owns this workflow end-to-end once the LFCS PM Cowork project exists. No code work, no on-site/voice work (that's Hermes via Telegram).
- **cowork-hq** stayed out of this lane except for the one-time scaffold pass on 2026-05-03 evening (bridge bid was a fire).
- **Hermes** handles on-site dictation, photo filing, EOD summaries, RFI status queries, docket scanning. Different surface, complementary.

---

## Open improvements (queue for v2)

- [ ] Vision-pass on drawings (PDF → images → Claude vision) — for geometric / dimensional content text extraction misses. Need pdftoppm + Read tool to play nicely.
- [ ] BOQ-vs-drawings cross-check — script that flags BOQ items with no drawing reference + drawing items with no BOQ line
- [ ] Pricing-history lookup — a `Pricing-History.md` at LFCS Operations level pulling rates from past priced BOQs
- [ ] Subbie performance log — supplier ratings tied to past jobs
- [ ] Standardised cover letter template
- [ ] Auto-generation of submission email body from the inclusions/exclusions doc
