Page:
Repo-codex-IMPLEMENTATION-TASKS
Pages
Codex-Project-Index
Repo-LICENSE-NOT-SELECTED
Repo-README
Repo-codex-BACKLOG
Repo-codex-CODEX-MASTER-PROMPT
Repo-codex-IMPLEMENTATION-TASKS
Repo-docs-00-executive-summary
Repo-docs-01-product-requirements
Repo-docs-02-mvp-scope
Repo-docs-03-system-architecture
Repo-docs-04-data-sources
Repo-docs-05-routing-and-scoring
Repo-docs-06-offline-strategy
Repo-docs-07-ux-flows
Repo-docs-08-data-model
Repo-docs-09-api-contract
Repo-docs-10-integrations
Repo-docs-11-local-rules-and-liability
Repo-docs-12-community-intel
Repo-docs-13-security-privacy
Repo-docs-14-testing-plan
Repo-docs-15-roadmap
Repo-docs-source-references
Repo-examples-sample-stage-plan
Clone
1
Repo-codex-IMPLEMENTATION-TASKS
zemion edited this page 2026-07-06 14:40:51 +02:00
Table of Contents
Mirrored from
/mnt/DATA/git/pikebacker/codex/IMPLEMENTATION_TASKS.md. Origin:repository. Active tasks and changing state belong in Gitea issues; this wiki page is durable project context.
Implementation Tasks for Codex
Task 1 — Create monorepo scaffold
Create:
apps/web
apps/mobile
services/api
services/data-pipeline
packages/shared
Acceptance criteria:
- root package/workspace or equivalent created;
- lint/test scripts documented;
- shared domain types imported by web/API where applicable;
.env.examplefiles created;- no API keys committed.
Task 2 — Implement shared domain types and scoring
Implement TypeScript types from schemas/domain_types.ts.
Add pure functions:
scoreSegment(segment, profile);scoreRoute(route, profile);detectCriticalGaps(route, pois, thresholds);estimateHikeABikeRisk(segment, profile).
Acceptance criteria:
- unit tests pass;
- sample scoring fixture returns expected warnings;
- profile thresholds are configurable.
Task 3 — Backend API mock MVP
Implement endpoints from schemas/openapi.yaml with mock data:
POST /v1/routes/plan,POST /v1/stages/plan,GET /v1/routes/{id}/pois,GET /v1/routes/{id}/gaps,POST /v1/offline-packs,GET /v1/routes/{id}/export?format=gpx,POST /v1/reports.
Acceptance criteria:
- returns deterministic responses from
examples/; - API validation is implemented;
- tests cover success and error cases.
Task 4 — Stage planner
Implement stage splitting:
- respect min/max daily distance;
- prefer endpoints near sleep options;
- avoid long water/food gaps at stage end;
- include Plan A/B endpoints;
- generate warnings.
Acceptance criteria:
- 3-day and 5-day fixture routes produce plausible stages;
- no stage exceeds hard constraints unless warning returned;
- sleep candidates attached to each stage.
Task 5 — Web planner UI
Build a web UI:
- trip request form;
- map panel;
- stage timeline;
- POI filter toggles;
- warnings panel;
- export/offline buttons.
Acceptance criteria:
- user can submit sample trip and see route/stages;
- route-corridor POIs shown/listed;
- critical warnings visible;
- GPX export downloads.
Task 6 — GPX export
Generate valid GPX with:
- route geometry;
- waypoints for stage endpoints;
- optional POIs/course points;
- metadata and attribution.
Acceptance criteria:
- validates as XML;
- imports into common route viewers;
- includes stage waypoints.
Task 7 — Offline pack manifest
Implement offline manifest generation.
Acceptance criteria:
- includes route, stages, POIs, rules, exports, data versions;
- marks unavailable layers clearly;
- supports future tile pack file references.
Task 8 — Data pipeline skeleton
Implement scripts/docs for:
- reading OSM PBF extract;
- extracting POI categories;
- normalizing tags;
- inserting into PostGIS;
- importing protected areas/rule cards later.
Acceptance criteria:
- one small sample extract/fixture works;
- schema migrations documented;
- source attribution stored.
Task 9 — Provider adapters
Add adapters:
- mock routing provider;
- openrouteservice provider placeholder;
- GraphHopper/Valhalla adapter interfaces;
- OSM POI provider.
Acceptance criteria:
- provider selected via environment/config;
- mock provider is default;
- external provider failures return actionable errors.
Task 10 — Community reports
Implement structured report model and UI submission.
Acceptance criteria:
- reports typed and dated;
- offline queue represented;
- reports can attach to route meters/location;
- moderation status supported.