---
name: lfo-standard-exclusions-apply
description: Walk Rocky through Standard LFCS Exclusions Library by category in batches. Seed the per-job exclusions skeleton in 2629 three-tier format. Block first-pass prompt until skeleton exists.
model: claude-sonnet-4-6
phase: 2
invoked_by: orchestrator after Phase 1 intake gate closes
preconditions:
  - intake envelope built (Phase 1 complete)
  - Standard-LFCS-Exclusions-Library.md read
  - job folder + RFQ scope email read
inputs:
  - job_no
  - intake_envelope (informs which Tier 1/2/3 items are obviously in/out)
  - RFQ scope wording (signals carve-outs)
outputs:
  - `_Internal/exclusions/exclusions-{job}.md` skeleton (frontmatter + override table + three tiers seeded with confirmed-in items)
side_effects:
  - blocks Phase 3 first-pass prompt until skeleton exists
authored_by: claude-code-orchestrator
created: 2026-05-08
---

# lfo-standard-exclusions-apply

Walk through the Standard LFCS Exclusions Library by category. Confirm in/out per item with Rocky in batches. Seed the exclusions skeleton.

## Procedure

1. **Open Standard library.** Read `standards/Standard-LFCS-Exclusions-Library.md`. Hold three tiers + 5 categories in head.

2. **Pre-classify per item using intake envelope + RFQ pre-screen:**
   - Items with `default_status = always-out` → propose IN as exclusion unless RFQ explicitly carves out
   - Items with `default_status = always-RFI` → propose IN as preliminary unless RFQ carves out (e.g. "LFCS to supply concrete pumping" → carve-out)
   - Items with `default_status = always-noted` (e.g. cancellation premium) → propose noted-only

3. **Surface to Rocky in 5 category batches:**

   **Batch A — Tier 1 boilerplate (10 items):**
   > "Standard always-out items. Confirm all 10 apply for this bid as-is, or call out any that don't:
   > 1. Surface water / dewatering. 2. Waste disposal off-site. 3. Latent conditions. 4. Asbestos. 5. D&C. 6. Permits. 7. Delays-by-others. 8. Service locating. 9. Coatings beyond AS3610.1 Class B. 10. Engineering certs beyond contract.
   > Default: all 10 IN. Carve-outs?"

   **Batch B — Materials (HC supplies):**
   > "Standard HC-supplied materials. Concrete / Reinforcement / Cast-ins / Hilti chemicals / Joint materials / HDPE / Curing compound (always-out). Confirm all default to HC-supply or call out any LFCS-supply for THIS bid."

   **Batch C — Plant (HC supplies):**
   > "Cranage / pumps / trucks / telehandlers / excavators / generators / amenities. Default HC. Carve-outs?"

   **Batch D — Professional Services + Site Management:**
   > "Surveys / geotech / engineering / vibration monitoring / NATA testing / environmental / facilities / traffic / access / ESCP / earthworks. Default HC. Carve-outs?"

   **Batch E — Specialist Trades (Tier 3):**
   > "Demolition / piling / Triton / shotcrete / precast supply + install + anchors / handrails / hydraulic / MEP / landscape / waterproofing / masonry / falsework engineering / dewatering / out-of-hours (variation) / NCRs (variation) / confined space (variation) / cancellation premium. Default OUT. Any IN for this bid?"

   Per batch: use `AskUserQuestion` with multi-select where helpful, or plain markdown checklist for Rocky to mark up.

4. **Capture carve-outs.** For each item Rocky carves out (flips default), write the override into the `_Internal/exclusions/exclusions-{job}.md` "{job}-specific overrides applied" table at top of file with:
   - Standard wording (from library)
   - This-bid override
   - Reason (Rocky-quoted)

5. **Seed the three-tier skeleton.** Write `_Internal/exclusions/exclusions-{job}.md` with:
   - Frontmatter: `job_no`, `purpose: Internal-only exclusions list ...`, `session_id`, `date`, `revision: 1 (draft from Standard library)`, `methodology_source: Standard-LFCS-Exclusions-Library.md v1`
   - "{job}-specific overrides applied" table (carve-outs only — empty if none)
   - "Standard Exclusions (10)" — numbered 1-10, Tier 1 items confirmed-in
   - "Preliminaries — Head Contractor (HC) provides" — numbered 11+, Tier 2 items confirmed-in
   - "Detailed Exclusions" — numbered next-N, Tier 3 items confirmed-in + placeholder section "**[bid-specific Detailed exclusions to be added by worker after first-pass take-off]**"
   - "Assumptions" — placeholder section with intake-envelope-derived assumptions (e.g. "Site is `<site_exposure>` — see intake envelope for design implications", "Labour rate $`<rate>`/hr blended — see envelope for build-up", "Margin/contingency per envelope")
   - "Inclusions" — placeholder section "**[LFCS scope inclusions list — to be added by worker reflecting confirmed Q-1 scope]**"

6. **Hand off to worker.** Draft the Phase 3 prompt:
   > "Use `_Internal/exclusions/exclusions-{job}.md` as the basis for `lfcs-incl-excl-draft@v3`. Tier 1 + Tier 2 already seeded. Layer bid-specific Detailed Exclusions / Assumptions / Inclusions on top after first-pass take-off."

## Output schema

`_Internal/exclusions/exclusions-{job}.md` — see `_Internal/exclusions/exclusions-2630.md` for canonical example. Frontmatter format identical, `revision: 1` for draft, increments per pass.

## Failure modes

- Rocky says "all defaults stand" without reviewing → log + proceed (acceptable for trusted job categories with strong pattern match to prior submissions).
- Rocky carves out an item not in the Standard library → write a methodology proposal to `_Internal/lessons-learned/proposals-pending.md` (new STD-XXX-NN candidate). Worker still uses carve-out for this bid.
- Standard library row's wording is a poor fit for the specific RFQ language → tighten wording inside the per-job exclusion file; add note in proposals-pending if pattern reusable.
