CMC

Cascadia MEP Contractors, LLC

R364 — Semantic Compliance + LLM-Suggested Fixes (Live)
DOC: R364-REV-V2
ISSUED: 2026-05-30
ENGINE: regex + Ollama phi3
TENANT: oregon_mep_demo
R364 — Semantic Layer Atop R363

Paraphrased Clauses Now Caught — And A Draft Fix Is Generated

Cascadia uploaded v3 where "paid safe leave" was reworded as "protective leave for personal safety reasons." R363 regex missed it (false negative). R364 semantic caught it with 0.98 confidence. The one genuine missing clause (NY workplace violence) triggered an LLM-generated fix proposal — citation NOT LLM-generated, injected from form_compliance_specs.
What R364 added on top of R363. Same upload pipeline; same dept routing; same HITL fabric. New: every R363 regex check now runs alongside an Ollama phi3 semantic check (via the existing /api/chat gateway, 0.4-3s/rule). Disagreements between the two engines are surfaced, not hidden. For each genuine gap, an LLM proposes 2-3 paragraphs of handbook prose. Citations come from the form_compliance_specs table to prevent E_PROMPT_0004 (LLM hallucinated statutes).
↩ CEO briefing ↗ compliance follow-ups ↗ Evelyn's HR inbox ↗ audit binder ↗ lifecycle FSM

Summary

Forms with Revisions
1
Total Revisions
3
Compliance HITLs
2
Spec Rules + Hints
11

Revision Chains + Compliance

F1-09 3 revisions
v1 id=1 · parent=— sha256:b01b45e0c7e5c4a2e… passing
v2 id=2 · parent=1 sha256:9391f79bf2bae25ba… gap
v3 id=3 · parent=2 sha256:266b39a2a1134d28d… gap R364 ●

diff: v2 → v3

--- v2+++ v3@@ -1,5 +1,5 @@ CASCADIA MEP CONTRACTORS, LLC-EMPLOYEE HANDBOOK — v2 (effective 2026-06-01)+EMPLOYEE HANDBOOK — v3 (effective 2026-07-01) SECTION 1 — EMPLOYMENT AT-WILL All employment at Cascadia MEP Contractors is at-will employment. Either@@ -11,19 +11,24 @@ employees and applicants regardless of race, color, religion, sex, national origin, age, disability, or any other characteristic protected by law. -SECTION 3 — HARASSMENT TRAINING (NY ANNUAL REQUIREMENT)-All Cascadia employees working any NY worksite must complete sexual-harassment prevention training annually, in accordance with NY Labor Law-§201-g. Training is provided by Cascadia HR each January.+SECTION 3 — ANTI-HARASSMENT TRAINING PROGRAM+All Cascadia personnel are required to complete the company anti-harassment+training program annually. This includes coursework on workplace respect,+discrimination prevention, and reporting protocols. Training is provided+by Cascadia HR each January. -[Sections 4 and 5 were removed in this revision for review]+SECTION 4 — PROTECTIVE LEAVE POLICY+Cascadia provides employees with up to 40 hours per year of paid protective+leave for personal safety reasons, including matters related to domestic+violence, sexual assault, stalking, or human trafficking. Leave accrues at+one hour per 30 hours worked. -SECTION 6 — STANDARDS OF CONDUCT+SECTION 5 — STANDARDS OF CONDUCT All employees are expected to act with integrity, respect, and professionalism. Violations may result in disciplinary action up to and including termination. -SECTION 7 — REMOTE WORK POLICY (new in v2)+SECTION 6 — REMOTE WORK POLICY Engineering and office roles may work remotely up to 2 days/week subject to supervisor approval. Field roles are on-site only. -[end of handbook v2]+[end of handbook v3]

compliance — latest (v3)

FieldRegexSemantic (LLM)FinalEvidence
NYC_paid_safe_leavedisagrees✗ no✓ YES0.98PRESENT"Cascadia provides employees with up to 40 hours per year of paid protective leave for personal safety reasons, including"
NY_harassment_training✓ YES✓ YES0.98PRESENT"All Cascadia personnel are required to complete the company anti-harassment training program annually. This includes cou"
at_will✓ YES✓ YES1.00PRESENT"All employment at Cascadia MEP Contractors is at-will employment. Either the employee or the company may terminate the e"
equal_opportunity✓ YES✓ YES0.98PRESENT"Cascadia MEP Contractors provides equal employment opportunity to all employees and applicants regardless of race, color"
NY_workplace_violence✗ no✗ no0.95MISSING"No mention of a workplace violence prevention program, written WPV policy, signed acknowledgment, or NY worksite coverag"
🪄 LLM-Suggested Fix · NY_workplace_violence R364 phi3
Will inject citation: NY Labor Law §27-b (sourced from form_compliance_specs, NOT LLM-generated per E_PROMPT_0004)
All Cascadia MEP Contractors employees working at New York worksites are covered under the company’s Workplace Violence Prevention program. This program establishes a comprehensive framework to identify, assess, and mitigate risks associated with workplace violence, ensuring a safe and secure environment for all personnel. A written WPV policy is maintained and accessible to all employees, outlining prohibited behaviors, reporting procedures, investigation protocols, and corrective actions for any incidents of violence or threats. Supervisors are responsible for enforcing the WPV policy and ensuring all employees receive appropriate training. Each employee must complete annual training on recognizing and responding to potential workplace violence risks. A signed acknowledgment form, confirming receipt and understanding of the policy and training, is required and retained in the employee’s personnel file. Failure to submit the signed acknowledgment may result in disciplinary action, up to and including termination of employment.

R364 In-Round Failure (Caught + Fixed Per R355)

E_PROMPT_0005 fired. First semantic run truncated v3 to first 600 chars. The PROTECTIVE LEAVE section started at byte 887 of the handbook — invisible to the LLM. So semantic ALSO said missing.

Fix (same round, R355 discipline). Switched r364_semantic_compliance.py to keyword-anchor window selection: scan the doc for any keyword associated with the rule (e.g. NYC_paid_safe_leave → ["leave","safe","sick","psl","protective"]), center a 700-char window on the first hit, fall back to head-window if no anchor.

Result after patch: semantic caught NYC_paid_safe_leave at byte 891 with confidence 0.98 — the exact section it had missed.

How R364 Works

  1. Dual-engine — each revision runs both regex (R363) and Ollama phi3 semantic via /api/chat
  2. Anchor window — for each rule, semantic prompt sees a 700-char window centered on rule-relevant keywords (E_PROMPT_0005 fix)
  3. Conservative verdict — final = present if EITHER engine says present (minimize false-negatives)
  4. Disagreement surfacing — when engines diverge, both verdicts logged + flagged in UI
  5. Fix generation — for each genuine gap, LLM drafts 2-3 paragraphs of handbook prose; citation injected from spec table (E_PROMPT_0004 prevention)
  6. Same HITL fabric — fix-suggestions ride on the R361 queue + R360 dept routing + R362 lifecycle