Skip to content

Dev - #7

Merged
AbdulmalikAlayande merged 3 commits into
mainfrom
dev
Jun 16, 2026
Merged

Dev#7
AbdulmalikAlayande merged 3 commits into
mainfrom
dev

Conversation

@AbdulmalikAlayande

Copy link
Copy Markdown
Collaborator

No description provided.

AbdulmalikAlayande and others added 2 commits June 13, 2026 12:59
Rebrand across the entire codebase:
- Package name: soroban-sentinel → sorokeep
- CLI binary: sentinel → sorokeep
- Display name: Soroban Sentinel → Sorokeep
- Data directory: ~/.soroban-sentinel/ → ~/.sorokeep/
- Database file: sentinel.db → sorokeep.db
- Env var: SENTINEL_SLACK_TOKEN → SOROKEEP_SLACK_TOKEN
- HTTP header: X-Sentinel-Signature → X-Sorokeep-Signature
- Code identifiers: SentinelConfig → SorokeepConfig,
  SentinelLedgerEntryResult → SorokeepLedgerEntryResult, etc.

24 files changed across source, tests, docs, and CI.
All 227 tests pass, TypeScript compiles clean.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 13, 2026 •

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 18c858be-4a5e-4d89-8d9a-d2d85e295a31

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The pull request executes a complete rebranding of the Soroban Sentinel project to Sorokeep. This encompasses package metadata, CLI identity, type definitions, storage paths, integration messaging, and extensive documentation updates across 24 files, with no functional logic changes.

Changes

Sorokeep Rebranding

Layer / File(s) Summary
Package and CLI Identity
package.json, src/index.ts, src/utils/config.ts, .github/workflows/publish.yml
Package renamed to sorokeep, CLI binary command changed from sentinel to sorokeep, root command name/description updated in Commander configuration, and config interface renamed from SentinelConfig to SorokeepConfig with ~/.sorokeep/ directory convention.
Database and Directory Paths
src/db/database.ts
Database location migrated from ~/.soroban-sentinel/sentinel.db to ~/.sorokeep/sorokeep.db, directory initialization helper introduced to ensure parent directory exists before database connection.
Type and Interface Updates
src/rpc/client.ts, src/core/watch.ts
SentinelLedgerEntryResult interface replaced by SorokeepLedgerEntryResult throughout RPC client and watch core module, with dependent types (ContractInstanceResult, EntryTTLsResult, WatchResult.wasm) updated accordingly.
Integration Messaging and Headers
src/alerts/slack.ts, src/alerts/webhook.ts
Slack token environment variable changed to SOROKEEP_SLACK_TOKEN, webhook HMAC signature header renamed to X-Sorokeep-Signature, and Slack message footer updated to reference sorokeep command names.
CLI Command User Guidance
src/commands/alerts.ts, src/commands/costs.ts, src/commands/daemon.ts, src/commands/guard.ts, src/commands/restore.ts, src/commands/status.ts, src/commands/watch.ts
Error hints and follow-up guidance messages across all command modules updated to reference sorokeep subcommands (watch, status, daemon, guard) instead of sentinel; no logic changes.
User Documentation and Architecture Docs
README.md, CONTRIBUTING.md
Comprehensive documentation updates including project title/description, installation/clone instructions, CLI example commands, webhook header name, Slack token setup, database/config paths, architecture diagrams, and FAQ content all rebranded to Sorokeep.
Test Fixtures and Environment Variables
tests/alerts/slack.test.ts, tests/alerts/webhook.test.ts, tests/commands/alerts.test.ts, tests/db/database.test.ts, tests/utils/config.test.ts
Test suite updated to use SOROKEEP_SLACK_TOKEN, CLI test invocations changed to "sorokeep" argument, webhook signature assertions expect X-Sorokeep-Signature, test directory prefix updated to sorokeep-config-test-*.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Poem

🐰 A sentinel once guarded the Soroban chain with care,
Now reborn as Sorokeep, it settles everywhere—
From ~/.soroban-sentinel to ~/.sorokeep it migrates,
With SorokeepLedgerEntry fresh, the rebrand orchestrates,
New headers sing X-Sorokeep-Signature, the old watch is complete! 🚀

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (1 warning, 2 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 40.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title "Dev" is vague and generic, using a non-descriptive term that does not convey any meaningful information about the changeset. Replace with a descriptive title that summarizes the main change, such as "Rebrand project from Soroban Sentinel to Sorokeep" or "Rename Soroban Sentinel to Sorokeep".
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess whether the description is related to the changeset. Add a pull request description explaining the purpose of the rebrand from Soroban Sentinel to Sorokeep and the scope of changes across documentation, package metadata, and source code.
✅ Passed checks (2 passed)
Check name Status Explanation
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 dev

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 358-362: Add a language specifier to the fenced code block that
shows the webhook header so the Markdown linter (MD040) passes and rendering
improves; update the block surrounding the example header string
"X-Sorokeep-Signature: sha256=a1b2c3d4e5f6..." to use a language tag (e.g.,
text) after the opening backticks (```text) instead of bare backticks (```) in
README.md.
- Around line 436-439: Update the ASCII diagram entry that currently reads
"~/.soroban-     sorokeep/     sorokeep.db" so it matches the documented and
implemented path "~/.sorokeep/sorokeep.db"; edit the three lines in the README
ASCII box to replace the incorrect "~/.soroban-" fragment with "~/.sorokeep/"
(keeping the same visual alignment or adjusting spacing for the three-line
diagram format).

In `@src/commands/watch.ts`:
- Around line 54-55: The help text currently interpolates
formatContractID(contractId) into the 'sorokeep status' and 'sorokeep guard'
hints which truncates long IDs; update the console.log lines that build those
hints to use the raw contractId value instead of calling
formatContractID(contractId) (replace occurrences of
formatContractID(contractId) with contractId), and apply the same change to the
analogous hint(s) in the restore-related hint so all user-facing command
examples use the exact contractId.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 5ec7d9a4-42f3-4dec-843e-af608bb34f00

📥 Commits

Reviewing files that changed from the base of the PR and between ace1633 and defaf35.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (23)
  • .github/workflows/publish.yml
  • CONTRIBUTING.md
  • README.md
  • package.json
  • src/alerts/slack.ts
  • src/alerts/webhook.ts
  • src/commands/alerts.ts
  • src/commands/costs.ts
  • src/commands/daemon.ts
  • src/commands/guard.ts
  • src/commands/restore.ts
  • src/commands/status.ts
  • src/commands/watch.ts
  • src/core/watch.ts
  • src/db/database.ts
  • src/index.ts
  • src/rpc/client.ts
  • src/utils/config.ts
  • tests/alerts/slack.test.ts
  • tests/alerts/webhook.test.ts
  • tests/commands/alerts.test.ts
  • tests/db/database.test.ts
  • tests/utils/config.test.ts
📜 Review details
🧰 Additional context used
🪛 LanguageTool
CONTRIBUTING.md

[style] ~10-~10: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...first. If there's no issue for what you want to do, open one and describe the change be...

(REP_WANT_TO_VB)


[grammar] ~190-~190: Ensure spelling is correct
Context: ...commands like sorokeep status, the 85-135ms startup overhead of oclif is noticeable...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.22.1)
README.md

[warning] 360-360: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🔇 Additional comments (25)
tests/alerts/slack.test.ts (1)

57-57: LGTM!

Also applies to: 61-61, 71-71, 78-79

tests/alerts/webhook.test.ts (1)

129-129: LGTM!

Also applies to: 135-135, 138-138, 145-146, 159-159, 168-168

tests/commands/alerts.test.ts (1)

49-49: LGTM!

Also applies to: 81-81, 111-111, 137-137, 170-170, 201-201

tests/db/database.test.ts (1)

317-317: LGTM!

tests/utils/config.test.ts (1)

7-7: LGTM!

package.json (1)

2-2: LGTM!

Also applies to: 8-8, 30-30

src/utils/config.ts (1)

11-11: LGTM!

Also applies to: 24-24, 29-30, 35-35, 38-38, 48-48, 66-66, 68-68, 82-82, 84-85

.github/workflows/publish.yml (1)

38-38: LGTM!

src/rpc/client.ts (1)

20-20: LGTM!

Also applies to: 23-23, 31-31, 38-38, 146-146

src/core/watch.ts (1)

2-2: LGTM!

Also applies to: 21-21, 72-72, 83-83

src/alerts/slack.ts (1)

13-13: LGTM!

Also applies to: 16-16, 23-24, 84-84, 112-112

src/alerts/webhook.ts (1)

12-12: LGTM!

Also applies to: 27-27

src/index.ts (1)

17-18: LGTM!

src/db/database.ts (3)

7-15: LGTM!


31-31: LGTM!


41-41: LGTM!

src/commands/alerts.ts (2)

45-45: LGTM!


89-89: LGTM!

src/commands/costs.ts (1)

22-22: LGTM!

src/commands/daemon.ts (1)

38-38: LGTM!

src/commands/guard.ts (2)

29-29: LGTM!


104-104: LGTM!

src/commands/restore.ts (2)

26-26: LGTM!


80-80: LGTM!

src/commands/status.ts (1)

22-22: LGTM!

Comment thread README.md
Comment thread README.md
Comment thread src/commands/watch.ts
The previous lock file had stale @emnapi entries that caused
npm ci to fail in CI. Deleted and regenerated from scratch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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