# Hornsby Cross-Reference — 2026-05-22

## What happened

AM look-ahead cron ran 2026-05-22. Active job: Hornsby (01-2275).

**Ongoing Jobs/ folder contents:**
```
00-brief.md                   ← 13 lines, status: ongoing, start_date: 2026-04-30
Job-Tracker.md                ← empty tables (hours + materials both blank)
04 - Programme and Scheduling/programme-24wk.md  ← 4 lines (header only, table empty)
06 - Correspondence/06b - RFIs/_REGISTER.md     ← 4 lines (header only)
```

**Ongoing subbie-schedule:** does not exist at job root. (Wrong path was checked — skill had warned about this.)

**Upgrading the check:**
```
ls "/home/ccuser/opsman-work/Jobs/Ongoing Jobs/01-2275 - HPE Field of Play Hornsby/04 - Programme and Scheduling/"
→ programme-24wk.md  (4 lines, empty table)

# Cross-reference Upcoming:
ls "/home/ccuser/opsman-work/Jobs/Upcoming/01-2275 - Solutions Plus - HPE Field of Play Hornsby/04 - Programme and Scheduling/"
→ programme-24wk.md  (57 lines, full 24-week table)
→ programme-24wk.md in Upcoming is the live programme

# RFI register — same pattern:
# Ongoing _REGISTER.md: 4 lines (header only)
# Upcoming _REGISTER.md: 160+ lines (33 RFIs, all Cat A/B/C populated)
```

## Key files in Upcoming (richer copy)

| File | Lines | What it gave |
|---|---|---|
| `00-brief.md` | 125 | Full contract details, 33 RFIs pre-loaded, claim dates, risk register |
| `04 - Programme and Scheduling/programme-24wk.md` | 57 | Full 24-week table — today is Wk 4 (18-23 May), EA Zone 1, 5 pours × 160 m² |
| `06 - Correspondence/06b - RFIs/_REGISTER.md` | 160+ | All 33 RFIs with Cat A (mobilisation blockers) listed, status = "Sent" for A1-A10 |
| `10 - Subcontractors/_subbie-schedule.md` | 33 | Anticipated subbies listed, concrete pump flagged per RFI-A3 |

## Two-folder lookup — decision tree used

```
1. ls "Ongoing Jobs/" → found Hornsby folder
2. programme-24wk.md in Ongoing → 4 lines → empty → check Upcoming
3. programme-24wk.md in Upcoming → 57 lines → full programme → USE THIS
4. Same for RFI register: Ongoing = 4 lines, Upcoming = 160+ lines → USE UPCOMING
5. Subbie schedule not at job root in Ongoing → checked 10 - Subcontractors/ → not there → checked Upcoming → found at 10 - Subcontractors/_subbie-schedule.md
```

## What the AM summary would have missed without cross-reference

- Programme Wk 4 (EA Zone 1, 5 pours) — not visible in Ongoing
- 10 Cat A RFIs still Pending (A1 sub-base missed 15 May deadline, A3 pump, A4 batching plant, A9 steel) — not visible in Ongoing
- Claim 1 due 25 May — not visible in Ongoing sparse copy
- No crew hours logged (Job-Tracker blank) — confirmed real state after cross-reference

## Lesson

Always check Upcoming when Ongoing programme is <10 lines. The move from Upcoming to Ongoing is often done by file copy, but the Ongoing copy may be stale while the Upcoming copy is the canonical working document. This is especially true in the first weeks after mobilisation when the job was recently moved.

Pattern confirmed across: 2026-05-19 (cross-reference audit), 2026-05-22 (today).