# Environmental Screening Tool — Officer Manual

*Pilot v0.1 · L.I. 2504 (2025) / Act 1124 (2025) · scoping.resilicity.com*

This manual is for assessment officers using the Screening Tool day-to-day. For
admins setting up Earth Engine credentials, see `GEE_SETUP.md`. For
methodology + data lineage, see `METHODOLOGY.md`. For running the
historical-decisions validation harness, see `VALIDATION_HOWTO.md`.

---

## 1. What the tool does

For any project location in Ghana, the Screening Tool composes three
independent analyses into a single auditable output:

| Layer | What it produces |
|---|---|
| **Regulatory pathway** | Verdict (requires_eia / requires_registration / requires_sea / no_permit_required / refused), legal citations from L.I. 2504, indicative fee band (Act 1080), permit lifecycle, public-hearing triggers (Reg 24), transboundary flag (Reg 32), required baseline studies. |
| **Spatial environmental profile** | 20 indicators evaluated at the project location: flood, wetland, river, protected area, road setback, slope, seismic, soil, infrastructure, HT electricity ROW, galamsey, coastal erosion, contamination, groundwater. Each returns red/amber/green with a source citation. |
| **Plausibility cross-check** | Detects physical impossibility and order-of-magnitude scale mismatches (e.g. cement plant footprint vs declared production) using ~14 sourced benchmark entries. |

Every output is **decision support, not an Authority determination.**
The legal force of any decision derives solely from your formal act
under Act 1124 and L.I. 2504.

---

## 2. Signing in

> **Pilot Open-Access note (2026-06-25 – EPA billing decision).** During
> the pilot, `OPEN_ACCESS_MODE=1` on the server suspends the sign-in
> gate. You can go straight to https://scoping.resilicity.com and use
> the tool without login. All work is attributed to a shared
> `pilot-visitor` audit identity. Admin routes (user management, ruleset
> edits) remain gated even in Open-Access. The workflow below is what
> the officer experience becomes once the Authority green-lights
> billing and the sign-in gate is re-enabled (a 2-env-var flip on the
> server, no code change).

1. Open https://scoping.resilicity.com
2. Enter your `@epa.gov.gh` email address.
3. Tick **Remember me on this device** (default, 90-day session).
   Untick on a shared computer (8-hour session).
4. Click **Send sign-in link**. You receive a passwordless magic-link
   email — no password is ever stored or sent.
5. Open your inbox, click the link. The link expires in 15 minutes
   and can only be used once.
6. After click-through you land in the officer dashboard with your
   email + role badge in the top-right.

### If something goes wrong

| Symptom | Fix |
|---|---|
| No email after 1 min | Check spam. Try again — only the newest link works. |
| "Invalid or expired" on click | Link is older than 15 min or already used. Request a new one. |
| "Account is disabled" | Ask your admin to re-enable you under **Manage users**. |
| Email not on the allowlist | Only `@epa.gov.gh` addresses can sign in. Two operator overrides exist for the pilot maintainers; ask your admin if you legitimately need a different address. |

---

## 3. Dashboard at a glance

```
┌─ Cases │ Analytics ────────────────────────────────────────────────┐
│ Workspace sidebar │ Stat cards (Overdue · Due 5d · Due 10d · TRC) │
│   ▣ Active        │ View pills (My queue / All / Overdue / TRC)   │
│   ▣ Test          │ Filter row (sector · decision · district …)   │
│   ▣ Archive       │                                                │
│   ▣ Deleted       │ Cases table — click any row for detail         │
└───────────────────┴────────────────────────────────────────────────┘
```

- **Workspace folders** behave like email folders. **Active** is your
  live queue. **Test** is for sandbox screenings (won't show in the
  Director's reports). **Archive** is closed cases retained for
  precedent / audit. **Deleted** is a soft-delete bucket that an admin
  can permanently purge (non-signed-off cases only).
- **My queue** is the default view — cases assigned to you. Switch to
  **All** if you're admin and need to see every officer's queue.
- **Overdue** highlights cases past the 25-day screening clock.
- **TRC-ready** filters to cases ready for the next Technical Review
  Committee meeting (status = `in_review`, decision flagged for
  manual review).

---

## 4. Running a screening — the five steps

### Step 1 — Locate the project

You can locate a project four ways:

1. **Search** a place name (any Ghana town, market, school, address).
2. **Paste GPS coordinates** in any of these formats (the tool parses all):
   - Decimal: `5.6037, -0.1870`
   - DMS: `5°36'13"N 0°11'13"W`
   - Decimal minutes: `5°36.22'N 0°11.22'W`
   - Labelled: `lat: 5.6037, lon: -0.1870`
   - **Google Maps URL** — long form OR short link (`maps.app.goo.gl/…`)
     — server-resolves the redirect.
   - **Apple Maps URL** — `https://maps.apple.com/?ll=5.6,-0.187`
   - **OpenStreetMap URL** — `#map=15/5.6/-0.187`
   - **Plus Code** — `6FR4G6V8+RC`
3. **Use my current location** (GPS). Great for in-the-field officers
   on the PWA.
4. **Click the map**. The cursor drops a pin where you click.

For multi-site projects, switch to **Boundary box** mode and enter two
opposite corners — the tool screens the centroid.

> ⚠ The map is for visual reference only. Satellite imagery date varies
> and is not evidence of legal boundaries, ownership, or approval.

### Step 2 — Capture project details

Sector + sub-type + scale drive the regulatory pathway. The sub-type
dropdown changes based on the sector:

| Sector | Common sub-type field |
|---|---|
| Agriculture | `crop_type` (cassava, maize, rubber …) |
| Manufacturing | `process_type` (cement, steel, paper …) |
| Mining | `mineral_type` (gold, bauxite, sand …) |
| Oil & gas | `fuel_type` (lpg, diesel, crude …) |
| Real estate | `building_type` (residential, commercial …) |
| Health | `facility_type` (clinic, hospital, lab …) |
| Energy | `process_type` (solar_pv, wind, hydro, ccgt) |
| Waste management | `treatment_method` (landfill, incinerator, mrf) |
| Transport | `transport_type` (road, rail, airport, port) |
| Water & sanitation | `waterworks_type` (intake, treatment, stp) |

Without sector + scale, the rule engine returns `insufficient_information`.

### Step 3 — See the merged verdict

Click **Open Full Report**. You'll see, in order:

1. **Verdict banner** — the decision (e.g. SCHEDULE 2 — FULL EIA),
   colour-coded by class, with the L.I. 2504 reg citation.
2. **Critical conditions strip** (amber) — only renders when at least
   one of: reclamation bond required / manual review / public hearing
   probable / transboundary impact.
3. **§1 Regulatory grounding** — every rule that fired, with rule ID
   + statutory ref + plain-English explanation.
4. **§2 Required permits & agencies**.
5. **§3 Indicative fee + lifecycle**.
6. **§4 Process & timeline** — 25-day screening + 90-day total clock.
7. **§5 Required baseline studies** — one card per study with
   parameters, method, duration, Ghana Standard reference.
8. **§6 Scoping topics for the EIS/EMP**.
9. **§7 Spatial risk profile** — overall + 20 indicators.
10. **§8 Plausibility flags**.
11. **§9 Penalty exposure if unregistered** — financial + imprisonment
    + Authority powers + reputational.
12. **§10 Methodology & provenance**.
13. **§11 Disclaimer**.

### Step 4 — Save as a case

Click **Save as case**. The case enters status `created` (or `assigned`
if you set yourself as officer). The reference number is auto-generated
(`SCT-YYYY-NNNNNN`) and the 25-day screening clock starts.

### Step 5 — Issue determination + decision letter

Click **Download determination PDF** for the 11-section auditable
document. Click **Reg 29 decision letter** for the L.I. 2504-compliant
letter (pre-filled with the case ref, project title, sector, grounds,
scoping topics, conditional clauses, Reg 30 appeal-rights paragraph,
and two signature blocks).

> Every PDF you download today carries a **diagonal DRAFT watermark**.
> The watermark prints only on the digital version — when you transcribe
> onto official the Authority letterhead and sign in ink, that becomes the
> Authority's determination. The watermark exists to prevent unsigned
> drafts from being mistaken for issued letters.

---

## 5. The 20 spatial indicators — quick reference

For each indicator: what fires it, what status means, what the EIS/EMP
should address.

| # | Indicator | Red (avoid / blocker) | Amber (mitigate) | Source |
|---|---|---|---|---|
| 1 | **Flood** | Inside JRC 10-yr return period OR mapped flood polygon | 100-yr / 500-yr envelope, drainage stress | OSM + JRC GSW (Pekel 2016) + GHSL R2023A + GLO-30 + JRC LISFLOOD-FP |
| 2 | **Wetland** | Inside Ramsar Site OR OSM wetland polygon | JRC GSW wetness % > 5 within 200 m | Ramsar Sites Information Service (6 Ghana sites) + OSM + JRC GSW |
| 3 | **River corridor** | Inside statutory riparian setback (60 m river / 30 m stream) | Inside advisory buffer (120 m / 60 m) | HydroSHEDS HydroRIVERS v1.0 + WRC Riparian Buffer Policy |
| 4 | **Protected area** | Inside WDPA polygon | Within 1 km of WDPA boundary | WDPA 2024 (UNEP-WCMC / IUCN) |
| 5 | **Road setback** | Inside statutory road reservation | Within GHA advisory buffer | OSM Geofabrik Ghana |
| 6 | **Slope** | > 15 % (steep — erosion / landslide risk) | 5–15 % | Copernicus DEM GLO-30 (2019; ±4 m), Horn 3×3 |
| 7 | **Seismic** | PGA ≥ 0.20 g (high) | 0.10–0.20 g | Ahulu et al. 2018 PSHA, *J. Seismology* |
| 8 | **Soil** | Expansive clay / problematic | Sandy / moderate | ISRIC SoilGrids v2 + WoSIS Dec 2023 |
| 9 | **Infrastructure** | > 10 km from grid / urban centre (off-grid build) | 3–10 km | GSS urban + OSM power lines |
| 10 | **HT electricity** | Inside statutory ROW (15 m for 161 kV / 20 m for 330 kV) | Inside ICNIRP advisory setback (30 / 50 / 100 m by class) | OSM HV grid + ICNIRP 1998/2010 + L.I. 542 / L.I. 1737 |
| 11 | **Galamsey** | Confidence ≥ 0.6 with Sentinel-2 confirmation | 0.3 ≤ confidence < 0.6 (Tier-1 capped at 0.7) | 97 documented hotspots + HydroRIVERS Pra/Ankobra/Tano basin + ~80-district prevalence + Sentinel-2 NDVI delta (Forkuor 2020) |
| 12 | **Coastal erosion** | Segment retreat rate > 5 m/year within 5 km of coast | 1–5 m/year | Asare-Bediako 2025, Angnuureng 2023, Ankrah 2024, Appeaning Addo 2016, Boateng 2012 |
| 13 | **Contamination** | Inside curated contamination site polygon | Within 1 km of one | Pure Earth Pollution Atlas + Authority records |
| 14 | **Groundwater** | HAND < 2 m OR inside BGS coastal sedimentary basin OR JRC max-extent fired | HAND 2–5 m, flat terrain near drainage | BGS Africa Groundwater Atlas + JRC GSW + GLO-30 HAND |
| 15 | **Dam-spillage envelope** | Inside a documented spillage-inundation envelope (Akosombo · Kpong · Weija · Bui · Bagre · Tono · Vea) | Within 500 m of the envelope | VRA / BPA / SONABEL / ICOUR spillage bulletins, Akosombo Spillage Committee Report 2025 |
| 16 | **Recent flood events (2015-present)** | Inside a NADMO / HSD / CEMS documented flood polygon | Within advisory buffer of the polygon | 40 curated events (NADMO, Hydrological Services Department, Copernicus EMS, DREF MDRGH018, FloodList) |
| 17 | **Urban drainage** | Inside Tier-1 hand-curated GA drainage-stress polygon, or ≥ 2 Tier-2 OSM channels within radius, or Tier-3 S1 SAR signature | Advisory buffer / single OSM channel | AMA + GAMA drainage master plans + OSM + Sentinel-1 SAR |
| 18 | **REGSEC predictive high-risk** | Inside one of the 12 REGSEC-flagged Greater Accra grouped zones | Adjoining a zone | 10 June 2026 Greater Accra REGSEC statement |
| 19 | **Cultural heritage** | Inside cordon of UNESCO WHS Forts/Castles, Asante Traditional Buildings, or GMMB-gazetted national monument | Inside advisory buffer | UNESCO WHS 1979/1980 inscriptions + GMMB National Monuments + NLCD 387 |
| 20 | **Government / institutional lands (state-vested)** | Inside a state-vested parcel (universities, CSIR, MoFA, CRIG, GAF public installations, prisons, teaching hospitals, GAEC / VRA / BPA / TDC / GWCL / Achimota) | Within 200 m of the parcel boundary | 76-feature curated catalogue (2026-07-02) + Lands Act 1036 [state-vested provisions pending gazette section confirmation] + State Lands Act 125 + Constitution Art 258 |

Every red or amber finding auto-generates a **scoping topic** the
EIS/EMP must address, linked to the responsible agency.

---

## 6. Case lifecycle

```
  created ──► assigned ──► in_review ──► signed_off
                                     │
                                     ├──► rejected
                                     └──► withdrawn
```

| Status | Means |
|---|---|
| `created` | Case exists but no officer is assigned yet. |
| `assigned` | An officer has the case. The 25-day screening clock is running. |
| `in_review` | Officer is preparing for TRC sign-off. Use this filter to find your meeting-prep cases. |
| `signed_off` | TRC has signed; compliance schedule auto-generated. Clock stops. |
| `rejected` | Application refused. Clock stops. |
| `withdrawn` | Proponent withdrew. Clock stops. |

**Statutory clocks** (per L.I. 2504):

- **25-day screening clock** — initial determination (Reg 6).
- **90-day total clock** — full decision (Act 1124). Suspends when a
  public hearing is required (Reg 17(b) / 24).

The dashboard's stat cards surface clocks in real time: **Overdue
screening clock**, **Due in 5 days**, **6–10 days**, **11–15 days**.

---

## 7. After sign-off — the compliance schedule

The moment you set status `signed_off`, the tool auto-generates six
dated obligations per L.I. 2504 Reg 30:

| Obligation | Date |
|---|---|
| Appeal window closes | sign-off + 30 days |
| Initial EMP submission due | + 18 months |
| Permit renewal notice window opens | + 21 months |
| First EMP update due | + 54 months |
| Decommissioning notice window opens | + 60 months |
| Second EMP update due | + 90 months |

Each obligation tracks status (pending / received / waived / overdue)
and surfaces on the dashboard's lifecycle widget. Update the status
inline as proponents submit; tick **received** when the submission is
verified, **waived** when the Authority's discretion is exercised.

---

## 8. Field verification (PWA companion)

Install the tool on your phone:

1. Open https://scoping.resilicity.com in Chrome (Android) or Safari (iOS).
2. **Install on this device** in the menu (Chrome) or **Add to Home
   Screen** (Safari).
3. The icon lands on your home screen; opening it goes straight to
   the dashboard.

For on-site verification:

1. Open the case detail page.
2. **Add field verification** → captures GPS coordinates, lets you
   note discrepancies (e.g. *"declared location was 350 m off"*) and
   attach a photo (up to 20 MB).
3. If the on-site GPS is **> 200 m** from the declared coordinates,
   the dashboard surfaces a red GPS-discrepancy alert above the
   case detail with a one-click **Re-screen at on-site coordinates**
   action that re-runs `/screen` against the verified point.

---

## 9. TRC meeting prep — the bundle PDF

The Wednesday TRC ritual: pick 5–10 cases, generate one stack.

1. In the cases list, tick the checkboxes next to the cases you want.
2. **Bulk action bar** appears at the bottom of the screen.
3. **Generate TRC bundle PDF** → produces a single PDF containing:
   - Meeting cover (date + location + attendees)
   - Agenda (one row per case with verdict + critical conditions)
   - Per-case summary slide + the full determination PDF spliced in
4. Print one stack; pass round the room.

(Admins can bundle any case; officers can only bundle their own; the
bundle silently skips cases the user can't access.)

---

## 10. Bulk operations

The bulk-action bar (visible when you tick ≥ 1 case in the table) lets
you apply the same action to many cases:

- **Assign** to one officer
- **Set status** (created / assigned / in_review)
- **Move workspace** (to test / archive / deleted)
- **Generate TRC bundle PDF**

Bulk operations reuse the single-case audit + refusal logic — the bulk
endpoint cannot do anything a single-case path can't.

---

## 11. Precedent finder

Open any case → **Precedent finder** panel → returns the most-similar
prior cases ranked by:

1. Same sector
2. Same sub-type
3. Same district
4. Same spatial risk class

Click any row to open that historical case in a new tab. Useful for
two scenarios:

- *"How did the Authority handle the last cement-plant application in Cape
  Coast?"*
- *"This galamsey-flank Obuasi case looks identical to SCT-2025-XXXX —
  what was the determination there?"*

Test-workspace and deleted cases are excluded. Archive cases (signed-off
+ archived) are included — they're the most useful precedents.

---

## 12. Region / district analytics

The **Analytics** tab gives you bar charts + tables grouped by:

- Sector
- District
- Decision class
- Spatial risk
- Workspace
- Officer

For each bucket: total cases, decision distribution (stacked), average
days-to-sign-off, active-overdue count. Filter by date range. Export
as CSV for head-office monthly reports.

---

## 13. Reconcile a scoping report

If a proponent has submitted a scoping report and you want to
cross-check what they wrote against the spatial evidence at the
project location:

1. From the landing page, **Reconcile a Scoping Report**.
2. Paste the report text (or upload a PDF).
3. The extractor parses location, sector, scale, and the topics the
   report addresses.
4. The tool runs the screening at the extracted location and
   compares:
   - For each red/amber indicator at that point, is it addressed
     in the report? → **gap** if not.
   - For each plausibility flag, does the report's declared scale
     match the benchmark? → **discrepancy** if not.
5. Output: three columns + officer-ready next steps + 1–2 sentence
   summary suitable for the case file.

---

## 14. Common pitfalls

- **Insufficient information verdict** — the rule engine returned
  nothing because sector / sub-type / scale wasn't set. Open the case,
  click **Amend inputs**, fill in the missing fields, and the tool
  re-runs the orchestrator.
- **Tool says red, your judgement says amber** — that's expected. The
  tool surfaces evidence; *you* decide. Document your reasoning in the
  case notes; the audit log captures it.
- **Galamsey amber when Tier-1 confidence is high but Sentinel-2 isn't
  active** — by design, Tier-1 caps confidence at 0.7. Red status
  requires Sentinel-2 confirmation. Activate Sentinel-2 by configuring
  GEE credentials (see `GEE_SETUP.md`).
- **Ramsar Site flagged red** — the tool refuses to colour Ramsar sites
  amber even when other indicators are mild. Convention Article 3.2
  obliges joint the Authority + Forestry Commission Wildlife Division approval;
  most development inside a Ramsar Site will be refused outright.
- **Coastal erosion shows segment rate ±2× the locally observed rate**
  — local seawalls, groyne fields, and sand mining cause large
  variation. Verify with a certified coastal engineer.

---

## 15. Audit trail

Every action you take generates a SHA-256-chained audit entry:

```
hash[n] = sha256( canonical_json(payload[n]) + hash[n-1] )
```

Each payload embeds the **data lineage** at decision time — platform
version, ruleset version, spatial-data release, and dataset versions.
A tampered row breaks every downstream hash.

To verify a case's audit chain integrity, open the case → **Audit
trail** → **Verify chain** (or the API endpoint
`GET /cases/{id}/audit/verify`). The tool re-computes the chain and
reports the first invalid entry if any.

---

## 16. FAQ

**Q: I've signed off the wrong case. Can I undo it?**
A: An admin can move it back to `in_review` via PATCH. The audit log
captures both the original sign-off and the reversal — nothing is
hidden.

**Q: Can I share a case with a colleague?**
A: Only an admin can reassign cases between officers (the audit log
captures the reassignment). For collaboration without reassignment,
the case detail page has a **Notes** field both officers can edit.

**Q: How do I purge a case permanently?**
A: Admin-only. Cases must first be in `Deleted` workspace. Signed-off
production cases can never be purged (regulatory record).

**Q: How do I generate a determination for a one-off screening I
haven't saved as a case?**
A: After the report renders, click **Download determination PDF** at
the top of the report card. The ref label is `SCT-YYYY-MM-DD-PRELIM`.

**Q: What if EIAfinder or SafeGround is down?**
A: The tool returns a degraded verdict (`insufficient_information` +
`error`) and the `upstream_status` block in the response tells you
which engine is down. Try again in 5 minutes; if it persists, contact
your admin.

**Q: How fresh is the data?**
A: WDPA quarterly · OSM continuously · JRC GSW updated annually ·
GLO-30 from 2019 (no newer global DEM exists at this resolution) ·
Sentinel-2 imagery 14-day cache for the galamsey detector · Ramsar
inventory cross-checked 2024-01.

**Q: Can the tool be used outside Ghana?**
A: No. The rule engine is jurisdiction-bound to L.I. 2504 and the
spatial layers are clipped to the Ghana bbox. Coordinates outside
Ghana return a 422 error with a clear message.

---

## 17. Getting help

- **Pilot maintenance**: support@resilicity.com
- **Methodology questions**: see `METHODOLOGY.md`
- **Admin / credential setup**: see `GEE_SETUP.md`
- **Validation against historical decisions**: see `VALIDATION_HOWTO.md`

---

## 18. Fee Estimate + Act 1080 lookup

### 18.1 What it does

Every determination now cites a fee under the **Fees and Charges
(Miscellaneous Provisions) Act, 2022 (Act 1080)** — the Authority's
authoritative fee schedule. PDF §3 runs a fee probe on the case's
sector + sub-type and prints:

- The gazetted line item (row + section number) when the match is
  unambiguous,
- The band range (from-to) when the sub-type could match multiple
  rows (e.g. hotels have 4 room bands),
- A `/fees` pointer when the match is too ambiguous to auto-quote —
  the officer looks it up manually before invoicing.

The engine **never invents a fee**. If the schedule doesn't cover the
activity (rare — 653 line items across 9 sectors), the report says so
plainly.

### 18.2 Standalone fee lookup

Officers can open **`/fees`** at any time (top-nav → "Fee lookup") to
search the schedule without running a screening. Type the activity
("brewery", "hotel", "clinic", "solar farm") and the engine returns
the matching Act 1080 rows with their sector, sub-category, unit basis
(per room / per bed / per MW / per m² / per litre / per ton / flat),
and fee.

- Light plural/gerund stemming — "breweries" matches "brewery",
  "processing" matches "process".
- Case-insensitive.
- Currency: fees are quoted in **GHS**. When the schedule prices in
  USD the engine converts using the current declared rate (visible
  on the lookup page).

### 18.3 The 9 canonical sectors

Mining · Energy · Manufacturing · General Construction · Agriculture ·
Health · Tourism & Hospitality · Telecommunication · Pesticides.

Older cases still using the 11-sector taxonomy (oil_and_gas,
real_estate, transport, waste_management, water_and_sanitation) resolve
through legacy aliases — see §21.

---

## 19. Reconsideration / Enhanced-Mitigation pathway

### 19.1 When to use it

A refused case is not always the end of the road. The Netherlands
"living on water" precedent shows that hard-refused-by-default
undertakings sometimes gain conditional consent when the proponent
comes back with **certified enhanced-mitigation design**. This tool
tracks that pathway explicitly.

Two tracks:

- **Standard Reconsideration** — for refusals where the underlying
  spatial override carries a documented exception clause (e.g.
  flood-resilient public infrastructure inside a dam-spillage
  envelope; certified culvert / flyover across a river corridor).
  Any officer with case access can open the track.
- **Hard-Case Override** — for refusals against *non-negotiable*
  triggers (constitutional-level protections: Ramsar Sites, UNESCO
  WHS core zones, National Park core, nuclear-security cordons).
  **Restricted to Regional Directors and the CEO.** Not delegable.

### 19.2 How to open one

On any refused case's detail screen you'll see a **Reconsideration**
panel with a green "Open standard reconsideration" button. Regional
Directors and the CEO additionally see a red "Initiate Hard-Case
Override" button. Both open a modal asking for:

- The specific indicator that triggered the refusal
- The exception clause you're invoking
- Justification (the *why*, in your words — this becomes part of the
  public register)

### 19.3 The 30-day time-lock

Once opened, evidence upload runs for at least **30 calendar days**
before sign-off is available. This is a tool policy (not statute) to
prevent same-day rubber-stamping. The clock is enforced by
`reconsideration_time_lock` in the statutory-durations registry.

### 19.4 Evidence

Upload each required certified-design document or custodian letter
individually via the "Upload evidence" button. Each file:

- Caps at **25 MB** (split or compress bigger ones)
- Is hashed (SHA-256) and the hash chained into the audit trail
- Is tagged with a `kind` (design, custodian_release, etc.) — the
  tool tracks which required kinds remain outstanding

Sign-off is **blocked** with `outcome='approved'` unless every
required kind has at least one uploaded file (evidence-completeness
gate).

### 19.5 Sign-off

- **Standard track**: Regional Director signs first, then either the
  CEO personally OR a CEO-designated Deputy Executive Director. The
  DED cannot sign for a case in their own region (cross-region
  check).
- **Hard-case track**: Regional Director countersigns; CEO signs
  personally — **no delegate**.

Each sign-off requires an `outcome_reason` of at least 100 characters
(no rubber stamps).

### 19.6 Sunset

Hard-case override consents carry a **5-year sunset**
(`hard_case_sunset` clock). At that date the consent expires and the
case must be re-reviewed from scratch with fresh evidence — no
automatic renewal.

### 19.7 Voice-note capture

Every reconsideration evidence row now shows a **🎙 Voice note (30-60 s,
officer narration)** button. This uses the browser's microphone
(requires HTTPS + your permission) to capture a short narration that
uploads as evidence with `kind='voice_note'`. The blob's SHA-256
chains into the audit trail alongside the text justification.

Why this matters: a typed 500-character justification can be
template-copied and pasted by any officer. A 30-second voice narration
in the officer's own voice is a distinctive audit-chain signal that is
hard to forge. If the case is ever contested, the voice recording is
part of the record.

### 19.8 Discretionary reasoning that shouldn't become public record

If as a signing officer (RD, CEO, or DED delegate) you have reasoning
that supports a decision but that shouldn't itself appear on the
public register or become RTI-eligible, do NOT put that reasoning into
the `outcome_reason` field — that field is chained to the audit log
character-by-character and is discoverable.

Instead:

1. Type in `outcome_reason` only what the public record needs to see —
   the exception clause invoked, the certified-design evidence
   referenced, the statutory route.
2. Record the discretionary reasoning **out of band** in a signed
   internal letter to Authority Legal + the Board (deliberative
   privilege), filed in the case's paper folder.
3. On the sign-off form, note that "further discretionary reasoning
   is recorded in the internal case file per RD/CEO practice" — the
   audit chain then records that such reasoning exists without
   publishing its content.

This protects both the officer's discretion and the audit chain's
integrity. The tool intentionally does not offer a "hidden reasoning"
form field because any field the tool captures becomes discoverable.

### 19.9 What this pathway does NOT do

- No proponent self-service — the tool is officer-side only
- No fee waiver — Act 1080 fees still apply
- No override of international treaty obligations (Ramsar, UNESCO
  WHS) — the hard-case pathway routes to the treaty-body
  notification track, it does not skip it
- No override of Lands Commission title clearance for
  institutional-land cases

---

## 20. Public Register

Every conditional consent (from a reconsideration) and every
hard-case-override outcome is published at **`/register`** — a plain
HTML table plus JSON + CSV bulk downloads (`/api/register.json`,
`/api/register.csv`) — in alignment with the **Right to Information
Act, 2019 (Act 989)** proactive-disclosure obligations.

### 20.1 What's public

Opened date · consent / rejection date · track (standard / hard-case)
· status · trigger indicator · sector · district · sunset date.

### 20.2 What's not

- **Project title** — anonymised because it typically embeds a
  private-citizen proponent's name (conservative PII default under
  RTI + Ghana DPA Act 843)
- **Proponent identity** — same reason
- **Officer identity** — kept in the underlying audit chain (SHA-256
  hashed, retrievable on written RTI request), not in the public
  view

### 20.3 How outcomes enter the register

- Hard-case cases are auto-listed at *creation* (public visibility of
  the track's use is part of the anti-corruption tripwire)
- Standard-track cases enter on approval

---

## 21. Sector taxonomy (Act 1080 canonical + legacy aliases)

The intake sector picker now offers the **9 Act 1080 canonical
sectors** as primary choices, plus a "legacy" group for the 5 older
tool-specific sectors kept for existing-case queryability.

| Legacy sector (pick when re-opening old cases) | Routes to | Note |
|---|---|---|
| oil_and_gas | Energy | Petroleum sub-categories in Act 1080 §B |
| real_estate | General Construction | Housing units in §D |
| transport | *(no clean mapping — officer re-classifies)* | Facility → General Construction; equipment → Manufacturing |
| waste_management | Manufacturing | Recycling categories C5 / C16 / C25 |
| water_and_sanitation | *(no clean mapping — officer re-classifies)* | Facilities → General Construction; industrial WW → Manufacturing |

New cases should pick from the Act 1080 canonical group. The tool
resolves legacy values transparently for fee lookup, Impact Scale
classification, and PDF citation.

---

## 22. Statutory durations at a glance

Every clock the tool cites resolves through a single registry so the
numbers stay consistent across the report PDF, the decision letter,
the Reconsideration + Hard-Case screens, and the case-lifecycle
scheduler.

| Clock | Value | Reads |
|---|---|---|
| Screening determination | 25 working days | authority practice |
| Scoping decision after TRC | 25 working days | needs verification |
| EIS review (Authority) | 90 working days | needs verification |
| EIS decision after TRC | 25 working days | authority practice |
| Public hearing notice | 21 calendar days | authority practice |
| **Appeal window** | **30 calendar days** | **L.I. 2504 Reg 45(1) (gazetted)** |
| EMP initial submission | 18 months | authority practice |
| EMP update cycle | 36 months | authority practice |
| Permit — construction phase | 24 months | authority practice |
| Permit — operation phase | 60 months | authority practice |
| Reconsideration time-lock | 30 calendar days | tool policy |
| Hard-case sunset | 5 years | tool policy |

The PDF §4 Statutory Clocks table shows each clock with its
verification badge (`statute` · `authority_practice` ·
`needs_verification` · `tool_policy`) so a reader can immediately see
which numbers are gazetted-cited and which are practice-observed. No
silent laundering.

---

## 23. Impact Scale advisory (how to read the amber callout)

When a case declares a specific scale metric (hotel rooms, hospital
beds, MW capacity, floor area, storage volume, livestock head, or
land area) the tool classifies it against **Act 1080's Impact Scale
bands** — Large / Medium / Small / Minor / Micro — and displays an
amber advisory callout at the top of the on-screen report and in
PDF §1.

### 23.1 What the callout says

- The Impact Scale band the case falls into, and the metric that put
  it there
- The activity-classification engine's binding verdict
- A plain statement that the tool **has NOT downgraded** the verdict
  on this basis

### 23.2 Why not

Act 1080 (2022) is a **revenue instrument** — it prices the
assessment; it does not decide which assessment tier applies. The
binding tier is set by **L.I. 2504 (2025) First / Second Schedule**.
Under the prior gazetted rule (L.I. 1652 Schedule 2, 1999) many
undertakings required a full EIA at surprisingly low thresholds —
e.g. hotels of **40 rooms or more**. Unless L.I. 2504 expressly
raised the threshold for the specific activity, the pre-migration
verdict is binding.

### 23.3 If you want to downgrade

Manually downgrade the tier only after verifying the L.I. 2504
threshold against the gazetted text and recording the verification
source (page + edition) on the case file as an audit-trail note.
The tool will not make this downgrade automatically.

### 23.4 Category A activities

Mining, petroleum, primary industry, hospitals >100 beds, dams, and
large infrastructure are **Category A** — a full EIA is mandatory
regardless of scale. The Impact Scale band affects fee only, not
tier. The callout says so explicitly for these cases.

---

This manual is part of the pilot v0.1 release. Last updated 2026-07-18.
