---
session_id: 09c7347d-6f88-4d4e-8a0d-ca8a3d022ddf
job_no: 2627
date: 2026-05-08
purpose: BCS pre-flight envelope (clean restart after path-A recovery from session d58cec3f-... ABORTED-BREACH). Path exclusions, methodology quarantine, inbound whitelist, sealed-reasoning placeholder, REVEAL gate.
authored_by: claude-code-orchestrator
NOT_FOR_EXTERNAL_DISTRIBUTION: true
visibility: orchestrator-only (worker does NOT read _Internal/audit-trail/ — names herein are quarantine-contract definitions, not worker-input)
sanitisation: NOT_REQUIRED (internal-only artefact)
append_only: true
predecessor_session: d58cec3f-9794-4dbf-8976-47b8c893eaab (ABORTED-BREACH at 2026-05-08T08:15:39Z; worker-readable leak of 6 strip-required items in 00-brief.md)
recovery_path: A (clean restart per Rocky 2026-05-08T08:19Z; worker-readable files swept; new session_id; new orch-msg block msg-index=2)
---

# BCS pre-flight envelope — 2627 (clean restart, session 09c7347d)

## Sub-phase 1 — Pre-flight

### Comparator (orchestrator-only — never written into worker-readable material)

- **Internal handle:** Comparator-A
- **Comparator artefact path (excluded from worker):** `C:\Users\mclou\lfcs-inbound-artefacts\2627\<the inbound PDF that is NOT in the worker whitelist>`
- **Comparator size:** 4 pages, ~270 KB
- **Comparator authored:** May 2025 (date held internal; not written into worker material)

### Path exclusions (worker MUST NOT read)

- Any inbound-folder PDF that is NOT one of the two whitelisted design documents (STR25020*.pdf, P171342*.pdf)
- Filename patterns to refuse: `*2627*quote*`, `*2627*price*`, `*2627*_v-CW*`, `*2627*_v-CC-blind*`, `*Quote*Airey*`, `*Airey*FRP*`
- Friend-vault: read-only globally per CLAUDE.md §3.1; nothing 2627-specific known to exist there yet, but blanket exclusion stands

### Inbound whitelist (worker reads freely)

- `C:\Users\mclou\lfcs-inbound-artefacts\2627\STR25020 - 2025.12.01.pdf` — Capital Engineering Consultants structural drawings rev D
- `C:\Users\mclou\lfcs-inbound-artefacts\2627\P171342 -SP-001-0 (Pavement).pdf` — Stellen Consulting pavement specification rev 0

### Methodology quarantine

- **Narrow:** none. Comparator-A pre-dates the methodology Airtable; zero rows to quarantine narrowly.
- **Broad (deferred):** rows tagged with comparator-author-handle from unrelated jobs exist for 2629 etc. Default = narrow only.
- **Decision applied:** narrow quarantine.

### Sibling folders ignored

- None.

### Worker-readable file sweep — verified clean of all 6 strip-required items

Files swept after session d58cec3f-... ABORTED-BREACH at 2026-05-08T08:19:54Z:
1. `Operations/Jobs/Upcoming/2627 - Airey Park Homebush West/CLAUDE.md` — comparator name + total + scope-split + design-supersession all stripped; only generic "comparator path-excluded" + filename-pattern refuse-list remain
2. `Operations/Jobs/Upcoming/2627 - Airey Park Homebush West/00-brief.md` — comparator section rewritten; no name, total, scope-split, or design-supersession reference
3. `_Internal/exclusions/exclusions-2627.md` — overrides table "supersedes prior 25 MPa indication" comment stripped; only "32 MPa per drawings rev D" remains
4. `_Internal/assumptions-log-2627.md` row 9 — "Liam-25-MPa-for-125mm" reference stripped; only "32 MPa per drawings rev D" cited
5. `_Internal/quarantined/blind-comparator-2627-liam-quote.md` — renamed to `blind-comparator-2627-A.md`; body rewritten with generic "Comparator-A" handle (note: worker does NOT read this folder per pricer CLAUDE.md §4 read order)

orch-to-pricer.md msg-index=1 (leaky) is left in place per append-only contract, with msg-index=2 (clean) prepending an explicit "IGNORE msg-index=1 — superseded by BCS-breach restart" header. State.json `last_pricer_seen_orch_input_index=1` will also be set so worker skips msg-index=1.

## Sub-phase 2 — Blind period contract

During Phases 2–4, every prompt drafted by `lfo-prompt-pricing` MUST:
- Strip any reference to the comparator's author name, document title, total, scope-split, productivity rate, or design assumption
- Refuse path-traversal into the comparator PDF or any path matching the refuse-list above
- Refuse to reference any methodology row, exclusion wording, or scope split that came from the comparator

Worker output similarly filtered before relay back to orchestrator.

If breach detected mid-session: IMMEDIATELY abort the BCS:
- Mark this audit-trail file `status: ABORTED-BREACH` (append section)
- Do NOT write corrections, do NOT unquarantine
- Notify Rocky
- Re-run requires fresh session_id + Rocky-confirmed clean window

## Sub-phase 3 — Seal (placeholder; populated after Phase 3 first-pass + Phase 4 sanity-check)

| Field | Value |
|---|---|
| pre_comparison_sealed_reasoning | (TBD after Phase 4) |
| Phase 0 grill answers | (TBD) |
| Productivity adjustments applied | (TBD) |
| Complexity tags applied | (TBD) |
| Exclusions invoked | (TBD — see `_Internal/exclusions/exclusions-2627.md`) |
| Total ex GST direct | (TBD) |
| Total ex GST loaded (×1.3225) | (TBD — note the 15%-cont override) |
| BCS phase | active-blind |
| sealed_at | (TBD) |

## Sub-phase 4 — Reveal gate

**Status:** awaiting Rocky-typed `REVEAL`.

No automatic reveal. Rocky must type `REVEAL` in the lfo terminal (case-insensitive accepted; typo not).

## Sub-phase 5 — Unquarantine (placeholder)

Only after Rocky-confirmed corrections written + accepted:
- Worker clears `_internal_quarantined_for_session_id` field on previously-quarantined methodology rows (n/a here — none quarantined narrowly)
- Set `unquarantined_at` timestamp
- Write `_Brain/blind-comparison-2627-2026-05-XX.md` with side-by-side comparison + per-line variance + patterns observed
- Methodology corrections proposals → `_Internal/lessons-learned/proposals-pending.md`

## Audit log

- 2026-05-08T08:19:54Z — clean-restart pre-flight envelope written; predecessor session d58cec3f-... in ABORTED-BREACH; worker-readable file sweep complete; BCS active under new session_id 09c7347d.
- (next entries append below as session progresses)
