ci(tiles): geometry validation and shared-border topology repair via Tippecanoe pipeline #132
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/tippecanoe-geometry-topology-pipeline"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Executed playbook:
skill://poteto-mode/playbooks/feature.mdPrinciples applied:
principle-model-the-domain: Enforced RFC 7946 right-hand rule polygon winding orders (CCW exterior rings with positive shoelace signed area, CW interior hole rings with negative signed area) and ring closure across GeoJSON vector geometries.principle-boundary-discipline: Validated coordinate ranges, bounded precision to 6 decimal places (~10cm resolution), filtered out degenerate linear rings, and checked PMTiles v3 archives usingpmtiles verify.principle-subtract-before-you-add: Leveraged upstream standard Tippecanoe topology flags (--detect-shared-borders --coalesce-densest-as-needed --hilbert) and pure Python geometry cleaning without introducing bespoke in-house Rust tools or heavy external C extensions.principle-test-behavior-not-implementation: Asserted literal repaired coordinates, closed vertex equality, shoelace area positivity, PMTiles integrity, and CLI argument processing across Vitest test suites.Impact:
Verification:
pnpm test: 50 test files passed (346 tests).pnpm exec tsc --noEmit: 0 TypeScript compiler errors.pnpm exec vp check: 0 formatting or linting errors across 325 files.python3 scripts/ingest-real-concessions.py --verify-winding: Passed all RFC 7946 polygon winding and geometry repair checks../scripts/build-pmtiles.sh: Successfully compiledpeat_soil.pmtilesandkhg.pmtileswith--detect-shared-borders --coalesce-densest-as-needed --hilbertand passedpmtiles verify.Closes #33
6-Axis Review: PR #132 (
feat/tippecanoe-geometry-topology-pipeline)Executed Playbook:
skill://poteto-mode/playbooks/shipping.mdPrinciples Applied:
principle-model-the-domain: Enforced RFC 7946 right-hand rule polygon winding orders (exterior rings CCW with positive shoelace signed area, interior hole rings CW with negative signed area) and ring closure across GeoJSON vector geometries.principle-boundary-discipline: Validated coordinate ranges, bounded precision to 6 decimal places (~10cm resolution), filtered out degenerate linear rings (<4 points), and verified PMTiles archives usingpmtiles verify.principle-subtract-before-you-add: Leveraged upstream standard Tippecanoe topology flags (--detect-shared-borders --coalesce-densest-as-needed --hilbert) and pure Python geometry cleaning without introducing bespoke in-house Rust tools or heavy external C dependencies.principle-test-behavior-not-implementation: Verified end-to-end GeoJSON cleaning (repairing unclosed clockwise rings to closed counter-clockwise rings with 6-decimal rounding), archive integrity, and feature attributes via Vitest.principle-prove-it-works: Verified the entire battery withnode scripts/verify-pr.mjs 132,vp check,tsc --noEmit, Vitest test suite, and python CLI self-checks.Gate 1: Mechanical Verification Gate
node scripts/verify-pr.mjs 132: Passed. PR title adheres to conventional commit specification and principle citations validated.vp check: Passed. 0 warnings, 0 lint errors across 156 files, 325 files formatted.pnpm exec tsc --noEmit: Passed with 0 TypeScript compiler errors.pnpm test: Passed. 50 test files passed (346 tests).python3 scripts/ingest-real-concessions.py --verify-winding: Passed all RFC 7946 winding order checks.bash -n scripts/build-pmtiles.sh: Validated shell syntax.Gate 2: Ponytail Audit (
skill://ponytail-review,skill://ponytail-audit)urllib,json,os,sys,argparse).Lean already. Ship.Net lines to cut: 0 lines.Gate 3: Doubt-Driven Analysis (
skill://doubt-driven-development)Gate 4: Security & Hardening (
skill://security-and-hardening)Gate 5: Code Quality & Simplification (
skill://code-review-and-quality,skill://code-simplification)pmtiles verify.Gate 6: Poteto Shipping Protocol (
skill://poteto-mode/playbooks/shipping.md)16fa8a4689ca5bd821cd68c5cf50714931144b6fverified against merge baseb8a098b39dadad085280964c46c406f3719bbbf2.Verdict: APPROVE
Review: PR #132 (
feat/tippecanoe-geometry-topology-pipeline)Gate 1: Mechanical Verification Gate — FAILED (CI Status Check)
Verify Quality & Build) failed during step 10 (Run unit test suite)..cache/does not exist.writeFileSync(tempIn, ...)throwsENOENTbecause the directory was not created.In
scripts/__tests__/build-pmtiles.test.ts:mkdirSyncfrom"node:fs".mkdirSync(resolve(rootDir, ".cache"), { recursive: true });before writingtempIn.pnpm exec vp check) and push to branchfeat/tippecanoe-geometry-topology-pipeline.Verdict: REQUEST_CHANGES
6-Axis Review: PR #132 (
feat/tippecanoe-geometry-topology-pipeline) - Pass 2Executed Playbook:
skill://poteto-mode/playbooks/shipping.mdGate 1: Mechanical Verification Gate — PASSED
CI / Verify Quality & Build (pull_request)succeeded on head commitf0d5800694f5b57a0efb406548e980555515c3fe.vp checkclean.mkdirSync(cacheDir, { recursive: true })fixed the fresh-checkout ENOENT issue inscripts/__tests__/build-pmtiles.test.ts.Gates 2-5: Re-confirmed
Gate 6: Poteto Shipping Protocol
main.Verdict: APPROVE