Providers and data

Each capability uses the recipient's account and its own permission boundary. The personal Atelier preview allowance is a separate typed integration; this source preserves the original adapters.

Capability Private configuration Source
Durable store and queue SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY backend/database.py, backend/workers
Room analysis, scope and reports GEMINI_API_KEY; optional GEMINI_FLASH_MODEL, GEMINI_PRO_MODEL backend/pipeline/gemini_client.py, backend/pricing/v5_*
Comparable acquisition CASAFARI_API_TOKEN backend/clients/casafari_client.py
Listing/photo acquisition SCRAPFLY_API_KEY, SCRAPINGDOG_API_KEY backend/scraper, backend/pricing/image_cache.py
Embedding and older Vertex adapters GOOGLE_CLOUD_PROJECT_ID, GOOGLE_APPLICATION_CREDENTIALS backend/pricing/embedding_runtime.py, backend/scraper/parsers
Place/transport context GOOGLE_MAPS_API_KEY, FOURSQUARE_API_KEY, TRANSITLAND_API_KEY backend/clients, backend/routes/curation_v2.py
Browser map NEXT_PUBLIC_MAPBOX_TOKEN frontend/src/components

Use tools/runtime-env.py for hidden input, private-file permissions, masked doctor and selected-file execution. Backend source reads explicit process environment. Original credential literals, personal aliases, ancestor dotenv discovery and business account defaults are removed from this derivative. Gemini configuration occurs at the actual call boundary; key values and fragments stay out of its setup logs.

Models

The original MODELS mapping is retained as historical source behaviour. Full identifiers remain accepted; GEMINI_FLASH_MODEL and GEMINI_PRO_MODEL override the corresponding aliases for an owned installation. Select models supported by the recipient's account and verify structured-output/image behaviour for the actual stage. Google's model catalogue, checked28 October 2026, lists the current model families and lifecycle. The original SDK and model-stage integration have fixture/source evidence; live account acceptance remains a separate check.

The historical token-pricing tables are dated engineering records. Provider billing and actual usage receipts govern charges. The source does not claim those old tables are today's prices.

Data rights

Code permission and data permission are separate. Original BCCA/construction databases, indexes, embeddings, reference derivatives, commercial comparable responses, property images and customer rows are excluded from the export. Recipients supply their own licensed inputs. The included SYNTH-* prices, room measurements and local receipts are independently authored demonstration data, labelled synthetic at the row and receipt boundary.

Historical building manuals, copied standards, Uniclass distributions and other third-party documents remain outside this source release until their own terms are reconciled. Original prompts, schemas, calculation code and architecture guides remain available. Setup identifies required regeneration artifacts and the queue-schema gap.

Optional worker notifications and retained communications helpers use the communications group with the recipient’s Twilio/Meta/Resend credentials, sender IDs, webhook verification value and public callback origin. The Estimate entry leaves those routers unmounted; commissioning this separate capability includes its own webhook/auth/recipient acceptance. Vertex selection maps the owned project ID to the standard GOOGLE_CLOUD_PROJECT environment name.

The scraper’s existing google.genai import is declared as google-genai 1.62.0, whose published metadata accepts the original Pydantic 2.10.4 constraint. The original Google generative/Vertex branches remain separate. Dependency declaration and full live runtime acceptance are recorded separately in release status.

The report accepts optional recipient-owned labor_rates and machinery_rates with {name, rate} records, plus a price_basis label. The included fixture supplies only its actual synthetic composite unit prices. Unprovided decomposition/rate tables are omitted from its report.

Search documentation

Type to find a guide or section.

↑ ↓ to choose · Enter to open · Esc to close