File size: 1,633 Bytes
c3e3226
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Retargeting this app to another municipality

The engine is jurisdiction-agnostic. Everything city-specific lives in two places:
**`jurisdiction.yaml`** (text/branding/frameworks) and **`skills/`** (the review rules).
No code changes are needed to point the app at a new city.

## Steps

1. **Copy `jurisdiction.yaml`** and edit the values — name, region, the safety-code
   and land-use framework names findings must cite, branding strings, and the
   optional time-based `transition` block (set `enabled: false` if the city has no
   such rule; all transition text then disappears automatically).

2. **Replace the `skills/` folders** with skills for the new city. Each skill's
   `SKILL.md` frontmatter declares its `track`, `track_label`, and `track_scope`
   (see the existing suites/multi-residential/institutional skills as templates).
   The app discovers tracks from these at startup — a new review type is a new
   folder, not a code edit.

3. **Distill, don't dump.** Do NOT drop a raw 600-page bylaw/code PDF into
   `knowledge/` and expect good citations — it dilutes routing and most pages may
   be image-only. Instead, extract the relevant clauses into structured skill
   reference tables (clause number · rule · the check it implies), the way the
   Calgary `alberta-suites` references carry verified NBC-AE article numbers. That
   is what makes findings cite real, verifiable clauses.

## What stays the same

The scope gate, multi-provider model layer, SQLite analytics, DXF/PDF ingestion,
citation-grounding, verdict reconciliation, and report structure are all
city-neutral and carry over unchanged.