github TypeScript analyzed aa14dcd

Sortiri/sortiri

github

Open-source black box recorder for AI agents.

maintainer
Sortiri
license
Apache-2.0
first seen
2026-06-17
last seen
2026-06-17
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 48 tools
transport stdio · http counts 48 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • attach_artifact
  • finish_workstream
  • record_event
  • sortiri_confirm_decision_candidate
  • sortiri_convert_recommendation_to_workstream
  • sortiri_convert_remediation_to_workstream
  • sortiri_create_context_pack
  • sortiri_create_incident_rollback
  • sortiri_create_rollback
  • sortiri_dismiss_decision_candidate
  • sortiri_generate_context_from_recommendation
  • sortiri_generate_eval_suite
  • sortiri_generate_recommendations
  • sortiri_generate_remediation_from_eval
  • sortiri_get_context_pack
  • sortiri_get_decision
  • sortiri_get_entity_memory
  • sortiri_get_eval_remediation
  • sortiri_get_eval_run
  • sortiri_get_eval_suite
  • sortiri_get_incident
  • sortiri_get_ingest_delivery
  • sortiri_get_known_failures
  • sortiri_get_project_memory
  • sortiri_get_recommendation
  • sortiri_get_recommended_playbook
  • sortiri_get_source_health
  • sortiri_get_validation_requirements
  • sortiri_link_decision_to_workstream
  • sortiri_link_incident_to_decision
  • sortiri_link_incident_to_workstream
  • sortiri_list_dead_letters
  • sortiri_list_decision_candidates
  • sortiri_list_decisions
  • sortiri_list_eval_remediations
  • sortiri_list_eval_suites
  • sortiri_list_incidents
  • sortiri_list_ingest_deliveries
  • sortiri_list_observability_signals
  • sortiri_list_recommendations
  • sortiri_recommend_evals_for_workstream
  • sortiri_record_decision
  • sortiri_record_incident
  • sortiri_replay_ingest_delivery
  • sortiri_rerun_eval_for_remediation
  • sortiri_resolve_incident
  • sortiri_run_eval_suite
  • start_workstream
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit aa14dcd · analyzer v33 · 3d ago

skills & prompt files 3

danger signals2

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 1033

filesystem 63

  • fs Sortiri-sortiri-aa14dcd/packages/cli/src/commands/doctor.ts :1 import fs from "node:fs";
  • fs Sortiri-sortiri-aa14dcd/packages/cli/src/commands/export.ts :1 import fs from "node:fs";
  • fs Sortiri-sortiri-aa14dcd/packages/cli/src/lib/cursorSetup.ts :1 import fs from "node:fs";
  • fs Sortiri-sortiri-aa14dcd/packages/sortiri-local/src/config.ts :1 import fs from "node:fs";
  • fs Sortiri-sortiri-aa14dcd/packages/sortiri-local/src/events.ts :1 import fs from "node:fs";
  • fs Sortiri-sortiri-aa14dcd/packages/sortiri-local/src/paths.ts :1 import fs from "node:fs";
  • fs Sortiri-sortiri-aa14dcd/packages/sortiri-local/src/session.ts :1 import fs from "node:fs";
  • fs Sortiri-sortiri-aa14dcd/playwright.config.ts :2 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/assert-no-landing-changes.ts :9 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/assert-no-next-backend-routes.ts :5 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/audit-next-api-routes.ts :5 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/demo-open-source-local.ts :7 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/generate-oss-launch-assets.ts :5 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/lib/sanity-context-helpers.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/migrate-github-secrets.ts :7 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/reliability-backup-drill.ts :6 import fs from "node:fs/promises";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/replace-next-routes-gone.ts :5 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-audit-export-share.ts :7 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-audit-reports.ts :7 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-context.ts :6 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-decisions.ts :6 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-eval-remediation.ts :6 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-evals.ts :6 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-incidents.ts :6 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-recommendations.ts :6 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-reliability.ts :6 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-evidence-safety.ts :7 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-github-open-source-infra.ts :5 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-impact-analysis.ts :7 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-intelligence-hub.ts :7 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-lessons-playbooks.ts :7 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-observability-incident-memory.ts :6 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-open-source-project.ts :5 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-open-source-star-readiness.ts :6 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-project-access.ts :8 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-stripe-integration.ts :7 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/scan-oss-trust.ts :5 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/setup-e2e-auth.ts :10 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/setup-github-open-source-infra.ts :17 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/test-cli-run.ts :13 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/scripts/test-cli-setup.ts :13 import fs from "node:fs";
  • fs Sortiri-sortiri-aa14dcd/src/lib/reliability/localJournal.ts :2 import fs from "node:fs/promises";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/cli/config.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/cli/init.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/e2e/global-setup.ts :4 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/helpers/tempProject.ts :2 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/convex-observability-webhook.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/cursor-rules-generation.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/docs-trust-safety.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/github-infra-config.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/incident-status.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/launch-assets.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/local-cli-init.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/local-cli-record-export.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/local-journal.test.ts :1 import fs from "node:fs/promises";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/mcp-config-generation.test.ts :4 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/no-next-api-backend.test.ts :2 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/observability-normalization.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/open-source-readme.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/oss-trust-scan.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/package-metadata.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/positioning-language.test.ts :1 import fs from "node:fs";
  • fs (weak) Sortiri-sortiri-aa14dcd/tests/unit/readme-star-readiness.test.ts :1 import fs from "node:fs";

shell / exec 29

  • shell Sortiri-sortiri-aa14dcd/packages/cli/src/commands/evals.ts :1 import { spawn } from "node:child_process";
  • shell Sortiri-sortiri-aa14dcd/packages/cli/src/lib/commandCapture.ts :1 import { spawn } from "node:child_process";
  • shell Sortiri-sortiri-aa14dcd/packages/cli/src/lib/repo.ts :1 import { execSync } from "node:child_process";
  • shell Sortiri-sortiri-aa14dcd/packages/cli/src/watcher.ts :1 import { execFile } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/assert-no-landing-changes.ts :8 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/demo-open-source-local.ts :6 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/lib/eval-case-executors.ts :1 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/lib/sanity-eval-helpers.ts :197 const { spawnSync } = await import("node:child_process");
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-context.ts :5 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-decisions.ts :5 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-eval-remediation.ts :5 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-evals.ts :5 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-incidents.ts :5 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-recommendations.ts :5 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-reliability.ts :5 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-convex-api-surface.ts :5 import { spawnSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-observability-incident-memory.ts :338 const { execSync } = await import("node:child_process");
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-open-source-star-readiness.ts :5 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-platform-pages-ui.ts :5 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-platform-ui-ux.ts :5 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-slack-decision-memory.ts :176 const { execSync } = await import("node:child_process");
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/setup-e2e-auth.ts :29 const { execSync } = await import("node:child_process");
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/setup-github-branch-protection.ts :13 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/setup-github-labels.ts :13 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/setup-github-open-source-infra.ts :16 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/test-cli-run.ts :12 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/scripts/test-cli-setup.ts :12 import { execSync } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/tests/e2e/global-setup.ts :3 import { type ChildProcess, spawn } from "node:child_process";
  • shell (weak) Sortiri-sortiri-aa14dcd/tests/helpers/tempProject.ts :1 import { execSync } from "node:child_process";

network 41

  • net Sortiri-sortiri-aa14dcd/packages/cli/src/commands/context.ts :30 const response = await fetch(
  • net Sortiri-sortiri-aa14dcd/packages/cli/src/commands/decisions.ts :38 const response = await fetch(`${config.apiUrl}/cli/decisions`, {
  • net Sortiri-sortiri-aa14dcd/packages/cli/src/commands/doctor.ts :46 const response = await fetch(url, {
  • net Sortiri-sortiri-aa14dcd/packages/cli/src/commands/evals.ts :37 const response = await fetch(`${config.apiUrl}/cli/evals?${params.toString()}`, {
  • net Sortiri-sortiri-aa14dcd/packages/cli/src/commands/incidents.ts :46 const response = await fetch(`${config.apiUrl}/cli/incidents`, {
  • net Sortiri-sortiri-aa14dcd/packages/cli/src/commands/init.ts :71 const response = await fetch(`${apiUrl.replace(/\/$/, "")}/cli/setup/consume`, {
  • net Sortiri-sortiri-aa14dcd/packages/cli/src/commands/recommendations.ts :32 const response = await fetch(`${config.apiUrl}/cli/recommendations?${params.toString()}`, {
  • net Sortiri-sortiri-aa14dcd/packages/cli/src/commands/reliability.ts :36 const response = await fetch(
  • net Sortiri-sortiri-aa14dcd/packages/cli/src/ingestClient.ts :71 const response = await fetch(`${this.config.apiUrl}/ingest/artifacts`, {
  • net Sortiri-sortiri-aa14dcd/packages/cli/src/localViewer.ts :1 import http from "node:http";
  • net Sortiri-sortiri-aa14dcd/packages/mcp/src/client.ts :13 const response = await fetch(`${this.config.apiUrl}${path}`, {
  • net Sortiri-sortiri-aa14dcd/packages/sdk/src/client.ts :122 const response = await fetch(`${apiUrl}/ingest/events`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/lib/eval-case-executors.ts :78 const response = await fetch(url);
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/lib/sanity-context-helpers.ts :89 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/lib/sanity-eval-helpers.ts :50 return fetch(`${appUrl}/cli/evals?${params.toString()}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/lib/sanity-recommendation-helpers.ts :44 return fetch(`${appUrl}/cli/recommendations?${params.toString()}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/lib/sanity-reliability-helpers.ts :90 const response = await fetch(`${apiUrl}/ingest/events`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/run-eval-suite.ts :51 const response = await fetch(`${appUrl}${path}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-audit-export-share.ts :48 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-audit-reports.ts :47 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-enterprise-reliability.ts :92 const missingAuth = await fetch(`${apiUrl}/ingest/events`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-eval-remediation-loop.ts :152 const missingAuth = await fetch(`${appUrl}/cli/evals/remediation?workspaceId=${story.workspaceId}`);
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-evidence-safety.ts :47 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-impact-analysis.ts :47 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-integration-secrets.ts :28 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-intelligence-hub.ts :51 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-lessons-playbooks.ts :48 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-observability-incident-memory.ts :52 return fetch(`${apiUrl}/webhooks/observability?workspaceId=${encodeURIComponent(workspaceId)}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-posthog-integration.ts :23 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-project-access.ts :63 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-slack-decision-memory.ts :37 return fetch(`${apiUrl}/webhooks/slack?workspaceId=${encodeURIComponent(workspaceId)}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-stripe-integration.ts :48 const response = await fetch(`https://api.clerk.com/v1${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/setup-e2e-auth.ts :58 const response = await fetch(`${AGENTMAIL_BASE}${route}`, {
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/test-cli-setup.ts :105 const healthResponse = await fetch(
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/test-github-webhook.ts :56 const response = await fetch(
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/test-posthog-webhook.ts :63 const response = await fetch(
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/test-stripe-webhook.ts :143 const response = await fetch(
  • net (weak) Sortiri-sortiri-aa14dcd/scripts/verify-convex-http-url.ts :43 const healthRes = await fetch(`${apiUrl}/health`);
  • net Sortiri-sortiri-aa14dcd/src/components/audits/SharedAuditReportViewer.tsx :75 const response = await fetch(`/api/share/audit/${token}/artifacts/${artifactId}`);
  • net (weak) Sortiri-sortiri-aa14dcd/src/components/sources/test-event-button.tsx :30 const response = await fetch(buildIngestEventsUrl(), {
  • net (weak) Sortiri-sortiri-aa14dcd/tests/e2e/global-setup.ts :18 const response = await fetch(baseURL);

secrets 48

  • secrets Sortiri-sortiri-aa14dcd/convex/agents/askSortiriAgent.ts :10 apiKey: process.env.CRUSOE_API_KEY,
  • secrets Sortiri-sortiri-aa14dcd/convex/agents/insightAgent.ts :10 apiKey: process.env.CRUSOE_API_KEY,
  • secrets Sortiri-sortiri-aa14dcd/convex/cliRun.ts :6 const expected = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/cliSetup.ts :31 const expected = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/integrations/github.ts :40 const expected = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/integrations/migrate.ts :20 const expected = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/integrations/observability.ts :39 const expected = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/integrations/posthog.ts :37 const expected = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/integrations/slack.ts :30 const expected = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/integrations/stripe.ts :34 const expected = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/lib/httpAuth.ts :49 const devKey = process.env.SORTIRI_DEV_INGEST_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/lib/ingestAuth.ts :7 const expected = process.env.SORTIRI_DEV_INGEST_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/lib/reliabilityIngestAuth.ts :16 const expected = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets Sortiri-sortiri-aa14dcd/convex/lib/secretsLib.ts :5 const raw = process.env.SORTIRI_SECRET_ENCRYPTION_KEY?.trim();
  • secrets Sortiri-sortiri-aa14dcd/packages/cli/src/commands/decisions.ts :164 const secret = signingSecret ?? process.env.SORTIRI_SLACK_SIGNING_SECRET;
  • secrets Sortiri-sortiri-aa14dcd/packages/cli/src/commands/incidents.ts :177 const secret = signingSecret ?? process.env.SORTIRI_OBSERVABILITY_SIGNING_SECRET;
  • secrets (weak) Sortiri-sortiri-aa14dcd/packages/sdk/examples/basic.ts :4 const apiKey = process.env.SORTIRI_API_KEY ?? process.env.SORTIRI_DEV_INGEST_KEY;
  • secrets (weak) Sortiri-sortiri-aa14dcd/packages/sdk/examples/nextjs-route.ts :5 apiKey: process.env.SORTIRI_API_KEY!,
  • secrets Sortiri-sortiri-aa14dcd/packages/sortiri-local/src/config.ts :35 const apiKey = process.env.SORTIRI_API_KEY?.trim();
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/lib/sanity-reliability-helpers.ts :52 const key = process.env.SORTIRI_DEV_INGEST_KEY?.trim();
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/replay-ingest-journal.ts :15 const key = process.env.SORTIRI_DEV_INGEST_KEY;
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-cli-context.ts :85 const rawApiKey = process.env.SANITY_CONTEXT_API_KEY?.trim();
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-mcp-context-tools.ts :76 const rawApiKey = process.env.SANITY_CONTEXT_API_KEY?.trim();
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-posthog-integration.ts :214 if (!process.env.KEEP_WEBHOOK_SECRET) {
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/sanity-stripe-integration.ts :238 if (!process.env.KEEP_WEBHOOK_SECRET) {
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/setup-e2e-auth.ts :211 const password = process.env.E2E_PASSWORD?.trim() ?? DEFAULT_PASSWORD;
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/test-cli-run.ts :54 const serverKey = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/test-cli-setup.ts :37 const serverKey = process.env.SORTIRI_INTEGRATION_SERVER_KEY;
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/test-github-webhook.ts :17 const webhookSecret = process.env.WEBHOOK_SECRET;
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/test-posthog-webhook.ts :87 const webhookSecret = process.env.WEBHOOK_SECRET;
  • secrets (weak) Sortiri-sortiri-aa14dcd/scripts/test-stripe-webhook.ts :166 const webhookSecret = process.env.WEBHOOK_SECRET;
  • secrets Sortiri-sortiri-aa14dcd/src/components/landing/code-card/snippets.ts :9 apiKey: process.env.SORTIRI_API_KEY,
  • secrets Sortiri-sortiri-aa14dcd/src/components/sources/sources-page.tsx :33 apiKey: process.env.SORTIRI_API_KEY!,
  • secrets Sortiri-sortiri-aa14dcd/src/lib/reliability/objectStorageJournal.ts :20 const secretKey = process.env.SORTIRI_JOURNAL_SECRET_ACCESS_KEY;
  • secrets Sortiri-sortiri-aa14dcd/src/lib/security/secrets.ts :8 const raw = process.env.SORTIRI_SECRET_ENCRYPTION_KEY?.trim();
  • secrets Sortiri-sortiri-aa14dcd/src/lib/sortiri/ingestApi.ts :20 const key = process.env.SORTIRI_DEV_INGEST_KEY;
  • secrets Sortiri-sortiri-aa14dcd/src/lib/sortiri/ingestAuth.ts :30 const devKey = process.env.SORTIRI_DEV_INGEST_KEY;
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/cli/config.test.ts :12 const prevApiKey = process.env.SORTIRI_API_KEY;
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/cli/incidents.test.ts :86 const prev = process.env.SORTIRI_OBSERVABILITY_SIGNING_SECRET;
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/e2e/global-setup.ts :110 const ownerPassword = process.env.E2E_PASSWORD;
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/e2e/helpers/auth.ts :4 process.env.E2E_EMAIL?.trim() && process.env.E2E_PASSWORD?.trim(),
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/helpers/seedTestData.ts :12 const authToken = process.env.E2E_CONVEX_AUTH_TOKEN;
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/unit/github-encrypted-webhook.test.ts :11 process.env.SORTIRI_SECRET_ENCRYPTION_KEY = Buffer.alloc(32, 3).toString("base64");
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/unit/github-secret-migration.test.ts :7 process.env.SORTIRI_SECRET_ENCRYPTION_KEY = Buffer.alloc(32, 9).toString("base64");
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/unit/integration-connection-functions.test.ts :7 process.env.SORTIRI_SECRET_ENCRYPTION_KEY = Buffer.alloc(32, 7).toString("base64");
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/unit/integration-secrets.test.ts :6 process.env.SORTIRI_SECRET_ENCRYPTION_KEY = Buffer.alloc(32, 7).toString("base64");
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/unit/posthog-webhook-functions.test.ts :12 process.env.SORTIRI_SECRET_ENCRYPTION_KEY = Buffer.alloc(32, 7).toString("base64");
  • secrets (weak) Sortiri-sortiri-aa14dcd/tests/unit/stripe-webhook-functions.test.ts :7 process.env.SORTIRI_SECRET_ENCRYPTION_KEY = Buffer.alloc(32, 7).toString("base64");

tool registrations 52

  • start_workstream Sortiri-sortiri-aa14dcd/packages/mcp/src/localServer.ts :14
  • record_event Sortiri-sortiri-aa14dcd/packages/mcp/src/localServer.ts :27
  • attach_artifact Sortiri-sortiri-aa14dcd/packages/mcp/src/localServer.ts :51
  • finish_workstream Sortiri-sortiri-aa14dcd/packages/mcp/src/localServer.ts :68
  • start_workstream Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :76
  • record_event Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :94
  • attach_artifact Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :107
  • finish_workstream Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :120
  • sortiri_create_context_pack Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :134
  • sortiri_get_context_pack Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :152
  • sortiri_get_project_memory Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :165
  • sortiri_get_entity_memory Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :178
  • sortiri_get_known_failures Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :191
  • sortiri_get_validation_requirements Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :204
  • sortiri_get_recommended_playbook Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :217
  • sortiri_list_recommendations Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :230
  • sortiri_get_recommendation Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :243
  • sortiri_generate_recommendations Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :256
  • sortiri_convert_recommendation_to_workstream Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :268
  • sortiri_generate_context_from_recommendation Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :281
  • sortiri_generate_eval_suite Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :294
  • sortiri_list_eval_suites Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :307
  • sortiri_get_eval_suite Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :320
  • sortiri_run_eval_suite Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :333
  • sortiri_get_eval_run Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :346
  • sortiri_recommend_evals_for_workstream Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :359
  • sortiri_generate_remediation_from_eval Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :372
  • sortiri_list_eval_remediations Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :385
  • sortiri_get_eval_remediation Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :398
  • sortiri_convert_remediation_to_workstream Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :411
  • sortiri_rerun_eval_for_remediation Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :424
  • sortiri_list_ingest_deliveries Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :437
  • sortiri_get_ingest_delivery Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :450
  • sortiri_list_dead_letters Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :463
  • sortiri_replay_ingest_delivery Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :476
  • sortiri_get_source_health Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :489
  • sortiri_record_decision Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :501
  • sortiri_list_decisions Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :512
  • sortiri_get_decision Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :523
  • sortiri_link_decision_to_workstream Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :534
  • sortiri_create_rollback Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :545
  • sortiri_list_decision_candidates Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :556
  • sortiri_confirm_decision_candidate Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :567
  • sortiri_dismiss_decision_candidate Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :578
  • sortiri_record_incident Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :589
  • sortiri_list_incidents Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :600
  • sortiri_get_incident Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :611
  • sortiri_resolve_incident Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :622
  • sortiri_create_incident_rollback Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :633
  • sortiri_link_incident_to_workstream Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :644
  • sortiri_link_incident_to_decision Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :655
  • sortiri_list_observability_signals Sortiri-sortiri-aa14dcd/packages/mcp/src/server.ts :666

declared dependencies 29

  • @modelcontextprotocol/sdk@^1.29.0
  • @ai-sdk/openai@^3.0.71
  • @clerk/nextjs@^7.5.2
  • @convex-dev/agent@^0.6.3
  • @radix-ui/react-tooltip@^1.2.9
  • @sortiri/sdk@*
  • @sortiri/security@*
  • ai@^6.0.204
  • convex@^1.41.0
  • motion@^12.40.0
  • next@16.2.9
  • pixelarticons@^2.1.2
  • react@19.2.4
  • react-dom@19.2.4
  • @clerk/testing@^2.1.1
  • @playwright/test@^1.60.0
  • @tailwindcss/postcss@^4
  • @types/node@^20
  • @types/react@^19
  • @types/react-dom@^19
  • @vitest/coverage-v8@^4.1.8
  • eslint@^9
  • eslint-config-next@16.2.9
  • playwright@^1.60.0
  • tailwindcss@^4
  • tsx@^4.22.4
  • typescript@^5
  • vitest@^4.1.8
  • zod@^4.4.3

cursor-plugin 1

  • opaque (low) Sortiri-sortiri-aa14dcd/examples/demo-agent-project/.cursor/rules/sortiri.mdc bundled .cursor/ plugin descriptor (Sortiri-sortiri-aa14dcd/examples/demo-agent-project/.cursor/rules/sortiri.mdc) — presence-detected; review the descriptor