---
title: Friend Vault Audit — Hasibul Khan / LFCS Obsidian Vault
date: 2026-05-06
type: audit
status: complete-v1
auditor: Cowork (Rocky's HQ-Vault, opsman.systems@gmail.com)
audited: Hasibul Khan / admin@lfcs.com.au — LFCS Obsidian Vault
access-level: read-only-by-policy (Editor permission held but never written)
mate-vault-path: "H:\\.shortcut-targets-by-id\\1V8OJUh9QsYYZbF4Jic2W0ssRhe7GkbnC\\LFCS Obsidian Vault\\"
files-read: 25 (foundation + standards + templates + 3 jobs + 1 lessons + financials)
related:
  - "[[_System/CLAUDE]]"
  - "[[_System/Investigations/Vault-Deep-Dive-Audit-2026-05-01]]"
  - "[[11_OpsMan_LFCS/_Brain/CLAUDE]]"
---

# Friend Vault Audit — Hasibul Khan / LFCS Obsidian Vault

Two-way audit setup. Both vaults are LFCS-construction-shaped but built for different roles: Hasibul = office estimator/admin, Rocky = Site PM with multi-agent stack. Read-only on his side, no edits.

## TL;DR

- **Hasibul's vault is a tighter, more disciplined operational vault.** Numbered taxonomy (00–11), per-client rate cards, real rate buildups with actual-vs-projected hours, an 8-month revenue analysis with chase actions. All on one machine, one Claude.
- **Rocky's vault is a multi-agent orchestration platform.** AI Team Protocol, lane rules, append-only logs, cross-cutting concept docs, pre-summarised specs, Phase 0 pricing grill, Common Misses log, Airtable derived index.
- **They're complementary, not competing.** Hasibul has the day-to-day pricing discipline. Rocky has the system-design rigour.
- **Top three steals from Hasibul → Rocky:** numbered folder taxonomy at vault root, per-scope-type rate-buildup file with actual-vs-projected, signed-rate-card register with version tracking.
- **Top three steals from Rocky → Hasibul:** Phase 0 pre-pricing grill, append-only Common Misses log, AI Team Protocol (even single-agent benefits from boot sequence + write protocol).

---

## 1. Folder Taxonomy

### Hasibul

Vault root sits at `LF Construction Services PTY Ltd/LFCS Obsidian Vault/`. Inside, a strict **numbered taxonomy**:

```
00 - Inbox
01 - Jobs
02 - Clients
03 - Claude Memory
04 - Team
05 - Lessons Learned
06 - Templates
07 - Chat Diary
08 - Rates
09 - Quote Log
10 - Subcontractors & Suppliers
11 - Financial Snapshots
```

Each top-level folder maps to one concept. No nesting at the root. Claude knows exactly where to look — boot sequence in his company-root `CLAUDE.md` reads in this order: `03 - Claude Memory/Session Log` → `Context` → `Jobs/[relevant job]`.

### Rocky

Vault root at `HQ-Vault/`. Taxonomy is **categorical-by-tens**, multi-project:

```
_System
_Archive
00_Inbox
01_Daily
10_RateRight
11_OpsMan_LFCS
12_SiteOps
20_Personal
30_Goals
40_People
90_Reference
```

Each project gets its own root folder with internal `_Brain/`, `Operations/`, `Business/`, `Codebase/`, `_AgentLog/` sub-trees. Different projects can have different internal structures. AI Team Protocol governs cross-project lane rules.

### Verdict

| Aspect | Hasibul | Rocky |
|---|---|---|
| Discoverability for the user | ★★★★★ Numbered, every folder name says what it is | ★★★ Hard to scan top-level — need _System/MOC.md to navigate |
| Multi-project support | ★ Single-domain (LFCS only) | ★★★★★ Built for multi-project, multi-agent |
| Boot-sequence economy for Claude | ★★★★ Read 3 files, you have full context for the job | ★★★ Read 7+ files for full boot |
| Visual order in Obsidian sidebar | ★★★★★ 00-11 sorts cleanly | ★★ Underscores + numbers + words — sort order is messy |

**Steal opportunity:** Hasibul's numbered taxonomy at the LFCS sub-tree level. Rocky's `11_OpsMan_LFCS/Operations/` could adopt a similar `00 - X / 01 - Y / 02 - Z` pattern inside Operations to make the construction folder navigate the same way Hasibul's vault does.

---

## 2. Templates Inventory

### Hasibul (`06 - Templates/`)

5 templates, all functional:

| Template | What it does | Quality |
|---|---|---|
| `New Job Overview.md` | Frontmatter (job_number, client, status, contract_value_ex_gst, retention, subcontract_number, ld_rate_per_day) + Key Details table + Key Contacts + Scope + Payment Claims Log + Variations Log + Status Checklist | ★★★★ Comprehensive, frontmatter-driven |
| `Client Note.md` | Per-client note skeleton | (not read — assume similar) |
| `Site Diary Entry.md` | Frontmatter (job, date, supervisor, weather, crew_count) + Work Completed + Crew table + Issues + Plant + Materials + Photos + Notes. Save as `YYYY-MM-DD Site Diary.md`. | ★★★★ Field-ready |
| `Issue Entry.md` | ISSUE-00X with Description / Evidence / Cost-Time Impact / Resolution | ★★★★ Lean, copy-paste workflow |
| `Quick Capture.md` | Inbox capture skeleton | (not read) |

### Rocky (`_System/Templates/` + `11_OpsMan_LFCS/Operations/templates/job-folder-template/`)

Two-tier template system:

**Vault-level** (`_System/Templates/`):
- `Daily.md`, `Weekly.md`, `Project_Log.md`, `Person.md` — vault-wide skeletons

**Project-level** (`11_OpsMan_LFCS/Operations/templates/job-folder-template/`):
- Canonical 11-folder LFCS project structure (see `lfcs-standards/folder-spec.md`)
- `00-brief.md`, `Job-Tracker.md`, `close-out.md`
- Pre-built `_REGISTER.md` files for: 06b RFIs, 08 Variations, 11a Defects Register
- README explaining the lifecycle (Upcoming → Ongoing → Completed → DLP elapsed)

### Verdict

- **Hasibul's templates are markdown-first, Obsidian-frontmatter-driven, ready to dataview-query.** Job overview reads like a database row. Site Diary Entry is genuinely field-usable.
- **Rocky's templates are folder-shaped — they describe a *physical* project structure on disk.** The job-folder-template is what gets *copied* when a new job spawns; Hasibul's are what gets *filled in* inside Obsidian.

Different layers. Both right for their purpose. **Cross-pollination:**
- Rocky should add `New Job Overview.md` and `Site Diary Entry.md` as Obsidian-side templates inside `11_OpsMan_LFCS/_Brain/Templates/` — bridges the gap between his folder-shaped template and Hasibul's note-shaped one.
- Hasibul could benefit from a `close-out.md` template — his Lessons Learned folder is sparse because there's no automated close-out trigger feeding it.

---

## 3. Standards Documents

### Hasibul

Standards live inside `08 - Rates/` and `05 - Lessons Learned/`. No dedicated `standards/` folder.

| Doc | Purpose |
|---|---|
| `08 - Rates/FRP Rates Development.md` | Per-scope-type rate buildups (stormwater pit / culvert pit / lightpole footing / stair flight / footpath 120mm / footpath 160mm / footings) with hours per task + actuals where known |
| `08 - Rates/Rate Cards.md` | 15-client rate card register (V1.4 → V1.7) with signed status |
| `05 - Lessons Learned/Pricing Lessons.md` | Core $85/hr labour rate, scope benchmarks, FRP slab rates (PV1–PV10 at 120mm/160mm, mesh/finish breakdown), standard exclusions list (8 items, ready-to-paste) |
| `05 - Lessons Learned/Variation Patterns.md` | Common variation triggers + what documentation wins approval (mostly framework — not yet populated with real data) |
| `05 - Lessons Learned/Site Issues.md` | Concrete pump delays / Sub-base not ready / Scope creep — with mitigations (mostly framework) |

Strong on **operational pricing data** (real numbers, real breakdowns from real jobs). Weak on **process specifications** (no checklist, no spec-summaries, no folder-spec).

### Rocky

Dedicated `11_OpsMan_LFCS/Operations/lfcs-standards/` folder with:

| Doc | Purpose |
|---|---|
| `folder-spec.md` | Canonical 11-section per-job folder structure + naming rules |
| `rate-card.md` | Day/Night/Saturday/Sunday tier structure + 8-step OpsMan docket-enforcement workflow + invoice traceability |
| `element-taxonomy.md` | Controlled vocabulary (24 canonical elements + 14 complexity tags) — drives Airtable SingleSelect choices |
| `pricing-checklist.md` | 8 phases + mandatory Phase 0 grill + 50+ checklist items + Common Misses log (currently 8 entries totalling ~$30K+ in identified historical misses) |
| `concepts/` folder | Cross-cutting pattern docs (TfNSW-R0220-pit-pattern, TfNSW-bridge-FRP-subcontract-pattern, Defensible-for-variations-posture). Wikilinked from per-job CLAUDE.md |
| `specs/` folder | Pre-summarised spec PDFs (TfNSW R-series, AS/NZS, Sydney Water, council) generated by `lfcs-spec-summarise` skill |
| `pricing-history/` | Per-line markdown files with priced BoQ + QS feedback (post-bid). Feeds cross-bid lookup |
| `company-info.md` | LFCS metadata |

Strong on **process and meta-process**. Weak on **populating the standards** — pricing-history is the lookup layer that should aggregate Hasibul's actual rate buildups, but Hasibul's data isn't there.

### Verdict

This is the biggest single asymmetry between the two vaults.

| Dimension | Hasibul | Rocky |
|---|---|---|
| Operational rate data | ★★★★★ Live, per-scope, actual-vs-projected | ★ Mostly stub / placeholder |
| Process specifications | ★ No checklist, no folder-spec | ★★★★★ 50+ item pre-flight checklist + folder-spec + element taxonomy |
| Spec summarisation | ★ Not present | ★★★★ `specs/` folder + summariser skill (early stage) |
| Cross-cutting pattern docs | ★ Lessons Learned framework only | ★★★★★ `concepts/` folder with wikilinks |
| Common Misses tracking | ★ Not present | ★★★★★ Append-only log with $ cost per miss |

**Cross-pollination — high value:**
- **Hasibul → Rocky:** Hasibul's `FRP Rates Development.md` is the missing populated content for Rocky's `lfcs-standards/pricing-history/`. Rocky's `pricing-history/` should ingest the per-scope-type buildups (stormwater pit $10,770, culvert pit $16,830, etc.) as canonical reference data.
- **Rocky → Hasibul:** Hasibul should adopt the Phase 0 pre-pricing grill. His `Pricing Lessons.md` lists *outcomes* (rate benchmarks); the grill prevents the *failures* (scope assumptions, midnight crossing, fixture supply). Together they're a complete pricing system.
- **Rocky → Hasibul:** Common Misses log. Hasibul's vault has no equivalent. Variation Patterns + Site Issues + Pricing Lessons are scope-specific; a single append-only Common Misses log captures the *meta* (what we keep getting wrong, what it cost us).

---

## 4. Pricing System

### Hasibul

Bottom-up, evidence-based:

1. **Source data:** `Rates/FRP Rates Development.xlsx` (live workbook on his C:\) + per-client signed Rate Cards V1.4–V1.7 PDFs
2. **Reference docs in vault:** `08 - Rates/FRP Rates Development.md` (mirrors xlsx structure), `Rate Cards.md` (registers signed status), `Quote Log — How to Price.md` (one-page benchmark cheatsheet)
3. **Method:** Build from BoQ. Add 5–10% contingency on tight-access / unknown-ground FRP jobs. Check signed rate card before quoting day labour. Flag night shift for rate uplift. Always include the standard 8-item exclusions list.
4. **Outcome tracking:** `09 - Quote Log/` (philosophy doc + tracker reference, but tracker file itself is referenced not present)
5. **Connecting layer:** `Pricing Lessons.md` cross-links to FRP Rates Development + Rate Cards + Variation Patterns + Site Issues

Confirmed labour rate: **$85/hr ordinary**. Same as Rocky's rate-card V1.7. Rate consistency is good.

### Rocky

Top-down, process-disciplined:

1. **Source data:** Same `Rates/FRP Rates Development.xlsx` + Rate Card V1.7 PDF on Drive (referenced in `pricing-checklist.md` Phase 1)
2. **Reference docs in vault:** `pricing-checklist.md` (8 phases, 50+ items), `rate-card.md`, `element-taxonomy.md`, `pricing-history/` per-line lookups, `concepts/` patterns
3. **Method:** Run Phase 0 grill (mandatory) → Phase 1 source intake → Phase 2 programme/payment basis → Phase 3 scope reconciliation → Phase 4 quantities → Phase 5 output (Workbook A Tender Summary 6-sheet + Workbook B Rate Buildup 5-sheet) → Phase 6 commercial discipline (15% redundancy, 10% materials markup) → Phase 7 distribution (xlsx only, vault commit, Airtable seed) → Phase 8 post-submission (Win/Loss + pricing-history append)
4. **Outcome tracking:** Airtable Bids + Bid Line Items tables, AB-Test-Tracker for parallel pricers, pricing-history/ post-bid append
5. **Connecting layer:** Skill-enforced — `lfcs-bid-prep-doc` aborts if Phase 1 incomplete; `lfcs-boq-parse` extracts programme + payment basis; `chat-bootstrap` loads checklist + AB-Test-Tracker before any session

### Verdict

**These two systems are the front-end and the back-end of the same workflow.**

- Hasibul's `FRP Rates Development.md` is the *answer key* — what does a stormwater pit actually cost in labour hours.
- Rocky's `pricing-checklist.md` is the *process* — what questions must be answered before pricing starts, what scope assumptions to grill, what redundancy to apply.

Without Hasibul's data, Rocky's checklist runs on empty assumptions. Without Rocky's checklist, Hasibul's data gets misapplied (scope misread, fixture supply mistaken, midnight crossing missed).

| Dimension | Hasibul | Rocky |
|---|---|---|
| Per-scope rate data | ★★★★★ Real numbers | ★★ Placeholders |
| Pre-pricing scope grilling | ★ Implicit | ★★★★★ Phase 0 mandatory |
| Output structure (workbook layout) | ★★ Drives xlsx, no formal spec | ★★★★★ 6-sheet Tender + 5-sheet Buildup, defined |
| Sensitivity analysis | ★ Not standard | ★★★★ Sensitivity sheet mandatory in Workbook B |
| Post-bid feedback loop | ★★ Quote Log + lessons-learned | ★★★★ AB-Test-Tracker + pricing-history append + Common Misses log |
| Versioning of rate cards | ★★★★ V1.4–V1.7 register, signed-status | ★★★ Just V1.7 referenced in checklist |

**Cross-pollination — actionable now:**
- **Rocky:** ingest Hasibul's per-scope rate buildups into `pricing-history/` as the canonical reference. Each scope (stormwater pit / culvert pit / lightpole footing / stair flight / footpath 120/160 / footings) becomes one md file with the buildup, sourced to FRP Rates Development.xlsx.
- **Hasibul:** add Phase 0 grill to his pricing process. Even without a multi-agent stack, the 7-question grill (supply boundaries / site-mgmt / QA / programme / productivity / commercial posture / sanity) is single-user useful — saves the same 5 revisions Rocky logged on the 2626 bid.
- **Both:** standardise on the rate-card version. Hasibul's register shows most clients on V1.4. Rocky's checklist references V1.7. There's a rolling-out gap — V1.7 has the night-shift midnight crossing clause Hasibul's existing rate card pages don't yet capture.

---

## 5. Skills / Automations / Claude Integration

### Hasibul

| Surface | Setup |
|---|---|
| Boot file | `LF Construction Services PTY Ltd/CLAUDE.md` — read at session start. Defines vault path, boot sequence, write protocol (Session Log + per-job memory), skill auto-load |
| Session memory | `03 - Claude Memory/Session Log.md`, `Context.md`, `Jobs/[job].md` per active job |
| Skills loaded automatically | `new-job` (custom), `docx`, `xlsx`, `pdf`, `pptx` (Anthropic skills) |
| Custom skill | `new-job.skill` (3KB zip) — full RFQ intake automation: searches Gmail, assigns next job number, creates 27-folder structure on disk + Obsidian vault folder + Claude Memory job file, writes correspondence draft, opens Chrome to email thread |
| Chat persistence | `07 - Chat Diary/` — every Cowork session auto-summarised and saved as `YYYY-MM-DD HH-MM — Topic.md` |
| Identity rule | Read-only outside `Jobs/Claude - AI Assistant/` folder. No body edits without reading. Backup log before any bulk file operation. |

Single-machine, single-account (admin@lfcs.com.au), single-Claude-surface (Cowork desktop on his C:).

### Rocky

| Surface | Setup |
|---|---|
| Boot file | `_System/CLAUDE.md` (global) → project's `_Brain/CLAUDE.md` (project-specific) → per-job `CLAUDE.md` (Phase 6+) |
| Session memory | Append to `01_Daily/{today}.md`, append to project `_Log.md` one-liner, autonomous agents append to `_AgentLog/` |
| Skill catalog | `Operations/skills/_README.md` defines naming convention (`lfcs-{verb}-{noun}`), SKILL.md template, mandatory `## Airtable behaviour` section, regression fixture rule (every skill tested against 2602 Munmorah bid) |
| Custom skills (catalogued) | 10+ — `lfcs-bid-prep-doc`, `lfcs-boq-parse`, `lfcs-spec-summarise`, `lfcs-job-scaffold` v4+, `lfcs-airtable-sync`, `chat-bootstrap`, `lfcs-precall-questions` (referenced — full list in `_README.md` + `_Log.md`) |
| Multi-agent surfaces | cowork-hq, cowork-lfcs, claude-code-coo, claude-code-opsman, claude-code-rr, Hermes (VPS daemon), OpenClaw (VPS executor) |
| Lane rules | One PM agent per project folder concurrent. One Operations agent per data source. Hermes ≠ schema changes. coo's lane vs opsman's lane vs rr's lane explicit. |
| Identity rules | Read-before-edit, append-only on logs, no deletions (move to _Archive/), no new top-level folders without approval, no sensitive data in notes, vault wins over Airtable on conflict, no Airtable record deletions |
| Commit protocol | Every session ends with `{agent}: {short summary}` git commit + push |

Multi-machine (laptop + VPS), three-account (mcloughlinmichael.r / opsman.systems / admin@rateright.com.au), seven+ Claude surfaces.

### Verdict

| Dimension | Hasibul | Rocky |
|---|---|---|
| Vault as single source of truth | ★★★ Implicit, single-user | ★★★★★ Explicit, multi-agent enforced |
| Boot sequence rigour | ★★★★ Clear 3-step boot | ★★★★★ 7-step boot for project work, +per-job CLAUDE.md for jobs |
| Skill catalog | ★★★ One custom skill, well-built | ★★★★★ Catalog with template + regression fixture + change log |
| Append-only protocol | ★ Not enforced | ★★★★★ Hard rule across daily / project log / agent log |
| Git versioning | ★ No git (Drive-synced only) | ★★★★★ Git commits per session, conflict handling, multi-agent merge tested |
| Session diary | ★★★★★ Auto-saved chat per session | ★★★ `01_Daily/` is manual append (per CLAUDE.md write protocol) |

**Cross-pollination:**
- **Hasibul → Rocky:** the auto-saved Chat Diary (`07 - Chat Diary/YYYY-MM-DD HH-MM — Topic.md`) is the missing layer in Rocky's `01_Daily/` — Rocky's daily note is *manually* appended; Hasibul has automated capture. If technically possible to wire, Cowork should auto-save its session summary to Rocky's `01_Daily/{today}.md` under the standard heading format. Investigate whether the chat-bootstrap skill can be extended to do session-end write-back automatically.
- **Hasibul → Rocky:** the `new-job.skill` autotrigger is more aggressive than Rocky's `lfcs-job-scaffold`. Hasibul's: "Whenever Hasibul says 'new job', 'set this up', 'you know what to do' — *immediately run the full new job setup workflow without asking any questions*." Rocky's `lfcs-job-scaffold` is invoked. Worth considering an auto-trigger pattern for Cowork.
- **Rocky → Hasibul:** append-only logging. Hasibul's vault has no equivalent of the `_Log.md` / `_AgentLog/` discipline. He'd benefit from a single project-level `_Log.md` that captures one-liners per session — even single-user, it's useful for "what did I do last week". Cowork chat diary is a substitute but not as queryable.
- **Rocky → Hasibul:** git versioning. Hasibul's vault is Drive-synced only — no commit history, no diff capability, no rollback. If he ever wants to know "what changed in Pricing Lessons last month", there's no way to find out. Worth adding a git layer (even a local repo, no push) just for historical diff.

---

## 6. Job Lifecycle Workflow

### Hasibul

**Lifecycle stages:** Upcoming → (no formal Ongoing transition documented) → Completed (implied via 03 Claude Memory archival pattern, but no Completed Jobs/ folder seen)

**Per-job structure (inside `01 - Jobs/[job]/`):**
- `_Job Overview.md` — frontmatter (status, contract value, retention, subcontract no, LD rate) + Key Details + Scope + Payment Claims Log + Variations Log + Status Checklist
- `Issue Log.md` — running log of site issues (status icons 🔴🟡🟢)
- `Decision Log.md` — DEC-00X with date / decided by / decision / how communicated / reference
- `Client Comms.md` — correspondence record
- `Claim Notes.md` — claim narrative
- `Site Diary/` — folder for daily site diary entries (filled per `Site Diary Entry.md` template)

**Companion in `03 - Claude Memory/Jobs/[job].md`:**
- Quick Links table to all the above
- Site Team list with wikilinks
- "What I Know" section (status, contract value, payment terms, LD rate)
- "Documents Completed" checklist
- "What's Pending" checklist
- Windows folder path

### Rocky

**Lifecycle stages explicit:** Upcoming → Ongoing Jobs → Completed Jobs → DLP elapsed (close-out + archived)

**Per-job structure (inside `Jobs/{Stage}/{Job Number} - {Client} - {Site}/`):**
- Canonical 11-folder spec from `lfcs-standards/folder-spec.md`
- `00-brief.md` (job inputs + scope summary + key signatures)
- `00-Bid-Prep.md` (Phase 0 grill record)
- `Job-Tracker.md`
- `close-out.md` (post-DLP)
- Pre-built `_REGISTER.md` files for: 06b RFIs, 08 Variations, 11a Defects Register
- Per-job `CLAUDE.md` (Phase 6+) with: Job snapshot + folder map + live-registers-go-to-source rule + Airtable record IDs + Skill routing table + Patterns wikilinks (to `concepts/` folder)

**Existing per-job CLAUDE.md examples:**
- `2602 - Dec Projects - Munmorah Bridge` — bridge FRP subcontract pattern
- `2626 - Mack Civil - Stormwater Pit EXA01A-08` — TfNSW dayworks pit FRP-install-only pattern

### Verdict

| Dimension | Hasibul | Rocky |
|---|---|---|
| Stage transitions explicit | ★★★ Implied | ★★★★★ Upcoming/Ongoing/Completed folders |
| Per-job memory file (Claude context) | ★★★★ `03 - Claude Memory/Jobs/[job].md` with Quick Links | ★★★★★ Per-job CLAUDE.md with Patterns wikilinks |
| Live registers (variations, RFIs, defects) | ★★ Per-job log files | ★★★★ Pre-built `_REGISTER.md` files in folder-template |
| Folder structure consistency | ★★★ 27 sub-folders auto-created by `new-job.skill` | ★★★★★ 11-section folder-spec.md governs |
| Close-out process | ★ No `close-out.md` template found | ★★★★ `close-out.md` template + Lessons Learned INDEX append |
| Bid prep traceability | ★★★ Quote Log conversion analysis | ★★★★★ AB-Test-Tracker + Pre-Pricing-Grill record per bid |

**Cross-pollination:**
- **Hasibul → Rocky:** `03 - Claude Memory/Jobs/[job].md` Quick Links table is *brilliant* — one click to all per-job docs. Rocky's per-job CLAUDE.md has folder map + Airtable IDs but doesn't have the Quick Links convention. Add to Phase 6+ per-job CLAUDE.md template.
- **Hasibul → Rocky:** "What I Know" / "Documents Completed" / "What's Pending" sections in Hasibul's per-job memory are mid-sentence prompts that surface state immediately. Rocky's per-job CLAUDE.md reads more like a reference card; less obvious what's in-flight vs done. Consider adding the three-section pattern.
- **Rocky → Hasibul:** the Upcoming/Ongoing/Completed folder split. Hasibul's `01 - Jobs/` mixes everything — 25+ jobs in one folder including some that are clearly closed (Burraneer 100% complete with no invoice raised per the revenue analysis). Splitting by stage puts the active work front of mind.
- **Rocky → Hasibul:** `close-out.md` per job + Lessons Learned INDEX append. Hasibul's Lessons Learned is sparse because there's no formal close-out trigger. Even a 5-line close-out (job summary / what worked / what didn't / top 3 lessons / append to INDEX) would feed his Variation Patterns and Site Issues files with real data.

---

## 7. Knowledge Management

### Hasibul

**Surfaces for capture:**
- `00 - Inbox/` — Quick Capture template + Call Log (auto-process at session start)
- `07 - Chat Diary/` — auto-saved Cowork sessions
- `04 - Team/{Person}.md` — per-team-member notes
- `02 - Clients/{Client}.md` — per-client notes
- `05 - Lessons Learned/` — three thematic files (Pricing / Variation / Site)
- `09 - Quote Log/` — submitted-quote tracking
- `10 - Subcontractors & Suppliers/` — 4 thematic files (Labour / Plant / Materials / Specialist) — currently mostly TBC stubs
- `11 - Financial Snapshots/` — monthly templates + Revenue Analysis with chase actions

**Dataview-ready frontmatter on Job Overviews:** status, contract_value_ex_gst, retention_percent, ld_rate_per_day. Could power Obsidian dashboard queries.

**Wikilinks consistently used** across templates and notes — true Obsidian-native vault.

### Rocky

**Surfaces for capture:**
- `00_Inbox/` — single inbox
- `01_Daily/{today}.md` — manual session-end append per write protocol
- `40_People/{Name}.md` — per-person notes (template: `_System/Templates/Person.md`)
- `_Brain/` per project — project-level reference (CLAUDE.md, README.md = MOC, Open-Threads.md, Decision-Log.md, etc.)
- `_AgentLog/` per project — autonomous agent activity (Hermes daily notes, etc.)
- `_System/Investigations/` — long-form deep-dives (Hunt-Approval-Bottleneck, Vault-Deep-Dive-Audit-2026-05-01, Truth-Audit, Cowork-Review)
- `_System/Reviews/` — point-in-time vault state snapshots (StateOfVault-2026-05-03)
- `_System/Reviews/`, `_System/Conflicts.md`, `_System/HealthLog.md`, `_System/CuratorLog.md` — system meta
- `Operations/Jobs/{Stage}/[job]/` — per-job content
- `Operations/lessons-learned/by-topic/` — cross-job thematic aggregation (e.g. `contract-type-awareness.md`)

**Cross-cutting indices:**
- `_System/MOC.md` — top-level vault map
- `_Brain/CLAUDE.md` per project
- `lfcs-standards/concepts/` index
- `lfcs-standards/specs/` index
- `Operations/lessons-learned/INDEX.md`

### Verdict

| Dimension | Hasibul | Rocky |
|---|---|---|
| Inbox-to-organised pipeline | ★★★ Auto-process at session start | ★★ `00_Inbox/` exists; processing not formalised |
| Auto-summarisation of sessions | ★★★★★ Chat Diary | ★★ Manual daily-note append |
| Per-person notes | ★★★★ Per-team file with role + notes | ★★★ `40_People/{Name}.md` template |
| Per-client knowledge | ★★★★ `02 - Clients/{Client}.md` per active client | ★★ No equivalent dedicated client folder seen |
| Cross-cutting topical aggregation | ★★ Lessons Learned files (3 themes) | ★★★★ `lessons-learned/by-topic/` + `concepts/` patterns + `specs/` summaries |
| Map of Content / navigation aid | ★★ Implicit in numbered taxonomy | ★★★★ `_System/MOC.md` + per-project README MOCs |
| Investigation / long-form deep-dive | ★ Not present | ★★★★★ `_System/Investigations/` with multiple substantial docs |

**Cross-pollination:**
- **Hasibul → Rocky:** `02 - Clients/{Client}.md` per active client. Rocky has 25+ active LFCS clients implied by Hasibul's revenue analysis (Ford Civil, Solutions Plus, TCE, FKR, SJCI, Unita, OakTree, Cerak, MLP, Anthony Albetta, Girvan, Rauri, Ray, Ormond, Impression). Rocky's vault doesn't have per-client knowledge files. This is a real gap on his side — would let him aggregate "what does Ford Civil pay on time / how do they handle variations" across all their jobs.
- **Hasibul → Rocky:** numbered "00 - Inbox" with auto-process-at-session-start. Rocky's `00_Inbox/` has no documented process for what happens to its contents. Define an inbox-clearing protocol (e.g. process at start of each Cowork session, file to right project folder, never let it accumulate >7 items).
- **Rocky → Hasibul:** the Investigations + Reviews + Audits pattern. Hasibul has no equivalent of `_System/Investigations/` — long-form analytical work has nowhere to live. His Revenue Analysis is the closest analogue but it's filed under Financial Snapshots (correctly). A dedicated `_Investigations/` or `_Reviews/` folder would let him do deeper one-off analyses (e.g. "win-rate analysis by client across last 12 months", "site-issue patterns by supervisor") without polluting Lessons Learned.
- **Rocky → Hasibul:** per-topic aggregation in `lessons-learned/by-topic/`. Hasibul has 3 thematic files; Rocky has the structure for *N* thematic files (rebar-shortages, pump-delays, subbie-no-shows, etc.). When Hasibul's Lessons Learned grows, the by-topic split prevents the three files becoming unmaintainable.

---

## 8. Side-by-Side Gap Analysis

| Capability | Hasibul | Rocky | Gap direction |
|---|---|---|---|
| **Numbered top-level taxonomy** | ★★★★★ 00–11 | ★★ Mixed prefixes | → Steal for Rocky |
| **Multi-project support** | ★ LFCS only | ★★★★★ 10/11/12/20/30/etc. | (Rocky's design intent) |
| **Multi-agent protocol** | ★ Single-agent | ★★★★★ AI Team Protocol | → Bring core elements (boot/write/append-only) to Hasibul even single-agent |
| **Append-only logs + git** | ★ Drive-only, no git | ★★★★★ Git + AppendOnly hard rule | → Big steal for Hasibul |
| **Per-scope rate buildups (data)** | ★★★★★ Real numbers | ★★ Placeholders | → Big steal for Rocky |
| **Phase 0 pricing grill** | ★ Implicit | ★★★★★ Mandatory 7-question grill | → Big steal for Hasibul |
| **Common Misses log ($ tracked)** | ★ Not present | ★★★★★ 8 entries totalling $30K+ | → Steal for Hasibul |
| **Signed rate-card register** | ★★★★★ 15 clients V1.4–V1.7 | ★★ V1.7 referenced only | → Steal for Rocky |
| **Cross-cutting concepts folder** | ★ Lessons Learned only | ★★★★★ `concepts/` with wikilinks | → Steal for Hasibul |
| **Pre-summarised specs folder** | ★ Not present | ★★★★ `specs/` with summariser skill | → Steal for Hasibul |
| **Auto-saved Chat Diary** | ★★★★★ Per session | ★★ Manual daily-note | → Steal for Rocky |
| **`new-job.skill` auto-trigger** | ★★★★★ Aggressive auto-run | ★★★★ `lfcs-job-scaffold` invoked | → Pattern for Rocky |
| **Per-job Quick Links table** | ★★★★★ One click to all docs | ★★★ Folder map but not as fast | → Steal for Rocky |
| **What I Know / Pending / Done sections** | ★★★★★ Surfaces state immediately | ★★ Implicit | → Steal for Rocky |
| **Per-client knowledge files** | ★★★★ `02 - Clients/{Client}.md` | ★ Not present | → Big steal for Rocky |
| **Lifecycle stage folders (Up/On/Comp)** | ★ Mixed | ★★★★★ Explicit Upcoming/Ongoing/Completed | → Steal for Hasibul |
| **Close-out process + INDEX** | ★ Not present | ★★★★ `close-out.md` + INDEX.md | → Steal for Hasibul |
| **Live `_REGISTER.md` files (RFIs/Variations/Defects)** | ★★ Job-level log files | ★★★★ Pre-built per-job | → Steal for Hasibul |
| **AB-Test-Tracker for parallel pricers** | ★ Single-pricer | ★★★★ Live tracker with rounds + verdicts | → (Rocky-specific to multi-agent setup) |
| **Airtable derived index** | ★ Not used | ★★★★ Wired as derived index | → (Rocky-specific) |
| **Spec summariser skill** | ★ Not present | ★★★★ `lfcs-spec-summarise` | → (build first, then steal) |
| **Per-team-member notes** | ★★★★ Per file in `04 - Team/` | ★★★ `40_People/{Name}.md` | (Roughly equivalent) |
| **Sensitivity analysis in bids** | ★ Not standard | ★★★★ Mandatory Workbook B sheet | → Steal for Hasibul |
| **8-month revenue analysis with chase actions** | ★★★★★ Built, with overdue invoice list | ★★ Not present (different project's role) | → Steal for Rocky's 11_OpsMan_LFCS or wider HQ |
| **Standard Exclusions ready-to-paste** | ★★★★ 8-item list | ★★★★ Block A + Block B in pricing-checklist | (Different but both strong) |

---

## 9. Top Recommendations + Action Plan

Triaged by effort × value. **Rocky's actions only** — no edits to Hasibul's vault per the audit deal. If Rocky wants Hasibul to act on his side, route via `Rocky-Outbox.md`.

### A. Quick wins (≤30 min each)

1. **Add numbered taxonomy inside `11_OpsMan_LFCS/Operations/`.** Adopt `00 - Inbox / 01 - Jobs / 02 - Clients / 03 - Claude Memory / 04 - Team / 05 - Lessons Learned / 06 - Templates / 08 - Rates / 09 - Quote Log / 10 - Suppliers / 11 - Financials` as the LFCS-internal tree. Doesn't change vault top-level (which is Rocky's multi-project layer); this is the *next* level down. Steal-and-adapt from Hasibul.

2. **Steal Hasibul's `Site Diary Entry.md` + `Issue Entry.md` templates.** Add to `_System/Templates/` (or create `11_OpsMan_LFCS/_Brain/Templates/` for project-scoped Obsidian templates). They're better than what Rocky has because they're field-ready, not folder-shaped.

3. **Adopt the per-job Quick Links table convention.** Add to the per-job CLAUDE.md template (Phase 6+) — table at top with one wikilink per per-job artefact. Saves 30 seconds per job lookup.

4. **Add "What I Know / Documents Completed / What's Pending" sections to per-job CLAUDE.md.** Three sections, terse bullets. Surfaces state in 5 seconds.

5. **Add per-client knowledge files.** Create `11_OpsMan_LFCS/Operations/02 - Clients/` (or `_Brain/Clients/` if preferred) and seed one file per active LFCS client from Hasibul's revenue analysis: Ford Civil, Solutions Plus, TCE, FKR, SJCI, Unita, OakTree, Cerak, MLP, Anthony Albetta, Girvan. Even stub frontmatter + 3 lines per client is better than nothing.

### B. Mid-effort (1–2 hr each)

6. **Ingest Hasibul's per-scope rate buildups into `lfcs-standards/pricing-history/`.** Each scope from `08 - Rates/FRP Rates Development.md` becomes one md file in `pricing-history/`: stormwater-pit.md, culvert-pit.md, lightpole-footing-1800.md, stair-flight.md, footpath-120mm-per-120m.md, footpath-160mm-thickened-edge-per-120m.md. Source attribution: "Adapted from H. Khan, FRP Rates Development.xlsx, 2026-05-01". Read-only-by-policy adapted means it's referenced not copied verbatim — which is fine, it's data not prose.

7. **Build the auto-Chat-Diary equivalent for Rocky's vault.** Investigate whether `chat-bootstrap` skill can be extended with an auto-write-back at session end that appends a session summary to `01_Daily/{today}.md` under the standard `## HH:MM — {agent} — {short title}` heading. Hasibul's Chat Diary captures every session free; Rocky's daily-note relies on manual append per write protocol — many sessions probably miss the append.

8. **Define inbox-clearing protocol.** Hasibul's auto-process-at-session-start is implicit; codify it for Rocky's `00_Inbox/`. One-line addition to `_System/CLAUDE.md`: "At session start, process anything in `00_Inbox/` to its destination folder. Never let it exceed 7 items."

9. **Add `_System/Reviews/` cadence.** Rocky has `_System/Investigations/` and one-off `Reviews/StateOfVault-2026-05-03.md`. Define a monthly StateOfVault cadence — first weekend each month, like Hasibul's monthly Financial Snapshot pattern. 30 min audit per Rocky's existing skill catalog maintenance rule.

### C. Bigger plays (half-day to full day)

10. **Map current jobs into Upcoming/Ongoing/Completed folders.** Rocky's vault currently mixes them inside `11_OpsMan_LFCS/Operations/Jobs/` (or wherever — folder-spec defines structure but I didn't read all 25+ jobs). Hasibul's vault also mixes them. Both vaults need this. Rocky's side: implement. Hasibul's side: route via outbox.

11. **Build a `close-out.md` template + INDEX-append automation.** Lessons Learned INDEX has 1 entry. Without a close-out trigger feeding it, it'll stay sparse. When a job moves to Completed Jobs/, the close-out.md gets filled and a one-row append to `lessons-learned/INDEX.md` happens automatically (skill: `lfcs-close-out` — doesn't exist yet, build candidate).

12. **Cross-account vault staging.** Rocky's vault is local + git'd, not on Drive. Hasibul's vault is on Drive (admin@lfcs.com.au-shared). For the reciprocal half of this audit, Rocky needs to expose his vault to Hasibul's Claude. Cleanest: Drive-mirror `11_OpsMan_LFCS/` (and `_System/`) only, share the Drive folder to Hasibul as Viewer. Skip RateRight + Personal + Goals — out of scope. Decision pending Rocky.

### D. Long-game (multi-session)

13. **Bring Phase 0 pricing grill to Hasibul (via outbox brief).** His pricing system has the answer key but not the question protocol. Rocky's grill prevents the failures Hasibul has *probably* hit (he just doesn't have a Common Misses log to prove it). Frame in handoff brief as "your front-end pricing data + my pre-flight grill = complete pricing system".

14. **Bring append-only / git versioning to Hasibul (via outbox brief).** His vault has zero diff capability. Even a local git init (no remote) gives him "what changed this week" for free. Worth flagging.

15. **Bring AI Team Protocol elements (boot sequence + write protocol) to Hasibul.** Even single-agent, the discipline of `_Log.md` one-liners + append-only daily notes + commit-per-session is cumulative-value-on-cumulative-value. Hasibul's `Session Log.md` is the seed of this; expand to per-project `_Log.md`.

---

## Methodology Notes

- **Files read on Hasibul's side:** 25 markdown files spanning all 11 numbered folders. Foundation (CLAUDE.md root, Context.md), pricing (How to Price, FRP Rates Development, Rate Cards, Pricing Lessons), templates (5), one job overview (Ford Civil Botany), one job folder full set (01-2275), variation/site issue lessons, financials (Revenue Analysis), suppliers (3 of 4), quote log + chat diary READMEs.
- **Files read on Rocky's side:** `_System/CLAUDE.md`, `11_OpsMan_LFCS/_Brain/CLAUDE.md`, `lfcs-standards/rate-card.md`, `lfcs-standards/pricing-checklist.md`, `Operations/skills/_README.md`, `templates/job-folder-template/README.md`, `lessons-learned/INDEX.md`, `_System/MOC.md`. Plus full `HQ-Vault/` and `11_OpsMan_LFCS/` glob inventory.
- **Files NOT read** (deferred or out-of-scope): Hasibul's job-by-job detail (24 of 25 jobs), per-team-member notes, per-client notes (02 - Clients/), Specialist Subcontractors, Quick Capture Template, full chat-diary entries; Rocky's per-job CLAUDE.md examples (2602/2626), folder-spec.md, element-taxonomy.md, AB-Test-Tracker, individual skill SKILL.md files, daily notes, _Brain reference docs.
- **Read access verified:** Editor permission held on Hasibul's vault but treated as read-only-by-policy. No writes attempted. No edits made. Cowork access via Drive shortcut path `H:\.shortcut-targets-by-id\1V8OJUh9QsYYZbF4Jic2W0ssRhe7GkbnC\LFCS Obsidian Vault\` (admin@lfcs.com.au-owned, opsman.systems@gmail.com mounted).
- **Write target:** This file at `_System/Audits/Friend-Vault-Audit-2026-05-06.md` per Rocky's original spec. New `_System/Audits/` subfolder created (not top-level — within existing `_System/` per CLAUDE.md hard rule).
- **Reciprocal audit:** Pending. Hasibul's Claude does not yet have access to Rocky's vault. Handoff brief draft is the next deliverable.

---

## Cross-Reference

- Rocky's existing vault audit (different scope): [[_System/Investigations/Vault-Deep-Dive-Audit-2026-05-01]]
- Rocky's existing vault state snapshot: [[_System/Reviews/StateOfVault-2026-05-03]]
- Rocky's pricing system docs: [[11_OpsMan_LFCS/Operations/lfcs-standards/pricing-checklist]] · [[11_OpsMan_LFCS/Operations/lfcs-standards/rate-card]]
- This audit's input universe — Hasibul's vault: read-only via Drive shortcut path above, owner admin@lfcs.com.au

---

*End of audit v1. Next pass: deeper read of Hasibul's per-job folders + skill internals + reciprocal audit handoff.*
