Fleet 22%101/465 tasks · 170 in progress · 30/104 phases⚠ 1 need attention
atlas96%atlas · phase 132 plansupdated 2m agohelm →
Atlas — 33/35 (94%)
Phase 1 · Setup — 2 complete
- 1.1 /atlas:setup — config owner, artifacts root, verification gates complete
- 1.2 Configure this repo via /atlas:setup complete
Phase 2 · Spec — 2 complete
- 2.1 /atlas:spec — the spec transformer, plus shipped template complete
- 2.2 Retroactive spec for the spec skill complete
Phase 3 · Brief — 1 complete
- 3.1 /atlas:brief — the lifecycle head, plus shipped template complete
Phase 4 · Research — 2 complete
- 4.1 Spec for the research skill (clean-room from the ADRs) complete
- 4.2 /atlas:research — the investigation transformer, plus shipped template complete
Phase 5 · Plan — 2 complete
- 5.1 Spec for the plan skill complete
- 5.2 /atlas:plan — the breakdown transformer, plus plan and phase templates complete
Phase 6 · Breakdown — 1 complete
- 6.1 /atlas:breakdown — flesh out one plan phase complete
Phase 7 · Base helm — 2 complete
- 7.1 Helm data layer — parse ADRs, specs, plans, and designs complete
- 7.2 Base views — log4brains-style decision browser, specs, designs, plans complete
Phase 8 · Design — 1 complete
- 8.1 /atlas:design — spec to design doc, plus shipped template complete
Phase 9 · Decide — 1 complete
- 9.1 /atlas:decide — MADR decision records complete
Phase 10 · Build assistance — 4 complete
- 10.1 /atlas:scaffold — skeleton, test stubs, work file at depth: scaffold complete
- 10.2 /atlas:implement — scope resolution, depth menu, confirm plan complete
- 10.3 /atlas:implement — ladder execution and the obligation ledger complete
- 10.4 setup: [implement] confirm-plan toggle complete
Phase 11 · Capture loop — 4 complete
- 11.1 /atlas:mark — one developer-completed piece complete
- 11.2 /atlas:log — capture an issue with relevance-matched context complete
- 11.3 /atlas:diagnose — investigate, propose, never apply complete
- 11.4 setup: [logs] error-log locations complete
Phase 12 · Reconciliation — 4 complete
- 12.1 The task-level finish command complete
- 12.2 /atlas:survey — the project-wide sweep complete
- 12.3 /atlas:survey — staged confirmations and the improvement loop complete
- 12.4 setup: [ticketing] section complete
Phase 13 · Helm completion — 7 complete
- 13.1 Drift view and attached drift display complete
- 13.2 Briefs and research views complete
- 13.3 Ticket coverage and graceful no-ticketing degradation complete
- 13.4 Prompt generation complete
- 13.5 setup: [helm] per-repo settings complete
- 13.6 Ticket enrichment at generate time complete
- 13.7 Ticket chip: native status color and assignee planned
- 13.8 Artifact type identity on tabs and cross-references complete
Phase 14 · Finalize command name — planned
- 14.1 Land the finish command's final name; sweep the interim references planned
Helm generator as a hardened, consumable library — 11/11 (100%)
Phase 1 · Injectable, side-effect-free core — 2 complete
- 1.1 Introduce Ctx and thread repoRoot/opts through build() and every reader complete
- 1.2 Add the warnings[] return channel and inject(data, opts?) signature complete
Phase 2 · Confined, bounded reads — 3 complete
- 2.1 Route all reads through readFileBounded/listDirBounded with repoRoot confinement complete
- 2.2 Enforce three deterministic caps via a shared budget complete
- 2.3 Make build() total — degradations become warnings, never throws complete
Phase 3 · Template injection fixes — 2 complete
- 3.1 Escape the JSON splice and the project name in inject() complete
- 3.2 Escape quotes in the client-side esc() complete
Phase 4 · Full artifact surface — 2 complete
- 4.1 Add readLog for .atlas/log/ entries complete
- 4.2 Add readWorklog for .atlas/worklog/ work files complete
Phase 5 · Packaging as a pinnable library — 2 complete
- 5.1 Add the root package.json with files allowlist and exports map complete
- 5.2 Sync package.json version to the release tag complete
lookout71%multi-branch-aggregation · phase 34 plans1 in progress1 driftupdated 2m agohelm →
multi-branch aggregation — 8/9 (89%)
Phase 1 · Branch discovery — 2 complete
- 1.1 Adapter: listOpenMrBranches for GitHub (PRs) and GitLab (MRs), read-only complete
- 1.2 Branch planner: integration + open-MR branches, deduped, degrade on MR-API failure complete
Phase 2 · Multi-branch fetch and aggregate — 5 complete
- 2.1 Per-branch fetch fan-out over the existing fetcher, concurrency-capped complete
- 2.2 Filter atlas-less open-MR branches via the sparse clone (no new permission) complete
- 2.3 Snapshot store keyed per (project, branch) for per-branch carry-forward complete
- 2.4 Aggregator fold: integration baseline + in-flight open-MR branches, canonicality rule complete
- 2.5 Wire run-cycle to the multi-branch path: planBranches → fetchBranches → fold complete
Phase 3 · Presentation — 1 complete
- 3.1 Board: one row per project (F13) with an in-flight indicator for open-MR work complete
- 3.2 Helm route + links keyed by (project, branch) planned
fleet status board — 17/18 (94%) · 1 in progress
Phase 1 · Fleet pipeline — 6 complete
- 1.1 Package scaffold: pnpm project, hono + TOML parser deps, atlas pinned by tag complete
- 1.2 Config loader: roster + token table, resolution by longest host+owner match, rejection rules complete
- 1.3 Platform adapters for GitHub and GitLab (remoteUrl, validate, verifyReadOnly, blobUrl, commitUrl) complete
- 1.4 Fetcher: fresh shallow sparse clone, two-phase checkout, per-project timeout, temp cleanup complete
- 1.5 Parser adapter: pinned build(), exposing the plan→phase→task tree with statuses and counts complete
- 1.6 Snapshot store: per-project last-good results on disk complete
Phase 2 · Aggregate progress model — 2 complete
- 2.1 Per-project completion roll-up, active position, attention counts complete
- 2.2 Fleet summary, health list, progress ordering, stale carry-forward (retire buckets) complete
Phase 3 · Board and serving — 1 in progress, 5 complete
- 3.1 Scheduler: interval cycles, coalesced manual trigger, no overlap complete
- 3.2 Hono server: board page, helm pages, /api/aggregate, /api/refresh, /api/health complete
- 3.3 SSE hub and live client (in-place re-render, reconnect indicator) in-progress
- 3.4 Progress renderer: fleet strip, roster rows, lookout-health line complete
- 3.5 In-place drill-to-task and helm/forge deep-links complete
- 3.6 Helm page regeneration via inject and deep links complete
Phase 4 · Image and deploy — 4 complete
- 4.1 Container image: Node + git, writable temp, lookout serve entrypoint complete
- 4.2 Deploy the image and wire token secrets into the container environment complete
- 4.3 Onboard the full fleet roster and shake out per-project errors complete
- 4.4 Ops notes: deploy steps and roster-change restart complete
Deploy resource resilience — 4/8 (50%)
Phase 1 · Kill orphaned git subprocesses — 2 complete
- 1.1 Spawn git in its own process group and SIGKILL the group on timeout complete
- 1.2 Regression test: git is spawned detached so the group is killable complete
Phase 2 · Bound fetch concurrency — 2 complete
- 2.1 Add a configurable concurrency limit to config complete
- 2.2 Bound the run-cycle fan-out with a limiter complete
Phase 3 · Measure and apply guardrails — planned
- 3.1 Measure the cycle footprint at varying concurrency planned
- 3.2 Set the concurrency default and cap values from the measurements planned
- 3.3 Apply mem_limit and pids_limit in the deploy compose planned
- 3.4 Deploy and verify the board stays up under the caps planned
Live ticket status on the board — 0/6 (0%)
Phase 1 · Read-only ticket clients — planned
- 1.1 Jira status client (batched, read-only) planned
- 1.2 GitLab issue-state client (batched, read-only) planned
Phase 2 · Resolve and enrich per cycle — planned
- 2.1 Gate by [ticketing], select client, resolve credential planned
- 2.2 Per-project batched resolve with timeout and carry-forward planned
- 2.3 Enrich ticketMeta in memory, normalized via status_map planned
Phase 3 · Board presentation — planned
- 3.1 Render live status on the task chip planned
- code-doc — built listOpenMrBranches / BranchPlan.branches carry bare branch-name strings; the design's BranchRef specifies { branch, mr:{id,title,url} }. Deferred (developer-confirmed 'names now') until the board/helm MR-attribution (tasks 3.1/3.2) needs the metadata. docs/designs/multi-branch-aggregation.md
supersonic-bot52%claude-in-discord · phase 33 plans2 in-flightupdated 2m agohelm →
Laracord framework port — 17/17 (100%)
Phase 1 · Stand up Laracord and the verification harness — 4 complete
- 1.1 Stand up a bootable Laracord app at the repo root wdvf3a687v↗ complete
- 1.2 Quarantine legacy code from Laracord discovery wdvf3a687w↗ complete
- 1.3 Stand up PHPUnit wdvf3a687x↗ complete
- 1.4 Add the tokenless discovery check wdvf3a687y↗ complete
Phase 2 · Port the app — 3 complete
- 2.1 Decouple RoleManager from the framework wdvf3a687z↗ complete
- 2.2 Wire the app service and app services into Laracord's container wdvf3a6880↗ complete
- 2.3 Green the app test suite under the new harness wdvf3a6881↗ complete
Phase 3 · Port commands and message events — 5 complete
- 3.1 Port the status command wdvf3a6882↗ complete
- 3.2 Port say, spike, and prototype commands wdvf3a6883↗ complete
- 3.3 Port the app command wdvf3a6884↗ complete
- 3.4 Port the sonic trigger and the seven live MessageListener behaviors as Events wdvf3a6885↗ complete
- 3.5 Record the TwoTruthsAndALie disposition wdvf3a6886↗ complete
Phase 4 · Cut over and verify — 5 complete
- 4.1 Delete the legacy framework and glue wdvf3a6887↗ complete
- 4.2 Remove the phase-1 quarantine wdvf3a6888↗ complete
- 4.3 Run the full tokenless acceptance sweep wdvf3a6889↗ complete
- 4.4 Update the run/setup docs wdvf3a688a↗ complete
- 4.5 Live acceptance in a test guild wdvf3a688b↗ complete
Claude in Discord (bot-initiated responder) — 7/15 (47%)
Phase 1 · Claude tool-use loop foundation — 4 complete
- 1.1 Add the Anthropic PHP SDK and confirm its tool-support surface complete
- 1.2 Build the manual tool-use loop (ToolLoop) complete
- 1.3 Bound the loop with a max-iteration cap complete
- 1.4 Model configuration and current-API-surface correctness complete
Phase 2 · Discord REST and off-loop worker — 3 complete
- 2.1 Bot-token Discord REST client (DiscordRest) complete
- 2.2 Stand up the off-loop worker mechanism complete
- 2.3 RespondToMention job skeleton over the worker complete
Phase 3 · Wire the responder end to end — planned
- 3.1 ClaudeResponder MESSAGE_CREATE Event (gate + dispatch) planned
- 3.2 Context assembly from recent history planned
- 3.3 Discord tools: read_more_history and lookup_member planned
- 3.4 Reply delivery (channel/thread, splitting) planned
- 3.5 Error and refusal handling planned
- 3.6 Configuration wiring planned
Phase 4 · Live acceptance in a test guild — planned
- 4.1 Tokenless discovery and unit gates planned
- 4.2 Live guild acceptance sweep planned
Discord MCP connector — 0/14 (0%)
Phase 1 · MCP transport on the loop — planned
- 1.1 Add php-mcp/server and bind the transport to the loop planned
- 1.2 Answer the MCP handshake with a stub tool planned
- 1.3 Serve /.well-known/oauth-protected-resource planned
- 1.4 Gate the whole surface behind MCP_ENABLED planned
Phase 2 · Discord tools and scope guard — planned
- 2.1 ChannelScopeGuard planned
- 2.2 Read tools (read_recent_messages, search_messages, read_thread, get_message, list_members) planned
- 2.3 Write tools (send_message, reply_in_thread) planned
- 2.4 Out-of-scope rejection end to end planned
Phase 3 · Bearer validation against the shared DB — planned
- 3.1 Shared-DB Eloquent connection for Passport tables planned
- 3.2 BearerValidator middleware (signature + revocation) planned
- 3.3 Short-TTL validation cache planned
Phase 4 · Live OAuth and hosting — planned
- 4.1 Public HTTPS front for /mcp and /.well-known planned
- 4.2 End-to-end OAuth handshake from claude.ai planned
- 4.3 Live read + write + revocation planned
In-flight branches
- feat/claude-discord-rest-worker 52% 24/46
- feat/claude-tool-loop 37% 17/46
infra5%terrainone-infra · phase 11 plan10 in progressupdated 2m agohelm →
TerrainOne Web Services Infrastructure — 3/58 (5%) · 10 in progress
Phase 1 · Standalone Application Delivery — 10 in progress, 3 complete
- 1.6 Deploy Admin panel via GitLab pipelines INFRA-41↗ complete
- 1.7 On-demand deploy of any admin branch to dev INFRA-54↗ in-progress
- 1.8 Create Site Dockerfile (Astro SSR) INFRA-48↗ in-progress
- 1.9 Create Site Docker Bake definition INFRA-49↗ in-progress
- 1.10 Create Site Docker Compose (Astro SSR) INFRA-50↗ in-progress
- 1.11 Build and push Site to the GitLab Container Registry INFRA-51↗ in-progress
- 1.12 Deploy Site from the GitLab Container Registry INFRA-52↗ in-progress
- 1.13 On-demand deploy of any site branch to dev INFRA-53↗ in-progress
- 1.14 Build and push reap-astro to GHCR INFRA-44↗ complete
- 1.15 Deploy reap-astro from GHCR INFRA-45↗ in-progress
- 1.16 Build and push reap-hono to GHCR INFRA-46↗ complete
- 1.17 Deploy reap-hono from GHCR INFRA-47↗ in-progress
- 1.18 Rework reap compose networks and remove its Traefik INFRA-55↗ planned
- 1.19 Build and push supersonic-bot to GHCR INFRA-42↗ in-progress
- 1.20 Deploy supersonic-bot from GHCR INFRA-43↗ planned
- 1.21 Create React Native mobile app CI/CD pipeline planned
- 1.22 Implement semantic-release for Site planned
- 1.23 Publish Site images at the release version and pin prod deploys to it INFRA-58↗ planned
- 1.24 Implement semantic-release for Admin planned
- 1.25 Publish Admin images at the release version and pin prod deploys to it INFRA-59↗ planned
- 1.26 Pin reap prod deploys to the release version INFRA-60↗ planned
- 1.27 Switch supersonic deploys to trigger variables and pin prod to the release version INFRA-61↗ planned
Phase 2 · Terraform Infrastructure — planned
- 2.1 Initialize Terraform shared module and provider configuration INFRA-6↗ planned
- 2.2 Create per-environment root modules with isolated backends INFRA-7↗ planned
- 2.3 Create compute resources and minimal cloud-init in the platform module INFRA-8↗ planned
- 2.4 Configure networking, firewall and DNS in the platform module INFRA-9↗ planned
- 2.5 Create the managed database module, instantiated in prod only INFRA-10↗ planned
- 2.6 Configure module and root outputs INFRA-11↗ planned
- 2.7 Deploy and verify the dev environment INFRA-12↗ planned
- 2.8 Provision state buckets, locking and credential hygiene planned
Phase 3 · Ansible Configuration — planned
- 3.1 Set up Ansible foundation and dynamic inventory INFRA-13↗ planned
- 3.2 Configure group variables and vault secrets INFRA-14↗ planned
- 3.3 Create environment templates for the three services INFRA-15↗ planned
- 3.4 Create the bootstrap playbook INFRA-16↗ planned
- 3.5 Create the deployment role structure INFRA-17↗ planned
- 3.6 Create service-specific playbooks INFRA-18↗ planned
- 3.7 Create the PostgreSQL initialization script INFRA-19↗ planned
- 3.8 Test the full Ansible deployment end to end INFRA-20↗ planned
Phase 4 · Docker Configuration — planned
- 4.1 Create the infrastructure Docker Compose template INFRA-21↗ planned
- 4.2 Create the Traefik configuration template INFRA-22↗ planned
- 4.3 Create the Admin Docker Compose template INFRA-23↗ planned
- 4.4 Create the API Docker Compose template INFRA-24↗ planned
- 4.5 Create the Site Docker Compose template INFRA-25↗ planned
- 4.6 Verify all Docker templates render and compose cleanly INFRA-26↗ planned
Phase 5 · CI/CD Pipeline — planned
Phase 6 · Monitoring Stack — planned
- 6.1 Create the monitoring Docker Compose template INFRA-32↗ planned
- 6.2 Configure Prometheus INFRA-33↗ planned
- 6.3 Create Prometheus alert rules INFRA-34↗ planned
- 6.4 Configure Loki and Promtail INFRA-35↗ planned
- 6.5 Configure Grafana INFRA-36↗ planned
- 6.6 Configure Alertmanager INFRA-37↗ planned
- 6.7 Create the monitoring Ansible playbook INFRA-38↗ planned
- 6.8 Add monitoring DNS records INFRA-39↗ planned
- 6.9 Deploy and verify the monitoring stack INFRA-40↗ planned
admin1%user-attraction-submissions · phase 14 plans31 in progress27 in-flightupdated 2m agohelm →
User attraction submissions — 0/24 (0%)
Phase 1 · Submissions list — planned
Phase 2 · Review a submission — planned
- 2.1 Serve one submission by submitter and id ADMIN-19↗ planned
- 2.2 Build the review page ADMIN-19↗ planned
- 2.3 Show submitted media and open it full size ADMIN-19↗ADMIN-21↗ planned
- 2.4 Add a copy-then-delete document move ADMIN-20↗ planned
- 2.5 Approve and approve with edits ADMIN-20↗ planned
- 2.6 Reject and request changes ADMIN-20↗ planned
- 2.7 Put the review actions on the review page ADMIN-19↗ADMIN-20↗ planned
- 2.8 Reorder and remove media ADMIN-21↗ planned
- 2.9 Cover the review page and actions with tests ADMIN-19↗ADMIN-20↗ADMIN-21↗ planned
Phase 3 · Bulk actions and dashboard — planned
- 3.1 Add a batch update helper ADMIN-22↗ planned
- 3.2 Approve and reject selected submissions ADMIN-22↗ planned
- 3.3 Select rows and act on them from the list ADMIN-22↗ planned
- 3.4 Serve submission counts ADMIN-23↗ planned
- 3.5 Show the pending count in the sidebar and on the dashboard ADMIN-23↗ planned
- 3.6 Cover bulk actions and counts with tests ADMIN-22↗ADMIN-23↗ planned
Email Notification on Submission Review — 0/8 (0%) · 7 in progress
Phase 1 · Email delivery building blocks — 3 in progress
- 1.1 Add FirestoreService::getUserEmail(uid) reading users/{uid}.email in-progress
- 1.2 Add ATTRACTION_URL_BASE config + link helper for the approved email dropped
- 1.3 Create SubmissionReviewMail (queued Mailable, per-outcome subject + view) in-progress
- 1.4 Create the three Blade email templates in-progress
Phase 2 · Wire email to the review flow — 4 in progress
- 2.1 Extend SubmissionReviewed with a nullable note and pass it from the three dispatch sites in-progress
- 2.2 Create SendSubmissionReviewEmail listener (queued, best-effort) in-progress
- 2.3 Feature tests: dispatch, delivery, and best-effort isolation in-progress
- 2.4 Remove the now-redundant SubmissionApproved event and its dispatch sites in-progress
OTA fingerprint registry — 1/25 (4%) · 24 in progress
Phase 1 · Rebase the OTA branch onto develop — 6 in progress, 1 complete
- 1.1 Squash the branch's commits before replaying them complete
- 1.2 Rebase onto develop and resolve the conflicts ADMIN-47↗ in-progress
- 1.3 Verify the OTA changes inside the conflicted files survived ADMIN-48↗ in-progress
- 1.4 Verify develop's own changes were not regressed ADMIN-49↗ in-progress
- 1.5 Bring the OTA files up to the repo's formatting conventions ADMIN-50↗ in-progress
- 1.6 Verify the suite and the build ADMIN-51↗ in-progress
- 1.7 Exercise the OTA endpoints against the rebased tree ADMIN-52↗ in-progress
Phase 2 · Add the build record table — 7 in progress
- 2.1 Create the build record table ADMIN-53↗ in-progress
- 2.2 Constrain one record per version, build and platform ADMIN-54↗ in-progress
- 2.3 Add the model ADMIN-55↗ in-progress
- 2.4 Remove manifest and asset serving from the panel ADMIN-56↗ in-progress
- 2.5 Point releases at the fingerprint record, dropping the covering index first ADMIN-57↗ in-progress
- 2.6 Resolve every remaining query that keyed on the fingerprint string ADMIN-58↗ in-progress
- 2.7 Rename the download-tracking table, model and relation ADMIN-59↗ in-progress
Phase 3 · Registration and publishing endpoints — 11 in progress
- 3.1 Add the registration route beside the existing OTA routes ADMIN-60↗ in-progress
- 3.2 Authenticate the endpoint with the existing upload key ADMIN-61↗ in-progress
- 3.3 Validate the request ADMIN-62↗ in-progress
- 3.4 Record the entry, replacing any earlier one for the same build and platform ADMIN-63↗ in-progress
- 3.5 Change upload to POST /api/release, identifying the build instead of naming a fingerprint ADMIN-64↗ in-progress
- 3.6 Resolve every platform's recorded value and publish the bundle under each ADMIN-65↗ in-progress
- 3.7 Reject an upload that cannot serve every platform it would publish under ADMIN-66↗ in-progress
- 3.8 Make rollback act on the whole publish, and remove enable/disable and delete ADMIN-67↗ in-progress
- 3.9 Offer a roll back to the embedded bundle ADMIN-68↗ in-progress
- 3.10 Cover both endpoints with feature tests ADMIN-69↗ in-progress
- 3.11 Record the current build's fingerprints for each environment published to ADMIN-70↗ in-progress
Feature flags — 0/26 (0%)
Phase 1 · Flag data model — planned
- 1.1 Create the flags table ADMIN-35↗ planned
- 1.2 Store activation strategies against a flag ADMIN-35↗ planned
- 1.3 Store targeting constraints against a strategy ADMIN-35↗ planned
- 1.4 Add the models and their relations ADMIN-35↗ planned
- 1.5 Give flag changes a home in the panel-wide audit log ADMIN-40↗ planned
- 1.6 Route every flag mutation through one writer that records it ADMIN-40↗ planned
- 1.7 Reject a strategy the serving side could not evaluate ADMIN-71↗ planned
- 1.8 Report stored strategies that would not validate ADMIN-71↗ planned
- 1.9 Cover the schema and the writer with tests ADMIN-35↗ADMIN-40↗ADMIN-71↗ planned
Phase 2 · Flag management screens — planned
- 2.1 Add the flags list page ADMIN-38↗ planned
- 2.2 Create and edit a flag ADMIN-38↗ planned
- 2.3 Toggle a flag on or off ADMIN-38↗ planned
- 2.4 Archive a flag ADMIN-38↗ planned
- 2.5 Add the flag detail page and show that flag's history on it ADMIN-38↗ADMIN-40↗ planned
- 2.6 Add the recent-changes view across all flags ADMIN-40↗ planned
- 2.7 Add the sidebar entry ADMIN-38↗ planned
- 2.8 Cover the screens with feature tests ADMIN-37↗ADMIN-38↗ planned
- 2.9 Issue, store and revoke client keys ADMIN-37↗ planned
- 2.10 Manage keys from the panel ADMIN-37↗ planned
Phase 3 · Rollout and targeting configuration — planned
- 3.1 Configure a gradual rollout on a flag ADMIN-39↗ planned
- 3.2 Configure a user-ID allow-list on a flag ADMIN-39↗ planned
- 3.3 Configure platform and app-version constraints, including exclusions ADMIN-39↗ planned
- 3.4 Remove a strategy from a flag ADMIN-39↗ planned
- 3.5 Show a broken strategy as broken ADMIN-38↗ planned
- 3.6 Say what removing the last strategy does ADMIN-39↗ planned
- 3.7 Cover the configuration screens with feature tests ADMIN-39↗ADMIN-71↗ planned
In-flight branches
- fix/resubmit-tag 1% 1/83 · 7 in progress
- docs/ADMIN-70-record-current-build-fingerprint 4% 1/25 · 23 in progress
- test/ADMIN-69-cover-both-ota-endpoints-tests 4% 1/25 · 22 in progress
- feat/ADMIN-68-offer-a-roll-back-to-the-embedded-bundle 4% 1/25 · 21 in progress
- feat/ADMIN-67-rollback-whole-publish 4% 1/25 · 20 in progress
- feat/ADMIN-66-reject-uploads-that-do-not-support-all-platforms 4% 1/25 · 19 in progress
- fix/ADMIN-65-resolve-platform-recoreded-value 4% 1/25 · 18 in progress
- feat/ADMIN-64-change-release-upload-to-identify-build-by-version 4% 1/25 · 17 in progress
- feat/ADMIN-63-record-the-entry 4% 1/25 · 16 in progress
- feat/ADMIN-62-validate-the-registration-request 4% 1/25 · 15 in progress
- feat/ADMIN-61-authenticate-the-registration-endpoint-with-the-existing-upload-key 4% 1/25 · 14 in progress
- feat/ADMIN-60-add-the-registration-route-beside-the-existing-ota-routes 4% 1/25 · 13 in progress
- fix/ADMIN-59-rename-the-download-tracking-table-model-and-relation 4% 1/25 · 12 in progress
- fix/ADMIN-58-resolve-every-remaining-query-that-keyed-on-the-fingerprint-string 4% 1/25 · 11 in progress
- feat/ADMIN-57-point-releases-at-fingerprint-records 4% 1/25 · 10 in progress
- fix/ADMIN-56-remove-manifest-and-asset-serving-from-the-panel 4% 1/25 · 9 in progress
- feat/ADMIN-55-add-the-model-for-build-records 4% 1/25 · 8 in progress
- feat/ADMIN-54-constrain-one-record-per-version-build-platform 4% 1/25 · 7 in progress
- feat/ADMIN-53-create-the-build-record-table 4% 1/25 · 6 in progress
- test/ADMIN-52-exercise-the-OTA-endpoints 4% 1/25 · 5 in progress
- test/ADMIN-51-verify-the-suite-and-the-build 4% 1/25 · 4 in progress
- fix/ADMIN-50-repos-formatting-conventions 4% 1/25 · 3 in progress
- fix/ADMIN-49-verify-develop-own-changes-were-not-regressed 4% 1/25 · 2 in progress
- test/ADMIN-48-verify-the-OTA-changes-inside-the-conflicted-files 4% 1/25 · 1 in progress
- bugfix/ADMIN-10 1% 1/83 · 7 in progress
- bugfix/ADMIN-9 1% 1/83 · 7 in progress
- feature/ota-update-managment 4% 1/25 · 1 in progress
reap-astro0%—0 plansupdated 2m agohelm →
no plans
reap-hono0%—0 plansupdated 2m agohelm →
no plans
app0%expo-sdk-upgrade · phase 110 plans72 in progress47 in-flightupdated 2m agohelm →
Expo SDK upgrade (53 → 56) — 0/3 (0%) · 2 in progress
User attraction submissions — 0/5 (0%) · 5 in progress
Phase 1 · Submission flow screens — 4 in progress
Offline maps — 0/30 (0%) · 26 in progress
Phase 1 · Connectivity layer — 4 in progress
- 1.1 Install @react-native-community/netinfo with pnpm and confirm its actual API surface APP-188↗ in-progress
- 1.2 Rebuild the dev client with the new native dependency APP-189↗ in-progress
- 1.3 Expose app-wide connectivity state ('online' | 'offline' | 'unknown'), connection type and metered-ness via a context provider and hook APP-190↗ in-progress
- 1.4 Pin the three NetInfo reachability timeouts explicitly and record why the default probe URL is kept APP-191↗ in-progress
Phase 2 · Offline attraction data — 6 in progress
- 2.1 Make Firestore start lazily so its settings can still be configured APP-192↗ in-progress
- 2.2 Pin the Firestore cache size and document the number it has to hold APP-193↗ in-progress
- 2.3 Verify attraction reads resolve from the local store unconditionally APP-194↗ in-progress
- 2.4 Confirm attraction data survives an app restart while offline APP-195↗ in-progress
- 2.5 Converge every save/unsave call site onto one arrayUnion/arrayRemove write APP-196↗ in-progress
- 2.6 Let Firestore's pending-mutation queue carry offline save/unsave APP-197↗ in-progress
Phase 3 · Offline media — 9 in progress
- 3.1 Add expo-image at the version matched to the app's Expo SDK APP-198↗ planned
- 3.2 Confirm expo-image is linked in the dev client APP-199↗ in-progress
- 3.3 Swap ImageWithLoader to expo-image and pass call-site load and error handlers through APP-200↗ in-progress
- 3.4 Audit every ImageWithLoader call site after the expo-image swap APP-201↗ in-progress
- 3.5 Set a disk-reading image cache policy and an iOS disk-size cap APP-202↗ in-progress
- 3.6 Prefetch images for saved attractions while online APP-203↗ in-progress
- 3.7 Re-prefetch saved attractions' images on launch and each return to the foreground APP-204↗ in-progress
- 3.8 Clear the image disk cache automatically when it exceeds a size threshold APP-205↗ in-progress
- 3.9 Add a Clear image cache action to Settings APP-206↗ in-progress
- 3.10 Verify offline media survives a relaunch and cache churn APP-207↗ in-progress
Phase 4 · Offline UX — 7 in progress
- 4.1 Render a SafeAreaProvider at the root and give every screen one way to reserve top space APP-208↗ in-progress
- 4.2 Show an app-wide offline indicator APP-209↗ in-progress
- 4.3 Add a shared module for the copy shown when something needs a connection APP-210↗ in-progress
- 4.4 Disable the Storage-backed composition controls offline APP-211↗ in-progress
- 4.5 Degrade the two networked search legs offline and keep attraction search working APP-212↗ in-progress
- 4.6 Disable the community write controls offline APP-213↗ in-progress
- 4.7 Check offline save on the attraction detail screen and the onboarding camp card APP-214↗ in-progress
- 4.8 Resolve premium entitlement offline from RevenueCat's cached customer info APP-215↗ planned
- 4.9 Distinguish a never-been-online empty store from a genuinely empty result APP-216↗ planned
- 4.10 Surface a write the server rejects and rolls back APP-217↗ planned
Feature flags (Unleash app integration) — 0/5 (0%) · 5 in progress
Phase 1 · Flag platform — 4 in progress
Liquid Glass redesign — 0/4 (0%) · 4 in progress
Phase 1 · Foundation and Explore chrome — 1 in progress
Expo Image migration — 0/3 (0%) · 3 in progress
Phase 1 · Migrate image rendering to expo-image — 3 in progress
- 1.1 Add expo-image and migrate the ImageWithLoader wrapper in-progress
- 1.2 Migrate the remaining direct react-native Image imports in-progress
- 1.3 Decide on components/Icon.tsx in-progress
Add location and review for release/2.2.x — 0/9 (0%) · 9 in progress
Phase 1 · Add a review — 4 in progress
- 1.1 Upload queue, uploader and drafts in-progress
- 1.2 Review form logic and retry-safe write in-progress
- 1.3 Review media, saved draft and place search in-progress
- 1.4 Tab-bar + and Add sheet in-progress
Phase 2 · Add a new location — 5 in progress
- 2.1 Form screen from FIX in-progress
- 2.2 Media step in-progress
- 2.3 Ratings, write and 'Submit for approval' in-progress
- 2.4 Saved draft and nearby-places check in-progress
- 2.5 Final feature check in-progress
Submission status for members — 0/4 (0%) · 4 in progress
Phase 1 · See submission status — 2 in progress
- 1.1 Read submissions and the Location submissions screen in-progress
- 1.2 Submission page and entry points in-progress
Phase 2 · Fix and resubmit — 2 in progress
- 2.1 Edit mode of the add-location flow in-progress
- 2.2 Resubmit write and final check in-progress
AI trip planner — core — 0/23 (0%)
Phase 1 · Trip data model, autosave & screens — planned
Phase 2 · Scout conversation engine — planned
Phase 3 · Itinerary scheduling & stop metadata — planned
- 3.1 Day-based scheduling & arrival-date grouping APP-225↗ in_progress
- 3.2 Section grouping & filter chips APP-226↗ in_progress
- 3.3 "Scouted" badge surfaced from Scout replies APP-227↗ in_progress
- 3.4 Mark-stop-completed/visited toggle APP-228↗ in_progress
- 3.5 Fixed-arrival conflict indicator APP-229↗ in_progress
Phase 4 · Access warnings, undo & assistant resilience — planned
Phase 5 · Map & route visualization — planned
Phase 6 · Quick-plan card & trip creation flow — planned
Phase 7 · Custom stops & fuel-cost estimator — planned
Phase 8 · Public trips — publish, browse & copy — planned
Center + Button for Add Review / Add Attraction — 0/14 (0%) · 14 in progress
Phase 1 · Center + button, action sheet, and Add Review flow — 7 in progress
- 1.1 Add a bottom-sheet-modal ref registry for the add-action sheet in-progress
- 1.2 Register a 5th 'add' tab whose button opens the sheet instead of navigating in-progress
- 1.3 Style the center button as visually distinct (raised circle, brand accent, plus icon) in light and dark mode in-progress
- 1.4 Mount the add-action sheet as a BottomSheetModal with Add Review / Add Attraction rows in-progress
- 1.5 Build an attraction picker screen for review entry in-progress
- 1.6 Wire the action sheet's 'Add Review' row to the picker, then to leave-review.tsx in-progress
- 1.7 Verify the button, sheet, and end-to-end Add Review path from every tab, both themes in-progress
Phase 2 · Add Attraction mock entry point, and cross-platform verification — 7 in progress
- 2.1 Build a mock Add Attraction placeholder screen at its real intended route in-progress
- 2.2 Wire the action sheet's 'Add Attraction' row to /add-attraction in-progress
- 2.3 Leave a hand-off note for the follow-up Add Attraction PR in-progress
- 2.4 Confirm the app's supported Android minSdkVersion in-progress
- 2.5 Run the full feature (button, sheet, Add Review flow, Add Attraction mock, dismiss) on iOS 15.1 and the newest available iOS version in-progress
- 2.6 Run the full feature (button, sheet, Add Review flow, Add Attraction mock, dismiss) on the confirmed minimum and newest supported Android versions in-progress
- 2.7 Regression pass on the existing 4 tabs in-progress
In-flight branches
- feature/APP-214-verify-offline-save-edge-cases 0% 0/50 · 27 in progress
- feature/APP-213-disable-community-writes-offline 0% 0/50 · 26 in progress
- feature/APP-212-degrade-offline-search 0% 0/50 · 25 in progress
- feature/APP-211-disable-storage-uploads-offline 0% 0/50 · 24 in progress
- feature/APP-210-connection-copy-module 0% 0/50 · 23 in progress
- feature/APP-209-offline-indicator 0% 0/50 · 22 in progress
- feat/submission-status 0% 0/60 · 19 in progress
- feat/add-location-and-review 0% 0/60 · 15 in progress
- feature/APP-241-per-stop-actions-and-endpoints 0% 0/47
- feature/APP-240-public-trips 0% 0/47
- feature/APP-238-fuel-cost-estimator 0% 0/47
- feature/APP-235-quick-plan-card-and-date-picker 0% 0/47
- feature/APP-233-trip-map-and-routing 0% 0/47
- feature/APP-230-access-warnings-helpers 0% 0/47
- feature/APP-225-itinerary-scheduling-helpers 0% 0/47
- feature/APP-218-trip-planner-phases-3-9 0% 0/47
- docs/ai-trip-planner-rebuild 0% 0/70
- feature/APP-208-safe-area-provider 0% 0/50 · 21 in progress
- feature/APP-207-verify-offline-media 0% 0/50 · 20 in progress
- feature/APP-206-settings-clear-cache 0% 0/50 · 19 in progress
- fix/data-integrity-and-playback 0% 0/47
- feature/APP-205-auto-clear-disk-cache 0% 0/50 · 18 in progress
- feature/APP-204-foreground-reprefetch 0% 0/50 · 17 in progress
- feature/APP-203-prefetch-saved-images 0% 0/50 · 16 in progress
- feature/APP-202-image-cache-policy 0% 0/50 · 7 in progress
- feature/APP-201-audit-imagewithloader-call-sites 0% 0/50 · 6 in progress
- feature/APP-200-imagewithloader-prop-contract 0% 0/50 · 5 in progress
- feature/APP-199-confirm-expo-image-dev-client 0% 0/50 · 4 in progress
- feature/APP-178-upgrade-expo-sdk-55 0% 0/47 · 7 in progress
- feature/APP-197-offline-save-unsave 0% 0/42 · 8 in progress
- feature/APP-196-converge-save-unsave 0% 0/42 · 7 in progress
- feature/APP-195-confirm-restart-persistence 0% 0/42 · 6 in progress
- feature/APP-194-verify-offline-attraction-reads 0% 0/42 · 5 in progress
- feature/APP-193-pin-firestore-cache-size 0% 0/42 · 4 in progress
- feature/APP-192-lazy-firestore-collections 0% 0/42 · 3 in progress
- feature/APP-191-pin-reachability-timeouts 0% 0/42 · 2 in progress
- feature/APP-189-rebuild-dev-client 0% 0/42 · 1 in progress
- feature/APP-190-connectivity-context 0% 0/42 · 1 in progress
- feature/APP-188-install-netinfo 0% 0/47 · 1 in progress
- feature/expo-image-migration 0% 0/50 · 3 in progress
- bugfix/APP-187-tab-bar-dark-mode 0% 0/47
- feat/add-plus-button-for-adding-reviews-and-attractions 0% 0/61 · 14 in progress
- feature/APP-167-liquid-glass 0% 0/47 · 9 in progress
- feature/APP-162-unleash-integration 0% 0/47 · 4 in progress
- bugfix/APP-80 0% 0/47
- bugfix/APP-118 0% 0/47
- UB-APP-97 0% 0/47
api0%feature-flag-serving · phase 12 plansupdated 2m agohelm →
Unleash flag serving — 0/17 (0%)
Phase 1 · The feature flag endpoint — planned
- 1.1 Install stateless API routing API-13↗ planned
- 1.2 Open the panel's database read-only API-14↗ planned
- 1.3 Authenticate the client API by key API-15↗ planned
- 1.4 Read the evaluation context off the request API-16↗ planned
- 1.5 Serve the enabled set API-17↗ planned
- 1.6 Answer a repeat poll with a 304 API-18↗ planned
- 1.7 Accept the SDK's metrics post and discard it API-19↗ planned
- 1.8 Lock the endpoint contract in tests API-20↗ planned
Phase 2 · Feature flag evaluation — planned
- 2.1 Bucket deterministically API-21↗ planned
- 2.2 Resolve a gradual rollout API-22↗ planned
- 2.3 Resolve a user-ID allow-list API-23↗ planned
- 2.4 Resolve all nineteen constraint operators API-24↗ planned
- 2.5 Decide a flag from its strategies API-25↗ planned
- 2.6 Refuse to fail open on an unreadable strategy API-26↗ planned
- 2.7 Lock the evaluation rules in tests API-27↗ planned
- 2.8 Pass the Unleash client-specification suite API-28↗ planned
- 2.9 Prove an unmodified client SDK works API-29↗ planned
Migrate off Firebase to the Laravel API — 0/9 (0%)
Phase 1 · Firebase ID token authentication guard — planned
- 1.1 Add Firebase Admin SDK dependency and per-environment configuration API-2↗ planned
- 1.2 Implement the token-verification guard and protected-route wiring API-3↗ planned
- 1.3 Implement uniform 401 JSON rejection for all invalid-token cases API-4↗ planned
- 1.4 Write Pest feature tests covering the spec's acceptance criteria API-5↗ planned
Phase 2 · Attractions read endpoints (Firestore-backed) — planned
- 2.1 Set up Firestore access (Admin SDK Firestore component + gRPC) API-7↗ planned
- 2.2 Build the attraction normalizer to the documented read model API-8↗ planned
- 2.3 Build the list endpoint (versioned route, guard-protected, ordered by name) API-9↗ planned
- 2.4 Build the detail endpoint with 404 handling API-10↗ planned
- 2.5 Write Pest feature tests covering the spec's acceptance criteria API-11↗ planned
site0%adopt-payloadcms · phase 13 plans56 in progress27 in-flightupdated 2m agohelm →
Adopt PayloadCMS — 0/43 (0%) · 35 in progress
Phase 1 · Monorepo restructure — 6 in progress
- 1.1 Move the Astro app to apps/web and namespace it @terrainone/web SITE-19↗ in-progress
- 1.2 Declare the workspace members in pnpm-workspace.yaml SITE-20↗ in-progress
- 1.3 Keep commitlint and its config at the workspace root in-progress
- 1.4 Rewrite the atlas gates as workspace-aware commands SITE-21↗ in-progress
- 1.5 Re-path the Docker build context and GitLab pipeline for apps/web SITE-22↗ in-progress
- 1.6 Confirm the site is unchanged after the move in-progress
Phase 2 · CMS app and database — 6 in progress
- 2.1 Scaffold apps/cms as a Payload 3 Next.js app SITE-23↗ in-progress
- 2.2 Pin Payload, Next and React at the workspace root SITE-24↗ in-progress
- 2.3 Configure the Postgres adapter and a local database SITE-25↗ in-progress
- 2.4 Export the Payload config and generated types from @terrainone/cms SITE-26↗ in-progress
- 2.5 Establish the migration workflow SITE-27↗ in-progress
- 2.6 Seed a first admin user SITE-28↗ in-progress
Phase 3 · Content model and media — 7 in progress
- 3.1 Model the Media collection with upload sizes SITE-29↗ in-progress
- 3.2 Model about, contact and pricing from the existing data modules SITE-30↗ in-progress
- 3.3 Model the homepage SITE-31↗ in-progress
- 3.4 Model the shared site content the pages render SITE-32↗ in-progress
- 3.5 Model testimonials as a collection SITE-33↗ in-progress
- 3.6 Enable drafts and versions on the page content SITE-34↗ in-progress
- 3.7 Set access control so only authenticated editors can write SITE-35↗ in-progress
Phase 4 · Admin authentication — 4 in progress
- 4.1 Install and wire payload-oauth2 with the Google provider SITE-36↗ in-progress
- 4.2 Implement the domain-or-address allowlist SITE-37↗ in-progress
- 4.3 Unit-test the allowlist rule SITE-38↗ in-progress
- 4.4 Add the Continue with Google button to the admin login view SITE-39↗ in-progress
- 4.5 Disable the local email/password strategy SITE-40↗ planned
Phase 5 · Site integration and content migration — 8 in progress
- 5.1 Depend on @terrainone/cms and read content through the Local API SITE-41↗ in-progress
- 5.2 Switch the four pages to SSR SITE-42↗ in-progress
- 5.3 Serve uploaded media independently of the CMS app SITE-43↗ in-progress
- 5.4 Render about, contact and pricing from CMS content SITE-44↗ in-progress
- 5.5 Render the homepage from CMS content SITE-45↗ in-progress
- 5.6 Render shared header/footer/app-link content from the globals SITE-46↗ in-progress
- 5.7 Migrate today's content into the CMS SITE-47↗ in-progress
- 5.8 Make the e2e suite work against SSR pages SITE-48↗ in-progress
Phase 6 · Preview — 4 in progress
Phase 7 · Deployment and CI — planned
- 7.1 Build the CMS image and add it to the bake targets SITE-51↗ planned
- 7.2 Add Postgres and the uploads volume to the deployed stack SITE-52↗ planned
- 7.3 Run migrations in the deploy flow SITE-53↗ planned
- 7.4 Raise CI and host Node to Payload's floor SITE-54↗ planned
- 7.5 Provide Postgres to CI for the e2e suite SITE-55↗ planned
- 7.6 Wire the environment and secrets SITE-56↗ planned
- 7.7 Verify content and media survive a redeploy planned
Migrate today's content into the CMS (repeatable seed) — 0/7 (0%) · 7 in progress
Phase 1 · Content seed — 7 in progress
- 1.1 Seed-script scaffold + idempotent tsx runner in-progress
- 1.2 Upload page images into the media collection in-progress
- 1.3 Seed about/contact/pricing/siteSettings/statsBlock globals in-progress
- 1.4 Seed the homepage global (text + wire hero/review images) in-progress
- 1.5 Seed the testimonials collection in-progress
- 1.6 Idempotency + fresh-env / CI reproducibility in-progress
- 1.7 Verify seeded content equivalent to today's source in-progress
Render the homepage from CMS content — 0/15 (0%) · 14 in progress
Phase 1 · Extend the Local API seam and media-URL resolution — 3 in progress
- 1.1 Default overrideAccess to false inside readGlobal in-progress
- 1.2 Add a collection-read capability and findFeaturedTestimonials in-progress
- 1.3 Add media-url.ts (resolveMediaUrl) and MEDIA_BASE_URL in-progress
Phase 2 · Wire the homepage page to CMS content — 8 in progress
- 2.1 Read the four CMS sources in index.astro's frontmatter in-progress
- 2.2 Map homepage-global copy onto every non-image section in-progress
- 2.3 Wire the stats row to statsBlock.stats in-progress
- 2.4 Give TestimonialsGrid an optional items prop; use it on the homepage in-progress
- 2.5 Resolve the hero image through resolveMediaUrl in-progress
- 2.6 Give CampReviewsGrid a reviewImages prop; delete camp-reviews-data.ts in-progress
- 2.7 Point all three store-link hrefs at siteSettings.appLinks; delete app-links.ts in-progress
- 2.8 Sweep for remaining inline copy and orphaned imports in-progress
Phase 3 · Verify against access rules and a local content fixture — 3 in progress
- 3.1 Seed real content — superseded by SITE-47, already merged into this chain dropped
- 3.2 Side-by-side comparison against the current live homepage in-progress
- 3.3 Write an acceptance test proving published-only visibility in-progress
- 3.4 Full gate pass in-progress
In-flight branches
- feat/INFRA-48-create-site-dockerfiles-payloadcms-astro-ssr 0% 0/43 · 12 in progress
- feat/SITE-34-enable-drafts-versions-page-content 0% 0/43 · 18 in progress
- feat/SITE-32-model-shared-site-content 0% 0/43 · 16 in progress
- feat/SITE-55-provide-postgres-to-ci-for-the-e2e-suite 0% 0/43 · 12 in progress
- feat/SITE-43-serve-media-independently 0% 0/65 · 31 in progress
- feat/SITE-48-e2e-against-ssr 0% 0/65 · 28 in progress
- feat/SITE-46-render-shared-header-footer 0% 0/65 · 27 in progress
- feat/SITE-45-render-homepage 0% 0/65 · 26 in progress
- feat/SITE-44-render-about-contact-pricing 0% 0/50 · 11 in progress
- feat/SITE-47-seed-content 0% 0/50 · 10 in progress
- feat/SITE-42-switch-pages-to-ssr 0% 0/43 · 2 in progress
- feat/SITE-41-consume-cms-via-local-api 0% 0/43 · 1 in progress
- feat/SITE-53-run-migrations-in-the-deploy-flow 0% 0/43 · 12 in progress
- feat/SITE-52-add-postgres-and-uploads-volume-to-deploy-stack 0% 0/43 · 12 in progress
- feat/SITE-51-build-cms-image-and-add-to-bake-targets 0% 0/43 · 12 in progress
- feat/SITE-50-subscribe-to-payload-save-event 0% 0/43 · 2 in progress
- feat/SITE-57-configure-admin-preview-on-the-page-collections 0% 0/43 · 1 in progress
- feat/SITE-49-add-a-preview-route-that-renders-draft-content 0% 0/43 · 1 in progress
- feat/SITE-40-disable-the-local-email-password-strategy 0% 0/43
- feat/SITE-39-add-the-continue-with-google-button 0% 0/43 · 1 in progress
- feat/SITE-38-test-the-allowlist-rule 0% 0/43 · 1 in progress
- feat/SITE-35-set-access-control-authenticated-writes 0% 0/43 · 19 in progress
- feat/SITE-37-implement-the-domain-allowlist 0% 0/43 · 1 in progress
- feat/SITE-36-payload-oauth2-with-the-google 0% 0/43 · 1 in progress
- feat/SITE-31-model-homepage-content 0% 0/43 · 15 in progress
- feat/SITE-30-model-about-contact-pricing-content 0% 0/43 · 14 in progress
- feat/SITE-29-model-media-collection 0% 0/43 · 13 in progress