Skip to content

docs: migrate periodic-GC and IPNS verify-caching todos from GitHub issues#551

Merged
FSM1 merged 2 commits into
mainfrom
docs/migrate-perf-todos-from-issues
Jun 23, 2026
Merged

docs: migrate periodic-GC and IPNS verify-caching todos from GitHub issues#551
FSM1 merged 2 commits into
mainfrom
docs/migrate-perf-todos-from-issues

Conversation

@FSM1

@FSM1 FSM1 commented Jun 23, 2026

Copy link
Copy Markdown
Owner

What

Migrates two staging-perf follow-ups from standalone GitHub issues into the GSD
file-todo backlog (.planning/todos/pending/), where the rest of the todos live and
where /gsd:capture --list can see them:

Why

Both items were created as GitHub issues by mistake — the standing convention is to
capture todos via /gsd:capture --todo into .planning/todos/pending/. This restores
that, with the full issue writeups preserved verbatim.

Follow-up

Issues #547 and #549 are closed, each pointing back to this PR / the file-todo.

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

This pull request contains internal planning documentation only and includes no user-facing changes or feature updates. The changes document infrastructure maintenance considerations and performance optimization investigations for the platform's internal systems.

…ssues

Capture two staging-perf follow-ups as file-todos in .planning/todos/pending
so they live alongside the rest of the GSD todo backlog instead of as
standalone GitHub issues:

- periodic Kubo IPFS GC on staging (was issue 547)
- caching/short-circuiting redundant IPNS signature verification (was issue 549)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 6b1832e8749d
@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@FSM1, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 50 minutes and 48 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses rolling per-developer review limits. Reviews become available again as older review attempts age out of the rolling limit window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 15fb4cb5-38fc-4ca3-8a93-0da74b9f346b

📥 Commits

Reviewing files that changed from the base of the PR and between 6f4cc72 and ea796cf.

📒 Files selected for processing (1)
  • .planning/todos/pending/2026-06-22-periodic-kubo-ipfs-gc-on-staging.md

Walkthrough

Two markdown planning/todo files are added under .planning/todos/pending. The first documents a Kubo IPFS datastore bloat incident on staging, its completed ipfs repo gc remediation, and follow-up tasks for recurring GC. The second captures a CPU regression from redundant IPNS signature verification and outlines a caching/short-circuit investigation.

Changes

Staging Performance Planning Todos

Layer / File(s) Summary
Periodic Kubo IPFS GC todo
.planning/todos/pending/2026-06-22-periodic-kubo-ipfs-gc-on-staging.md
New todo with metadata, incident root-cause analysis (datastore bloat from load-test churn), before/after ipfs repo gc metrics, and follow-up tasks to configure recurring GC via Datastore.GCPeriod/--enable-gc or cron, plus memory-cap and orphaned-pin tuning notes.
IPNS signature verification caching todo
.planning/todos/pending/2026-06-23-cache-redundant-ipns-signature-verification-hot-path.md
New todo with metadata, staging load-test regression context, suspected cause (IPNS verification and durability hardening), scope/questions for a safe short-circuit (skip only server-authoritative records), acceptance criteria for CPU recovery, and references to prior hot-path PRs.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related issues

Possibly related PRs

  • FSM1/cipher-box#539: Both PRs address the IPNS signature verification area — this PR adds a planning todo for caching to reduce redundant verification on the hot path, while the referenced PR extends roadmap coverage for IPNS signature-verify.
🚥 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 title accurately describes the primary change: migrating two performance-related todos from GitHub issues to the file-todo system in .planning/todos/pending/.
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 docs/migrate-perf-todos-from-issues

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.

@github-actions

Copy link
Copy Markdown
Contributor

Release Preview

No version bumps detected. All changes are in unversioned paths or use exempt commit types.

@greptile-apps

greptile-apps Bot commented Jun 23, 2026

Copy link
Copy Markdown

Greptile Summary

This PR migrates two staging-perf follow-up items from GitHub issues (#547, #549) into the GSD file-todo backlog under .planning/todos/pending/, where the rest of the team's todos live. The content of both issues is preserved verbatim.

Confidence Score: 5/5

Documentation-only change adding two planning todo files; no production code is touched.

Both files are planning documents migrated verbatim from closed GitHub issues. They reference correct PRs and files, follow the existing todo frontmatter conventions, and introduce no executable code or configuration changes.

No files require special attention.

Important Files Changed

Filename Overview
.planning/todos/pending/2026-06-22-periodic-kubo-ipfs-gc-on-staging.md New todo migrated from GitHub issue #547; documents the staging GC bloat incident, remediation already applied, and two concrete options (daemon auto-GC or cron) for recurring GC. Content is accurate and well-referenced.
.planning/todos/pending/2026-06-23-cache-redundant-ipns-signature-verification-hot-path.md New todo migrated from GitHub issue #549; scopes the IPNS signature-verification caching investigation with clear acceptance criteria, a safe proposed cache key, and explicit guard that untrusted/DHT records must still be verified. No issues.

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
    participant Client
    participant API as API (ipns.service.ts)
    participant DB as DB (authoritative store)
    participant Kubo as Kubo IPFS daemon

    Note over API,Kubo: Current hot path (post #448/#529/#543/#544)
    Client->>API: upload (triggers IPNS publish)
    API->>DB: persist signed record
    API->>Kubo: publish record
    Kubo-->>API: Ed25519 verify
    API->>DB: resolveRecord (read-back)
    API->>API: Ed25519 verify again (redundant if DB-authoritative)
    API-->>Client: response

    Note over API,Kubo: Proposed optimisation (todo #549)
    Client->>API: upload (triggers IPNS publish)
    API->>DB: persist signed record
    API->>Kubo: publish record
    Kubo-->>API: Ed25519 verify
    API->>DB: resolveRecord
    alt record produced by this server (DB-authoritative)
        API->>API: cache hit — skip re-verify
    else externally-sourced / DHT record
        API->>API: full Ed25519 verify (unchanged)
    end
    API-->>Client: response
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
    participant Client
    participant API as API (ipns.service.ts)
    participant DB as DB (authoritative store)
    participant Kubo as Kubo IPFS daemon

    Note over API,Kubo: Current hot path (post #448/#529/#543/#544)
    Client->>API: upload (triggers IPNS publish)
    API->>DB: persist signed record
    API->>Kubo: publish record
    Kubo-->>API: Ed25519 verify
    API->>DB: resolveRecord (read-back)
    API->>API: Ed25519 verify again (redundant if DB-authoritative)
    API-->>Client: response

    Note over API,Kubo: Proposed optimisation (todo #549)
    Client->>API: upload (triggers IPNS publish)
    API->>DB: persist signed record
    API->>Kubo: publish record
    Kubo-->>API: Ed25519 verify
    API->>DB: resolveRecord
    alt record produced by this server (DB-authoritative)
        API->>API: cache hit — skip re-verify
    else externally-sourced / DHT record
        API->>API: full Ed25519 verify (unchanged)
    end
    API-->>Client: response
Loading

Reviews (2): Last reviewed commit: "docs: drop stale mem-cap bullet from per..." | Re-trigger Greptile

Comment thread .planning/todos/pending/2026-06-22-periodic-kubo-ipfs-gc-on-staging.md Outdated
The Kubo mem-cap raise (2G -> 3G) is already shipped in PR #548; both compose
files set memory: 3G. Replace the "consider raising" action item with a note
that it is done so a future implementer does not re-investigate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: b7717d5b0f0e
@FSM1 FSM1 enabled auto-merge (squash) June 23, 2026 17:43
@FSM1 FSM1 merged commit 6b7bc12 into main Jun 23, 2026
19 checks passed
@FSM1 FSM1 deleted the docs/migrate-perf-todos-from-issues branch June 23, 2026 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant