Skip to content

docs(docs): add Stage 13 audit findings to storage roadmap#2318

Merged
Skords-01 merged 1 commit into
mainfrom
devin/1778414264-stage-13-audit-findings
May 10, 2026
Merged

docs(docs): add Stage 13 audit findings to storage roadmap#2318
Skords-01 merged 1 commit into
mainfrom
devin/1778414264-stage-13-audit-findings

Conversation

@Skords-01
Copy link
Copy Markdown
Owner

@Skords-01 Skords-01 commented May 10, 2026

Summary

Документує post-Stage-12.5 storage-аудит у roadmap як новий Stage 13 — Audit findings & post-migration cleanup (📋 PROPOSED, 0/8). Чисто docs-PR — нуль зміни коду.

Що інтегровано в docs/planning/storage-roadmap.md:

Inline patches до існуючих entries:

docs/initiatives/0003-sync-v2-rollout-and-v1-sunset.md:

  • Phase 6 status: Pending✅ Done (2026-05-10 audit refresh). Bullets оновлені на реальний стан (web cloudSync 35→2 файли, mobile sync 30→3 dirs, server sunset modules лишились by design, migration 046 dropped module_data).
  • Додано Phase 7 — Sunset routes final removal — Proposed з explicit exit-criteria.
  • Header Last validated: + Status: оновлено.

docs/adr/0047-cloudsync-v1-410-gone.md:

  • Додано Amendment (2026-05-10): Final removal exit-criteria — фіксує, коли можна видалити 410 stub + sunset middleware:
    • sync_v1_legacy_clients_total Prometheus counter = 0 для 8 consecutive weeks, OR
    • 2026-08-04 (T₀ + 90 днів) — whichever first.
  • Removal scope винесено у Initiative 0003 Phase 7.

Governing Skill

  • Primary skill: docs/planning roadmap maintenance (no specific governing skill — pure docs PR mirroring existing roadmap structure)
  • Secondary skill (if truly needed): n/a

Playbook

  • Primary playbook: n/a
  • Why this playbook: n/a
  • If no playbook matched, why: pure docs PR — no playbook applies; followed storage-roadmap.md self-imposed structure (Stage N → PR subsections → Done criteria → calendar) і Initiative 0003 / ADR amendment conventions.

Verification

pnpm exec prettier --write docs/planning/storage-roadmap.md docs/initiatives/0003-sync-v2-rollout-and-v1-sunset.md docs/adr/0047-cloudsync-v1-410-gone.md
# all 3 files formatted

pnpm lint:initiative-status-sync
# Initiative status sync OK — 13 file(s), 13 README row(s).

pnpm lint:tech-debt-freshness
# all markers fresh

pnpm lint:patches
# OK: 1 patch(es) documented and in sync

pnpm lint:discoverability
# Discoverability OK — 19 route(s) reachable within budget.

Additional checks:

  • Local smoke / manual validation completed (lint pass, prettier формат clean)
  • Surface-specific checks completed (markdown structure валідний, всі file paths у Stage 13 PR-описах verifyовані як існуючі)

Docs and Governance

  • I updated docs that changed with the behavior, contract, workflow, or rollout.
  • I checked whether AGENTS.md needed an update — n/a (audit findings, не behavior change).
  • I checked whether a playbook or skill needed an update — n/a.
  • I checked whether governance docs or review docs needed an update — n/a.

Updated docs:

  • docs/planning/storage-roadmap.md — Stage 13 розділ + status table + 2 inline patches.
  • docs/initiatives/0003-sync-v2-rollout-and-v1-sunset.md — Phase 6 → Done; Phase 7 додано.
  • docs/adr/0047-cloudsync-v1-410-gone.md — Amendment з exit-criteria.

Risk and Rollout

  • User-visible risk: Zero. Docs-only PR; жодного функціонального коду не змінено.
  • Rollout / deploy order: merge у будь-який момент — без deps на code-PRs.
  • Backout plan: revert цього PR-у. Жодних DB migrations, env vars, feature flags не зачеплено.

Hard Rule #15

  • I read AGENTS.md before coding.
  • Internal docs I touched are in Ukrainian (mixed UA/EN, як в існуючих entries roadmap-у).
  • I did not use --no-verify.

Audit-freeze (until 2026-06-02)

  • This PR does not add new top-level audit/initiative/playbook/ADR files (or override is justified below).
    • PR редагує існуючі docs (storage-roadmap.md + Initiative 0003 + ADR-0047 amendment) — нових top-level файлів не додано. Audit-freeze не застосовується.

Reviewer Notes

Link to Devin session: https://app.devin.ai/sessions/0814b0b324364002b6ce2030b2e1dbe7
Requested by: @Skords-01


Summary by cubic

Adds Stage 13 to docs/planning/storage-roadmap.md with eight post‑Stage‑12.5 audit follow‑ups, prioritizing two functional fixes, plus sequencing and done criteria. Updates docs/initiatives/0003-sync-v2-rollout-and-v1-sunset.md (Phase 6 → Done, Phase 7 proposed with exit criteria) and amends docs/adr/0047-cloudsync-v1-410-gone.md to set final v1 route removal rules (8‑week zero‑signal or 2026‑08‑04); also links Stage 8 and 11 entries to Stage 13.

Written for commit c890333. Summary will update on new commits.

Summary by CodeRabbit

  • Documentation
    • Updated architecture and initiative documentation with clarified timelines and exit criteria for the deprecation of legacy sync endpoints.
    • Documented the completion of server cleanup phases and specified conditions for permanent removal of outdated sync infrastructure.

Review Change Stack

Add Stage 13 to docs/planning/storage-roadmap.md decomposing
post-Stage-12.5 audit findings into 8 actionable PRs.

Audit findings:
- 2 functional bugs (mobile hubBackup MMKV pass-through
  post-tombstone; weekly-digest reads dead finyk_storage_v2 blob)
- 3 partial gaps (recipes mobile tombstone; finyk LS-only slots;
  misleading FINYK_SHOW_BALANCE @deprecated tag)
- 7 dead-code cleanup candidates (~600 LOC) post-CloudSync v1 sunset
- 2 doc-drift items (Initiative 0003 Phase 6 status;
  ADR-0047 exit-criteria)

PR plan (#71 to #79) covers mobile hubBackup fix, weekly-digest
SQLite reader swap, recipes mobile tombstone, finyk show_balance
SQLite reader, finyk LS-only slots decision, dead syncedKV +
SYNC_EVENT + lying OpenAPI cleanup, dead sync-metadata
STORAGE_KEYS cleanup, mono_mirror flag retirement, doc-drift
refresh.

Inline patches:
- Stage 8 PR #057k-tombstone note for finyk LS-only follow-ups
- Stage 11 PR #057n-tombstone-mobile note for recipes closure
- Initiative 0003 Phase 6 status flipped to Done with PR refs
- Initiative 0003 Phase 7 added with sunset-routes removal
  exit-criteria
- ADR-0047 amendment with 8-week zero signal OR 2026-08-04
  removal date

Docs-only PR; no code changes.
@devin-ai-integration
Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
sergeant Ignored Ignored May 10, 2026 0:06am

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 10, 2026

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This PR audits and advances the CloudSync v1 sunset plan, marking Phase 6 server/data cleanup complete and formally introducing Phase 7 with telemetry-based exit-criteria (zero legacy-client metric for 8 weeks or 2026-08-04), detailed removal scope for server handlers and shared schemas, and documented post-removal fallback behavior.

Changes

V1 Sunset Phase 7 Definition

Layer / File(s) Summary
Metadata & Phase 6 Completion
docs/adr/0047-cloudsync-v1-410-gone.md, docs/initiatives/0003-sync-v2-rollout-and-v1-sunset.md
Validation dates refreshed to 2026-05-10. Phase 6 (remaining server/data cleanup) marked as ✅ Done with completed removals across web, mobile, server sync modules and module_data column drop.
Phase 7 Exit-Criteria Definition
docs/initiatives/0003-sync-v2-rollout-and-v1-sunset.md
Phase 7 proposed with concrete exit-criteria: zero sync_v1_legacy_clients_total for 8 consecutive weeks or 2026-08-04 cutoff, whichever comes first.
Removal Scope & Post-Removal Behavior
docs/adr/0047-cloudsync-v1-410-gone.md, docs/initiatives/0003-sync-v2-rollout-and-v1-sunset.md
Amendment specifies removal of server files (sunset*.ts, clientSurvey.ts, respondV1Gone handlers), shared API schemas/types, and OpenAPI registry entries. Late v1 calls will return 404 instead of 410 after removal.
Storage Roadmap Follow-Up Items
docs/initiatives/0003-sync-v2-rollout-and-v1-sunset.md
Storage roadmap Stage 13 follow-ups documented for OpenAPI registry cleanup and sync-status/storage dead artifacts removal in future PRs.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • Skords-01/Sergeant#1530: Created the "0003 — Sync v2 rollout & v1 sunset" initiative doc that this PR updates with Phase 6 completion and Phase 7 exit-criteria.
  • Skords-01/Sergeant#2074: Updates CloudSync v1 sunset documentation and ADR-0047, related to the same Phase 7 cleanup and v1 references pruning.

Suggested labels

size/M

Poem

🐰 Hops toward the final hop,
Metrics tracked, no v1 stop,
Phase six done, phase seven near,
404s will soon appear!
Eight weeks of silence seals the deal,
The sunset's now supremely real. 🌅

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'docs(docs): add Stage 13 audit findings to storage roadmap' is related to the changeset but only partially captures the main work. While Stage 13 additions to the storage roadmap are included, the PR also significantly updates Initiative 0003 (Phase 6 → Done, Phase 7 added) and ADR-0047 (amendment with exit criteria), which are substantial changes not reflected in the title.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch devin/1778414264-stage-13-audit-findings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Skords-01 Skords-01 merged commit 37bcba1 into main May 10, 2026
39 of 51 checks passed
@Skords-01 Skords-01 deleted the devin/1778414264-stage-13-audit-findings branch May 10, 2026 12:08
@github-actions
Copy link
Copy Markdown
Contributor

⏱️ CI Pipeline Duration Report

Based on the last 50 successful runs on the default branch.

Overall Pipeline

Metric Value
p50 6m 26s
p95 7m 55s
p99 9m 3s
Current run 13m 33s
vs p95 +71.2%

Trend (last 20 runs): ▃▃▁▂▃▃▃▂▃▃▂▂▄▃▃▆▅▄█▆

Per-Job Breakdown

Job p50 p95 p99 Current vs p95
Accessibility (axe-core) 2m 5s 2m 21s 2m 23s 0s -100.0%
Commit messages (commitlint) 0s 0s 0s 35s N/A
Critical-flow E2E (Playwright) 1m 36s 1m 44s 1m 44s 5m 36s +223.1%
Migration lint (AGENTS rule 0s 0s 0s 7s N/A
Pipeline duration (p95 trend) 26s 27s 27s
Secret scan (gitleaks) 8s 11s 11s 9s -18.2%
Smoke E2E (Playwright) 1m 26s 1m 40s 1m 40s
Test coverage (vitest) 2m 4s 2m 33s 2m 33s 8m 21s +227.5%
Workflow lint (actionlint) 7s 7s 7s 8s +14.3%
check 4m 12s 4m 54s 5m 6s 13m 13s +169.7%
tsconfig strict guard (PR-1.A) 5s 14s 14s 7s -50.0%

⚠️ Warning: Current run (13m 33s) exceeds p95 + 20% threshold (9m 30s). Consider reviewing slow jobs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant