@velinussage/locus-agent-skill 0.1.51 → 0.1.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -3
- package/package.json +1 -1
- package/skill/locus-agent-tools/SKILL.md +67 -17
- package/skill/locus-escrow-shock/SKILL.md +6 -2
- package/skill/locus-insurance-nonrenewal/SKILL.md +5 -2
- package/skill/locus-land-entitlement/SKILL.md +8 -3
- package/skill/locus-property-tax-protest/SKILL.md +4 -2
- package/skill/locus-seller-readiness/SKILL.md +5 -2
package/README.md
CHANGED
|
@@ -68,14 +68,17 @@ npx skills use velinussage/locus-agent-skill --skill locus-agent-tools
|
|
|
68
68
|
- Read the live free catalog for current tools and national lanes; rollout configuration can change the visible total.
|
|
69
69
|
- `locus_place_facts` is the best first call when supported.
|
|
70
70
|
- When you have only 1–5 photos or a short video clip and no street address yet, start with `locus_media_upload_init` and `locus_media_locate` (free EXIF/text check) or `locus-media-locate` ($0.05) / `locus-video-locate` ($0.10) / `locus-media-to-market` ($0.15) / `locus-video-to-market` ($0.25) to triangulate the region and follow its pre-populated `nextTools` (`livingThere`, `buyingThere`, `whatChangedNearby`).
|
|
71
|
-
- `locus_lane_availability` shows national, local, varies, not-covered, and degraded lanes before payment.
|
|
71
|
+
- `locus_lane_availability` shows national, local, varies, not-covered, and degraded lanes before payment. With `forTool: "locus-before-you-sign-dossier"` it also returns a free `deliverablePreview`: which of the dossier's lanes are covered at the address and whether its charge rule is likely to be met.
|
|
72
|
+
- Paid deliverables charge on a published rule and return `chargeBasis` on every result, paid or not: the rule, which lanes returned cited records, which were checked with none, and which were unavailable. The before-you-sign dossier also takes `requireLanes`, so the buyer can make any lane a condition of payment.
|
|
72
73
|
- Free tools stay read-only and cited.
|
|
73
74
|
- The payment-hardship workflow routes mortgage trouble to HUD counseling agencies first, then official state foreclosure pointers and servicer fact cards; the tax branch checks payment status, calendars and relief-program pointers without an eligibility decision.
|
|
74
75
|
- `locus_rental_registration_check` declares its scope per jurisdiction. Long-term registration is wired in Minneapolis, Montgomery County, New York City, and Seattle; Denver is short-term-license only; Kansas City is building-enforcement only. It returns no legal-rental or compliance verdict.
|
|
75
76
|
- The property-tax protest workflow keeps deadline, filing-guide, evidence, browser handoff, and published-outcome facts separate from the owner's own filing and value position.
|
|
76
77
|
- The home-watch workflow sets up deadline and change events for an address or a signed-in pool, reads an empty poll as "nothing new seen", and offers each paid next step only with the owner's approval.
|
|
77
78
|
- The water-incident workflow keeps what failed, who maintains each pipe segment, and the resulting damage or bill separate, and gives insurer questions without a coverage verdict.
|
|
78
|
-
- Paid endpoints use live x402 and MPP discovery: x402 may offer USDC on Base and Solana (`accepts[]`), and MPP offers `USDC.e` (`0x20C000000000000000000000b9537d11c60E8b50`) on Tempo mainnet (`eip155:4217`, `chainId: 4217`) via `WWW-Authenticate: Payment`, all requiring explicit user authorization. Agents choose one complete offer (for example `-p x402 --payment-network base` or `-p mpp --payment-network tempo`).
|
|
79
|
+
- Paid endpoints use live x402 and MPP discovery: x402 may offer USDC on Base and Solana (`accepts[]`), and MPP offers `USDC.e` (`0x20C000000000000000000000b9537d11c60E8b50`) on Tempo mainnet (`eip155:4217`, `chainId: 4217`) and, on the paid deliverables and deal analysis, Stripe card or Link, via `WWW-Authenticate: Payment`, all requiring explicit user authorization. Agents choose one complete offer (for example `-p x402 --payment-network base` or `-p mpp --payment-network tempo`). `locus-deal-analysis` offers Stripe and x402 only.
|
|
80
|
+
- The buyer workflows route to the $1.19 before-you-sign dossier (preview it free first) and, for a deal or a side-by-side of up to three addresses, to the $4.99 deal analysis: model-written prose over cited records, with every figure and citation checked by code and no buy-or-pass call.
|
|
81
|
+
- Reports and composed comparisons accept `brand` (brokerage name, agent, colors, logo) and return a ready-to-send `emailPackage`; the brand never changes the cited report itself.
|
|
79
82
|
- The surrounding-area workflow requires two separate approvals: $0.10 for the reusable JSON packet, then $0.15 for an eligible HTML/PDF report within 24 hours. Packet and report retrieval are proof-gated for 90 days.
|
|
80
83
|
|
|
81
84
|
Docs: <https://docs.locus.report/skill.md>
|
|
@@ -101,10 +104,18 @@ The live paid index is authoritative: <https://api.locus.report/.well-known/ai-t
|
|
|
101
104
|
| `POST /api/locus-large-site-satellite-change` | `$0.15` | Direct Copernicus REST-only pair of dated Sentinel-2 Level-2A images for a 1-100 square-kilometre site. No automated change or condition claim. |
|
|
102
105
|
| `POST /api/locus-surrounding-area-analysis` | `$0.10` | Stored, bounded JSON evidence packet. Charge-suppressed unless the subject, surrounding-parcel foundation, and another component complete. |
|
|
103
106
|
| `POST /api/locus-surrounding-area-report` | `$0.15` | One HTML/PDF rendering of an eligible packet; no research rerun. |
|
|
107
|
+
| `POST /api/locus-before-you-sign-dossier` | `$1.19` | Homebuyer dossier over 11 lanes (parcel, flood, surrounding ring, zoning, recorded sales, EPA, legislation, permits, tax rate, HOA signs, NFIP cost) plus print-ready HTML. Charged only when parcel and flood plus 4 of the other 9 return cited records; `requireLanes` adds conditions. |
|
|
108
|
+
| `POST /api/locus-property-tax-protest-packet` | `$0.89` | Protest evidence packet. Charged only when the assessment position plus 2 of recorded sales, tax calendar, and appeal outcomes return cited records. |
|
|
109
|
+
| `POST /api/locus-escrow-insurance-dossier` | `$0.89` | Escrow-shock and insurance-nonrenewal dossier. Charged only when the parcel plus 3 of 5 owner lanes return cited records; federal RESPA text never counts. |
|
|
110
|
+
| `POST /api/locus-seller-readiness-packet` | `$0.85` | Pre-listing permit closeout packet. Charged only when the parcel and permit closeout check plus 1 more place-specific lane return cited records. |
|
|
111
|
+
| `POST /api/locus-deal-analysis` | `$4.99` | Cited deal brief or side-by-side of up to three addresses: scenario arithmetic, risks, and a diligence checklist. Stripe card/Link or x402; allow up to 240 seconds. |
|
|
112
|
+
| `POST /api/locus-surface-heat` | `$0.05` | Up to four recent clear summer Landsat land surface temperature readings, each cited to its scene. Ground surface, not air temperature. |
|
|
113
|
+
| `POST /api/locus-surface-heat-history` | `$0.25` | Summer land surface temperature by year since 2013, with scene IDs and the first-to-last change. |
|
|
114
|
+
| `POST /api/locus-field-water-use` | `$0.99` | OpenET satellite evapotranspiration by month and year for the last ten years, for farmland and rural-land diligence. An estimate, not a metered withdrawal. |
|
|
104
115
|
| Six paid-only atomic REST routes | `$0.01` each | Workplace jobs, Wikipedia, Commons metadata, PFAS, NEI, and electricity. No free, MCP, or A2A counterpart. |
|
|
105
116
|
| `locus-evaluation-packet` paid-only atomic | `$0.35` | Lender evaluation-support packet. No free, MCP, or A2A counterpart. |
|
|
106
117
|
|
|
107
|
-
Unsupported, discovery-only, commercial, or insufficient-data cases return free diagnostics instead of charging where applicable.
|
|
118
|
+
Unsupported, discovery-only, commercial, or insufficient-data cases return free diagnostics instead of charging where applicable. The surface heat, heat history, and field water use routes are not charged when no clear reading or no data is found.
|
|
108
119
|
|
|
109
120
|
## License
|
|
110
121
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velinussage/locus-agent-skill",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.52",
|
|
4
4
|
"description": "Install the general Locus agent skill, the media-to-market photo/video location workflow, the surrounding-area purchase workflow, and the property-tax protest workflow for free, x402-paid, and MPP/Tempo-paid property context.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: locus-agent-tools
|
|
3
3
|
preamble-tier: 1
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.81.0
|
|
5
5
|
description: Use for cited US place records — starting from an address, county, or directly from 1-5 photos or a short video — including parcels, zoning, permits, flood, drought and water supply, regional market/living briefs, meetings, budgets, audits, county data series, changes over time, and dynamic MCP event polling or signed webhooks.
|
|
6
6
|
triggers:
|
|
7
7
|
- start property search from image
|
|
@@ -46,7 +46,7 @@ triggers:
|
|
|
46
46
|
- real estate webhook notifications
|
|
47
47
|
allowed-tools: Bash Read AskUserQuestion
|
|
48
48
|
license: MIT
|
|
49
|
-
contentHash:
|
|
49
|
+
contentHash: efe92c6a6820
|
|
50
50
|
---
|
|
51
51
|
|
|
52
52
|
# Locus Agent Capabilities
|
|
@@ -76,12 +76,46 @@ On first use in each session, fetch `https://api.locus.report/.well-known/skill.
|
|
|
76
76
|
## Start with Locus, not a portal scrape
|
|
77
77
|
|
|
78
78
|
- **Starting from 1–5 photos or a short video (no address yet):** you can begin a property search, living-there/buying-there analysis, or local change check directly from images or a short clip (`<= 60 s`). Upload via `locus_media_upload_init` and call `locus_media_locate` (free EXIF/container GPS and place-text check) or the paid two-model vision tools (`locus-media-locate` $0.05, `locus-video-locate` $0.10, `locus-media-to-market` $0.15, `locus-video-to-market` $0.25) to triangulate the US city, county, or metro and receive a pre-populated `nextTools: { livingThere, buyingThere, whatChangedNearby }` call list plus `locus_region_brief`.
|
|
79
|
-
- When the question is broad or the right local lane is unclear for a US address or place, call `locus_lane_availability` or `locus_suggest_workflow` first. When the user asks a specific question that maps to one known free tool (such as a water service-line check, a contractor license number, or a state statutory pointer), call that smallest free tool directly; a water-line question should not trigger the same workflow as a tax notice.
|
|
79
|
+
- When the question is broad or the right local lane is unclear for a US address or place, call `locus_recipes` for the step-by-step chain, or `locus_lane_availability` or `locus_suggest_workflow` first. When the user asks a specific question that maps to one known free tool (such as a water service-line check, a contractor license number, or a state statutory pointer), call that smallest free tool directly; a water-line question should not trigger the same workflow as a tax notice.
|
|
80
80
|
- Looking is free. Paying happens only after a live x402 or MPP (Tempo) challenge the user authorized.
|
|
81
81
|
- Do not buy a generic scrape of FEMA, EPA ECHO/SDWIS/TRI, USGS, HUD, FCC, county GIS, or assessor sites Locus already wraps with provenance. Still follow the official source link Locus returned when you need to verify.
|
|
82
82
|
- **Multi-home comparison:** when the job is two or three finalist addresses, read the dedicated workflow skill at `https://api.locus.report/.well-known/skills/compare-homes/v1.md`. Successful `locus_lane_availability` responses may include optional `skillContinuation` metadata pointing there when report compose rollout is enabled.
|
|
83
83
|
- **Paid buyer bundle:** for a three-home RentCast matrix with work items, use `locus-three-property-buyer-comparison` after user approval; its paid response may also include the same continuation metadata when compose is enabled.
|
|
84
84
|
|
|
85
|
+
## Run a recipe when the question needs more than one call
|
|
86
|
+
|
|
87
|
+
If you are not sure how to chain Locus tools, do not guess. Call `locus_recipes` first. It is free, fetches nothing, and returns the whole chain for one decision.
|
|
88
|
+
|
|
89
|
+
1. `locus_recipes {}` lists six doors. `locus_recipes { "door": "buying_here" }` lists that door's recipes.
|
|
90
|
+
2. `locus_recipes { "recipe": "before-an-offer", "address": "<full street address>" }` returns `steps`: each is a normal Locus call with its `args` already filled in. Run them in order.
|
|
91
|
+
3. After each result, read `proactive`. When a `when` condition is true, say its `say` sentence to the user even if they did not ask. This is how a lookup becomes useful: the flood-map deadline, the hearing date, or the appeal cutoff is said out loud.
|
|
92
|
+
4. Write the answer in `answerOrder`: the decision, the strongest current finding, the dates, what that kind of record usually affects, then the open question and where to verify it.
|
|
93
|
+
5. Obey `doNotSay` and each step's `ifEmpty`. A step that is not covered was not checked; it is never a clean result.
|
|
94
|
+
|
|
95
|
+
The renter recipes return which public rule and which public record exist for an address. They are not legal advice. Never tell a renter to withhold rent, break a lease, or sue, and never state a deadline in days unless you read it in the official section text in this session and link it. A notice with a court date goes to legal aid.
|
|
96
|
+
|
|
97
|
+
| Door | The user is asking | Recipes |
|
|
98
|
+
|---|---|---|
|
|
99
|
+
| `buying_here` | What should I check before I spend money on this address? | `before-an-offer` |
|
|
100
|
+
| `owning_here` | What will cost me money or need a decision, and by when? | `tax-bill-and-appeal`, `insurance-renewal` |
|
|
101
|
+
| `what_changed_nearby` | What has been filed or scheduled around here? | `what-changed-nearby` |
|
|
102
|
+
| `building_here` | What limits what I can build on this lot? | `can-i-build-here` |
|
|
103
|
+
| `renting_here` | What should I check before I sign, and what rule or record applies to the problem I have now? | `before-i-sign-a-lease`, `repairs-not-fixed`, `deposit-and-move-out`, `notice-on-the-door`, `who-runs-this-building`, `rent-increase-or-new-fee` |
|
|
104
|
+
| `area_pulse` | What is this city or county doing now, against last year? | `weekly-filing-pulse`, `flood-map-watch`, `community-profile` |
|
|
105
|
+
|
|
106
|
+
Each step also carries `publicPost`: whether that lane may back a finding in public content. `area_aggregate` lanes can. `named_place_review` lanes can only with a logged selection rule, one post per community per 30 days, and legal review of the selection protocol first. `coverage_only` and `never` lanes stay out of public findings.
|
|
107
|
+
|
|
108
|
+
## Weekly counts against the same week last year
|
|
109
|
+
|
|
110
|
+
`locus_filing_series` reads stored weekly counts, so a place can be described as a change and not only a current state.
|
|
111
|
+
|
|
112
|
+
- `locus_filing_series {}` lists every series. City series exist where a verified permit portal is wired; `fema_flood_map_notices:us` is national.
|
|
113
|
+
- `locus_filing_series { "place": "Raleigh, NC", "includeChart": true }` returns each completed week, `gaps`, `comparison` (the newest settled week against the same ISO week a year earlier), `plainSentence`, and an SVG chart with one line per year. The state is required; a bare city name returns `needs_state`.
|
|
114
|
+
- Say `plainSentence` as written. It names the source and what it counts (permits issued, or permit applications filed where the source dates by filing), the week, and the prior-year count. A source can cover a whole county or one record type, so do not swap in a city name. The newest three weeks are `provisional` because sources post records late; `provisionalSentence` says so.
|
|
115
|
+
- A gap is a missing stored week, not zero filings. `not_captured_yet` means history is still filling. Neither is evidence of no activity.
|
|
116
|
+
- `suspectZero` weeks and `sourceMayBeStale` mean the source returned zero where it normally reports many records; treat them as not reported. `largeShift` means the quarter's median halved or doubled, which usually reflects a change in what the source publishes. Say so before repeating the number.
|
|
117
|
+
- Do not rank one city against another and do not explain why a count moved unless a cited record says why.
|
|
118
|
+
|
|
85
119
|
## Choose the property decision first
|
|
86
120
|
|
|
87
121
|
Each recipe below matches a user decision to its minimum inputs, smallest useful free call, coverage limits, what the result establishes, completeness and stop conditions, and the optional paid addition (always presented as an offer, never an instruction to spend). Skip unrelated lanes; use the live catalog for current names and schemas.
|
|
@@ -90,16 +124,16 @@ Each recipe below matches a user decision to its minimum inputs, smallest useful
|
|
|
90
124
|
|---|---|---|---|---|---|
|
|
91
125
|
| Start a property search or area analysis from 1–5 photos or a short video (no address yet) | 1–5 photos (`mediaId`/`mediaIds` or `imageBase64`/`imagesBase64`) or 1 video clip `<= 60 s` (`mediaId`), plus optional `caption`/`hashtags` | `locus_media_upload_init` → `locus_media_locate`, then `locus_region_brief` and `nextTools` (`livingThere`, `buyingThere`, `whatChangedNearby`) | National US region-level triangulation (city, county, or metro — never a home, street address, or person). Free tier reads EXIF/MP4 GPS and explicit place text; paid tier uses two-model vision (`gemini-3.8-flash` + `gemini-4-argon`) and deterministic NANPA area-code, highway-shield, sign, and plate rules. Every candidate returns `nextTools` pre-populated with exact `countyFips5`/`stateFips`/`countyFips3`/`representativePoint` arguments. | If free `locus_media_locate` locates the county (`status: "located"`), call `locus_region_brief` and the relevant `nextTools` directly without paying for vision locate. On `low_confidence` (Tier C scenic look-alikes), `charged:false` and exploratory `candidates` + `nextTools` are still returned so the user can explore look-alike regions for free. | Offer `locus-media-locate` ($0.05, 1–5 photos), `locus-video-locate` ($0.10, clip `<= 60 s`), `locus-media-to-market` ($0.15, locate + cited `locus_region_brief` + runner-up), or `locus-video-to-market` ($0.25); all return `charged:false` on low confidence, refusal, or insufficient brief coverage. |
|
|
92
126
|
| Water service-line material or water incident | Complete CA street address (with unit, city, state, ZIP) or US address / PWSID | `locus_service_line_material` (CA address) or `locus_water_systems` + `locus_water_utility_leak_adjustment_rules` | CA address inventory is opt-in and covers `~34%` of published statewide rows with complete indexable street addresses; `locus_water_systems` gives system-wide EPA SDWIS counts (not this parcel). Establishes utility-reported pipe classification or published leak rules as of the snapshot date, not a physical inspection or liability ruling. | `found`: report system-owned and customer-owned materials separately (`unknown` stays unknown; stop if that answers the question). `source_unavailable` with `incomplete_source_rows` ("this address isn't indexed"): do **not** treat as non-lead; direct the user to ask the utility for its inventory entry. `no_matching_record`: indexed system had no match for this address (still not non-lead). | None for pipe material; for broader site environmental context, offer `locus-environmental-context` ($0.05) only if the user asks. |
|
|
93
|
-
| Drought, well drawdown, streamflow, or water-use restrictions | Address or coordinates for station tools; county FIPS alone works only for `locus_drought_history`; confirmed `pwsid` or address/coordinates for `locus_water_supply_status` (optional `countyFips` attaches a reservoir) | Choose one for the question: multi-year or current county drought -> `locus_drought_history` (`locus_drought_status` only for a quick current read); stream discharge vs seasonal normal -> `locus_streamflow_vs_normal` (flood stage -> `locus_flood_gauges`); daily well-depth change -> `locus_groundwater_drawdown` (well construction/aquifer -> `locus_groundwater_context`); conservation restrictions or reservoir pool -> `locus_water_supply_status` (boil-water or violations -> `locus_boil_water_notices` / `locus_drinking_water_violations`). | USDM weekly history (since 2000) is national and NOAA county PDSI (since 1895) covers the 48 contiguous states (`not_covered` for DC, AK, HI, and territories); USGS streamflow and daily monitoring-well depth (parameter `72019`, positive `changeFeet` = deeper below land surface) are nearby station readings, not the owner's domestic well; state conservation status is wired in NC (`not_covered` elsewhere) and reservoir pool comparison is wired where a USGS lake gauge is registered. | Stop after returning the free preview if one monitoring well and county/streamflow context answer the question. Read `restrictions.status` and the `componentStatus` entry for `reservoir` (`reservoir: null` when `not_covered`) or `usdm` (`weeksAtOrAbove: null` when `unavailable`, never zero). In NC, `restrictions.status: "ok"` with `matched: []` means no matching published state row for that system, not "unrestricted"; quote matched rows with `reportedAt` and treat `serving.match` (`name` or `county_candidate`) as a candidate to confirm on the utility bill. `sameDate.depthClass` compares only within the retrieved window (`comparisonYears`: ~1-2 yrs free preview, ~5 yrs paid); never treat a USGS monitoring well as proof of domestic well yield or potability. | Offer `locus-groundwater-drawdown` ($0.05) only for additional monitoring-well context: up to 3 wells, bounded 1/3/5-year comparisons and wet-season drawdown where readings exist (`null` on shorter daily series; empty daily-well or source-error results return `charged:false`). |
|
|
127
|
+
| Drought, well drawdown, streamflow, or water-use restrictions | Address or coordinates for station tools; county FIPS alone works only for `locus_drought_history`; confirmed `pwsid` or address/coordinates for `locus_water_supply_status` (optional `countyFips` attaches a reservoir) | Choose one for the question: multi-year or current county drought -> `locus_drought_history` (`locus_drought_status` only for a quick current read); stream discharge vs seasonal normal -> `locus_streamflow_vs_normal` (flood stage -> `locus_flood_gauges`); daily well-depth change -> `locus_groundwater_drawdown` (well construction/aquifer -> `locus_groundwater_context`); conservation restrictions or reservoir pool -> `locus_water_supply_status` (boil-water or violations -> `locus_boil_water_notices` / `locus_drinking_water_violations`). | USDM weekly history (since 2000) is national and NOAA county PDSI (since 1895) covers the 48 contiguous states (`not_covered` for DC, AK, HI, and territories); USGS streamflow and daily monitoring-well depth (parameter `72019`, positive `changeFeet` = deeper below land surface) are nearby station readings, not the owner's domestic well; state conservation status is wired in NC (`not_covered` elsewhere) and reservoir pool comparison is wired where a USGS lake gauge is registered. | Stop after returning the free preview if one monitoring well and county/streamflow context answer the question. Read `restrictions.status` and the `componentStatus` entry for `reservoir` (`reservoir: null` when `not_covered`) or `usdm` (`weeksAtOrAbove: null` when `unavailable`, never zero). In NC, `restrictions.status: "ok"` with `matched: []` means no matching published state row for that system, not "unrestricted"; quote matched rows with `reportedAt` and treat `serving.match` (`name` or `county_candidate`) as a candidate to confirm on the utility bill. `sameDate.depthClass` compares only within the retrieved window (`comparisonYears`: ~1-2 yrs free preview, ~5 yrs paid); never treat a USGS monitoring well as proof of domestic well yield or potability. | Offer `locus-groundwater-drawdown` ($0.05) only for additional monitoring-well context: up to 3 wells, bounded 1/3/5-year comparisons and wet-season drawdown where readings exist (`null` on shorter daily series; empty daily-well or source-error results return `charged:false`). For farmland water use, offer `locus-field-water-use` ($0.99, ten years of OpenET monthly evapotranspiration at the point, contiguous US). |
|
|
94
128
|
| Revaluation notice, tax bill, or owning costs | Address or county + state (plus `noticeDate` if appealing) | `locus_tax_calendar` and `locus_appeal_filing_guide`; add `locus_appeal_window` when `noticeDate` is known | Covers all 50 states + DC for statutory framing and official county pointers; `locus_property_tax_estimate` is wired in supported tax-rate jurisdictions. Establishes statutory deadlines, filing body, and adopted rate components, not whether to appeal. | Stop after returning the deadline, filing steps, and free `locus_owner_programs` exemptions if that answers the user's question. If `matched: false` on `locus_appeal_window`, stop deadline arithmetic and hand off to the county pointer in `locus_tax_calendar`. | Offer `locus-assessment-position` ($0.10, `charge_free_unless_substantive` on 5+ same-roll peers), `locus-owner-action-brief` ($0.05), or `locus-owner-cost-review` ($0.25) if the user wants roll uniformity or recorded tax history. |
|
|
95
129
|
| Mortgage or property-tax payment hardship | Address, point, or 2-letter state | `locus_housing_counselors` (mortgage/general) and `locus_foreclosure_process_pointers` (state) | National HUD directory lookup; 50-state + DC foreclosure pointer registry (`verified` in checked states, `not_verified` portal-only elsewhere). Establishes nearby directory agencies (`sourceStatusCode` is raw HUD `agc_STATUS`, not verified current approval) and state process pointers, not a sale countdown or legal advice. | If `no_agencies_in_radius`, widen the bounded search or give HUD's directory URL. If `locus_foreclosure_process_pointers` is `not_verified`, stop at the official court/housing portal and state that no statute was verified. Never invent a deadline when none is supplied. | None. Keep hardship routing free. |
|
|
96
130
|
| Homeowners insurance nonrenewal or escrow shock | 2-letter state or address (plus notice/end dates or escrow letter figures) | `locus_insurance_nonrenewal_pointers` (nonrenewal) or `locus_homeowners_insurance_context` + `locus_owner_mortgage_calendar` (escrow) | 50-state + DC department portals (`verified` notice rules in 10 states; `complaintStatus: "verified"` where a direct complaint URL is checked, `"unresolved"` where portal-only). `fioZip` is 2018-2022 historical area context, not a quote or current rate. | If `notice.status: "not_verified"`, stop rule comparison and point to the state regulator portal. If `complaintStatus: "unresolved"`, state that the direct complaint handoff is unresolved and give `portalUrl`. For escrow shock without the servicer's letter, stop arithmetic until the user has the letter's figures. | Offer `locus-escrow-insurance-dossier` ($0.89), `locus-assessment-position` ($0.10), or `locus-property-tax` ($0.05). Responses also attach caller-paid x402 `handoffs[]`: `insurance_market.querylines` ($0.10 state NAIC carrier market share / SERFF rate activity) and, on `locus_mitigation_incentives`, `trade_contractors.locationlists` ($0.02 nearby certified roofers/installers). |
|
|
97
131
|
| Inherited home or estate property pointers | 2-letter state or city + state / address | `locus_estate_property_pointers` (state rules) and `locus_tax_payment_status` / `locus_tax_calendar` (what is due) | 50-state + DC registry (`verified` in 34 jurisdictions, `not_verified` court portal elsewhere) plus ULC enactment tables (UPHPA, UPOAA, URPTODA). `smallEstate.thresholdScope: "non_exhaustive_excerpt"` marks statutory dollar excerpts that may have conditional branches (such as Ohio's `$35,000` general and `$100,000` surviving-spouse branches). | Treat `thresholdText` as a non-exhaustive excerpt and read the linked statute before ruling an estate in or out. If `transferOnDeathDeed` or `smallEstate` is `not_verified`, stop statutory claims and give the court self-help portal. If `locus_tax_payment_status` is `out_of_coverage` or `unavailable`, report that gap rather than "nothing due." | None required; if preparing to list the property later, see `locus-seller-readiness`. |
|
|
98
132
|
| Contractor pre-mobilization, first site walk, or inspection-week prep | Exact jobsite street address (or parcelId + county + state) | Before mobilization / first site walk: `locus_parcel_lookup`, `locus_metro_permits`, `locus_flood_zone`, `locus_wetland_context`, `locus_terrain_profile` (`slopeConstraintCheck` when returned), `locus_soil_context`. Inspection evening: `locus_metro_permits` (`sinceDate: polling.nextSince` + `excludePermitIds`; read `inspectionHandoff`), `locus_permit_rules`, `locus_parcel_code_cases` (open complaint/case rows), `locus_local_legislation` (fresh permits/zoning/fees headline only). | GM → owner pre-mobilization card and superintendent → excavation foreman first-walk card show published constraints with `fetchedAt`. **The 811 locate ticket and physical paint govern the trench**: if they disagree, stop and call the locator back. No Locus basemap on dig day. Reprint for a new foreman only with `fetchedAt` visible beside current Fieldwire/Bluebeam contract drawings. PM → superintendent evening list: `permitNumber`, published inspection field/date, registry-verified expiration/extension rule, complaint/case rows, and fresh permits/zoning/fees headline. Superintendent → trade foreman morning line: `permitNumber` + `inspectionType` with citation/date; never inspection-pass, compliance, or permit-closed conclusions. | On `polling.nothingNew: true`, report “no new permit row” with citation and do not page the crew. Leave stale/off-domain legislation off the field note. Keep `locus_government_meetings` and paid REST-only `locus-legistar-property-meetings` separate: never state the lot is on an agenda. Missing rules stay `not_verified`; nearby point results are not exact-parcel records. | Offer `locus-renovation-site-context` ($0.10) or `locus-road-access` ($0.05) before mobilization; `locus-permit-closeout-check` ($0.05) for exact-parcel closeout/occupancy evidence; `locus-local-policy-brief` ($0.07) only as a PM read after a fresh permits/zoning/fees headline, never a toolbox card. |
|
|
99
133
|
| Contractor license check before hiring | 2-letter `state` and exact `licenseNumber` (or coordinates/ZIP for partner directory discovery first) | `locus_contractor_license_check` | Currently wired in Washington (WA L&I roster). Returns published license status, type, effective/expiration dates, and citation without person names or addresses. | `found`: report the published status and dates. `no_matching_record`: stop and tell the user to verify spelling/number on the state board portal (a miss is not proof of being unlicensed). `out_of_coverage` or `source_unavailable`: report the coverage or snapshot gap and stop. | None in Locus. When the user first needs nearby trade leads, `locus_mitigation_incentives` and `locus_permit_rules` attach the caller-paid `trade_contractors.locationlists` x402 handoff ($0.02 at `POST https://locationlists.com/api/x402/query`); always verify state licensure next via `locus_contractor_license_check` or the state board. |
|
|
100
|
-
| Buying a property | Exact street address | `locus_lane_availability`, then `locus_place_facts`, `locus_zoning`, `locus_flood_zone`, `locus_parcel_transfers`, `locus_development_cases` | National hazard/environmental lanes cover all 50 states; parcel, zoning, permit, and transfer depth depend on wired county sources. Establishes recorded parcel attributes, district rules, and nearby filings without picking a winner or valuing the home. | Stop on any lane marked `notCovered` in `locus_lane_availability` and name the gap. If parcel identity is unresolved, confirm the house number before interpreting parcel or permit rows. On a private well, add `locus_groundwater_context` and `locus_groundwater_drawdown` (area context, not the owner's well). | Offer `locus-before-you-sign` ($0.07), `locus-property-update` ($0.10), or `locus-place-report` ($0.05) as priced options with what each adds. |
|
|
134
|
+
| Buying a property | Exact street address | `locus_lane_availability`, then `locus_place_facts`, `locus_zoning`, `locus_flood_zone`, `locus_parcel_transfers`, `locus_development_cases` | National hazard/environmental lanes cover all 50 states; parcel, zoning, permit, and transfer depth depend on wired county sources. Establishes recorded parcel attributes, district rules, and nearby filings without picking a winner or valuing the home. | Stop on any lane marked `notCovered` in `locus_lane_availability` and name the gap. If parcel identity is unresolved, confirm the house number before interpreting parcel or permit rows. On a private well, add `locus_groundwater_context` and `locus_groundwater_drawdown` (area context, not the owner's well). | Offer `locus-before-you-sign` ($0.07), `locus-property-update` ($0.10), or `locus-place-report` ($0.05) as priced options with what each adds. Under contract: `locus-before-you-sign-dossier` ($1.19, printable dossier); run its free `forTool` preview first. With the buyer's own price and costs: `locus-deal-analysis` ($4.99, carry arithmetic, checklist, shareable report). |
|
|
101
135
|
| Renting or checking rental registration | Exact building address | `locus_rental_registration_check`, `locus_flood_zone`, `locus_area_incidents` | Registration is wired in Minneapolis, Montgomery County, NYC, Seattle (long-term), Denver (STR license), and Kansas City (building enforcement only). | Read `recordScope` first: in Kansas City, stop before claiming whether a rental registration exists. A `no_matching_record` is not proof of legal permission or non-compliance. | Offer `locus-local-trend-brief` ($0.05) or `locus-rental-operations-brief` ($0.79) only if the user asks for trend or rent-median comparison. |
|
|
102
|
-
| Leasing, lending, or commercial CMBS diligence | Exact commercial address (or county FIPS for maturity wall) | `locus_parcel_lookup`, `locus_zoning`, `locus_metro_permits`, `locus_development_cases` | Public CMBS filings cover SEC ABS-EE conduit/SASB trusts, not bank balance-sheet or agency loans. | If a CMBS or workplace lookup returns `no_matching_record`, `not_loaded`, or `out_of_coverage`, stop and report that public SEC filings did not match (never "no debt exists"). | Offer `locus-cmbs-loan-context` ($0.10), `locus-cmbs-maturity-wall` ($0.
|
|
136
|
+
| Leasing, lending, or commercial CMBS diligence | Exact commercial address (or county FIPS for maturity wall) | `locus_parcel_lookup`, `locus_zoning`, `locus_metro_permits`, `locus_development_cases` | Public CMBS filings cover SEC ABS-EE conduit/SASB trusts, not bank balance-sheet or agency loans. | If a CMBS or workplace lookup returns `no_matching_record`, `not_loaded`, or `out_of_coverage`, stop and report that public SEC filings did not match (never "no debt exists"). | Offer `locus-cmbs-loan-context` ($0.10), `locus-cmbs-maturity-wall` ($0.25), or `locus-workplace-employment-context` ($0.01) with exact price and scope. |
|
|
103
137
|
|
|
104
138
|
The detailed tables below are a reference lookup by question, not a checklist to run on every turn.
|
|
105
139
|
|
|
@@ -138,11 +172,11 @@ A **Preview** returns a bounded public-record lookup. Use it when that lookup an
|
|
|
138
172
|
- **A large set of national free tools is available with no payment or local coverage check.** Read `https://api.locus.report/tools/list` for the current free catalog; each tool also has its own `POST /api/<tool_name>` path. Use national free lanes for rural addresses too, including flood, storm, wildfire, soil, groundwater-monitoring wells, cleanup, toxic-release, underground storage tank / leaking-tank, drought, water-system and non-UCMR PFAS records, water leak-policy candidates, electric service-territory candidates, sewer-overflow/CSO context, broadband, wetland, terrain, air-quality, governing-district, housing/economic, nearby-place, public-utility, county Medicare-spending, official Sentinel-2 scene availability, aggregate traffic-crash context, open disaster-assistance dates, conforming loan limits, and mortgage-calendar facts. Mirror-backed lanes return explicit missing, partial, stale, or unavailable states instead of treating missing data as favorable.
|
|
139
173
|
- **National free tools cover all 50 states for geocodable US addresses.** Local lanes are wired jurisdiction by jurisdiction and are growing. Always expect national context. Treat local parcel, zoning, permit, tax, and development-case depth as coverage-dependent.
|
|
140
174
|
- **Start with `locus_place_facts` when lane availability says it is available.** It is the one-call address bundle for supported parcel areas: parcel facts, FEMA flood zone, governing districts, transportation context, and tax context where wired.
|
|
141
|
-
- **Use `locus_lane_availability` before paid calls.** Summary mode gives a short native-product shortlist. Use `detailLevel: "full"` or the paid index for exact paid-only atomic buy signals.
|
|
175
|
+
- **Use `locus_lane_availability` before paid calls.** Summary mode gives a short native-product shortlist. Use `detailLevel: "full"` or the paid index for exact paid-only atomic buy signals. Before `locus-before-you-sign-dossier`, add `forTool: "locus-before-you-sign-dossier"`: the free `deliverablePreview` shows which of its lanes are covered here and whether its charge rule is likely to be met.
|
|
142
176
|
- **Treat partial trend coverage as a check-first signal.** `supported_partial` trend places appear in `lanes.varies` with low paid substance; buy `locus-local-trend-brief` only when `buyRecommendations[].substanceHere` is `medium` or better. Thin exact-radius results can return a `charged:false` data-sufficiency diagnostic instead of a paid brief.
|
|
143
|
-
- **The paid catalog mixes native paid tools, promoted dual-rail routes, and paid-only atomic routes.** Read `GET /.well-known/locus-tools.json` for the current set and count. Rollout-gated tools appear in the live catalog only when configured. Six paid-only atomics cost $0.01: `locus-workplace-employment-context`, `locus-wikimedia-commons-area-context`, `locus-wikipedia-place-context`, `locus-pfas-occurrence`, `locus-nei-emissions-nearby`, and `locus-electricity-context`.
|
|
177
|
+
- **The paid catalog mixes native paid tools, promoted dual-rail routes, and paid-only atomic routes.** Read `GET /.well-known/locus-tools.json` for the current set and count. Rollout-gated tools appear in the live catalog only when configured. Six paid-only atomics cost $0.01: `locus-workplace-employment-context`, `locus-wikimedia-commons-area-context`, `locus-wikipedia-place-context`, `locus-pfas-occurrence`, `locus-nei-emissions-nearby`, and `locus-electricity-context`. Two paid-only atomics cost $0.05: `locus-legistar-property-meetings`, and `locus-surface-heat`. The paid-only `locus-surface-heat-history` costs $0.25. The paid-only `locus-evaluation-packet` costs $0.35. The paid-only `locus-field-water-use` costs $0.99. They use x402 over REST and have no free underscore, MCP, or A2A counterpart. Read the live challenge for exact price, chain, asset, recipient, and schema before payment.
|
|
144
178
|
- **Never plan against a count written in this guide.** This file is installed on disk and cannot track tools as they land, so it states no catalog totals. `GET /tools/list` (free rail) and `GET /.well-known/locus-tools.json` (full catalog) are the only authorities for what exists, what it costs, and what is enabled for a given deployment.
|
|
145
|
-
- **Paid reports are async-grade, not click-and-wait.** A full `locus-place-report` takes 60-120 seconds; set a 120-second client timeout. A failed call (502/503 or timeout) is never charged: settlement only runs after the artifact is ready, so retrying is safe. For unattended runs use `locus-place-report-batch` (one settlement, poll the job) instead of tight synchronous retries.
|
|
179
|
+
- **Paid reports are async-grade, not click-and-wait.** A full `locus-place-report` takes 60-120 seconds; set a 120-second client timeout. `locus-deal-analysis` runs up to about 200 seconds; set 240 seconds. A failed call (502/503 or timeout) is never charged: settlement only runs after the artifact is ready, so retrying is safe. For unattended runs use `locus-place-report-batch` (one settlement, poll the job) instead of tight synchronous retries.
|
|
146
180
|
- **For an owner revaluation, start free.** Check `locus_tax_calendar` and `locus_appeal_filing_guide` before a supported tax estimate. Use `locus_appeal_window` for deadline arithmetic when the notice date is known. Consider paid follow-ups only for a remaining question, after approval; do not advise whether to appeal.
|
|
147
181
|
- **Locus describes the property, never the person.** Free and public artifacts exclude owner names, phone numbers, and mailing contacts. Settled paid property responses may include the cited assessor owner-of-record field under the private-delivery limits below; it is not a contact, occupant identity, or skip trace.
|
|
148
182
|
|
|
@@ -192,7 +226,7 @@ The live HTTP 402 payment challenge on native and dual-rail REST endpoints offer
|
|
|
192
226
|
|
|
193
227
|
- **x402 (`PAYMENT-REQUIRED` / JSON `accepts[]`):** **Base USDC** (`eip155:8453`, `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`) and **Solana USDC** (`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`).
|
|
194
228
|
- **MPP (`WWW-Authenticate: Payment ..., method="tempo", intent="charge"`):** **Tempo mainnet USDC.e** (`eip155:4217`, `chainId: 4217`, currency `0x20C000000000000000000000b9537d11c60E8b50`), a separate payment protocol. Base is not required when your wallet holds Tempo mainnet `USDC.e` and can answer the MPP Tempo challenge.
|
|
195
|
-
- **Stripe MPP (`WWW-Authenticate: Payment ..., method="stripe", intent="charge"`, `>= $0.50` deliverables on REST):** advertised alongside Tempo on MPP-enabled REST deliverables priced at or above Stripe's `$0.50` card minimum (`locus-property-tax-protest-packet` at `$0.89`, `locus-before-you-sign-dossier` at `$1.19`, `locus-escrow-insurance-dossier` at `$0.89`,
|
|
229
|
+
- **Stripe MPP (`WWW-Authenticate: Payment ..., method="stripe", intent="charge"`, `>= $0.50` deliverables on REST):** advertised alongside Tempo on MPP-enabled REST deliverables priced at or above Stripe's `$0.50` card minimum (`locus-property-tax-protest-packet` at `$0.89`, `locus-before-you-sign-dossier` at `$1.19`, `locus-escrow-insurance-dossier` at `$0.89`, `locus-seller-readiness-packet` at `$0.85`, and `locus-deal-analysis` at `$4.99`) when Stripe MPP is configured. `locus-deal-analysis` is offered on Stripe (card and Link) and x402 only, not Tempo: a Stripe charge is refunded automatically when the result is `charged:false`, and x402 settles only after delivery. Link CLI / Stripe Shared Payment Token (`spt_...`) callers can settle these bundled JSON + printable HTML/PDF packets in a single challenge while sub-`$0.50` MPP-enabled tools (`$0.01-$0.49`) offer Tempo MPP and Base/Solana x402. MPP challenges (`tempo` and `stripe`) are served on direct HTTP REST (`POST /api/<tool-slug>`); MCP paid execution uses x402 (`_meta["x402/payment"]`).
|
|
196
230
|
|
|
197
231
|
AgentCash is one compatible x402 and MPP client. It creates a local payer wallet and can install its MCP server into common agent clients. Locus issues no buyer API key.
|
|
198
232
|
|
|
@@ -237,7 +271,7 @@ Install the Locus skill separately with `npx @velinussage/locus-agent-skill@late
|
|
|
237
271
|
|
|
238
272
|
**Community, subdivision, HOA/CC&R, age-restriction, and non-PII ownership structure (`/api/locus_subdivision_profile`, `/api/locus_hoa_context`, `/api/locus_age_restriction_context`, `locus_parcel_lookup`):**
|
|
239
273
|
- `locus_parcel_lookup` exposes non-PII structural ownership and tenure fields derived from the county roll (`ownershipEntityClass: "individual_or_joint" | "trust_or_estate" | "llc_or_lp" | "corporation" | "hoa_or_common_area" | "government_or_nonprofit" | "unknown"`, `coOwnerPattern`, `deedInstrumentType`, `subdivisionName`, `lastTransferDate`, `yearsSinceLastTransfer`, and `tenureCohort`) without exposing natural-person owner names on free or stored replay artifacts. Recorded situs addresses are public land records in all 50 states (state Address Confidentiality Program statutes such as NC G.S. 15C-8(h) bar substitute addresses on recorded deeds), whereas off-site mailing street addresses are never republished (`mailingDiffersFromSitus: boolean` and 2-letter `mailingState` only).
|
|
240
|
-
- `/api/locus_subdivision_profile` aggregates parcel-roll and polygon metrics across a recorded subdivision, PUD, or condo regime (unit/parcel count, ownership-class mix, absentee share, holding-period median and cohorts, year-built cohorts, assessed-value quartiles, and common-area parcels).
|
|
274
|
+
- `/api/locus_subdivision_profile` aggregates parcel-roll and polygon metrics across a recorded subdivision, PUD, or condo regime (unit/parcel count, ownership-class mix, absentee share, holding-period median and cohorts, year-built cohorts, assessed-value quartiles, and common-area parcels). It also returns `lastTransferByYear` (how many parcels last changed hands in each of the last 15 years; each parcel counts once, so earlier years undercount; `status: "not_available"` when the parcel rows carry no transfer dates, which is the usual case for the free parcel ring) and `nextCalls` with a pre-filled `/api/locus_hoa_context` call. That call carries a unit count only when the ring was complete for one named subdivision.
|
|
241
275
|
- `/api/locus_hoa_context` returns 50-state + DC statutory common-interest community rules (declaration amendment thresholds/ceilings such as UCIOA/NC/TX/CO 67%, rental-cap grandfathering and floors such as FL § 720.306(1)(h) and CA Civ. Code §§ 4740–4741, covenant voting arithmetic for a given unit count, common-area HOA entities from the roll, keyless IRS Form 990 EO BMF nonprofit filings, and county Register of Deeds pointers).
|
|
242
276
|
- `/api/locus_age_restriction_context` evaluates federal HOPA (`42 U.S.C. § 3607(b)(2)` / `24 CFR §§ 100.300–100.308`) and state 55+ housing registries/zoning overlays against tax-roll senior/homestead exemption flags, explicitly distinguishing legally age-restricted 55+/62+ communities from naturally occurring older demographics (NORCs such as Fearrington Village, NC).
|
|
243
277
|
|
|
@@ -400,7 +434,7 @@ Use the exact JSON shapes below as safe defaults. If a tool also accepts `latitu
|
|
|
400
434
|
| The question | Tool | Exact arguments | What it returns |
|
|
401
435
|
|---|---|---|---|
|
|
402
436
|
| Which endpoints fit this place and intent? | `locus_suggest_workflow` | `{ "place": "600 E 4th St, Charlotte, NC", "intent": "homebuyer_due_diligence" }` | Ranked free/paid endpoint plan, estimated costs, scope, reasons, and place-availability hints. Planning only; confirm with coverage tools. |
|
|
403
|
-
| Which tools will return data here? | `locus_lane_availability` | `{ "place": "600 E 4th St, Charlotte, NC" }` | Jurisdiction, `lanes.national/local/varies/notCovered/degraded`, paid buy signals, warnings, and `officialPortalPointers` (vetted county/statewide GIS, assessor, and recorder links when local lanes are uncovered). |
|
|
437
|
+
| Which tools will return data here? | `locus_lane_availability` | `{ "place": "600 E 4th St, Charlotte, NC" }` or `{ "place": "...", "forTool": "locus-before-you-sign-dossier", "requireLanes": ["comps_brief"] }` | Jurisdiction, `lanes.national/local/varies/notCovered/degraded`, paid buy signals, warnings, and `officialPortalPointers` (vetted county/statewide GIS, assessor, and recorder links when local lanes are uncovered). With `forTool`, also `deliverablePreview` (per-lane coverage, the charge rule, and `outlook`). |
|
|
404
438
|
| Is this city/county/ZIP in source coverage? | `locus_coverage_check` | `{ "place": "Raleigh, NC" }` | Resolved jurisdiction, supported/partial/discovery status, verified sources, missing source gaps, and `officialPortalPointers` (official assessor, GIS, recorder, permits, zoning, and statewide parcel portals for uncovered counties). |
|
|
405
439
|
| What is the whole coverage registry? | `locus_coverage_map` | `{}` | Registry-level coverage inventory for tools and jurisdictions. |
|
|
406
440
|
| Request coverage for a missing place | `locus_request_coverage` | `{ "place": "Park County, MT" }` | Acknowledgement and demand signal. No records. |
|
|
@@ -415,7 +449,7 @@ Use the exact JSON shapes below as safe defaults. If a tool also accepts `latitu
|
|
|
415
449
|
|
|
416
450
|
Route these first when the buyer already knows the property or shortlist:
|
|
417
451
|
|
|
418
|
-
1. **Three known properties:** use `locus-three-property-buyer-comparison` at `$2.49`. It calculates cited cross-property differences such as living area, lot size, build year, bedrooms, and assessment movement, then returns executable next calls for all three properties without choosing a winner.
|
|
452
|
+
1. **Three known properties:** use `locus-three-property-buyer-comparison` at `$2.49`. It calculates cited cross-property differences such as living area, lot size, build year, bedrooms, and assessment movement, then returns executable next calls for all three properties without choosing a winner. For one to three addresses with the buyer's own price, rent, and cost assumptions, `locus-deal-analysis` ($4.99) adds carry arithmetic, a comparison matrix, a diligence checklist, and a shareable co-branded report.
|
|
419
453
|
2. **A reassessment notice or owner cost question:** check free `locus_tax_calendar` and `locus_appeal_filing_guide` first, then a supported tax estimate. If a question remains and the user approves, `locus-owner-cost-review` at `$0.25` adds a recorded tax or assessment trajectory, cited programs and dates, and ready follow-up calls. The price includes one conservatively priced Turnkey signature. It does not infer the cause or determine eligibility.
|
|
420
454
|
3. **Rental operations for one property:** use `locus-rental-operations-brief` at `$0.79`. It compares the third-party subject rent estimate with the ZIP rental-listing median, then returns ready calls for current local-record follow-up. It is not rent-setting advice or tenant screening.
|
|
421
455
|
4. **Rental registration, short-term license, or building enforcement:** use free `locus_rental_registration_check` for an exact building. Read `recordScope` before interpreting the result. Long-term registration is wired in Minneapolis, Montgomery County, New York City, and Seattle. Denver is short-term-license only. Kansas City is building-enforcement only and cannot answer whether a rental registration exists. Agent-commerce callers may use the identical `$0.01` REST dual. Never turn a row or no-match into legal permission, compliance, habitability, or a person judgment.
|
|
@@ -434,6 +468,8 @@ The three RentCast workflows already use Turnkey to buy from the RentCast x402 g
|
|
|
434
468
|
|---|---|---|
|
|
435
469
|
| Free snapshot | `locus_place_facts` (free) | Paid dual of the same |
|
|
436
470
|
| Pre-sign parcel + trend + policy | `locus-before-you-sign` ($0.07) | Three separate briefs |
|
|
471
|
+
| Printable pre-signing dossier for a buyer under contract | `locus-before-you-sign-dossier` ($1.19), after the free `forTool` preview | Buying without checking `deliverablePreview` |
|
|
472
|
+
| Deal brief on the buyer's own numbers, or 2-3 properties side by side | `locus-deal-analysis` ($4.99) | Hand-built carry math plus a separate compose call |
|
|
437
473
|
| Owner programs, dates, appeal/tax rules, and parcel screens | `locus-owner-action-brief` ($0.05) | Six separate owner-action lanes |
|
|
438
474
|
| EPA proximity bundle | `locus-environmental-context` ($0.05) | Parallel toxic/RCRA/water duals |
|
|
439
475
|
| Compiled place artifact | `locus-place-report` ($0.05) | Stitching free tools into a fake report |
|
|
@@ -464,6 +500,9 @@ Dual-rail routes (a paid `/api/locus-<tool>` with a free `locus_<tool>` counterp
|
|
|
464
500
|
| `POST /api/locus-wikimedia-commons-area-context` | `$0.01` | A paid flyer, narrative, or visual-research workflow needs nearby media license metadata and attribution leads. Metadata is not reuse permission. | No eligible media or source failure returns `charged:false`. |
|
|
465
501
|
| `POST /api/locus-wikipedia-place-context` | `$0.01` | A research or media workflow needs bounded geotagged Wikipedia reference material with page and revision provenance. Results may cover places, institutions, events, or people and are not property or resident evidence. | No matching geotagged article or source failure returns `charged:false`. |
|
|
466
502
|
| `POST /api/locus-pfas-occurrence` | `$0.01` | Environmental diligence needs EPA UCMR 5 per-compound detection/non-detect counts, highest detections, or address-to-water-system resolution. | Missing system coverage, stale snapshot, unresolved service area, or unavailable source returns `charged:false`. |
|
|
503
|
+
| `POST /api/locus-surface-heat` | `$0.05` | How hot the ground around a property gets: up to 4 recent clear summer Landsat land surface temperature readings in C and F, each cited to its scene. Ground surface at about 10 a.m., not air temperature. | No clear reading returns `charged:false`. |
|
|
504
|
+
| `POST /api/locus-surface-heat-history` | `$0.25` | Summer land surface temperature by year at an address since 2013 (Landsat): per-year median, scene IDs, first-to-last change. Ground surface at about 10 a.m., not air temperature. | Fewer than 3 years with a clear reading returns `charged:false`. |
|
|
505
|
+
| `POST /api/locus-field-water-use` | `$0.99` | Farmland or rural-land diligence: OpenET satellite evapotranspiration by month and year for the last ten years (mm and inches). An estimate, not a metered withdrawal or water right. | No OpenET data, outage, or the monthly quota used up returns `charged:false`. |
|
|
467
506
|
| `POST /api/locus-nei-emissions-nearby` | `$0.01` | Environmental diligence needs distance-ranked EPA NEI facilities and per-pollutant annual quantities. Use `detailLevel: "full"` only for the complete large matrix. | No facility rows, unloaded year, or unavailable mirror returns `charged:false`. |
|
|
468
507
|
| `POST /api/locus-evaluation-packet` | `$0.35` | A lender needs the evaluation-support packet in Interagency Appraisal and Evaluation Guidelines order (parcel, zoning, permits, transfers, HPI, SFHDF flood inputs, ASTM E1527-21 screen, tax distress, treasurer status) with every source stamped. States no value. | Unresolved point or no property-description and hazard fact returns the packet with `charged: false`. |
|
|
469
508
|
| `POST /api/locus-electricity-context` | `$0.01` | Data-center, industrial, energy-development, or power-sensitive site screens need HIFLD line proximity plus EIA state price context before utility diligence. | An unresolved point or failure of both source components returns `charged:false`. |
|
|
@@ -473,6 +512,7 @@ Dual-rail routes (a paid `/api/locus-<tool>` with a free `locus_<tool>` counterp
|
|
|
473
512
|
| `POST /api/locus-listing-claim-batch` | `$0.65` | Same, for 2-3 subjects in one settlement. | Billing is binary: `charged: false` unless every subject produced cited evidence. |
|
|
474
513
|
| `POST /api/locus-place-report` | `$0.05` | Agent needs one compiled cited property-context artifact for an address or ZIP. The artifact confirms the matched subject, lists every source, and carries an honest coverage ledger. After confirmed x402 settlement or seller-escrow, the paid parcel-financials lane may include the assessor owner-of-record name for the same exact parcel (cited, not a contact). Canonical storage stays owner-free; settled replay refreshes the official field. | Unsupported or discovery-only places return no-charge diagnostics. |
|
|
475
514
|
| `POST /api/locus-property-update` | `$0.10` | Agent needs an async exact-address decision check of recent or scheduled official-record changes, nearby activity, and physical comparability, with a shareable report, PDF, and temporary video. | Ambiguous, thin, or unsupported inputs return `charged:false`; on `clarification_required`, confirm and resend `retryInput`. Poll the job and, once `flyerReady:true`, use `flyerHandoff` immediately without waiting for video. |
|
|
515
|
+
| `POST /api/locus-deal-analysis` | `$4.99` | A cited deal brief for one address, or two or three side by side: parcel, zoning, flood, permit, and rent-benchmark records; tax and carry arithmetic on the buyer's own `dealAssumptions` (price, rehab, rent, down payment, rate, hold years, up to 5 questions); a comparison matrix; a diligence checklist; and a shareable report. Optional `strategy` (`buy_and_hold`, `value_add`, `infill_entitlement`, `owner_occupant`), `includeWebSearch` (default true, kept separate from official records), and `brand` (co-branding plus `emailPackage`). Gives no buy or pass call, no value opinion, and no pick. Runs up to about 200 s: set a 240-second client timeout and sign an x402 authorization valid for at least 5 minutes. Pay by Stripe card or Link, or x402; Tempo is not offered. | Refused free before payment when an address does not resolve or the daily run cap is reached. `charged:false` on thin evidence or a failed wording check, and a Stripe charge is then refunded automatically. |
|
|
476
516
|
| `POST /api/locus-solar-property-comparison` | `$1.09` | Agent has exactly three known addresses and wants parcel-bound, dated Google Solar roof metrics beside utility candidates, cited solar-program rows, and one shared GridPulse reference. Input: `{ "addresses": ["...", "...", "..."], "financialZip": "27312", "systemKw": 8 }`. Results stay in input order for side-by-side review; Locus does not select a winner or recommend a property. | Fewer than two attributable Google Solar results return `charged:false`. The price includes up to four Turnkey signatures at the conservative Pay as You Go rate. GridPulse figures remain historical context. Licensed provider data is private, `no-store`, and excluded from public pinning. x402 only. |
|
|
477
517
|
| `POST /api/locus-solar-property-screen` | `$0.49` | Agent has one exact address and wants parcel-bound, dated Google Solar roof metrics beside utility candidates, cited programs, and a separately labeled GridPulse reference. Input: `{ "address": "...", "financialZip": "27312", "systemKw": 8 }`. | Missing or mismatched Google Solar evidence returns `charged:false` before GridPulse runs. The price includes two conservative Turnkey signature costs. No score, installation recommendation, current incentive claim, or utility-service conclusion. Private, `no-store`, x402 only. |
|
|
478
518
|
| `POST /api/locus-renovation-site-context` | `$0.10` | Agent needs the fixed renovation evidence profile for one exact address and optional `projectType`. It combines parcel facts, exact-subject permits, USDA soil interpretations, sampled terrain, FEMA flood, mapped wetlands, and EPA county radon context. | The route fixes `intent`, transaction stage, and project archetype server-side. It does not determine feasibility, condition, design, permit requirements, cost, value, or construction readiness. Thin evidence is charge-free. |
|
|
@@ -511,10 +551,10 @@ Dual-rail routes (a paid `/api/locus-<tool>` with a free `locus_<tool>` counterp
|
|
|
511
551
|
| `POST /api/locus-landslide-diligence` | `$0.05` | Agent needs separate USGS documented inventory history and exact source-native n10 model-cell evidence. | Unless both components answer, returns `charged:false`. Never a probability, parcel stability finding, engineering assessment, or safety label. |
|
|
512
552
|
| `POST /api/locus-permit-closeout-check` | `$0.05` | Agent needs exact-subject permit status plus source-published closeout or occupancy-document evidence. Registry coverage: Raleigh, unincorporated Wake County, Durham, Austin, Seattle, Chicago, Los Angeles, New York City, Philadelphia, and San Diego. It accepts an address or up to 25 jurisdiction-scoped `parcelIds`. The coverage label is generated from the source registry. | Uncovered, uncertain, unavailable, unpublished, and no-exact-match states are charge-suppressed. Not condition, compliance, suite/use permission, or closing approval. |
|
|
513
553
|
| `POST /api/locus-transaction-follow-up` | `$0.10` | Agent needs one explicit homebuyer, land-investor, developer-predevelopment, commercial-tenant, or renovation-planning packet with cited handoffs. Prefer the dedicated `locus-renovation-site-context` route for renovation work because it fixes the profile server-side. | Profile-specific component/group thresholds control chargeability. Assessor totals never establish above-grade or finished-basement area. The result is not a feasibility, condition, drainage-design, permit-requirement, cost, or valuation conclusion. Thin evidence is charge-free. |
|
|
514
|
-
| `POST /api/locus-property-tax-protest-packet` | `$0.89` | Homeowner or representative contesting a property-tax assessment needs one shareable evidence packet (cited JSON + self-contained printable HTML/PDF) bundling same-roll assessment uniformity (`locus-assessment-position`), recorded comparable sales (`locus-comps-brief`), optional proposed-figure protest comparison (`locus-valuation-challenge`), statutory appeal deadline rules, and filing portal pointers. Eligible for Stripe MPP (`method="stripe"`), Tempo MPP (`method="tempo"`), and Base/Solana x402. |
|
|
515
|
-
| `POST /api/locus-before-you-sign-dossier` | `$1.19` | Homebuyer or buyer's agent under contract needs one
|
|
516
|
-
| `POST /api/locus-escrow-insurance-dossier` | `$0.89` | Homeowner facing an escrow payment jump or homeowners insurance nonrenewal needs one two-track action dossier (cited JSON + self-contained printable HTML/PDF) bundling `locus-owner-action-brief` (exemptions, tax calendar, appeal window, LOMA screen), `locus-assessment-position`, `locus-insurance-context` (FEMA flood rule, NFIP/ACS figures, rebuild proxy), state nonrenewal notice and FAIR Plan pointers, and federal RESPA 12-month shortage rules. Eligible for Stripe MPP (`method="stripe"`), Tempo MPP (`method="tempo"`), and Base/Solana x402. |
|
|
517
|
-
| `POST /api/locus-seller-readiness-packet` | `$0.85` | Seller or listing agent preparing to list needs one pre-listing verification and permit closeout packet (cited JSON + self-contained printable HTML/PDF) bundling `locus-permit-closeout-check`, municipal permit portal rules, county assessor roll baseline, state seller property disclosure statute pointers, municipal code cases, FEMA flood-map revision notices, and special district levies. Eligible for Stripe MPP (`method="stripe"`), Tempo MPP (`method="tempo"`), and Base/Solana x402. |
|
|
554
|
+
| `POST /api/locus-property-tax-protest-packet` | `$0.89` | Homeowner or representative contesting a property-tax assessment needs one shareable evidence packet (cited JSON + self-contained printable HTML/PDF) bundling same-roll assessment uniformity (`locus-assessment-position`), recorded comparable sales (`locus-comps-brief`), optional proposed-figure protest comparison (`locus-valuation-challenge`), statutory appeal deadline rules, and filing portal pointers. Eligible for Stripe MPP (`method="stripe"`), Tempo MPP (`method="tempo"`), and Base/Solana x402. | Charged only when `assessment_position` returns cited records plus 2 of `comps_brief`, `tax_calendar`, `appeal_outcomes`. Otherwise `charged:false` and nothing settles on any rail. Every result carries `chargeBasis`: the rule, lanes with records, lanes checked with none, and lanes unavailable. Descriptive percentile and recorded sales only; never an over-assessment verdict or legal/tax advice. |
|
|
555
|
+
| `POST /api/locus-before-you-sign-dossier` | `$1.19` | Homebuyer or buyer's agent under contract needs one pre-signing dossier (cited JSON + printable HTML/PDF): parcel and roll value, surrounding parcel ring, FEMA flood zone and mandatory-purchase rule, NFIP policy cost in the ZIP, EPA TRI/RCRA/SDWIS proximity, recorded sales, published permits on the parcel, adopted tax rate, HOA and common-area parcels nearby (counts only), and local legislation. Before paying, call free `locus_lane_availability` with `{ "place": "<address>", "forTool": "locus-before-you-sign-dossier" }` (add the same `requireLanes` you plan to send). `deliverablePreview` gives each lane's coverage here and an `outlook` of `likely_charged`, `uncertain`, or `will_not_be_charged`. Eligible for Stripe MPP (`method="stripe"`), Tempo MPP (`method="tempo"`), and Base/Solana x402. | Charged only when `parcel_lookup` and `flood_zone` return cited records plus 4 of the other 9 lanes (`surrounding_parcels`, `zoning`, `comps_brief`, `environmental_context`, `local_legislation`, `permit_closeout`, `property_tax_rates`, `hoa_context`, `flood_insurance_cost`). `requireLanes` (for example `["comps_brief","local_legislation"]`) makes any lane a condition of payment. Otherwise `charged:false` and nothing settles. Every result carries `chargeBasis`. Never an inspection, appraisal, title opinion, or purchase recommendation. |
|
|
556
|
+
| `POST /api/locus-escrow-insurance-dossier` | `$0.89` | Homeowner facing an escrow payment jump or homeowners insurance nonrenewal needs one two-track action dossier (cited JSON + self-contained printable HTML/PDF) bundling `locus-owner-action-brief` (exemptions, tax calendar, appeal window, LOMA screen), `locus-assessment-position`, `locus-insurance-context` (FEMA flood rule, NFIP/ACS figures, rebuild proxy), state nonrenewal notice and FAIR Plan pointers, and federal RESPA 12-month shortage rules. Eligible for Stripe MPP (`method="stripe"`), Tempo MPP (`method="tempo"`), and Base/Solana x402. | Charged only when `parcel_lookup` returns cited records plus 3 of `assessment_position`, `owner_action_brief`, `insurance_context`, `insurance_nonrenewal_pointers`, `mitigation_incentives`. The federal RESPA calendar is included but never counts. Otherwise `charged:false`; every result carries `chargeBasis`. Never an insurance quote, servicer error finding, or legal/financial advice. |
|
|
557
|
+
| `POST /api/locus-seller-readiness-packet` | `$0.85` | Seller or listing agent preparing to list needs one pre-listing verification and permit closeout packet (cited JSON + self-contained printable HTML/PDF) bundling `locus-permit-closeout-check`, municipal permit portal rules, county assessor roll baseline, state seller property disclosure statute pointers, municipal code cases, FEMA flood-map revision notices, and special district levies. Eligible for Stripe MPP (`method="stripe"`), Tempo MPP (`method="tempo"`), and Base/Solana x402. | Charged only when `parcel_lookup` and `permit_closeout_check` return cited records plus 1 of `permit_rules`, `seller_disclosure_pointers` (a verified state statute only), `parcel_code_cases`, `flood_map_change_notices`, `special_district_levy`. Where `locus-permit-closeout-check` is not wired (see its row), expect `charged:false`. Every result carries `chargeBasis`. Never a compliance certificate, legal disclosure opinion, or inspection substitute. |
|
|
518
558
|
| `POST /api/locus-entitlement-brief` | `$0.25` | Developer, land buyer, or agent needs one pre-engineering land entitlement and LiDAR drainage dossier (cited JSON + `drainageSvg` + self-contained printable `reportHtml`) bundling subject parcel and surrounding parcel ring, zoning and overlays, physical site constraints and OSM linear ROW corridors (`locus_site_constraints`), LiDAR DEM Priority-Flood D8 flow routing and cut/fill earthwork across candidate pads (`locus_lidar_drainage_profile`), water/sewer/road/DOT infrastructure, nearby rezoning and board milestones (`locus_entitlement_activity`), and open specialist verification questions. Supports Tempo MPP (`method="tempo"`) and Base/Solana x402. | Fewer than three resolved constituent lanes return `charged:false`. Never a go/no-go verdict, approval-odds prediction, or engineering certification. |
|
|
519
559
|
| `POST /api/locus-media-locate` | `$0.05` | Agent has 1-5 photos (`mediaId`/`mediaIds` from `locus_media_upload_init` or `imageBase64`/`imagesBase64`) and needs to triangulate the US region (city, county or metro) via two-model vision (`gemini-3.8-flash` + `gemini-4-argon`), OCR signs, area codes, highway shields, and plate rules, plus ready-to-call `nextTools` (`livingThere`, `buyingThere`, `whatChangedNearby`). | `charged:false` on `low_confidence` (Tier C scenic look-alikes still return exploratory `candidates` and `nextTools` for free), `refused` (interior, person, private residence close-up), or `non_us`. Region only; never a street address, home, or person. |
|
|
520
560
|
| `POST /api/locus-video-locate` | `$0.10` | Same two-model vision triangulation and `nextTools` for a short uploaded video clip (MP4/MOV up to 60 s via `mediaId`, `mediaType: "video"`). | `charged:false` on clips over 60 s (`duration_exceeded`), multi-location compilations, `low_confidence`, `refused`, or `non_us`. |
|
|
@@ -1100,6 +1140,16 @@ changes what a call is allowed to do.
|
|
|
1100
1140
|
- Payment metadata binds to the tool and a canonical hash of arguments, not the raw address.
|
|
1101
1141
|
- Use live catalogs instead of copying prices or schemas.
|
|
1102
1142
|
|
|
1143
|
+
## Brand a paid report or video for a brokerage
|
|
1144
|
+
|
|
1145
|
+
Four paid routes take an optional `brand` object: `/api/locus-place-report`, `/api/locus-report-compose`, `/api/locus-property-update`, and `/api/locus-deal-analysis`.
|
|
1146
|
+
|
|
1147
|
+
- **What you can send:** `name`, `organization`, `license`, `phone`, `email`, `website`, `primaryColor`, `accentColor`, `preparedFor`, and `logoDataUri` (inline PNG, JPEG, or WebP, 512 KB or less). `/api/locus-property-update` also accepts an HTTPS `logo`.
|
|
1148
|
+
- **What it changes:** the look of the HTML view, the PDF, and the video, plus a footer that reads "Prepared by [brokerage] · Cited public records via Locus". It never changes a fact, the JSON artifact, or its hash.
|
|
1149
|
+
- **`emailPackage`:** a branded call returns `{ subject, fromLabel, replyTo, html, text }`. Send it from the caller's own mail system. Locus does not send it. If `proofPlaceholder` is present, replace that text in the links with the proof parameter first.
|
|
1150
|
+
- **`searchHighlights` on `/api/locus-property-update`:** up to four findings from an earlier search, each with `title`, `detail`, and `sourceName`. The video shows them labeled "Supplied by the preparer · not checked by Locus". A highlight with a verdict, a valuation, a ranking, screening or steering language, or personal data is refused before payment with `property_update_highlight_rejected`.
|
|
1151
|
+
- **`preparedFor` is the caller's own label for the client.** Do not look a person up to fill it.
|
|
1152
|
+
|
|
1103
1153
|
## x402 payment flow
|
|
1104
1154
|
|
|
1105
1155
|
The paid catalog includes native products, promoted free duals, and paid-only atomics. Native tools use the transports listed in their catalogs. Paid-only atomics are REST-only.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: locus-escrow-shock
|
|
3
3
|
preamble-tier: 1
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.0
|
|
5
5
|
description: Use when an owner, or their agent, asks why their mortgage payment or escrow went up and what they can do, and has the servicer's escrow analysis letter. Splits the change into its tax and insurance parts and routes each part to cited Locus records, dated windows and choices.
|
|
6
6
|
triggers:
|
|
7
7
|
- my mortgage payment went up
|
|
@@ -123,7 +123,11 @@ they do. Do not collect the loan number, account numbers, names or phone numbers
|
|
|
123
123
|
usual analysis) surfaces the next escrow analysis 30 days ahead. When the owner wants a single
|
|
124
124
|
self-contained printable HTML/PDF + JSON dossier combining the tax-track and insurance-track
|
|
125
125
|
records in one settlement, offer `locus-escrow-insurance-dossier` (`$0.89`, eligible for
|
|
126
|
-
Stripe MPP `method="stripe"`, Tempo MPP `method="tempo"`, and Base/Solana x402).
|
|
126
|
+
Stripe MPP `method="stripe"`, Tempo MPP `method="tempo"`, and Base/Solana x402). It is charged
|
|
127
|
+
only when the parcel record plus 3 of the roll position, owner relief programs, insurance cost
|
|
128
|
+
context, nonrenewal rules, and mitigation credits return cited records. The federal RESPA rules
|
|
129
|
+
are included but never count. Otherwise `charged:false`; `chargeBasis` shows which lanes had
|
|
130
|
+
records.
|
|
127
131
|
16. **Optional caller-paid partner x402 handoffs (`handoffs[]`, offer only after user approval):**
|
|
128
132
|
- `insurance_market.querylines` (`$0.10` x402 on Base, returned on `locus_homeowners_insurance_context`,
|
|
129
133
|
`locus-insurance-context`, and `locus-escrow-insurance-dossier`):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: locus-insurance-nonrenewal
|
|
3
3
|
preamble-tier: 1
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.0
|
|
5
5
|
description: Use when a US homeowner says their homeowners insurer will not renew, or is dropping, their policy and wants to know the state notice rule, the insurer of last resort, the complaint route, mitigation credits, flood exposure and the dates that matter before the policy lapses, from cited Locus records.
|
|
6
6
|
triggers:
|
|
7
7
|
- my insurer won't renew my policy
|
|
@@ -115,7 +115,10 @@ End with a short dated list of the owner's choices, for example:
|
|
|
115
115
|
nonrenewal and FAIR Plan pointers, FEMA flood and NFIP/ACS insurance benchmarks, mitigation
|
|
116
116
|
credits, assessment position, and RESPA escrow rules in a single settlement, offer
|
|
117
117
|
`locus-escrow-insurance-dossier` (`$0.89`, eligible for Stripe MPP `method="stripe"`, Tempo MPP
|
|
118
|
-
`method="tempo"`, and Base/Solana x402).
|
|
118
|
+
`method="tempo"`, and Base/Solana x402). It is charged only when the parcel record plus 3 of the
|
|
119
|
+
roll position, owner relief programs, insurance cost context, nonrenewal rules, and mitigation
|
|
120
|
+
credits return cited records. The federal RESPA rules are included but never count. Otherwise
|
|
121
|
+
`charged:false`; `chargeBasis` shows which lanes had records.
|
|
119
122
|
- **Optional caller-paid partner x402 handoffs (`handoffs[]`, offer only after user approval):**
|
|
120
123
|
- `insurance_market.querylines` (`$0.10` x402 on Base, returned on `locus_insurance_nonrenewal_pointers`,
|
|
121
124
|
`locus_homeowners_insurance_context`, `locus-insurance-context`, and `locus-escrow-insurance-dossier`):
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: locus-land-entitlement
|
|
3
3
|
description: Use when a developer, land buyer, builder, or agent needs a pre-engineering land entitlement, rezoning, subdivision, physical site-constraint, LiDAR drainage/earthwork, or utility-reach screen for a US parcel or address from cited Locus records without turning public records into a go/no-go verdict.
|
|
4
4
|
preamble-tier: 2
|
|
5
|
-
version: 1.
|
|
5
|
+
version: 1.3.0
|
|
6
6
|
triggers:
|
|
7
7
|
- land entitlement
|
|
8
8
|
- rezoning feasibility
|
|
@@ -68,8 +68,9 @@ Produce a cited, pre-engineering land entitlement and physical site-constraints
|
|
|
68
68
|
- Call `locus_lidar_drainage_profile` (`padHalfSizeFt: 75`, `includeDeliverables: true`).
|
|
69
69
|
- Present the deterministic terrain findings:
|
|
70
70
|
- **DEM Source & Resolution:** NC OneMap 3-ft LiDAR (`DEM03`) where covered, or USGS 3DEP Float32 GeoTIFF / grid nationally.
|
|
71
|
-
- **Drainage & Upslope Catchment:** `
|
|
72
|
-
- **Earthwork & Pad Comparison:** least-squares guidance-plane `naturalGradePct`, `fallDirectionDeg`,
|
|
71
|
+
- **Drainage & Upslope Catchment:** per pad `drainage`: `upstreamCatchmentAcres`, `offPadWaterInAcres` (walked along the Priority-Flood D8 receiver graph so meandering boundary crossings are never double-counted), `padDirectRainAcres`, `waterInByEdgeAcres` / `waterOutByEdgeAcres`, and `primaryOutlet` (edge, compass, drainage acres). Site-wide: `ditchChannels` (length, drop, `longitudinalSlopePct`) and mapped `lowSpots` (`areaSqFt`, `maxDepthFt`, `volumeYd3`).
|
|
72
|
+
- **Earthwork & Pad Comparison:** per pad `earthwork`: least-squares guidance-plane `naturalGradePct`, `fallDirectionDeg`, `reliefFt`, and `tiltedPlaneEarthwork` vs. `levelPadEarthwork` (`cutYd3` / `fillYd3` / `netYd3`). The side-by-side `candidatePads` table (`subject`, `east`, `north`) repeats these per pad. Show each pad's figures; do not pick one.
|
|
73
|
+
- **Design Storm & Soils:** `rainSimulation` (`designStormLabel`, `runoffCoefficientPct`, `catchmentNetRunoffYd3`, `pondingDepthBins`) and `excavationSoilAssessment` for the subject pad.
|
|
73
74
|
- **Neighboring Soil Fallback:** when the pad center falls on unrated `"Urban land"`, report `neighboringSoilZones` (~150 m N/S/E/W) for perimeter swale and infiltration context.
|
|
74
75
|
6. **Water, Sewer, Power & Road Infrastructure Screen (free):**
|
|
75
76
|
- Call `locus_utility_service_check`, `locus_water_supply_status`, and `locus_transportation_context`.
|
|
@@ -79,4 +80,8 @@ Produce a cited, pre-engineering land entitlement and physical site-constraints
|
|
|
79
80
|
- Report `caseCountsByCategory` (`rezoning`, `conditionalOrSpecialUse`, `subdivision`, `siteOrDevelopmentPlan`), `dispositionCounts`, `boardMilestones` (TRC, Planning Board, and Governing Body recommendations/actions where published, such as Chatham County's `Subdivisions_and_Rezonings` layer and Raleigh's `DevelopmentPlans`), and `observedCycleTimeDays` (`medianDays`, `minDays`, `maxDays`, `sampleSize`).
|
|
80
81
|
8. **Paid One-Call Bundle (`locus-entitlement-brief`, `$0.25`):**
|
|
81
82
|
- When the user wants the complete compiled dossier (cited JSON + `drainageSvg` + print-ready `reportHtml` with interactive flow-step inspection and specialist questions by discipline), check `locus_lane_availability`, state the `$0.25` price (Tempo MPP or Base/Solana x402), and call `POST /api/locus-entitlement-brief` only after explicit user payment approval.
|
|
83
|
+
- The brief returns `executiveSummary` (`headline`, `keyFindings`, `constraintFlags`, `entitlementPathIndicators`), then `parcelAndAssemblage`, `zoningAndOverlays`, `siteConstraints`, `lidarDrainageAndEarthwork` (the step 5 fields, including `candidatePads`), `utilityAndRoadCapacity`, `entitlementActivity`, `provenance`, and `caveats`.
|
|
82
84
|
- Always close with `openQuestionsByDiscipline` (`civilAndStormwaterEngineer`, `landUseAttorneyAndPlanner`, `utilityAndEnvironmentalHealth`, `geotechnicalAndSoilScientist`).
|
|
85
|
+
9. **Optional Paid Follow-Ups (with approval):**
|
|
86
|
+
- **Farmland or rural land:** `locus-field-water-use` (`$0.99`) gives OpenET field water use (evapotranspiration) by month and year for the last ten years at the point, contiguous US. It is an estimate of water the land used, not a water right or metered pumping.
|
|
87
|
+
- **The buyer's own numbers:** `locus-deal-analysis` (`$4.99`, `strategy: "infill_entitlement"`) adds carry arithmetic on the buyer's price and cost assumptions and a diligence checklist.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: locus-property-tax-protest
|
|
3
3
|
preamble-tier: 1
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.3.0
|
|
5
5
|
description: Use when an owner or their agent wants to contest a property-tax assessment for one US address and needs the deadline, the cited evidence, the filing steps and an outcome baseline from Locus tools.
|
|
6
6
|
triggers:
|
|
7
7
|
- protest my property taxes
|
|
@@ -62,7 +62,9 @@ anything the filing portal does not require.
|
|
|
62
62
|
`locus-property-tax-protest-packet` (`$0.89`, eligible for Stripe MPP `method="stripe"`, Tempo
|
|
63
63
|
MPP `method="tempo"`, and Base/Solana x402), which bundles `locus-assessment-position`,
|
|
64
64
|
`locus-comps-brief`, optional `locus-valuation-challenge`, the statutory appeal window, and
|
|
65
|
-
filing guide pointers into one deliverable
|
|
65
|
+
filing guide pointers into one deliverable. It is charged only when the same-roll assessment
|
|
66
|
+
position returns cited records plus 2 of recorded sales, the tax calendar, and appeal outcomes;
|
|
67
|
+
otherwise `charged:false` and nothing settles. Read `chargeBasis` to see which lanes had records.
|
|
66
68
|
6. Present the two grounds the boards recognize as two record tables, not conclusions:
|
|
67
69
|
market evidence (recorded sales, dates, prices, price per land square foot) and uniformity
|
|
68
70
|
evidence (assessed values of same-class neighbors and where the subject sits). Any adjustment
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: locus-seller-readiness
|
|
3
3
|
preamble-tier: 1
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.4.0
|
|
5
5
|
description: Use when an owner who plans to sell one US property, or their agent, wants a pre-listing check of disclosure law, open permits, code cases, flood status, district levies and closing-tax arithmetic from cited Locus records.
|
|
6
6
|
triggers:
|
|
7
7
|
- getting ready to sell my house
|
|
@@ -95,7 +95,10 @@ narratives about past tenants.
|
|
|
95
95
|
packet combining `locus-permit-closeout-check`, municipal permit portal rules, assessor roll
|
|
96
96
|
baseline, state seller disclosure pointers, code cases, flood-map notices, and special district
|
|
97
97
|
levies in a single settlement, offer `locus-seller-readiness-packet` (`$0.85`, eligible for
|
|
98
|
-
Stripe MPP `method="stripe"`, Tempo MPP `method="tempo"`, and Base/Solana x402).
|
|
98
|
+
Stripe MPP `method="stripe"`, Tempo MPP `method="tempo"`, and Base/Solana x402). It is charged
|
|
99
|
+
only when the parcel record and a published permit-closeout result both return cited records,
|
|
100
|
+
plus one more place-specific lane. Where step 4's closeout check is out of coverage, the packet
|
|
101
|
+
returns `charged:false`. Say so before offering it. `chargeBasis` names any missing lane.
|
|
99
102
|
|
|
100
103
|
## 7. Service-line material (free)
|
|
101
104
|
|