Skip to content

clearclown/pizza

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

56 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

PI-ZZA ๐Ÿ• โ€” Process Integration & Zonal Search Agent

CI License: MIT Go Python Conventional Commits TDD PRs Welcome

ใ€Œ็ฒพๅบฆใฎ้ซ˜ใ„ใƒ‡ใƒผใ‚ฟใ€ใŠใพใก๏ผใ€ PI-ZZA ใฏใ€Google Maps ใฎ็ถฒ็พ…็š„ๆคœ็ดขใจ AI ใซใ‚ˆใ‚‹่‡ชๅพ‹ใƒ–ใƒฉใ‚ฆใ‚ธใƒณใ‚ฐใ‚’็ต„ใฟๅˆใ‚ใ›ใŸใ€ๆฌกไธ–ไปฃใฎใƒญใ‚ฑใƒผใ‚ทใƒงใƒณใƒปใ‚คใƒณใƒ†ใƒชใ‚ธใ‚งใƒณใ‚นใƒปใƒ„ใƒผใƒซใงใ™ใ€‚


๐Ÿ• ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆๆฆ‚่ฆ

ใƒ•ใƒฉใƒณใƒใƒฃใ‚คใ‚บ (FC) ๆฅญ็•ŒใซใŠใ‘ใ‚‹**ใƒกใ‚ฌใƒ•ใƒฉใƒณใƒใƒฃใ‚คใ‚ธใƒผ๏ผˆ20 ๅบ—่ˆ—ไปฅไธŠใฎ้‹ๅ–ถไผš็คพ๏ผ‰**ใฎ็‰นๅฎšใ‚„ใ€็›ดๅ–ถใƒปFC ใฎๅˆคๅˆฅใจใ„ใฃใŸใ€ไบบ้–“ใŒๆ•ฐ้€ฑ้–“ใ‹ใ‘ใฆ่กŒใ†ๆณฅ่‡ญใ„ใƒชใ‚ตใƒผใƒๆฅญๅ‹™ใ‚’ใ€AI ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆใŒๆ•ฐๆ™‚้–“ใงๅฎŒ้‚ใ•ใ›ใ‚‹ใ“ใจใ‚’็›ฎ็š„ใจใ—ใฆใ„ใพใ™ใ€‚

๐Ÿงฉ ใ‚ขใƒผใ‚ญใƒ†ใ‚ฏใƒใƒฃ โ€” 4 ใคใฎใƒˆใƒƒใƒ”ใƒณใ‚ฐ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  ๐Ÿ”ฅ Oven (Go Orchestrator)                        โ”‚
โ”‚                  cmd/pizza/ โ€” pizza bake ...                      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
          โ”‚ gRPC       โ”‚ gRPC          โ”‚ REST        โ”‚ SQLite
          โ–ผ            โ–ผ               โ–ผ             โ–ผ
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ”‚ ๐Ÿซ“ Dough  โ”‚ โ”‚ ๐Ÿ›ต Courier  โ”‚ โ”‚ ๐Ÿง€ Kitchen โ”‚ โ”‚ ๐Ÿ“ฆ Box   โ”‚
   โ”‚ Seed (Go) โ”‚ โ”‚ Delivery    โ”‚ โ”‚ Firecrawl  โ”‚ โ”‚ BI       โ”‚
   โ”‚           โ”‚ โ”‚ (Python)    โ”‚ โ”‚ (TS/AGPL)  โ”‚ โ”‚ (Py)     โ”‚
   โ”‚ M1        โ”‚ โ”‚ M3          โ”‚ โ”‚ M2         โ”‚ โ”‚ M4       โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                        โ”‚ Multi-LLM
            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
            โ–ผ           โ–ผ            โ–ผ
       Anthropic    OpenAI        Gemini
# ใƒขใ‚ธใƒฅใƒผใƒซ ๆฏ”ๅ–ฉ ๅฎŸ่ฃ…่จ€่ชž ใƒ•ใ‚ฉใƒผใ‚ฏๅ…ƒ ใƒฉใ‚คใ‚ปใƒณใ‚น
M1 Seed ๐Ÿซ“ ็”Ÿๅœฐ Go gosom/google-maps-scraper + googlemaps/google-maps-services-go MIT / Apache-2.0
M2 Kitchen ๐Ÿง€ ใƒˆใƒƒใƒ”ใƒณใ‚ฐ TypeScript mendableai/firecrawl AGPL-3.0 (REST ่ถŠๅขƒใง้š”้›ข)
M3 Delivery ๐Ÿ›ต ้…้” Python browser-use/browser-use MIT
M4 Box ๐Ÿ“ฆ ็ฎฑ Python (Streamlit + SQLite) โ€” (่‡ชไฝœ) โ€”

ๅคš่จ€่ชžๅ…ฑๅญ˜ (polyglot): Go ใ‚ชใƒผใ‚ฑใ‚นใƒˆใƒฌใƒผใ‚ฟใŒ gRPC ใงๅ„ใƒขใ‚ธใƒฅใƒผใƒซใ‚’ๆŸใญใพใ™ใ€‚ใƒ•ใ‚ฉใƒผใ‚ฏๅ…ƒ OSS ใฏๅ…ƒ่จ€่ชžใฎใพใพไฟๆŒใ—ใ€API ๅขƒ็•ŒใงๆŽฅ็ถšใ—ใพใ™ใ€‚


๐Ÿš€ Quick Bake

# 1. Clone
git clone git@github.com:clearclown/pizza.git
cd pizza

# 2. ็’ฐๅขƒๆง‹็ฏ‰ (Go / uv / buf / ใƒ„ใƒผใƒซไธ€ๅผ)
make bootstrap

# 3. ็’ฐๅขƒๅค‰ๆ•ฐ
cp .env.example .env              # GOOGLE_MAPS_API_KEY ใ‚’ๆœ€ไฝŽ้™่จญๅฎš

# 4. gRPC ใ‚ณใƒผใƒ‰็”Ÿๆˆ + Go ใƒใ‚คใƒŠใƒชใƒ“ใƒซใƒ‰
make proto
make build

# 5. ใƒ†ใ‚นใƒˆ
make test                         # Go 9 pkg ok + Python 185 pass + 6 live skipped

# 6. PI-ZZA ใ‚’็„ผใ (ๆœ€ๅฐ: Places API 1 ๆœฌใงๅ‹•ใ)
./bin/pizza bake --query "ใ‚จใƒ‹ใ‚ฟใ‚คใƒ ใƒ•ใ‚ฃใƒƒใƒˆใƒใ‚น" --area "ๆ–ฐๅฎฟ"

# 6b. Expert Panel (Gemini Flash ร— 2 + Claude critic) ใงๅˆคๅฎš
./bin/pizza serve --mode panel &    # gRPC ่ตทๅ‹• (ๅˆฅใ‚ทใ‚งใƒซๆŽจๅฅจ)
./bin/pizza bake --query "ใ‚จใƒ‹ใ‚ฟใ‚คใƒ ใƒ•ใ‚ฃใƒƒใƒˆใƒใ‚น" --area "ๆ–ฐๅฎฟ" \
    --with-judge --judge-mode panel

# 6c. Research Pipeline ใง operator ๆทฑๆŽ˜ใ‚Š + ๅบƒๅŸŸ่Š‹ใฅใ‚‹ๅผ + ๆณ•ไบบ็•ชๅท verify
./bin/pizza research --brand "ใ‚จใƒ‹ใ‚ฟใ‚คใƒ ใƒ•ใ‚ฃใƒƒใƒˆใƒใ‚น" \
    --expand --expand-area "ๆฑไบฌ้ƒฝ" --verify-houjin

# ๅ…จใƒ•ใƒฉใ‚ฐ็ขบ่ช
./bin/pizza help                  # bake / research / serve ใฎ flag ไธ€่ฆง

# 7. BI ๅฏ่ฆ–ๅŒ–
uv run streamlit run cmd/box-ui/app.py

DELIVERY_MODE ใฎๅˆ‡ๆ›ฟ:

  • mock (default) โ€” ๅ›บๅฎšๅˆคๅฎšใง็–Ž้€šใ ใ‘็ขบไฟใ€‚CI / ็–Ž้€šใƒ†ใ‚นใƒˆ็”จ
  • live โ€” .env ใฎ ANTHROPIC_API_KEY (ใพใŸใฏ OpenAI / Gemini) ใ‚’ไฝฟใฃใฆ browser-use + LLM ใง็œŸๅˆคๅฎš

๐Ÿงช ้–‹็™บใƒ•ใƒญใƒผ โ€” TDD First

ๆœฌใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใงใฏ Red โ†’ Green โ†’ Refactor ใ‚’ๅŽณๅฎˆใ—ใพใ™ใ€‚

# 1. ๐Ÿ”ด Red: ๅคฑๆ•—ใ™ใ‚‹ใƒ†ใ‚นใƒˆใ ใ‘ใ‚ณใƒŸใƒƒใƒˆ
git commit -m "test(scoring): add failing test for mega franchisee threshold"

# 2. ๐ŸŸข Green: ๆœ€ๅฐๅฎŸ่ฃ…ใงใƒ†ใ‚นใƒˆใ‚’้€šใ™
git commit -m "feat(scoring): count stores with 20+ threshold"

# 3. ๐Ÿ”ต Refactor: ๆง‹้€ ใ‚’ๆ•ดใˆใ‚‹
git commit -m "refactor(scoring): extract threshold to config"

่ฉณ็ดฐ: CONTRIBUTING.md / docs/tdd-workflow.md


๐Ÿ“ ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชๆง‹ๆˆ๏ผˆๆŠœ็ฒ‹๏ผ‰

pizza/
โ”œโ”€โ”€ api/pizza/v1/        # ๐Ÿ”Œ gRPC proto ๅฅ‘็ด„ (buf ็ฎก็†)
โ”œโ”€โ”€ cmd/                  # ๐Ÿ  ใƒใ‚คใƒŠใƒชใ‚จใƒณใƒˆใƒช (pizza, dough-service, delivery-service, box-ui)
โ”œโ”€โ”€ internal/             # ๐Ÿ• Go ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธ (oven / dough / toppings / courier / box / grid / scoring)
โ”œโ”€โ”€ services/delivery/    # ๐Ÿ Python browser-use wrapper + Multi-LLM providers
โ”œโ”€โ”€ gen/                  # ๐Ÿ“œ proto ็”Ÿๆˆ็‰ฉ (go / python / ts)
โ”œโ”€โ”€ third_party/          # ๐Ÿด upstream OSS ใฎใƒ•ใ‚ฉใƒผใ‚ฏ (git subtree)
โ”œโ”€โ”€ deploy/               # ๐Ÿšข compose.yaml, Dockerfile.*
โ”œโ”€โ”€ docs/                 # ๐Ÿ“– architecture / tdd / fork-strategy / proto-versioning
โ”œโ”€โ”€ test/                 # ๐Ÿงช E2E (testcontainers-go) + fixtures
โ””โ”€โ”€ scripts/              # ๐Ÿ›  bootstrap.sh / proto.sh / e2e.sh

ๅ…จไฝ“ๅƒใฏ ARCHITECTURE.md ใจ docs/architecture.md ใ‚’ๅ‚็…งใ€‚


๐Ÿ›  ใƒ†ใƒƒใ‚ฏใ‚นใ‚ฟใƒƒใ‚ฏ

Layer Tool
Orchestrator Go 1.22+, gRPC, bufconn, testify, gomock
API ๅฅ‘็ด„ Protocol Buffers, buf
AI ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆ browser-use, Anthropic / OpenAI / Gemini SDK
Crawler Firecrawl (REST, ใ‚ปใƒซใƒ•ใƒ›ใ‚นใƒˆใพใŸใฏ SaaS)
Maps gosom/google-maps-scraper, Google Maps Places API
Python 3.11+, uv, pytest, ruff
BI Streamlit + SQLite
CI GitHub Actions (ci / buf / codeql / release-please / upstream-sync)
Container Docker Compose (podman ไบ’ๆ›)

๐Ÿšฆ ๅฎŸ่ฃ…็Šถๆณ (Phase 2 ๆ™‚็‚น)

ๆฉŸ่ƒฝ ็Šถๆ…‹ ๅฎŸๆธฌ
M1 Seed โ€” Places API (New) ใงๅบ—่ˆ—ๆŠฝๅ‡บ ๐ŸŸข ๆ–ฐๅฎฟ 25 ใ‚ปใƒซ โ†’ 72 ๅบ—่ˆ— / 5.4s
M2 Kitchen โ€” Firecrawl REST client ๐ŸŸข unit test 9/9ใ€live ใฏ Firecrawl ็จผๅƒๆ™‚
M3 Delivery โ€” browser-use + LLM ๅˆคๅฎš ๐ŸŸข mock / live ๅˆ‡ๆ›ฟ (DELIVERY_MODE)
M4 Box โ€” SQLite + CSV + Streamlit UI ๐ŸŸข streamlit run cmd/box-ui/app.py ใงๅฏ่ฆ–ๅŒ–
Oven Pipeline.Bake ๐ŸŸข Seed โ†’ Kitchen โ†’ Judge โ†’ Box ใฎ in-process ็ตฑๅˆ
CLI pizza bake ๐ŸŸข .env ่‡ชๅ‹•่ชญ่พผ + --with-judge ใงใƒ•ใƒซ็ตฑๅˆ
Classification ็ฒพๅบฆ โ‰ฅ90% ๐ŸŸก golden 10 ใ‚ตใƒณใƒ—ใƒซใ€mock baseline 60%ใ€Phase 3 ใง LLM ็ฒพๅบฆๆ”นๅ–„
E2E testcontainers-go ๐ŸŸก skeleton ใฎใฟ

่ฉณ็ดฐใช็Šถๆณ: docs/phase1-audit.md

๐Ÿ“š ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ


๐Ÿค ใ‚ณใƒณใƒˆใƒชใƒ“ใƒฅใƒผใƒˆ

ใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆๆญ“่ฟŽใ—ใพใ™๏ผ Red โ†’ Green โ†’ Refactor ใฎ TDD ใ‚ตใ‚คใ‚ฏใƒซใจ Conventional Commits ใซๅพ“ใฃใฆใใ ใ•ใ„ใ€‚

Issue ใฏ ใ“ใกใ‚‰ใ€่ญฐ่ซ–ใฏ Discussionsใ€‚


โš–๏ธ ใƒฉใ‚คใ‚ปใƒณใ‚น

ๆœฌใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฏ MIT License ใงๅ…ฌ้–‹ใ—ใฆใ„ใพใ™ โ€” ใƒฆใƒผใƒขใ‚ขใจๅŠน็އใ‚’ๆ„›ใ™ใ‚‹ใ™ในใฆใฎใ‚จใƒณใ‚ธใƒ‹ใ‚ขใธใ€‚

ใƒ•ใ‚ฉใƒผใ‚ฏๅ…ƒ OSS ใฎใƒฉใ‚คใ‚ปใƒณใ‚นใฏๅ„ใƒชใƒใ‚ธใƒˆใƒชใซๅพ“ใ„ใพใ™ใ€‚Firecrawl ใฏ AGPL-3.0 ใงใ‚ใ‚Šใ€PI-ZZA ๆœฌไฝ“ใจใฏใƒ—ใƒญใ‚ปใ‚นๅขƒ็•Œ๏ผˆREST๏ผ‰ใงๅˆ†้›ขใ•ใ‚Œใฆใ„ใพใ™ใ€‚่ฉณ็ดฐ: docs/license-compliance.mdใ€‚

About

๐Ÿ• PI-ZZA: Process Integration & Zonal Search Agent โ€” Next-gen location intelligence for franchise research. Go orchestrator + gRPC + polyglot modules.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages