Skip to main content
Glama

ProjectPermit / BuildRequirements — フェーズ0

ProjectPermit は、建設および改修プロジェクト向けのエビデンス連携型自治体許可証プリフライトエンジンです。BuildRequirements は、その内部にある決定論的ルールエンジンです。

フェーズ0 では以下をサポートします:

  • gatineau_qc

  • ottawa_on

  • 8つのプロジェクトファミリー

  • 自治体 GIS/ジオコーダーによる住所解決

  • ルールバージョンとオーバーレイを考慮した結果

  • すべてのルール結果に対する公式ソースのエビデンス

  • FastAPI エンドポイントと標準 MCP ツール

  • 有料トランスポート層とルールエンジン間の x402 対応の分離

このエンジンは意図的に LLM を呼び出しません。呼び出し側エージェントが自然言語のスコープを構造化されたファクトに正規化し、BuildRequirements が決定論的な自治体ルールを適用します。

クイックスタート

python -m venv .venv
source .venv/bin/activate
pip install -e .
uvicorn projectpermit.api:app --host 127.0.0.1 --port 8000

MCP サポートの場合:

pip install -e '.[mcp]'
projectpermit-mcp

projectpermit-mcp は、MCP Python SDK v2 Streamable HTTP、JSON レスポンス、およびステートレス HTTP を使用します。デフォルトでは 127.0.0.1:8001 で待ち受けます。PROJECTPERMIT_MCP_HOST と PROJECTPERMIT_MCP_PORT で上書きできます。

テストの実行:

PYTHONPATH=src python -m unittest discover -s tests -v

Related MCP server: LCS CAD MCP

API

POST /v1/check-project-requirements

例:

{
  "jurisdiction": "ottawa_on",
  "address": "110 Laurier Ave W, Ottawa, ON",
  "resolve_address": false,
  "project": {
    "family": "window_door",
    "action": "enlarge_existing_window",
    "structural_change": true
  }
}

この結果はプリフライト情報パッケージであり、自治体の承認、法的アドバイス、エンジニアリング認定、または建築コードに基づく設計承認ではありません。

リポジトリマップ

  • src/projectpermit/engine.py — 決定論的ルールエンジン

  • src/projectpermit/address.py — 自治体住所/GIS アダプター

  • src/projectpermit/api.py — HTTP API

  • src/projectpermit/mcp_server.py — 標準 MCP サーバー

  • data/golden_cases.json — 決定論的リグレッションコーパス

  • data/source_manifest.json — 公式ソースレジストリ/鮮度メタデータ

  • schemas/ — 公開リクエスト/レスポンススキーマ

  • docs/PHASE0_SPEC.md — 製品およびエンジニアリングスコープ

  • docs/X402_ARCHITECTURE.md — 決済/ディスカバリ設計

Base Sepolia x402 スモークプロファイル

公開値のみを含むテストネットプロファイルが config/x402.base-sepolia.env.example に用意されています。これは Base Sepolia(eip155:84532)と x402.org テストネットファシリテーターを対象としています。受信アドレスは公開されています。このリポジトリに秘密鍵やシードフレーズを絶対に置かないでください。

set -a
source config/x402.base-sepolia.env.example
set +a
pip install -e '.[x402]'
uvicorn projectpermit.api:app --host 0.0.0.0 --port 8000

保護対象リソースは POST /v1/check-project-requirements です。/health はデプロイ監視用に無料のままです。

実際の有料スモークテスト

これはお使いのマシンでのみ実行してください。支払い者の秘密鍵はローカルに保管し、絶対に貼り付けたりコミットしたりしないでください。

python -m venv .venv-buyer
source .venv-buyer/bin/activate
pip install -e '.[buyer]'
export EVM_PRIVATE_KEY='0x...'
python scripts/x402_paid_smoke.py

支払い者ウォレットには、$0.01 のテスト支払いに十分な Base Sepolia USDC が必要です。成功した実行では HTTP 200 とデコードされた決済レスポンスが返されるはずです。サーバー自体は支払い者の秘密鍵を必要としません。

フェーズ0 の安全境界

判定では、不確実性が存在する場合に LIKELY_REQUIRED、LIKELY_NOT_REQUIRED、ADDITIONAL_REVIEW_REQUIRED、MUNICIPAL_CONFIRMATION_REQUIRED などのプリフライト用語を意図的に使用します。このエンジンは、自治体、許可証発行機関、弁護士、建築家、またはエンジニアとして提示されるべきではありません。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Professional building code compliance assistant that interfaces with municipal building codes, helping contractors and builders navigate complex regulatory requirements with precision.
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Exposes Pre-DCR and Auto-DCR building scrutiny workflows as AI-consumable tools, enabling AI assistants to open DXF drawings, validate layers, compute areas, run regulatory checks, and generate compliance reports via natural language.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables users to run deterministic rule checks against their own metrics or HTTP/CSV sources and pull back a short decision brief: only the items that crossed a threshold, each with the number that tripped it and suggested next steps. Users can also record accept/reject/edit feedback so subsequent briefs reflect their own playbook, all without API keys or a live LLM.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to retrieve verbatim U.S. mortgage regulations with citations and effective dates, verify quotes, and run guided compliance playbooks without sending user documents to the server.
    MIT