Documentation Reference · 06

MCP Server, CLI & API Reference

Connect any MCP-compatible agent — or use the CLI directly from your terminal. One platform, two interfaces, 60+ tools across every domain in the workspace.

Panduan Cepat

Hosted MCP menggunakan OAuth melalui Streamable HTTP. Mulailah dengan URL Siftable; tidak perlu menyalin dan menempel token.

1. Tambahkan URL hosted MCP

Tambahkan https://siftable.io/api/v1/mcp sebagai server atau konektor MCP jarak jauh. Jangan gunakan endpoint /sse yang sudah tidak digunakan lagi.

2. Selesaikan OAuth

Pilih Connect, Authenticate, atau Login di klien Anda dan setujui akses pada layar persetujuan Siftable. Jangan tambahkan header Authorization ke konfigurasi ini.

claude_code_config.json
{
  "mcpServers": {
    "siftable": {
      "type": "http",
      "url": "https://siftable.io/api/v1/mcp"
    }
  }
}

3. Verifikasi koneksi

Panggil context_current, lalu tampilkan daftar proyek atau tugas. Gunakan find_capability saat Anda membutuhkan tindakan lain.

Example agent interaction
# Agent calls:
project_list()
task_list(status: "in_progress")
calendar_list_events(startDate: "2026-02-17", endDate: "2026-02-23")

# Agent now has your full operational context.

CLI Installation

Siftable CLI memberikan antarmuka perintah terminal yang lengkap serta copilot interaktif. Ini menggunakan catatan yang sama dengan MCP ter-host, dilengkapi autentikasi khusus CLI dan kapabilitas lokal. Biner akan terinstal sebagai sift (dengan alias kompatibilitas siftable dan exf).

1. Install

Terminal
npm install  -g @siftable/cli     # npm
bun  install -g @siftable/cli     # bun
pnpm add     -g @siftable/cli     # pnpm

# or run without installing
npx @siftable/cli <command>

2. Authenticate

The CLI uses device flow authentication — it opens your browser, you approve, and a token is stored locally.

Terminal
$ sift auth login

  Your verification code: ZFMV-SBGJ

  Opening browser...
  If the browser didn't open, visit: https://siftable.io/app/device?code=ZFMV-SBGJ

  Waiting for authorization...
  Logged in successfully!

3. Run your first command

Terminal
$ sift projects list

 NAME                STATUS    TASKS
 Siftable            active    12
 Marketing Site      active    4
 Mobile App          planning  0

$ sift projects context <id>

# Full project context: tasks, signals, notes, members.

Every CLI command supports --json for machine-readable output. Pipe it into jq, feed it to scripts, or let agents parse it directly.

Autentikasi

Gunakan OAuth untuk hosted MCP, device flow untuk sesi CLI interaktif, dan Personal Access Token untuk otomatisasi non-interaktif atau klien MCP lokal.

Alur Perangkat (CLI)

Jalankan sift auth login. CLI akan membuka browser Anda, Anda masuk dengan Google dan menyetujui kode perangkat. PAT akan dibuat dan disimpan di ~/.config/siftable/ secara otomatis. Tidak ada token untuk disalin-tempel.

Personal Access Token (otomatisasi dan MCP lokal)

Untuk otomatisasi non-interaktif atau klien MCP lokal, buat token di Settings → Integrations → Developer / AI Clients dan kirimkan dalam header Authorization. Token statis tidak dapat menggunakan peningkatan cakupan OAuth.

HTTP Header
Authorization: Bearer sift_pat_your_token_here

Token dicakupkan ke domain tertentu (tasks-only, calendar-only, akses penuh, dll.). Untuk pipeline CI, atur SIFT_TOKEN sebagai variabel lingkungan.

Auth Commands
$ sift auth login
$ sift auth status
$ sift auth logout

Cakupan token dan operasi tulis yang tersedia bergantung pada konfigurasi dan paket ruang kerja Anda. Periksa Settings → Integrations → Developer / AI Clients dan Pricing untuk melihat batasan saat ini pada akun Anda.

Koneksi MCP

Siftable hosted MCP menggunakan Streamable HTTP dengan OAuth. Endpoint-nya adalah:

MCP Endpoint
https://siftable.io/api/v1/mcp

Gunakan URL ini dengan klien jarak jauh berkemampuan OAuth termasuk ChatGPT, Codex, Cursor, Claude, Grok, dan implementasi MCP SDK yang kompatibel. Panduan penyiapan MCP ter-host memiliki langkah-langkah khusus untuk masing-masing klien.

Tugas

Task Domain 6 tools
MCP ToolCLIAccessDescription
task_list sift tasks list READ List tasks with filters: status (inbox, next_action, in_progress, waiting_for, completed, archived), phase, project, limit.
task_get sift tasks get READ Get a single task with full details: description, due date, priority, project, linked code.
task_create sift tasks create WRITE Create a task. Accepts title, description, priority (do_now, schedule, delegate, someday), project, due date.
task_update sift tasks update WRITE Update task fields: title, description, status, priority, due date, project assignment.
task_complete sift tasks complete WRITE Mark a task as completed.
task_delete sift tasks delete DELETE Permanently delete a task.
CLI Examples
$ sift tasks list --status in_progress

 TITLE                     STATUS        PRIORITY   DUE
 Ship CLI docs             in_progress   do_now     2026-02-27
 Fix device flow auth      in_progress   do_now     -

$ sift tasks create --title "Review PR #312" --priority do_now --json
{"id":"abc-123","title":"Review PR #312","status":"inbox","priority":"do_now"}

Kalender

Calendar Domain 4 tools
MCP ToolCLIAccessDescription
calendar_list_events sift calendar list READ List events in a date range. Returns title, start/end times, location, description. Supports limit.
calendar_create_event sift calendar create WRITE Create a calendar event. Requires title, startTime, endTime (ISO 8601). Optional: description, location.
calendar_update_event sift calendar update WRITE Update an existing event's title, times, description, or location.
calendar_delete_event sift calendar delete DELETE Remove an event from the calendar.
CLI Examples
$ sift calendar list --start 2026-02-24 --end 2026-02-28

 TITLE                  START              END                LOCATION
 Team standup           Feb 25 09:00       Feb 25 09:30       Zoom
 Product review         Feb 26 14:00       Feb 26 15:00       Conf Room B

$ sift calendar create --title "Ship CLI v0.3" \
    --start 2026-02-27T10:00:00Z --end 2026-02-27T10:30:00Z

Proyek

Project Domain 5 tools
MCP ToolCLIAccessDescription
project_list sift projects list READ List projects. Filter by status (planning, active, on_hold, blocked, completed). Include archived.
project_get_context sift projects context READ Full project context: tasks, notes, members, signals. The richest single call for understanding a project.
project_create sift projects create WRITE Create a project with name, summary, status, and emoji.
project_update sift projects update WRITE Update project name, summary, status, or emoji.
project_archive sift projects archive WRITE Archive a completed or inactive project.

Pengetahuan

Knowledge Domain 6 tools
MCP ToolCLIAccessDescription
note_search sift notes search READ Semantic + full-text search across notes. Filter by project.
note_list sift notes list READ List notes. Filter by type (note, concept, meeting, reference, daily, dataset) and project.
note_get sift notes get READ Get full note content by ID.
note_create sift notes create WRITE Create a note with title, markdown content, type, and optional project.
note_update sift notes update WRITE Update note title, content, or type.
note_delete sift notes delete DELETE Delete a note.

Datasets

Dataset Domain 19 commands

Structured datasets support grounded summaries, grouped analysis, ranking, bucketing, time-series work, import/export, schema changes, and record mutations from the same CLI and MCP-backed platform.

CapabilityCLIAccessDescription
Browse and inspect sift datasets list, get, query, summarize READ List datasets, inspect schema, query records, and get row-count and sample summaries.
Grounded analysis sift datasets analyze, aggregate, compare READ Generate natural-language insights, grouped metrics, and side-by-side segment comparisons.
Ranking and bucketing sift datasets rank, bucket READ Sort or score records, then bucket numeric or date fields into ranges with metrics per bucket.
Time series and plots sift datasets timeseries, plot READ Compute lag, pct-change, rolling windows, drawdown, or normalize plotting payloads from derived results.
Import and export sift datasets import, export WRITE Bring CSVs in, append to existing datasets, or export filtered results back to CSV.
Create and materialize sift datasets create, materialize WRITE Create datasets directly or turn a derived result into a new scratch dataset.
Schema and records sift datasets schema, add, update-record, delete-record WRITE Modify field definitions, add rows, update rows, and delete rows with explicit commands.
Derived workflows sift datasets join, compute READ Join dataset slices and compute derived fields before materializing or plotting the result.
CLI Examples
$ sift datasets list
$ sift datasets summarize <dataset-id>
$ sift datasets analyze <dataset-id> --focus-fields BMI,Outcome
$ sift datasets aggregate <dataset-id> --group-by Outcome \
    --metrics '[{"operation":"count","as":"rows"},{"operation":"avg","field":"BMI","as":"avg_bmi"}]'
$ sift datasets compare <dataset-id> --segment-field Outcome \
    --metrics '[{"operation":"avg","field":"Glucose","as":"avg_glucose"}]'
$ sift datasets rank <dataset-id> --sorts '[{"field":"BMI","direction":"desc"}]' --limit 10
$ sift datasets bucket <dataset-id> --field Age --bucket-count 5 \
    --metrics '[{"operation":"count","as":"rows"}]'

Kontak

People Domain 5 tools
MCP ToolCLIAccessDescription
people_search sift people search READ Search contacts by name. Returns relationship type, company, contact info, interaction history.
sift people list READ List all contacts. CLI-only convenience wrapper.
person_create sift people create WRITE Create a contact with name, relationship, company, and contact details.
person_update sift people update WRITE Update a contact's details, relationship, or company.
person_delete sift people delete DELETE Delete a contact.

Code Memory

Code Memory Domain 4 tools

Simpan dan ambil kembali fakta terkurasi tentang basis kode Anda. Periksa sumber secara lokal dengan Git, rg, atau editor Anda; Siftable tidak menyediakan hosting untuk pengindeksan sumber atau pencarian sumber.

MCP ToolCLIAccessDescription
code_memory_store sift code memory store WRITE Store a fact. Categories: architecture, integration, convention, entrypoint, gotcha, ownership. Optional: file path, repository.
code_memory_search sift code memory search READ Semantic search over stored code facts. Filter by category or repository.
code_memory_list sift code memory list READ List all stored code memories. Filter by repository.
code_memory_delete sift code memory delete DELETE Delete a stored code memory by ID.

Dokumen

Document Domain 1 command
MCP ToolCLIAccessDescription
upload_document sift documents upload WRITE Upload a PDF, Markdown, or text file into Knowledge. Set by file path or inline content. Auto-detects type.

Vault

Vault Domain 5 tools

Encrypted secret storage. Store API keys, credentials, OAuth tokens, SSH keys, and sensitive notes. Values are encrypted at rest and audit-logged on read.

MCP ToolCLIAccessDescription
vault_create sift vault create WRITE Store a new encrypted secret. Types: env_var, credential, oauth_token, ssh_key, certificate, note.
vault_list sift vault list READ List vault entries (metadata only — never decrypted values). Filter by type or category.
vault_search sift vault search READ Search vault entries by name, slug, or description. Returns metadata only.
vault_update sift vault update WRITE Update vault entry metadata: name, tags, category, description.
CLI Examples
$ sift vault create --name "Stripe API Key" --json
# Interactive prompt for sensitive payload values

$ sift vault list

 NAME                TYPE         CATEGORY     CREATED
 Stripe API Key      env_var      payments     2026-02-25
 GitHub PAT          credential   devtools     2026-02-20

$ sift vault materialize run --help
# Approved plaintext goes only to the exact local destination.

$ sift env pull --help
# Pull an approved .sift/environment.yaml bundle.

Workflows

Cross-domain recipes that combine multiple tools. These patterns work identically via MCP or CLI.

Link Code to Tasks

Connect implementation work to the task that motivated it. Agents and teammates can trace why code changed.

MCP
task_create(title: "Implement device flow auth", priority: "do_now")
# ... implement the feature ...
task_link_code(taskId: "abc-123", repositoryId: "repo-456",
  commitSha: "5cf5f22", filePath: "src/services/deviceAuthService.ts",
  notes: "Fixed verification_uri to use /app/device")
task_complete(taskId: "abc-123")
CLI
$ sift tasks create --title "Implement device flow auth" --priority do_now
$ sift code link abc-123 --repo repo-456 \
    --commit 5cf5f22 --file src/services/deviceAuthService.ts
$ sift tasks complete abc-123

Project Onboarding

New to a project? Pull the full context in three commands.

CLI
# 1. Get the big picture
$ sift projects context <id>

# 2. See what's in flight
$ sift tasks list --project <id> --status in_progress

# 3. Check code conventions
$ sift code memory search "architecture and conventions"

End-of-Day Review

Summarize what happened today. Works great as an agent prompt or a manual check.

MCP (agent prompt)
# Agent calls:
calendar_list_events(startDate: "2026-02-26", endDate: "2026-02-26")
task_list(status: "completed", limit: 20)
task_list(status: "in_progress")

# Agent now has: today's meetings, completed tasks, and remaining work.
# It can draft a standup summary, update project status, or flag blockers.
CLI
$ sift calendar list --start 2026-02-26 --end 2026-02-26
$ sift tasks list --status completed --limit 20 --json | jq '.tasks[] | .title'
$ sift tasks list --status in_progress

Store a Debug Discovery

Found a gotcha? Store it so your future self (or your agent) doesn't rediscover it the hard way.

CLI
$ sift code memory store \
    --fact "Device flow verification_uri must use /app/device (SPA path), not /device (marketing homepage)" \
    --category gotcha \
    --file src/services/deviceAuthService.ts

Idempotensi

Operasi write (task_create, note_create, calendar_create_event, dll.) menerima parameter idempotencyKey opsional. Jika kamu retry request dengan key yang sama, Siftable mengembalikan hasil aslinya alih-alih membuat duplikat.

Idempotent task creation
task_create(
  title: "Review PR #247",
  priority: "do_now",
  idempotencyKey: "agent-run-42-task-pr247"
)

# Safe to retry. Same key = same result.

Izin Akses

Token di-scope per domain. Token khusus kalender tidak bisa membaca tugas atau kontak. Scope token-mu ke akses minimum yang dibutuhkan agent-mu.

Scope yang tersedia:

  • tasks:read / tasks:write — Task listing, CRUD, and completion
  • calendar:read / calendar:write — Event listing and creation
  • projects:read / projects:write — Project management and context
  • knowledge:read / knowledge:write — Notes, search, document upload
  • people:read / people:write — Contact search and CRM updates
  • work:read / work:write — Agent work queue items
  • org:read — Workspace org metadata
  • mcp:* — All MCP operations (recommended for IDE and agent use)

Operasi tulis yang tersedia bergantung pada cakupan token dan paket workspace Anda saat ini. Periksa token yang Anda terbitkan dan halaman harga saat ini sebelum mengandalkan operasi tulis di produksi.

Referensi Perintah CLI

All 169 commands from @siftable/cli@0.5.29, generated from the oclif manifest so this page cannot drift from sift --help. Every command also accepts the global flags (--json, --token, --api-url, --workspace, --no-input).

Setiap perintah juga mendukung flag global: --json (output JSON mentah), --token / SIFT_TOKEN, --api-url / SIFT_API_URL (default https://siftable.io), --workspace / SIFT_WORKSPACE_ID, dan --no-input (menonaktifkan prompt). Perintah destruktif memerlukan --confirm atau -y.

Umum

Perintah utama dan diagnosis.

5 perintah
Shellsift
sift capabilities

Tampilkan kapabilitas dan status kesiapan Siftable CLI

Shellsift
sift commands

Tampilkan topik perintah yang ramah agen dan titik masuk alur kerja

Shellsift
sift doctor

Diagnosis konfigurasi Siftable CLI lokal tanpa menampilkan rahasia.

Shellsift
sift interactive

Jalankan copilot terminal Siftable (sift interactive) — asisten AI terintegrasi untuk tugas, pekerjaan, kalender, proyek, dan kontak Anda.

Flags
--connected-models — List eligible connected models and exit
--connection <value> needs model — Select a Model Connection UUID for a gateway invocation
--max-output-tokens <value> needs prompt — Maximum connected-model output tokens (1-32768)
--model <value> — Select an eligible connected model for a gateway invocation
--prompt <value> needs model — Invoke the selected connected model once and exit
--stream needs prompt — Consume selected connected-model output incrementally
Shellsift
sift mermaid

Render diagram Mermaid ke terminal (flowchart, sequence, state, class, ER, C4, arsitektur, mindmap). Membaca file .mmd atau stdin.

Arguments
file — Path to a .mmd file (omit to read stdin)
Flags
--ascii — Use ASCII glyphs instead of Unicode box drawing
--color <none|truecolor> default: "truecolor" — Color mode
--height <value> — Fit into an exact N-row pane (pads/clips)
--max-height <value> — Bound the diagram to N rows (no padding)
--max-width <value> — Bound the diagram to N columns (no padding)
--overflow <allow|clip|error> default: "clip" — What to do when the diagram exceeds the bounds
--unicode — Use Unicode box drawing (default)
--width <value> — Fit into an exact N-column pane (pads/clips)

Agen

Alias agen.

6 perintah
Shellsift
sift agents create

Buat alias agen

Flags
--alias <value> required — Stable alias slug, e.g. codex
--capabilities <value> — Capabilities JSON object
--hidden — Hide from normal user-visible lists
--name <value> — Display name
--operator <value> — Linked daemon/operator ID
--permissions <value> — Default permissions JSON object
--type <value> default: "custom" — Agent type
Shellsift
sift agents disable

Nonaktifkan alias agen

Arguments
alias required — Agent alias or ID
Shellsift
sift agents get

Dapatkan alias agen

Arguments
alias required — Agent alias or ID
Shellsift
sift agents list

Daftar alias agen

Flags
--include-disabled — Include disabled aliases
Shellsift
sift agents update

Perbarui alias agen

Arguments
alias required — Agent alias or ID
Flags
--capabilities <value> — Capabilities JSON object
--hidden — Hide from normal user-visible lists
--name <value> — Display name
--operator <value> — Linked daemon/operator ID
--permissions <value> — Default permissions JSON object
--status <active|disabled> — Alias status
--type <value> — Agent type
--visible — Show in normal user-visible lists
Shellsift
sift agents work

Daftar pekerjaan alias agen

Arguments
alias required — Agent alias or ID
Flags
--limit <value> — Maximum results
--status <value> — Work item status

Ai

5 commands
Shellsift
sift ai connect

Show the secure browser flow for adding a non-exportable Model Connection

Flags
--url <value> default: "https://siftable.io/settings/model-connections" — Siftable Model Connections settings URL
Shellsift
sift ai invoke

Invoke an eligible connected model (requires ai:invoke and ai:connections:use)

Flags
--connection <value> required — Model Connection UUID returned by sift ai list
--max-output-tokens <value> — Maximum output tokens (1-32768)
--model <value> required — Eligible model ID returned by sift ai list
--prompt <value> required — Prompt text
--stream — Consume and print incremental connected-model output
Shellsift
sift ai list

List eligible connected models (requires ai:models:read)

Shellsift
sift ai status

Show non-secret Model Connection status (requires ai:connections:use)

Arguments
connection — Optional Model Connection UUID
Shellsift
sift ai usage

Show connected-model usage totals (requires ai:usage:read)

Flags
--from <value> — ISO-8601 period start
--to <value> — ISO-8601 period end

Approvals

2 commands
Shellsift
sift approvals request

Request a governed action approval; this command cannot approve or consume it

Flags
--action <value> required — Governed action identifier
--destination <value> default: "{}" — Destination binding JSON object
--expires-in <value> — Approval lifetime in seconds (30-600)
--operation <value> required — Operation identifier
--purpose <value> required — Human-readable non-secret purpose
--resource-id <value> required — Resource identifier
--resource-type <value> required — Resource type identifier
Shellsift
sift approvals status

Inspect a governed approval requested by this CLI identity

Arguments
id required — Approval ID

Autentikasi

Perintah autentikasi.

3 perintah
Shellsift
sift auth login

Autentikasi dengan Siftable

Flags
--scope <ai:models:read|ai:invoke|ai:usage:read|ai:connections:use|vault:metadata:read|vault:manage|vault:audit:read> repeatable — Incremental AI invocation or Vault scope to request (repeatable; management AI scopes and plaintext reveal are unavailable)
Shellsift
sift auth logout

Hapus autentikasi yang tersimpan

Shellsift
sift auth status

Tampilkan status autentikasi

Billing

4 commands
Shellsift
sift billing fallback decide

Allow, deny, or always allow personal funding for a quoted workspace operation

Flags
--decision <allow|deny|always_allow> required
--monthly-cap-micros <value> — Monthly micro-USD cap for always_allow
--quote <value> required — Server-issued operation quote ID
Shellsift
sift billing fallback policy

Read or update the workspace personal-fallback policy

Flags
--disabled — Disable and revoke personal fallback
--enabled — Enable personal fallback
Shellsift
sift billing fallback revoke

Revoke one of your active personal-fallback consents

Arguments
consentId required
Shellsift
sift billing fallback status

Show your active personal-fallback decisions for a workspace

Kalender

Acara kalender.

4 perintah
Shellsift
sift calendar create

Buat acara kalender

Flags
--description <value> — Event description
--end <value> required — End time (ISO 8601)
--location <value> — Event location
--start <value> required — Start time (ISO 8601)
--title <value> required — Event title
Shellsift
sift calendar delete

Hapus acara kalender

Arguments
id required — Event ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift calendar list

Daftar acara kalender

Flags
--end <value> — End date (ISO 8601)
--limit <value> — Maximum number of results
--start <value> — Start date (ISO 8601)
Shellsift
sift calendar update

Perbarui acara kalender

Arguments
id required — Event ID
Flags
--description <value> — Event description
--end <value> — End time (ISO 8601)
--location <value> — Event location
--start <value> — Start time (ISO 8601)
--title <value> — Event title

Capabilities

5 commands
Shellsift
sift capabilities create

Create a reviewed server-brokered Vault capability

Flags
--adapter <value> required — Reviewed static adapter ID
--expires-in <value> — Lifetime in seconds (300-2592000)
--field <value> default: "value" — Credential payload field
--operation <value> required — Comma-separated allowlisted operations
--provider <value> required — Provider ID
--purpose <value> required — Non-secret human-readable purpose
--vault-entry <value> required — Vault entry UUID
Shellsift
sift capabilities describe

Describe safe metadata for one Vault capability

Arguments
id required — Capability metadata ID
Shellsift
sift capabilities execute

Execute one typed operation through a Vault capability handle

Flags
--approval <value> — Governed approval UUID when required
--handle <value> required — Opaque vcap_ capability handle
--idempotency-key <value> — Stable 8-128 character key for safe retries
--input <value> default: "{}" — Typed operation input JSON object
--operation <value> required — Allowlisted operation
Shellsift
sift capabilities list

List safe metadata for Vault capability handles

Shellsift
sift capabilities revoke

Revoke a Vault capability

Arguments
id required — Capability metadata ID

Kode

Alat kode.

13 perintah
Shellsift
sift code blame

Git blame untuk file

Arguments
file required — Relative file path
Flags
--root <value> default: "." — Repository root path
Shellsift
sift code memory confirm

Konfirmasi calon memori kode dengan alasan yang bisa diaudit

Arguments
id required — Memory ID
Flags
--reason <value> required — Audit reason
Shellsift
sift code memory delete

Hapus fakta basis kode yang tersimpan

Arguments
id required — Memory ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift code memory detect-stale

Deteksi memori kode yang kemungkinan usang dan tandai sebagai needs_review (tidak pernah menghapus)

Flags
--limit <value> — Maximum memories to scan
--repo <value> — Repository ID
Shellsift
sift code memory edit

Edit memori kode di tempat; konten sebelumnya tetap tersimpan di catatan audit

Arguments
id required — Memory ID
Flags
--confidence <value> — Confidence 0-1
--fact <value> required — Updated fact
--reason <value> required — Audit reason
Shellsift
sift code memory events

Tampilkan daftar event kurasi/riwayat append-only untuk sebuah memori kode

Arguments
id required — Memory ID
Flags
--limit <value> — Maximum number of events
Shellsift
sift code memory get

Tampilkan satu memori kode beserta asal-usul, bukti, dan siklus hidupnya

Arguments
id required — Memory ID
Shellsift
sift code memory list

Daftar fakta basis kode yang tersimpan

Flags
--include-inactive — Include rejected and superseded lineage memories
--lifecycle <unreviewed|confirmed|rejected|superseded|needs_review> — Filter by lifecycle state
--limit <value> — Maximum number of results
--repo <value> — Repository ID
Shellsift
sift code memory needs-review

Tandai memori kode sebagai needs_review karena kemungkinan usang/bertentangan (tidak pernah menghapus)

Arguments
id required — Memory ID
Flags
--reason <value> required — Audit reason
--signal <value> repeatable — Staleness signal (repeatable)
Shellsift
sift code memory reject

Tolak memori kode dengan alasan yang dapat diaudit (tolak sementara; tidak pernah menghapus)

Arguments
id required — Memory ID
Flags
--reason <value> required — Audit reason
Shellsift
sift code memory search

Cari fakta basis kode tersimpan

Arguments
query required — Search query
Flags
--category <architecture|integration|convention|entrypoint|gotcha|ownership> — Filter by category
--include-inactive — Include rejected and superseded lineage memories
--lifecycle <unreviewed|confirmed|rejected|superseded|needs_review> — Filter by lifecycle state
--limit <value> — Maximum number of results
--repo <value> — Repository ID
Shellsift
sift code memory store

Simpan fakta basis kode

Flags
--agent <value> — Authoring agent (marks memory as agent-authored)
--category <architecture|integration|convention|entrypoint|gotcha|ownership> required — Fact category
--commit <value> — Source commit SHA
--confidence <value> — Confidence 0-1
--evidence-chunk <value> repeatable — Historical indexed chunk ID supporting the fact
--fact <value> required — Fact to store (1-2 sentences)
--file <value> — Related file path
--path <value> repeatable — Additional related path (repeatable)
--reason <value> — Capture reason (required with --agent)
--repo <value> — Repository ID
--work-item <value> — Related agent work item ID
Shellsift
sift code memory supersede

Gantikan memori kode dengan fakta baru; memori lama disimpan sebagai riwayat

Arguments
id required — Memory ID to supersede
Flags
--category <architecture|integration|convention|entrypoint|gotcha|ownership> — Fact category (defaults to previous)
--commit <value> — Source commit SHA
--confidence <value> — Confidence 0-1
--evidence-chunk <value> repeatable — Evidence chunk ID (repeatable)
--fact <value> required — Replacement fact
--file <value> — Related file path
--path <value> repeatable — Additional related path (repeatable)
--reason <value> required — Audit reason

Codex

Alat bantu otomatisasi Codex.

1 perintah
Shellsift
sift codex daily-review collect

Kumpulkan konteks Siftable hanya-baca dan git lokal untuk tinjauan kerja harian Codex

Flags
--calendar-days <value> default: 7 — Calendar lookahead days
--limit <value> default: 20 — Maximum records per source
--skip-git — Skip local git summary

Konteks

1 perintah
Shellsift
sift context current

Jelaskan konteks principal, pemilik, proyek, dan checkout lokal saat ini

Flags
--workspace-root <value> — Absolute local checkout root to describe (never sent as a workspace tenant ID)

Crm

6 perintah
Shellsift
sift crm import apply

Terapkan hanya operasi yang disetujui dari rencana impor CRM yang ada; aman dijalankan ulang

Arguments
planId required — Durable CRM import plan UUID
Flags
--yes — Confirm canonical CRM writes without prompting
Shellsift
sift crm import approve

Setujui semua atau operasi tertunda yang dipilih dalam rencana impor CRM yang ada

Arguments
planId required — Durable CRM import plan UUID
Flags
--operation-id <value> repeatable — Stable operation ID to approve; repeat to approve a subset
--reason <value> required — Human approval reason recorded on the plan
--yes — Confirm the approval without prompting
Shellsift
sift crm import get

Lanjutkan dan periksa rencana impor CRM tangguh berdasarkan ID rencana yang stabil

Arguments
planId required — Durable CRM import plan UUID
Shellsift
sift crm import plan

Buat atau gunakan kembali rencana impor CRM tangguh dari CSV, TSV, XLS, atau XLSX tanpa menulis catatan CRM kanonis

Arguments
file required — Local CSV, TSV, XLS, or XLSX source (8 MiB maximum)
Flags
--mapping-mode <manual|workspace_auto> default: "manual" — Manual mapping or approved workspace mapping profile
--provider <generic|salesforce> default: "generic" — Source provider mapping
Shellsift
sift crm organizations convert

Jelaskan batasan yang diatur antara organisasi CRM dan ruang kerja

Arguments
id required — CRM organization ID
Shellsift
sift crm organizations list

Hanya menampilkan daftar organisasi CRM; ruang kerja kolaboratif tidak disertakan

Flags
--limit <value> default: 100 — Maximum number of CRM results
--search <value> — Optional fuzzy search query

Dataset

Dataset terstruktur.

43 perintah
Shellsift
sift datasets add

Tambah data ke dataset

Arguments
id required — Dataset ID
Flags
--idempotency-key <value> required — Caller-owned stable key for replaying this exact dataset mutation
--record <value> repeatable — Record as JSON object, e.g. '{"name":"Alice","age":"30"}'
--records <value> — Multiple records as JSON array
Shellsift
sift datasets aggregate

Agregasi data dataset dengan metrik grup (count, avg, sum, min, max, median, stddev, percentile, ratio)

Arguments
id required — Dataset ID
Flags
--filters <value> — JSON array of filters
--group-by <value> — Comma-separated field names to group by
--having <value> — JSON array of having clauses [{metric, operator, value}]
--limit <value> default: 100 — Max rows
--metrics <value> — JSON array of metrics [{operation, field, as}]
--sorts <value> — JSON array of sorts
Shellsift
sift datasets analyze

Hasilkan wawasan bahasa alami berbasis data untuk dataset

Arguments
id required — Dataset ID
Flags
--filters <value> — JSON array of filters
--focus-fields <value> — Comma-separated field names to focus analysis on
--max-insights <value> default: 5 — Max insights to generate
--mode <descriptive|operational> — Analysis mode
--signal-limit <value> — Max decision signals to return
Shellsift
sift datasets apply-diff

Terapkan rencana diff dataset yang disimpan

Arguments
plan required — Path to a local diff plan or persisted diff plan ID
Flags
--yes — Confirm applying the saved diff plan without prompting
Shellsift
sift datasets archive

Arsipkan dataset tanpa menghapus tabel fisiknya

Arguments
id required — Dataset ID
Flags
-y, --yes — Confirm dataset archival without prompting
Shellsift
sift datasets bucket

Kelompokkan bidang numerik atau tanggal ke dalam rentang dengan metrik agregat

Arguments
id required — Dataset ID
Flags
--boundaries <value> — Comma-separated boundary values (omit for auto-bucketing)
--bucket-count <value> — Number of auto-buckets (default: 5)
--field <value> required — Field to bucket
--filters <value> — JSON array of filters
--metrics <value> — JSON array of metrics
Shellsift
sift datasets cleanup

Rencanakan atau terapkan pembersihan untuk dataset scratch bertag siklus hidup

Flags
--dry-run — Return a deterministic cleanup plan without deleting datasets
--lifecycle <value> — Lifecycle kind to clean, e.g. scratch, benchmark, research-run
--limit <value> default: 100 — Maximum lifecycle datasets to inspect
--now <value> — Deterministic timestamp for tests and scheduled cleanup
--older-than <value> — Only include datasets older than this duration, e.g. 12h, 7d
--orphaned — Include stale dataset notes that no longer have a backing dataset row
--tag <value> — Lifecycle tag to clean, e.g. benchmark
-y, --yes — Confirm deletion when applying cleanup with --no-dry-run
Shellsift
sift datasets compare

Bandingkan metrik antar segmen bidang kategoris secara berdampingan

Arguments
id required — Dataset ID
Flags
--filters <value> — JSON array of filters
--limit <value> default: 10 — Max segment values to compare
--metrics <value> — JSON array of metrics
--segment-field <value> required — Categorical field to segment by
--segment-values <value> — Comma-separated segment values (auto-discovers if omitted)
Shellsift
sift datasets compute

Hitung bidang turunan dari dataset atau hasil turunan sebelumnya

Arguments
id — Dataset ID
Flags
--computed-fields <value> required — JSON array of computed fields, e.g. '[{"as":"spread","expression":"right.Close-left.Close"}]'
--filters <value> — JSON array of filters
--limit <value> default: 50 — Maximum rows
--order-by <value> — JSON array of order clauses
--select <value> — Comma-separated fields to include
--sorts <value> — JSON array of output sorts
--source-result <value> — Inline JSON for a prior derived result
--source-result-file <value> — Path to a JSON file containing a prior derived result
Shellsift
sift datasets contract

Tampilkan skema dataset dan kontrak kapabilitas yang terbaca agen

Arguments
id required — Dataset ID
Flags
--resolve <value> — Comma-separated semantic field references to resolve
--template <value> — Validate contract against a built-in template
Shellsift
sift datasets create

Buat dataset

Flags
--description <value> — Dataset description
--fields <value> — Field definitions as JSON array, e.g. '[{"name":"age","type":"number"}]'
--idempotency-key <value> required — Caller-owned stable key for replaying this exact dataset mutation
--lifecycle <value> — Lifecycle kind for generated datasets, e.g. scratch, benchmark, research-run
--metadata <value> — Dataset metadata as JSON object
--note-id <value> — Link to an existing note
--run-id <value> — Lifecycle run identifier
--scratch — Shortcut for --lifecycle scratch --tags scratch
--tags <value> — Comma-separated lifecycle tags
--title <value> required — Dataset title
--ttl <value> — Lifecycle TTL duration, e.g. 12h, 7d, 30d
Shellsift
sift datasets dedupe

Temukan rekaman dataset duplikat berdasarkan kunci tanpa mengubah data

Arguments
id required — Dataset ID
Flags
--key <value> required — Field name used to group duplicates
--limit <value> default: 500 — Maximum records to scan in one bounded pass
Shellsift
sift datasets delete

Hapus dataset secara permanen dan hapus tabel fisiknya

Arguments
id required — Dataset ID
Flags
-y, --yes — Confirm dataset deletion without prompting
Shellsift
sift datasets delete-record

Hapus rekaman dari dataset

Arguments
id required — Dataset ID
record-id required — Record ID
Flags
--idempotency-key <value> required — Caller-owned stable key for replaying this exact dataset mutation
-y, --yes — Skip confirmation
Shellsift
sift datasets diff

Pratinjau perubahan baris dataset dari file CSV, JSON, atau JSONL

Arguments
id required — Dataset ID
Flags
--batch-size <value> default: 100 — Records per backend batch
--from-file <value> required — Path to CSV, JSON, or JSONL rows to compare
--persist — Persist the diff plan in Siftable for later review/apply
--save-plan <value> — Write an applyable diff plan JSON file
--template <sources|people|events|claims|evidence_sources|evidence_source_fragments|evidence_claims|evidence_people|evidence_organizations|evidence_places|evidence_artifacts|evidence_events|evidence_relationships|evidence_contradictions> — Built-in template name
--upsert-by <value> — Field name used to match existing rows
Shellsift
sift datasets diff-plans list

Tampilkan daftar rencana diff dataset yang tersimpan

Flags
--dataset-id <value> — Filter by dataset ID
--limit <value> default: 50 — Maximum plans to return
--status <draft|validated|applied|rejected|expired> — Filter by plan status
Shellsift
sift datasets diff-plans show

Tampilkan rencana diff dataset yang tersimpan

Arguments
id required — Diff plan ID
Shellsift
sift datasets export

Ekspor rekaman dataset terbatas sebagai CSV, JSON, JSONL, atau Markdown

Arguments
id required — Dataset ID
Flags
--filters <value> — JSON array of filters
--format <csv|json|jsonl|markdown> default: "csv" — Export format
--limit <value> default: 500 — Max rows to export
-o, --output <value> — Output file path (writes to stdout if omitted)
--sorts <value> — JSON array of sorts
Shellsift
sift datasets facets

Tampilkan ringkasan faset terbatas untuk kolom dataset

Arguments
id required — Dataset ID
Flags
--fields <value> — Comma-separated field names to facet
--limit <value> default: 20 — Maximum values per facet
Shellsift
sift datasets formula-plan

Hitung kolom formula dan pratinjau pembaruan dataset yang dapat ditinjau

Arguments
id required — Dataset ID
Flags
--computed-fields <value> required — JSON array of computed fields, e.g. '[{"as":"score","expression":"confidence * reliability"}]'
--filters <value> — JSON array of filters for compute source
--limit <value> default: 100 — Maximum rows to compute and plan
--order-by <value> — JSON array of order clauses
--save-plan <value> — Write an applyable diff plan JSON file
--select <value> — Comma-separated fields to include in compute source
--sorts <value> — JSON array of output sorts
--target-fields <value> — Comma-separated computed field names to write; defaults to every computed field alias
--template <sources|people|events|claims> — Built-in template name for validation
--upsert-by <value> required — Field used to match rows for update
Shellsift
sift datasets get

Dapatkan detail dan skema dataset

Arguments
id required — Dataset ID
Shellsift
sift datasets impact

Jelaskan dampak rumus, grafik, tampilan, kualitas, dan materialisasi dataset

Arguments
id required — Dataset ID
Flags
--from-plan <value> — Persisted diff plan ID to inspect
--operation <value> — Committed dataset operation ID to inspect
Shellsift
sift datasets import

Impor baris CSV, JSON, atau JSONL ke dataset baru atau yang sudah ada

Arguments
file required — Path to CSV, JSON, or JSONL file
Flags
--batch-size <value> default: 100 — Records per backend batch
--dataset-id <value> — Import into existing dataset instead of creating a new one
--description <value> — Dataset description
--dry-run — Validate and plan the import without writing
--lifecycle <value> — Lifecycle kind for generated datasets, e.g. scratch, benchmark, research-run
--metadata <value> — Dataset metadata as JSON object when creating a new dataset
--run-id <value> — Lifecycle run identifier
--scratch — Shortcut for --lifecycle scratch --tags scratch
--tags <value> — Comma-separated lifecycle tags
--template <sources|people|events|claims|evidence_sources|evidence_source_fragments|evidence_claims|evidence_people|evidence_organizations|evidence_places|evidence_artifacts|evidence_events|evidence_relationships|evidence_contradictions> — Built-in template name
--title <value> — Dataset title (defaults to filename)
--ttl <value> — Lifecycle TTL duration, e.g. 12h, 7d, 30d
--upsert-by <value> — Field name used to update matching rows instead of creating duplicates
--yes — Confirm mutating imports without prompting
Shellsift
sift datasets inspect-file

Periksa struktur berkas CSV, TSV, XLS, atau XLSX lokal tanpa membuat atau mengubah dataset

Arguments
file required — Path to a local CSV, TSV, XLS, or XLSX file
Flags
--delimiter <value> — Single-byte delimiter override for CSV/TSV
--format <csv|tsv|xls|xlsx> — Format override when the extension is absent or wrong
--header-row <value> — Zero-based header row index within the sheet grid
--max-bytes <value> — Refuse files larger than this many bytes
--max-cols <value> — Maximum columns returned per sheet
--max-rows <value> — Maximum data rows returned per sheet
--max-sheets <value> — Maximum sheets returned
--sheet <value> — Inspect only this sheet; the full sheet inventory is still reported
Shellsift
sift datasets join

Gabungkan dataset ke dirinya sendiri menggunakan field dengan alias seperti left.Close dan right.Close

Arguments
id required — Dataset ID
Flags
--join-keys <value> required — JSON array of join keys, e.g. '[{"leftField":"Date","rightField":"Date"}]'
--join-type <inner|left|right> default: "inner" — Join type
--left-alias <value> default: "left" — Left alias
--left-filters <value> — JSON array of left-side filters
--limit <value> default: 50 — Maximum joined rows
--right-alias <value> default: "right" — Right alias
--right-filters <value> — JSON array of right-side filters
--select <value> — Comma-separated alias-scoped fields to return
--sorts <value> — JSON array of sorts
Shellsift
sift datasets list

Daftar dataset

Flags
--limit <value> default: 50 — Maximum number of results
Shellsift
sift datasets lookup

Cari record dataset berdasarkan kecocokan key/value yang tepat

Arguments
id required — Dataset ID
Flags
--key <value> required — Field name to match
--limit <value> default: 25 — Maximum matching records
--value <value> required — Exact value to match
Shellsift
sift datasets materialize

Materialisasikan hasil turunan ke dataset scratch baru

Flags
--description <value> — Dataset description
--idempotency-key <value> required — Caller-owned stable key for replaying this exact dataset mutation
--source-result <value> — Inline JSON for a derived result
--source-result-file <value> — Path to a JSON file containing a derived result
--title <value> required — Title of the new dataset
Shellsift
sift datasets pivot

Buat ringkasan gaya pivot dari metrik dataset yang dikelompokkan

Arguments
id required — Dataset ID
Flags
--cols <value> required — Column field
--filters <value> — JSON array of filters
--limit <value> default: 500 — Maximum grouped cells to request
--metrics <value> — JSON metrics array; defaults to count
--rows <value> required — Row field
Shellsift
sift datasets plot

Validasi dan normalisasi payload plot ringan dari hasil turunan

Flags
--chart-type <line|bar|scatter> required — Chart type
--series-field <value> — Optional series field
--source-result <value> — Inline JSON for a derived result
--source-result-file <value> — Path to a JSON file containing a derived result
--x-field <value> required — X-axis field
--y-fields <value> required — Comma-separated Y-axis fields
Shellsift
sift datasets profile

Tampilkan informasi profil terbatas untuk dataset

Arguments
id required — Dataset ID
Flags
--sample-limit <value> default: 10 — Number of sample rows to include
Shellsift
sift datasets quality

Periksa kualitas dataset dengan metrik nilai yang hilang terstruktur dan observasi nilai berulang

Arguments
id required — Dataset ID
Flags
--fields <value> — Comma-separated field names to check
--repeat-threshold <value> default: 3 — Minimum occurrences for a repeated value to be reported
Shellsift
sift datasets query

Query record dari dataset

Arguments
id required — Dataset ID
Flags
--cursor <value> — Pagination cursor from previous query
--filters <value> — Filter conditions as JSON array, e.g. '[{"field":"status","value":"active"}]'
--include-deleted — Include soft-deleted records
--limit <value> default: 25 — Maximum number of records
--sorts <value> — Sort spec as JSON array, e.g. '[{"field":"name","direction":"asc"}]'
Shellsift
sift datasets rank

Peringkatkan record dataset berdasarkan kriteria urutan atau rumus numerik berbobot

Arguments
id required — Dataset ID
Flags
--filters <value> — JSON array of filters
--formula <value> — JSON formula object {weights: [{field, weight}]}
--limit <value> default: 25 — Max rows
--sorts <value> — JSON array of sorts
Shellsift
sift datasets reconcile

Bandingkan dua dataset berdasarkan kunci tanpa mengubah data aslinya

Arguments
left required — Left dataset ID
right required — Right dataset ID
Flags
--left-key <value> required — Left dataset key field
--limit <value> default: 500 — Maximum rows to scan from each dataset
--right-key <value> — Right dataset key field; defaults to --left-key
Shellsift
sift datasets schema

Ubah skema dataset (tambah, perbarui, atau hapus field)

Arguments
id required — Dataset ID
Flags
--field <value> — Field definition as JSON, e.g. '{"name":"email","type":"text"}'
--field-id <value> — Field ID (required for update/delete)
--idempotency-key <value> required — Caller-owned stable key for replaying this exact dataset mutation
--operation <add_field|update_field|delete_field> required — Schema operation
Shellsift
sift datasets search

Cari record dataset pada field serupa teks yang dipilih

Arguments
id required — Dataset ID
query required — Search text
Flags
--fields <value> — Comma-separated fields to search; defaults to profile columns
--filters <value> — JSON array of base filters applied to every field search
--limit <value> default: 25 — Maximum merged records
--per-field-limit <value> default: 25 — Maximum records to request per searched field
Shellsift
sift datasets summarize

Lihat ringkasan dataset (jumlah baris, field, dan contoh baris)

Arguments
id required — Dataset ID
Shellsift
sift datasets templates list

Daftar template dataset bawaan

Shellsift
sift datasets templates show

Tampilkan skema template dataset bawaan

Arguments
template required — Template name
Shellsift
sift datasets timeseries

Analisis time series dataset dengan lag, pct_change, rolling windows, drawdown, volatilitas, dan korelasi

Arguments
id required — Dataset ID
Flags
--date-field <value> required — Date field name
--filters <value> — JSON array of filters
--limit <value> default: 100 — Maximum output rows
--metrics <value> — JSON array of metric definitions
--order-direction <asc|desc> default: "asc" — Time ordering
--pivot — Emit explicit pivoted output
--segment-field <value> — Optional segment field
--segment-values <value> — Comma-separated segment values
--transforms <value> — JSON array of transform definitions
Shellsift
sift datasets update-record

Perbarui rekaman dalam dataset

Arguments
id required — Dataset ID
record-id required — Record ID
Flags
--fields <value> required — Field updates as JSON object, e.g. '{"status":"done"}'
--idempotency-key <value> required — Caller-owned stable key for replaying this exact dataset mutation
Shellsift
sift datasets validate

Validasi dataset dengan templat bawaan

Arguments
id required — Dataset ID
Flags
--template <sources|people|events|claims|evidence_sources|evidence_source_fragments|evidence_claims|evidence_people|evidence_organizations|evidence_places|evidence_artifacts|evidence_events|evidence_relationships|evidence_contradictions> required — Built-in template name

Dokumen

Unggah dokumen.

1 perintah
Shellsift
sift documents upload

Unggah dokumen (PDF, Markdown, atau teks) sebagai catatan

Arguments
file required — Path to file
Flags
--project <value> — Project ID
--title <value> — Note title (defaults to filename)
--type <note|concept|meeting|reference|daily|dataset> — Note type

Env

Kontrak lingkungan deklaratif dan materialisasi paket Vault yang terkelola.

11 perintah
Shellsift
sift env check

Validasi kontrak lingkungan untuk penggunaan lokal atau CI

Flags
--checkout-root <value> — Exact Git checkout root containing .sift/environment.yaml
--ci — Fail non-zero when contract, example, Git, or checkout safety findings exist
Shellsift
sift env diff

Tampilkan pergeseran kontrak lingkungan (tanpa nilai)

Flags
--checkout-root <value> — Exact Git checkout root containing .sift/environment.yaml
Shellsift
sift env endpoint enroll

Daftarkan identitas endpoint publik tanpa memberikan akses Vault

Flags
--dedicated — Endpoint is a dedicated runner
--endpoint-class <interactive_desktop|remote_vm|noninteractive_runner|shared_host|ci_runner|production_host|multi_tenant> required — Explicit endpoint policy class
--kill-switch — Runner has an enforced kill switch
--owner <value> default: "personal" — personal or workspace:<uuid>
--storage-tier <hardware_host_bound|systemd_managed|convenience_keyring|none> required — Actual endpoint key storage tier; convenience_keyring is not hardware-backed
Shellsift
sift env example

Buat contoh deterministik yang hanya berisi nama dan placeholder

Flags
--checkout-root <value> — Exact Git checkout root containing .sift/environment.yaml
--write — Write the deterministic output to .env.example instead of displaying it
Shellsift
sift env import apply

Terapkan satu paket impor `dotenv` yang telah ditinjau secara atomik.

Flags
--checkout-root <value> — Checkout used only to reject Sift-managed source files
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--plan-file <value> required — Reviewed value-free plan artifact
--source <value> required — Same explicit dotenv source used to create the plan
Shellsift
sift env import plan

Buat paket bebas nilai lingkup pemilik untuk satu sumber `dotenv` yang ditentukan.

Flags
--checkout-root <value> — Checkout used only to reject Sift-managed source files
--decision <value> repeatable — Explicit per-index decision: INDEX:keep-existing|overwrite|skip|rename=NAME
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--plan-file <value> required — New local value-free plan artifact to create
--project <value> — Exact owner-scoped project UUID
--source <value> required — Explicit dotenv source file
Shellsift
sift env pull

Tarik satu paket Vault terkelola ke file lingkungan pengembangan yang dikelola Sift.

Flags
--approval-timeout <value> default: 600
--checkout-root <value> — Checkout containing .sift/environment.yaml
--destination <value> — Exact relative destination when the manifest declares more than one bundle
--endpoint-class <development|production|ci|shared_host|policy_ineligible> required — Explicit endpoint policy class; managed pulls accept development only
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--purpose <value> required
--replace — Replace a changed Sift-managed file using its exact observed precondition
Shellsift
sift env push apply

Terapkan satu paket impor `dotenv` yang telah ditinjau secara atomik.

Flags
--checkout-root <value> — Checkout used only to reject Sift-managed source files
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--plan-file <value> required — Reviewed value-free plan artifact
--source <value> required — Same explicit dotenv source used to create the plan
Shellsift
sift env push plan

Buat paket bebas nilai lingkup pemilik untuk satu sumber `dotenv` yang ditentukan.

Flags
--checkout-root <value> — Checkout used only to reject Sift-managed source files
--decision <value> repeatable — Explicit per-index decision: INDEX:keep-existing|overwrite|skip|rename=NAME
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--plan-file <value> required — New local value-free plan artifact to create
--project <value> — Exact owner-scoped project UUID
--source <value> required — Explicit dotenv source file
Shellsift
sift env rm

Hapus satu file lingkungan lokal yang dikelola Sift.

Flags
--checkout-root <value> — Exact Git checkout root containing .sift/environment.yaml
--destination <value> — Exact relative destination when the manifest declares more than one bundle
--yes required — Confirm removal of the exact recognized managed file
Shellsift
sift env status

Laporkan status lingkungan lokal yang bebas nilai.

Flags
--checkout-root <value> — Exact Git checkout root containing .sift/environment.yaml

Peristiwa

Acara riset berbasis fakta lini masa.

3 perintah
Shellsift
sift events attach-person

Lampirkan peserta ke acara riset yang sudah ada

Arguments
event required — Existing temporal fact ID
person required — Person UUID to attach
Flags
--role <value> default: "subject" — Participant role
--yes — Confirm participant attachment without prompting
Shellsift
sift events create

Buat fakta lini masa acara riset dengan peserta

Flags
--body <value> — Event notes/body
--confidence <low|medium|high> — Confidence level
--entity <value> repeatable — Participant/entity as type:uuid or type:uuid:role; repeatable
--org <value> repeatable — Organization UUID participant; repeatable
--person <value> repeatable — Person UUID participant; repeatable
--precision <millisecond|minute|hour|day|month|year|decade|century|millennium|mega_year|era> default: "year" — Temporal precision
--source <value> repeatable — Source entity as type:uuid or type:uuid:role; repeatable
--source-label <value> — Source/provenance label
--source-note <value> — Source/provenance note
--source-url <value> — Source/provenance URL
--timestamp <value> — ISO timestamp
--title <value> required — Event title
--visibility <org_public|private|restricted> — Timeline visibility
--year <value> — Historical year CE
--year-end <value> — Historical end year CE
Shellsift
sift events list

Tampilkan daftar fakta lini masa peristiwa riset

Flags
--cursor <value> — Pagination cursor
--end <value> — End boundary
--entity <value> — Filter by entity ref type:uuid
--limit <value> default: 50 — Maximum events
--order <asc|desc> default: "asc" — Sort order
--person <value> — Filter by person UUID
--q <value> — Text search query
--start <value> — Start boundary

Evidence

Penyiapan Evidence Graph dan orkestrasi alur kerja pembuktian.

11 perintah
Shellsift
sift evidence diff apply

Terapkan rencana diff Evidence Graph yang telah ditinjau

Arguments
id required — Persisted diff plan ID
Flags
--yes — Confirm applying the reviewed diff plan without prompting
Shellsift
sift evidence diff impact

Jelaskan konsekuensi Evidence Graph untuk rencana diff yang tersimpan

Arguments
id required — Persisted diff plan ID, or local when using --from-file
Flags
--from-file <value> — Local diff plan JSON file to explain without API access
Shellsift
sift evidence diff list

Tampilkan daftar rencana diff Evidence Graph yang tersimpan

Flags
--dataset-id <value> — Filter by evidence dataset ID
--limit <value> default: 50 — Maximum plans to return
--project <value> — Filter locally by Evidence Graph project ID when present on plans
--status <draft|validated|applied|rejected|expired> — Filter by plan status
Shellsift
sift evidence diff show

Tampilkan rencana diff Evidence Graph dengan ringkasan berbasis domain

Arguments
id required — Persisted diff plan ID
Shellsift
sift evidence extract

Buat tugas agen tanpa penerapan untuk ekstraksi kandidat Evidence Graph

Flags
--agent <value> default: "researcher" — Assigned agent alias
--context <value> — Additional input context JSON object
--context-file <value> — Additional input context JSON file
--dry-run — Preview work item payload without writing
--no-apply — Keep extraction in proposed/diff-first mode
--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history> default: "company-origin" — Evidence workflow pack
--project <value> — Project ID
--source-dataset <value> required — Evidence sources dataset ID
--targets <value> — Comma-separated extraction targets
--yes — Confirm work item creation without prompting
Shellsift
sift evidence init

Buat proyek Evidence Graph dan tabel kerja berbasis dataset

Arguments
name required — Evidence Graph project name
Flags
--dry-run — Preview project/dataset creation without writing
--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history> default: "company-origin" — Evidence workflow pack
--yes — Confirm creation without prompting
Shellsift
sift evidence plan

Rencanakan alur kerja Evidence Graph sebelum menulis trusted state

Arguments
goal required — Evidence Graph goal
Flags
--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history> default: "company-origin" — Evidence workflow pack
--project <value> — Existing project ID
--source-dataset <value> — Existing evidence sources dataset ID
Shellsift
sift evidence project

Jalankan dry-run untuk lini masa dan proyeksi hubungan Evidence Graph

Flags
--dry-run — Preview projection without writing
--from-file <value> — Local diff plan JSON file to project from without API access
--from-plan <value> — Persisted diff plan ID to project from
--pack <company-origin|family-history|investigation|compliance-evidence|account-history|codebase-history> default: "company-origin" — Evidence workflow pack
--project <value> — Evidence Graph project ID
Shellsift
sift evidence proof report

Buat laporan bukti Evidence Graph dari paket bukti berbasis dataset

Flags
--format <json|markdown> default: "markdown" — Report format
--from-file <value> required — Evidence packet JSON file to report on
--project <value> — Evidence Graph project ID for report metadata
Shellsift
sift evidence sources import

Impor baris buku besar sumber Evidence Graph ke dalam tabel sumber berbasis dataset

Arguments
file required — Path to CSV, JSON, or JSONL source ledger rows
Flags
--batch-size <value> default: 100 — Records per backend batch
--dataset-id <value> — Evidence sources dataset ID
--dry-run — Validate and plan source import without writing
--upsert-by <value> default: "source_id" — Field name used to update matching source rows
--yes — Confirm mutating imports without prompting
Shellsift
sift evidence verify

Verifikasi provenans, tinjauan, proyeksi, dan invarian sitasi Evidence Graph

Flags
--from-file <value> required — Evidence packet JSON file to verify
--project <value> — Evidence Graph project ID for report metadata

Grants

4 commands
Shellsift
sift grants adapters

List reviewed local execution adapters and honest containment tiers

Shellsift
sift grants request

Request a human-approved grant for a pre-registered trusted local runner

Flags
--adapter <value> required
--audience <value> required
--credential-field <value> required
--cwd <value>
--executable <value> required — Resolved reviewed executable path
--executable-digest <value> required
--issuer <value> required
--operation <value> required
--purpose <value> required
--runner-fingerprint <value> required
--runner-public-key <value> required — PEM public-key file from the trusted local runner
--scope <value> required — Provider scope JSON with string values
--vault-entry <value> required
Shellsift
sift grants run

Request approval, redeem in memory, and run exactly one reviewed child process

Flags
--adapter <github_gh|github_publish_pr|terraform_apply> required
--approval-timeout <value> default: 600
--audience <value> required
--body-file <value> — PR body file for github_publish_pr
--credential-field <value> required
--cwd <value>
--issuer <value> required
--operation <value> required
--purpose <value> required
--scope <value> required
--vault-entry <value> required
Shellsift
sift grants status

Inspect safe status for an ephemeral local execution grant

Arguments
id required

Graf

Pencarian graf entitas dan tetangga sekitarnya.

5 perintah
Shellsift
sift graph between

Jelaskan jalur graf terbatas antara dua entitas.

Arguments
source required — Source entity reference as type:uuid
target required — Target entity reference as type:uuid
Flags
--depth <value> default: 4 — Maximum path depth, backend clamps to 1-5
--frontier-limit <value> default: 500 — Maximum links to inspect per path expansion, backend clamps to 1-1000
Shellsift
sift graph explain

Jelaskan jalur graf terbatas antara dua entitas.

Arguments
source required — Source entity reference as type:uuid
target required — Target entity reference as type:uuid
Flags
--depth <value> default: 4 — Maximum path depth, backend clamps to 1-5
--frontier-limit <value> default: 500 — Maximum links to inspect per path expansion, backend clamps to 1-1000
Shellsift
sift graph neighbors

Tampilkan tetangga graf lokal untuk sebuah entitas.

Arguments
entity required — Entity reference as type:uuid
Flags
--depth <value> default: 1 — Graph depth, backend clamps to 1-3
--limit <value> default: 80 — Maximum graph items, backend clamps to 1-200
Shellsift
sift graph preview

Pratinjau satu entitas graf

Arguments
entity required — Entity reference as type:uuid
Shellsift
sift graph search

Cari entitas yang dapat ditautkan untuk pengerjaan graf

Arguments
query required — Search query
Flags
--limit <value> default: 20 — Maximum results
--types <value> — Comma-separated entity types

Catatan

Catatan pengetahuan.

7 perintah
Shellsift
sift notes bulk-delete

Pratinjau atau hapus catatan secara massal

Flags
--archived — Filter by archived state
--confirm — Execute deletion instead of preview
--ids <value> — Comma-separated note IDs
--title-contains <value> — Title substring filter
--title-equals <value> — Exact title filter
--title-starts-with <value> — Title prefix filter
--type <note|concept|meeting|reference|daily|dataset>
Shellsift
sift notes create

Buat catatan

Flags
--content <value> — Note content (markdown)
--metadata <value> — Note metadata as JSON
--metadata-file <value> — Read note metadata JSON from a file
--project <value> — Project ID
--title <value> required — Note title
--type <note|concept|meeting|reference|daily|dataset> — Note type
Shellsift
sift notes delete

Hapus catatan

Arguments
id required — Note ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift notes get

Ambil catatan dengan konten lengkap

Arguments
id required — Note ID
Shellsift
sift notes list

Daftar catatan

Flags
--archived — Filter by archived state
--limit <value> — Maximum number of results
--project <value> — Filter by project ID
--title-contains <value> — Title substring filter
--title-equals <value> — Exact title filter
--title-starts-with <value> — Title prefix filter
--type <note|concept|meeting|reference|daily|dataset> — Filter by note type
Shellsift
sift notes search

Cari catatan

Arguments
query required — Search query
Flags
--limit <value> — Maximum number of results
--project <value> — Filter by project ID
Shellsift
sift notes update

Perbarui catatan

Arguments
id required — Note ID
Flags
--content <value> — Note content (markdown)
--metadata <value> — Replace note metadata with this JSON object
--metadata-file <value> — Read replacement note metadata JSON from a file
--title <value> — Note title
--type <note|concept|meeting|reference|daily|dataset> — Note type

Organisasi

Organisasi dan perusahaan.

5 perintah
Shellsift
sift organizations bulk-delete

Pratinjau atau hapus organisasi secara massal

Flags
--confirm — Execute deletion instead of preview
--contains <value> — Name substring filter
--equals <value> — Exact name filter
--ids <value> — Comma-separated organization IDs
--relationship <value> — Filter by relationship status
--starts-with <value> — Name prefix filter
--type <value> — Filter by organization type
Shellsift
sift organizations create

Buat organisasi

Flags
--domain <value> — Domain (e.g. acme.com)
--industry <value> — Industry
--linkedin-url <value> — LinkedIn page URL
--location <value> — Location
--name <value> required — Organization name
--notes <value> — Notes
--relationship-status <value> — Relationship status (e.g. prospect, customer, partner, vendor)
--type <value> — Organization type (e.g. company, nonprofit, government, school)
--website <value> — Website URL
Shellsift
sift organizations delete

Hapus organisasi

Arguments
id required — Organization ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift organizations search

Cari organisasi

Arguments
query — Optional fuzzy search query
Flags
--contains <value> — Name substring filter
--equals <value> — Exact name filter
--limit <value> — Maximum number of results
--relationship <value> — Filter by relationship status
--starts-with <value> — Name prefix filter
--type <value> — Filter by organization type
Shellsift
sift organizations update

Perbarui organisasi

Arguments
id required — Organization ID
Flags
--domain <value> — Domain (e.g. acme.com)
--industry <value> — Industry
--linkedin-url <value> — LinkedIn page URL
--location <value> — Location
--name <value> — Organization name
--notes <value> — Notes
--relationship-status <value> — Relationship status
--type <value> — Organization type
--website <value> — Website URL

Orang

Orang dan kontak.

15 perintah
Shellsift
sift people bulk-delete

Pratinjau atau hapus massal kontak

Flags
--confirm — Execute deletion instead of preview
--contains <value> — Name substring filter
--equals <value> — Exact name filter
--has-no-email — Only contacts without an email
--ids <value> — Comma-separated person IDs
--relationship <value> — Filter by relationshipToUser
--starts-with <value> — Name prefix filter
Shellsift
sift people context add

Tambah hubungan Pribadi atau Kerja yang terkait dengan pemilik.

Arguments
personId required — Person ID
Flags
--basis <value> — Why this relationship is recorded
--confidence <value> — Evidence confidence from 0 to 1
--context <personal|work> required — Relationship context
--primary — Make this the primary relationship in its context
--relationship <value> required — Relationship type, e.g. friend, client, mentor
Shellsift
sift people context list

Tampilkan bagaimana pemilik saat ini mengenal seseorang.

Arguments
personId required — Person ID
Shellsift
sift people context remove

Hapus konteks hubungan yang terkait dengan pemilik.

Arguments
personId required — Person ID
relationshipId required — Context relationship ID
Flags
--dry-run — Show what would be removed without writing
-y, --yes — Remove without prompting
Shellsift
sift people create

Buat kontak

Flags
--birth-year <value> — Birth year
--birthday <value> — Birthday (YYYY-MM-DD)
--company <value> — Company name (auto-links to organization if exists)
--context <personal|work> repeatable — How you know this person; repeat for both contexts
--email <value> — Email address
--estimated-age <value> — Estimated age
--job-title <value> — Job title
--linkedin-url <value> — LinkedIn profile URL
--location <value> — Location
--mbti <value> — MBTI type (e.g. INTJ, ENFP)
--name <value> required — Full name
--notes <value> — Notes about this person
--phone <value> — Phone number
--relationship <value> — Relationship to user (e.g. friend, colleague, client, mentor)
--website <value> — Personal website
Shellsift
sift people delete

Hapus kontak

Arguments
id required — Person ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift people enrich

Riset informasi publik tentang seseorang dengan eksekusi yang aman untuk diulang.

Arguments
id required — Person ID
Flags
--dataset <value> — Optional dataset ID for a reviewable reconciliation plan
--dataset-upsert-by <value> — Preferred dataset identity field
--idempotency-key <value> required — Stable 8-128 character key for exact retries
--mode <standard|ultra> default: "standard" — Research depth
Shellsift
sift people get

Ambil profil orang beserta karakteristik dan hubungannya

Arguments
id required — Person ID
Shellsift
sift people graph

Tampilkan grafik hubungan yang berpusat pada individu

Arguments
id required — Person ID
Flags
--depth <value> default: 2 — Relationship graph depth
--include-inactive — Include inactive relationship edges
Shellsift
sift people kinship

Jelaskan kekerabatan atau jarak hubungan antara dua orang

Arguments
egoPersonId required — Ego/source person ID
targetPersonId required — Target person ID
Flags
--max-depth <value> default: 6 — Maximum relationship depth
Shellsift
sift people list

Daftar kontak

Flags
--category <family|romantic|professional|social> — Relationship category
--contains <value> — Name substring filter
--context <all|personal|work> default: "all" — Relationship context
--equals <value> — Exact name filter
--has-no-email — Only contacts without an email
--limit <value> — Maximum number of results
--relationship <value> — Filter by relationshipToUser
--starts-with <value> — Name prefix filter
Shellsift
sift people relate

Buat atau perbarui hubungan antara dua orang

Arguments
personAId required — First person ID
personBId required — Second person ID
Flags
--dry-run — Preview the relationship payload without writing
--notes <value> — Relationship notes
--type <value> required — Relationship type, e.g. colleague, sibling, spouse, collaborator
-y, --yes — Apply without prompting
Shellsift
sift people search

Cari kontak

Arguments
query required — Search query
Flags
--contains <value> — Name substring filter
--equals <value> — Exact name filter
--has-no-email — Only contacts without an email
--limit <value> — Maximum number of results
--relationship <value> — Filter by relationshipToUser
--starts-with <value> — Name prefix filter
Shellsift
sift people timeline

Tampilkan daftar fakta lini masa seseorang

Arguments
id required — Person ID
Flags
--limit <value> default: 50 — Maximum facts to return
--order <asc|desc> default: "asc" — Sort order
--role <value> — Filter by entity role, comma-separated
Shellsift
sift people update

Perbarui kontak

Arguments
id required — Person ID
Flags
--birth-year <value> — Birth year
--birthday <value> — Birthday (YYYY-MM-DD)
--company <value> — Company name
--email <value> — Email address
--estimated-age <value> — Estimated age
--job-title <value> — Job title
--linkedin-url <value> — LinkedIn profile URL
--location <value> — Location
--mbti <value> — MBTI type (e.g. INTJ, ENFP)
--name <value> — Full name
--notes <value> — Notes about this person
--phone <value> — Phone number
--relationship <value> — Relationship to user
--website <value> — Personal website

Proyek

Manajemen proyek.

7 perintah
Shellsift
sift projects archive

Arsipkan proyek

Arguments
id required — Project ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift projects context

Dapatkan konteks proyek (tugas, catatan, sinyal)

Arguments
id required — Project ID
Shellsift
sift projects create

Buat proyek

Flags
--emoji <value> — Single emoji
--name <value> required — Project name
--status <planning|active|on_hold|blocked|completed> — Project status
--summary <value> — Project summary
Shellsift
sift projects list

Daftar proyek

Flags
--include-archived — Include archived projects
--status <planning|active|on_hold|blocked|completed> — Filter by status
Shellsift
sift projects planning

Ambil snapshot perencanaan CSN kanonik proyek

Arguments
id required — Project ID
Shellsift
sift projects planning-recompute

Hitung ulang snapshot perencanaan CSN kanonik proyek

Arguments
id required — Project ID
Shellsift
sift projects update

Perbarui proyek

Arguments
id required — Project ID
Flags
--emoji <value> — Single emoji
--name <value> — Project name
--status <planning|active|on_hold|blocked|completed> — Project status
--summary <value> — Project summary

Resep

Resep alur kerja riset bawaan.

2 perintah
Shellsift
sift recipes list

Daftar resep alur kerja riset bawaan

Shellsift
sift recipes show

Tampilkan resep alur kerja riset bawaan

Arguments
id required — Recipe ID

Relationships

79 commands
Shellsift
sift relationships actions dry-run

Preview a relationship action on the server without committing it

Arguments
id required — Relationship action ID
entity — Relationship entity as opportunity:<uuid> or prospect:<uuid>
Flags
--entity <value> — Target as prospect:uuid or opportunity:uuid
--idempotency-key <value> required — Stable 8-128 character key for reproducible server-side previews
--input <value> — Action input JSON object
--input-file <value> — Path to action input JSON
Shellsift
sift relationships actions list

List registered relationship actions and their commitment policies

Flags
--approval-policy <value> — Filter by approval policy
--commitment <value> — Filter by commitment class
--limit <value> — Maximum results
Shellsift
sift relationships actions run

Run any canonical relationship action with replay-safe caller identity

Arguments
id required — Canonical action ID from relationships actions list
entity — Relationship entity as opportunity:<uuid> or prospect:<uuid>
Flags
--entity <value> — Target as prospect:uuid or opportunity:uuid
--expected-version <value> — Current collaboration version
--idempotency-key <value> required — Stable 8-128 character key for exact retries
--input <value> — Action input JSON object
--input-file <value> — Path to an action input JSON file
--yes — Confirm action execution
Shellsift
sift relationships actions show

Show one registered relationship action

Arguments
id required — Relationship action ID
Shellsift
sift relationships brief

Compose an exact, evidence-grounded relationship brief

Arguments
subject required — Subject as prospect:uuid or opportunity:uuid
Flags
--lens <value> default: "relationship" — Relationship lens identifier
Shellsift
sift relationships composer approver-edit

Buat revisi penyetuju dengan atribusi dan buka kembali tinjauan coaching.

Arguments
id required — Composer session UUID
Flags
--body <value> required
--expected-version <value> required
--reason <value> required
--subject <value> required
--yes — Confirm the attributed edit
Shellsift
sift relationships composer bind-sender

Kaitkan akun email aktif terhubung yang ditentukan ke draf tersimpan.

Arguments
id required — Composer session UUID
Flags
--expected-version <value> required — Current optimistic session version
--sender <value> required — Connected email account UUID
Shellsift
sift relationships composer confirm

Konfirmasi ringkasan terkait dan buat revisi pertama draf tersimpan.

Arguments
id required — Composer session UUID
Flags
--expected-version <value> required — Current optimistic session version
--yes — Confirm brief and create draft
Shellsift
sift relationships composer create

Buat atau lanjutkan sesi draf hubungan yang tersimpan.

Arguments
subject required — Subject as prospect:uuid or opportunity:uuid
Flags
--file <value> required — JSON file with source, recommendation, brief, and ranked evidence
Shellsift
sift relationships composer dispatch

Kirim dengan persetujuan yang ada, kirim sekarang, atau jadwalkan satu pesan hubungan terkelola.

Arguments
id required — Composer session UUID
Flags
--at <value> — ISO-8601 time required for send_later
--choice <approve_only|send_now|send_later> required — Dispatch outcome
--expected-version <value> required — Current optimistic session version
--idempotency-key <value> required — Stable retry key for this exact choice and time
--yes — Confirm this governed dispatch choice
Shellsift
sift relationships composer evaluate

Evaluasi draf tersimpan saat ini dan tambahkan temuan coaching yang terikat pada frasa.

Arguments
id required — Composer session UUID
Flags
--expected-version <value> required — Current optimistic session version
Shellsift
sift relationships composer finding-action

Jelaskan, pratinjau, terima, tolak, atau batalkan temuan coaching dengan atribusi.

Arguments
id required — Composer session UUID
finding required — Coaching finding UUID
Flags
--action <explain|preview|accept|reject|undo> required
--expected-version <value> required — Current optimistic session version
--yes — Confirm a mutating coaching decision
Shellsift
sift relationships composer history

Tampilkan riwayat pembinaan dan draf keputusan append-only sesuai urutan.

Arguments
id required — Composer session UUID
Shellsift
sift relationships composer request-approval

Minta atau lanjutkan persetujuan untuk tinjauan composer; persetujuan hanya di browser.

Arguments
id required — Composer session UUID
Flags
--expected-version <value> required — Current optimistic session version
--idempotency-key <value> required — Stable approval-request retry key
--yes — Confirm the approval request
Shellsift
sift relationships composer request-changes

Kembalikan tinjauan spesifik kepada penulisnya tanpa mengubah isi pesan.

Arguments
id required — Composer session UUID
Flags
--expected-version <value> required
--reason <value> required
--yes — Confirm the review interruption
Shellsift
sift relationships composer resolve-identity

Selesaikan atau teruskan gerbang kemungkinan-duplikat inline untuk satu pesan yang ditinjau.

Arguments
id required — Composer session UUID
Flags
--candidate <value> required — Candidate person UUID
--decision <same_person|different_people|route_to_owner> required
--expected-version <value> required
--yes — Confirm the identity decision
Shellsift
sift relationships composer review

Lanjutkan draf durable yang sudah lolos pembinaan ke tinjauan terkelola.

Arguments
id required — Composer session UUID
Flags
--approver-user-id <value> — Optional active internal workspace member who will approve the exact message
--expected-version <value> required — Current optimistic session version
--yes — Confirm the transition to review
Shellsift
sift relationships composer save-draft

Simpan revisi durable baru dari sebuah draf relasi.

Arguments
id required — Composer session UUID
Flags
--file <value> required — JSON file with expectedVersion, subject, and bodyText
Shellsift
sift relationships composer show

Tampilkan sesi composer relasi yang durable.

Arguments
id required — Composer session UUID
Shellsift
sift relationships composer update

Perbarui intensi terikat dan bukti terperingkat sebelum membuat draf.

Arguments
id required — Composer session UUID
Flags
--file <value> required — JSON file with expectedVersion, brief, and evidence
Shellsift
sift relationships contact-plan inspect

Periksa satu rencana kontak kanonis tanpa mengubah siklus hidup sumbernya.

Arguments
person required — Canonical person UUID
Flags
--from <value> — Inclusive ISO-8601 inspection window start
--limit <value> default: 100 — Maximum projected items
--timezone <value> — IANA display timezone
--to <value> — Inclusive ISO-8601 inspection window end
Shellsift
sift relationships diagnoses create

Buat snapshot diagnosis relasi yang immutable dan berbasis bukti.

Flags
--file <value> required — Diagnosis JSON file
--yes — Confirm immutable diagnosis creation
Shellsift
sift relationships diagnoses list

Tampilkan daftar snapshot diagnosis relasi yang immutable.

Flags
--limit <value>
--subject-id <value>
--subject-type <prospect|opportunity>
Shellsift
sift relationships email-accounts list

Tampilkan daftar akun pengirim yang tersedia untuk draf relasi dan pengiriman terkelola.

Shellsift
sift relationships generated-assets draft

Buat proposal komunikasi pribadi dari aset penjangkauan yang disetujui; tidak langsung mengirim.

Arguments
id required — Generated outreach/follow-up asset UUID
Flags
--file <value> required — Exact senderAccountId, destination, optional edits, and idempotency JSON file
--yes — Confirm proposal creation
Shellsift
sift relationships generated-assets generate

Hasilkan aset berbasis sumber dari versi playbook dan aset sumber spesifik yang telah disetujui.

Flags
--file <value> required — Generation request JSON file
--yes — Confirm immutable asset generation
Shellsift
sift relationships generated-assets list

Tampilkan daftar aset relasi yang dihasilkan, beserta manifes dan tinjauan artefak terbaru.

Flags
--limit <value>
--subject-id <value>
--subject-type <prospect|opportunity>
Shellsift
sift relationships generated-assets review

Tambahkan keputusan persetujuan manual ke sebuah artefak yang dihasilkan.

Arguments
id required — Generated asset UUID
Flags
--decision <approved|rejected|needs_changes> required
--reason <value> required
--yes — Confirm append-only review
Shellsift
sift relationships generated-assets review-history

Tampilkan riwayat tinjauan append-only untuk satu aset yang dihasilkan.

Arguments
id required — Generated asset UUID
Shellsift
sift relationships generated-assets show

Tampilkan satu aset yang dihasilkan, manifes spesifiknya, dan persetujuan artefak terbaru.

Arguments
id required — Generated asset UUID
Shellsift
sift relationships generated-assets usage-list

Tampilkan daftar penggunaan append-only dan tautan hasil untuk satu aset yang dihasilkan.

Arguments
id required — Generated asset UUID
Shellsift
sift relationships generated-assets usage-record

Tambahkan catatan ekspor, berbagi internal, atau tautan hasil ke sebuah aset yang dihasilkan.

Arguments
id required — Generated asset UUID
Flags
--idempotency-key <value> required — Stable 8-128 character retry key
--kind <exported|shared_internally|outcome_linked> required
--outcome <value> — Stable outcome reference; required for outcome_linked
--yes — Confirm append-only usage record
Shellsift
sift relationships handoffs list

List immutable relationship outcome receipts in the onboarding queue

Flags
--limit <value> default: 100 — Maximum receipts
Shellsift
sift relationships handoffs show

Show one immutable relationship outcome handoff receipt

Arguments
id required — Outcome handoff receipt UUID
Shellsift
sift relationships meetings brief create

Susun rangkuman rapat yang dikutip dari bukti hubungan yang disetujui

Flags
--input <value> — Exact meeting brief input JSON
--input-file <value> — Path to exact meeting brief input JSON
Shellsift
sift relationships meetings brief show

Baca rangkuman rapat yang dikutip saat ini dengan menyusun ulang input persisnya

Flags
--input <value> — Exact owner, subject, approved asset, and optional meeting JSON
--input-file <value> — Path to exact meeting brief input JSON
Shellsift
sift relationships meetings evidence capture

Simpan bukti transkrip yang memerlukan persetujuan atau catatan manual yang dinyatakan secara eksplisit

Flags
--idempotency-key <value> required — Caller-owned stable key for exact retries
--input <value> — Exact meeting evidence input JSON
--input-file <value> — Path to exact meeting evidence input JSON
--yes — Confirm canonical evidence capture
Shellsift
sift relationships meetings evidence show

Periksa satu data bukti rapat kanonis dan lokator sumbernya

Arguments
id required — Relationship meeting evidence event UUID
Shellsift
sift relationships meetings proposals apply

Terapkan satu proposal rapat yang disetujui secara atomik setelah pemeriksaan prasyarat terbaru

Arguments
id required — Approved meeting proposal UUID
Flags
--expected-proposal-digest <value> required — Exact reviewed proposal digest
--yes — Confirm the persistent internal relationship-state change
Shellsift
sift relationships meetings proposals create

Buat proposal yang tidak dapat diubah dan dikutip dari bukti untuk satu tindakan hubungan yang terdaftar

Flags
--idempotency-key <value> required — Caller-owned stable key for exact retries
--input <value> — Exact meeting proposal input JSON
--input-file <value> — Path to exact meeting proposal input JSON
--yes — Confirm immutable proposal creation
Shellsift
sift relationships meetings proposals list

Tampilkan daftar proposal hubungan yang berasal dari rapat dan siklus peninjauannya

Flags
--status <pending|approved|rejected|committed|failed|stale> — Filter by lifecycle status
--subject-id <value> — Filter by subject UUID
--subject-kind <prospect|opportunity> — Filter by subject kind
Shellsift
sift relationships meetings proposals review

Tambahkan persetujuan atau penolakan yang dapat diatribusikan ke satu proposal rapat yang tidak berubah

Arguments
id required — Meeting proposal UUID
Flags
--input <value> — Exact decision, reason, and expectedProposalDigest JSON
--input-file <value> — Path to exact proposal review input JSON
--yes — Confirm attributable proposal review
Shellsift
sift relationships meetings proposals show

Periksa proposal hubungan yang berasal dari rapat, bukti, diff, dan rencana pemulihan

Arguments
id required — Meeting proposal UUID
Shellsift
sift relationships outcomes describe

Jelaskan kontrak hasil-hubungan saat runtime dan batasan keamanannya

Shellsift
sift relationships outcomes inspect

Periksa hasil hubungan yang dideklarasikan dalam mode Answer/C0 tanpa persistensi

Flags
--input <value> — Exact InspectRelationshipOutcomeInput JSON
--input-file <value> — Path to exact inspection input JSON
Shellsift
sift relationships outcomes interventions

Tampilkan satu batch intervensi tunggal yang terbatas dan dapat ditinjau untuk sebuah snapshot

Arguments
snapshotId required — Relationship-outcome snapshot ID
Shellsift
sift relationships outcomes list

Tampilkan daftar snapshot hasil-hubungan dengan paginasi kursor terbatas

Flags
--cursor <value> — Opaque cursor from the previous page
--limit <value> default: 50 — Maximum snapshots to return
--projection <sales_forecast|onboarding_handoff> — Filter by projection
--scope-anchor-id <value> — Filter by declared scope anchor ID
--scope-anchor-kind <value> — Filter by declared scope anchor kind
Shellsift
sift relationships outcomes records

Tampilkan daftar rekaman snapshot yang persis dengan paginasi kursor terbatas

Arguments
snapshotId required — Relationship-outcome snapshot ID
Flags
--cursor <value> — Opaque cursor from the previous page
--limit <value> default: 50 — Maximum records to return
--posture <value> — Filter by the declared record posture
--risk <value> — Filter by low, moderate, high, or unknown operational risk
Shellsift
sift relationships outcomes review

Catat tinjauan snapshot idempoten tanpa menjalankan tindakan terdaftar yang diusulkan

Arguments
snapshotId required — Relationship-outcome snapshot ID
Flags
--dry-run — Validate authority and selected interventions without recording a review
--idempotency-key <value> required — Caller-owned stable key for this exact review
--input <value> — Exact ReviewRelationshipOutcomeSnapshotInput JSON (idempotency is injected)
--input-file <value> — Path to exact snapshot review input JSON
--yes — Confirm append-only review recording
Shellsift
sift relationships outcomes run

Buat atau lakukan dry-run snapshot hasil-hubungan C2; jangan pernah jalankan tindakan yang diusulkan

Flags
--dry-run — Validate and project without persisting a snapshot
--idempotency-key <value> required — Caller-owned stable key for this exact snapshot request
--input <value> — Exact CreateRelationshipOutcomeSnapshotInput JSON (idempotency is injected)
--input-file <value> — Path to exact snapshot input JSON
--yes — Confirm C2 snapshot persistence
Shellsift
sift relationships outcomes show

Tampilkan satu snapshot hasil-hubungan yang tidak dapat diubah

Arguments
snapshotId required — Relationship-outcome snapshot ID
Shellsift
sift relationships playbook-recommendations create

Catat rekomendasi yang berdampak dengan setidaknya tiga langkah yang masuk akal

Flags
--file <value> required — Recommendation JSON file
--yes — Confirm immutable recommendation creation
Shellsift
sift relationships playbook-recommendations list

Tampilkan daftar rekomendasi playbook hubungan yang tercatat beserta langkah alternatifnya

Flags
--limit <value>
--subject-id <value>
--subject-type <prospect|opportunity>
Shellsift
sift relationships playbooks create

Buat versi playbook hubungan yang tidak dapat diubah dan belum disetujui dari JSON kontrak-runtime

Flags
--file <value> required — Playbook version JSON file
--yes — Confirm immutable version creation
Shellsift
sift relationships playbooks list

Mendaftar versi playbook relasi yang tidak dapat diubah dan keputusan persetujuan terbaru

Flags
--limit <value> — Maximum versions
--stable-key <value> — Filter by stable playbook key
Shellsift
sift relationships playbooks review

Menambahkan keputusan persetujuan manusia ke versi playbook

Arguments
id required — Playbook version UUID
Flags
--decision <approved|rejected|needs_changes> required
--reason <value> required — Attributable review reason
--yes — Confirm append-only review
Shellsift
sift relationships playbooks show

Menampilkan satu versi playbook relasi yang tidak dapat diubah dan persetujuan terbaru

Arguments
id required — Playbook version UUID
Shellsift
sift relationships proposals get

Inspect one relationship action proposal and its evidence

Arguments
id required — Proposal ID
Shellsift
sift relationships proposals list

List pending and historical relationship action proposals

Flags
--enrollment <value> — Filter by enrollment ID
--limit <value> — Maximum results
--sequence <value> — Filter by sequence ID
--status <value> — Filter by proposal status
Shellsift
sift relationships proposals request-approval

Request short-lived human approval for a proposal; cannot approve or consume it

Arguments
id required — Proposal ID
Flags
--idempotency-key <value> required — Stable 8-128 character key for safe retries
--purpose <value> — Non-secret reason shown to the human approver
Shellsift
sift relationships queues list

List relationship team queues in the active workspace

Shellsift
sift relationships recommendations execute

Execute an accepted, current recommendation through the canonical action runtime

Arguments
id required — Recommendation UUID
Flags
--yes — Confirm canonical action execution
Shellsift
sift relationships recommendations list

List immutable relationship recommendation snapshots

Flags
--lens <value> — Relationship lens identifier
--limit <value> default: 50 — Maximum recommendations
--subject <value> — Filter by prospect:uuid or opportunity:uuid
Shellsift
sift relationships recommendations review

Append an ordinary review decision to a relationship recommendation

Arguments
id required — Recommendation UUID
Flags
--decision <accepted|dismissed|snoozed|needs_information> required — Review decision
--reason <value> — Review reason
--snoozed-until <value> — Offset-aware ISO date-time, required for snoozed
--yes — Confirm the append-only review
Shellsift
sift relationships recommendations show

Show a relationship recommendation with its exact citations and gates

Arguments
id required — Recommendation UUID
Shellsift
sift relationships sequences create

Create a supervised relationship sequence from a JSON definition

Flags
--definition <value> — Sequence definition JSON object
--definition-file <value> — Path to sequence definition JSON
--idempotency-key <value> required — Stable 8-128 character key for safe retries
Shellsift
sift relationships sequences dry-run

Preview a supervised sequence on the server without committing it

Arguments
id required — Sequence ID
Flags
--idempotency-key <value> required — Stable 8-128 character key for reproducible server-side previews
--input <value> — Dry-run input JSON object
--input-file <value> — Path to dry-run input JSON
Shellsift
sift relationships sequences enroll

Enroll a relationship target in a supervised sequence

Arguments
id required — Sequence ID
Flags
--idempotency-key <value> required — Stable 8-128 character key for safe retries
--input <value> — Enrollment input JSON object
--input-file <value> — Path to enrollment input JSON
Shellsift
sift relationships sequences get

Show one supervised relationship sequence

Arguments
id required — Sequence ID
Shellsift
sift relationships sequences list

List supervised relationship sequences

Flags
--limit <value> — Maximum results
--status <value> — Filter by sequence status
Shellsift
sift relationships sequences pause

Pause a supervised relationship sequence

Arguments
id required — Sequence ID
Flags
--idempotency-key <value> required — Stable 8-128 character key for safe retries
--reason <value> — Non-secret pause reason
Shellsift
sift relationships sequences resume

Resume a supervised relationship sequence

Arguments
id required — Sequence ID
Flags
--idempotency-key <value> required — Stable 8-128 character key for safe retries
Shellsift
sift relationships sequences runs

List execution evidence for a supervised relationship sequence

Arguments
id required — Sequence ID
Flags
--limit <value> — Maximum results
--status <value> — Filter by run status
Shellsift
sift relationships sequences update

Update a supervised relationship sequence from a JSON definition

Arguments
id required — Sequence ID
Flags
--definition <value> — Sequence update JSON object
--definition-file <value> — Path to sequence update JSON
--idempotency-key <value> required — Stable 8-128 character key for safe retries
Shellsift
sift relationships show

Show the current relationship collaboration snapshot

Arguments
entity required — Relationship entity as opportunity:<uuid> or prospect:<uuid>
Shellsift
sift relationships source-assets create

Membuat versi source-asset grounded yang tidak dapat diubah dan belum disetujui

Flags
--file <value> required — Source-asset version JSON file
--yes — Confirm immutable version creation
Shellsift
sift relationships source-assets list

Mendaftar versi source-asset grounded yang tidak dapat diubah dan keputusan persetujuan terbaru

Flags
--limit <value> — Maximum versions
--stable-key <value> — Filter by stable source-asset key
Shellsift
sift relationships source-assets review

Menambahkan keputusan persetujuan manusia ke versi source-asset

Arguments
id required — Source-asset version UUID
Flags
--decision <approved|rejected|needs_changes> required
--reason <value> required
--yes — Confirm append-only review
Shellsift
sift relationships source-assets show

Menampilkan satu versi source-asset yang tidak dapat diubah beserta tinjauan terbarunya

Arguments
id required — Source-asset version UUID

Riset

Perencanaan dan orkestrasi alur kerja riset.

4 perintah
Shellsift
sift research init

Buat proyek riset dan dataset standar

Arguments
name required — Research project name
Flags
--dry-run — Preview project/dataset creation without writing
--template <historical-research> default: "historical-research" — Research template
--yes — Confirm creation without prompting
Shellsift
sift research plan

Rencanakan alur kerja riset deterministik sebelum menulis data

Arguments
goal required — Research goal
Flags
--project <value> — Existing project ID
--source-dataset <value> — Existing sources dataset ID
Shellsift
sift research run

Buat tugas agen deterministik untuk resep riset

Arguments
recipe required — Research run recipe
Flags
--agent <value> default: "researcher" — Assigned agent alias
--context <value> — Additional input context JSON object
--context-file <value> — Additional input context JSON file
--dry-run — Preview work item payload without writing
--project <value> — Project ID
--source-dataset <value> — Source dataset ID
--yes — Confirm work item creation without prompting
Shellsift
sift research status

Periksa konteks proyek riset dan kesiapan CLI

Arguments
project — Project ID

Skill

Skillpack Siftable yang dapat diinstal.

2 perintah
Shellsift
sift skills install

Instal skillpack Siftable ke direktori skill lokal

Arguments
id required — Skillpack ID
Flags
--force — Replace an existing installed skill
--target <value> default: "skills" — Installed skills directory
-y, --yes — Confirm replacing an existing skill
Shellsift
sift skills list

Tampilkan daftar skillpack Siftable yang dapat diinstal

Tugas

Tugas perencanaan manusia.

11 perintah
Shellsift
sift tasks bulk-delete

Pratinjau atau hapus tugas secara massal

Flags
--confirm — Execute deletion instead of preview
--done — Filter by completed state
--ids <value> — Comma-separated task IDs
--phase <draft|open|in_flight|review|blocked|done|cancelled>
--title-contains <value> — Title substring filter
--title-equals <value> — Exact title filter
--title-starts-with <value> — Title prefix filter
--when <now|today|soon|later>
Shellsift
sift tasks complete

Tandai tugas sebagai selesai

Arguments
id required — Task ID
Shellsift
sift tasks coupling-create

Buat coupling edge CSN antar tugas dalam proyek yang sama

Arguments
id required — Source task ID
target required — Target task ID
Flags
--note <value> — Optional note
--strength <value> — Coupling strength (0-1)
--type <info|resource> required — Coupling type
Shellsift
sift tasks coupling-delete

Hapus coupling edge CSN dari tugas

Arguments
id required — Task ID
edgeId required — Coupling edge ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift tasks coupling-list

Menampilkan daftar edge coupling CSN untuk tugas

Arguments
id required — Task ID
Shellsift
sift tasks create

Membuat tugas perencanaan manusia

Flags
--acceptance-criteria <value> — Acceptance criteria (semicolon-separated text, e.g. "tests pass; docs updated")
--description <value> — Task description
--due <value> — Due date (ISO 8601)
--effort <trivial|small|medium|large|epic|unknown> — Effort estimate
--phase <draft|open|in_flight|review|blocked|done|cancelled> — Lifecycle phase
--priority <do_now|schedule|delegate|someday> — Priority level
--project <value> — Project ID
--scope <value> — Scope boundaries (JSON object with include/exclude arrays)
--title <value> required — Task title
Shellsift
sift tasks delete

Menghapus tugas

Arguments
id required — Task ID
Flags
-y, --yes — Skip confirmation
Shellsift
sift tasks get

Mengambil detail tugas perencanaan manusia

Arguments
id required — Task ID
Shellsift
sift tasks list

Menampilkan daftar tugas perencanaan manusia

Flags
--cursor <value> — Continuation cursor from a previous page
--effort <trivial|small|medium|large|epic|unknown> — Filter by effort
--limit <value> default: 25 — Maximum number of results
--phase <draft|open|in_flight|review|blocked|done|cancelled> — Filter by phase
--project <value> — Filter by project ID
--status <inbox|next_action|in_progress|waiting_for|completed|archived> — Filter by status
--title-contains <value> — Title substring filter
--title-equals <value> — Exact title filter
--title-starts-with <value> — Title prefix filter
Shellsift
sift tasks planning-update

Memperbarui field perencanaan CSN untuk tugas

Arguments
id required — Task ID
Flags
--cynefin-confidence <value> — Cynefin confidence (0-1)
--cynefin-domain <clear|complicated|complex|chaotic|aporetic> — Cynefin domain
--cynefin-rationale <value> — Why this domain fits
--cynefin-source <user|assistant|classifier> — Source of the planning classification
--duration-model <value> — Duration model JSON, e.g. {"kind":"point","days":2}
--reversibility <value> — Reversibility score (0-1)
Shellsift
sift tasks update

Memperbarui tugas perencanaan manusia

Arguments
id required — Task ID
Flags
--acceptance-criteria <value> — Acceptance criteria (semicolon-separated text, e.g. "tests pass; docs updated")
--blocked-reason <value> — Reason task is blocked
--description <value> — Task description
--due <value> — Due date (ISO 8601)
--effort <trivial|small|medium|large|epic|unknown> — Effort estimate
--phase <draft|open|in_flight|review|blocked|done|cancelled> — Lifecycle phase
--priority <do_now|schedule|delegate|someday> — Priority level
--project <value> — Project ID
--scope <value> — Scope boundaries (JSON object with include/exclude arrays)
--status <inbox|next_action|in_progress|waiting_for|completed|archived> — Task status
--title <value> — Task title

Lini Waktu

Fakta dan narasi lini waktu.

4 perintah
Shellsift
sift timeline create

Buat fakta lini waktu yang ditulis pengguna

Flags
--body <value> — Fact body or notes
--confidence <low|medium|high> — Confidence level
--entity <value> repeatable — Participant/entity as type:uuid or type:uuid:role; repeatable
--fact-type <value> default: "event" — Fact type
--precision <millisecond|minute|hour|day|month|year|decade|century|millennium|mega_year|era> default: "year" — Temporal precision
--source-label <value> — Source/provenance label
--source-note <value> — Source/provenance note
--source-url <value> — Source/provenance URL
--timestamp <value> — ISO timestamp
--title <value> required — Fact title
--visibility <org_public|private|restricted> — Timeline visibility
--year <value> — Historical year CE
--year-end <value> — Historical end year CE
Shellsift
sift timeline delete

Hapus fakta lini waktu

Arguments
id required — Timeline fact ID
Flags
--yes — Confirm retraction without prompting
Shellsift
sift timeline list

Tampilkan daftar fakta lini waktu dengan filter terbatas

Flags
--cursor <value> — Pagination cursor
--end <value> — End boundary, ISO timestamp or supported historical boundary
--entity <value> — Entity filter as type:uuid
--entity-role <value> — Comma-separated entity roles
--fact-types <value> — Comma-separated fact types
--limit <value> default: 50 — Maximum items to return
--order <asc|desc> default: "asc" — Sort order
--q <value> — Text search query
--source-types <value> — Comma-separated source types
--start <value> — Start boundary, ISO timestamp or supported historical boundary
Shellsift
sift timeline narrative

Hasilkan ringkasan narasi atau penjelasan untuk fakta lini waktu

Flags
--action <summarize|changed_since|led_to|what_next|cross_object> default: "summarize" — Narrative action
--entity <value> — Entity scope as type:uuid
--entity-roles <value> — Comma-separated entity roles
--fact-type <value> — Fact type filter
--limit <value> default: 60 — Maximum timeline facts to include
--participant <value> — Participant filter as type:uuid
--prompt <value> — Question or custom narrative prompt
--q <value> — Text query filter
--related-entity <value> — Related entity as type:uuid
--source-type <value> — Source type filter

Vault

Brankas rahasia.

15 perintah
Shellsift
sift vault audit

List Vault audit events (requires vault:audit:read)

Flags
--limit <value> — Maximum number of results
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
Shellsift
sift vault create

Simpan rahasia terenkripsi baru

Flags
--category <value> — Category
--description <value> — Description
--name <value> required — Secret name
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--payload <value> required — JSON payload to encrypt
--slug <value> — Machine-friendly identifier
--tags <value> — Comma-separated tags
--type <env_var|credential|oauth_token|ssh_key|certificate|note> — Entry type
--url <value> — Associated URL
Shellsift
sift vault leases clean

Membersihkan satu artefak lease lokal dan menyatakan status terkonfirmasi, gagal, atau tidak dapat diketahui

Arguments
id required
Flags
--checkout-root <value> — Git checkout used to prove runtime separation
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
Shellsift
sift vault leases list

Mendaftar metadata lease dan pembersihan lingkungan bebas nilai

Flags
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
Shellsift
sift vault leases revoke

Mencabut penggunaan lease di masa mendatang, menghapus artefak lokal jika ada, dan mengonfirmasi pembersihan

Arguments
id required
Flags
--checkout-root <value> — Git checkout used to prove runtime separation
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
Shellsift
sift vault leases status

Memeriksa satu siklus hidup lease lingkungan bebas nilai

Arguments
id required
Flags
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
Shellsift
sift vault list

Tampilkan daftar entri brankas (hanya metadata)

Flags
--category <value> — Filter by category
--limit <value> — Maximum number of results
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--type <env_var|credential|oauth_token|ssh_key|certificate|note> — Filter by entry type
Shellsift
sift vault materialize environment

Menarik satu bundel Vault yang diatur ke dalam file lingkungan pengembangan yang dikelola Sift

Flags
--approval-timeout <value> default: 600
--checkout-root <value> — Checkout containing .sift/environment.yaml
--destination <value> — Exact relative destination when the manifest declares more than one bundle
--endpoint-class <development|production|ci|shared_host|policy_ineligible> required — Explicit endpoint policy class; managed pulls accept development only
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--purpose <value> required
--replace — Replace a changed Sift-managed file using its exact observed precondition
Shellsift
sift vault materialize request

Request human approval for one destination-bound Vault materialization

Flags
--destination <value> required
--entry <value> required
--expected-digest <value>
--field <value> required
--materializer-digest <value> required
--mode <0400|0600> default: "0600"
--nonce <value> required
--overwrite
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--purpose <value> required
--runner-fingerprint <value> required
--runner-public-key <value> required
--tracked-exception
--workspace-root <value> — Absolute local workspace root containing the destination
Shellsift
sift vault materialize revoke

Mencabut materialisasi Vault yang tertunda dan terikat tujuan

Arguments
id required — Materialization ID
Flags
--legacy-context — Use the Personal/v0 identity of a request created with the deprecated path-shaped --workspace alias
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
Shellsift
sift vault materialize run

Request approval, wait, and materialize one Vault field at the exact approved path

Flags
--approval-timeout <value> default: 600
--destination <value> required — Destination path; relative paths resolve inside --workspace-root before approval
--entry <value> required
--field <value> required
--mode <0400|0600> default: "0600"
--overwrite
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--purpose <value> required
--tracked-exception
--workspace-root <value> — Absolute local workspace root containing the destination
Shellsift
sift vault materialize status

Inspect safe status for a destination-bound Vault materialization

Arguments
id required
Flags
--legacy-context — Use the Personal/v0 identity of a request created with the deprecated path-shaped --workspace alias
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
Shellsift
sift vault search

Cari entri vault

Arguments
query required — Search query
Flags
--limit <value> — Maximum number of results
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
Shellsift
sift vault update

Perbarui metadata entri vault

Arguments
id required — Vault entry ID
Flags
--category <value> — Category
--description <value> — Description
--name <value> — Entry name
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--tags <value> — Comma-separated tags
--url <value> — Associated URL
Shellsift
sift vault use lease

Membuat satu artefak bundel lingkungan yang berumur singkat di luar worktree Git

Flags
--approval-timeout <value> default: 600
--checkout-root <value> — Checkout containing .sift/environment.yaml
--consumer <value> required — Bound consumer identifier; not a command allowlist
--consumer-pid <value> — Optional already-running consumer process lifetime
--destination <value> — Manifest destination used only to select one exact bundle
--endpoint-class <development|production|ci|shared_host> required
--holder <value> — Bound holder identifier; defaults to the local runner fingerprint
--owner <value> — Exact Vault owner: personal or workspace:<tenant-id>
--purpose <value> required
--ttl <value> default: 300

Pekerjaan

Antrean pekerjaan agen yang dapat dieksekusi.

25 perintah
Shellsift
sift work block

Tandai item pekerjaan sebagai terblokir

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim (required for lease-owned transitions)
--lease <value> — Lease seconds
--memory-decision <value> — Durable code-memory decision JSON (required on agent complete/review): {"decision":"store"|"skip","rationale":"...","fact"?,"category"?,"repositoryId"?,"filePath"?,"paths"?,"evidenceChunkIds"?,"sourceCommit"?,"confidence"?}
--owner <value> — Claim owner identity (required for lease-owned transitions)
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work cancel

Batalkan item pekerjaan

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim (required for lease-owned transitions)
--lease <value> — Lease seconds
--memory-decision <value> — Durable code-memory decision JSON (required on agent complete/review): {"decision":"store"|"skip","rationale":"...","fact"?,"category"?,"repositoryId"?,"filePath"?,"paths"?,"evidenceChunkIds"?,"sourceCommit"?,"confidence"?}
--owner <value> — Claim owner identity (required for lease-owned transitions)
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work claim

Klaim item pekerjaan agen executable berikutnya yang tersedia

Arguments
id — Optional specific work item ID
Flags
--agent <value> — Agent alias to claim for
--lease <value> default: 1800 — Lease seconds
--owner <value> required — Claim owner identity
Shellsift
sift work complete

Setujui dan selesaikan item pekerjaan agen executable

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim (required for lease-owned transitions)
--lease <value> — Lease seconds
--memory-decision <value> — Durable code-memory decision JSON (required on agent complete/review): {"decision":"store"|"skip","rationale":"...","fact"?,"category"?,"repositoryId"?,"filePath"?,"paths"?,"evidenceChunkIds"?,"sourceCommit"?,"confidence"?}
--owner <value> — Claim owner identity (required for lease-owned transitions)
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work contract check

Memvalidasi file Work Contract V1 atau item kerja yang diambil secara deterministik

Arguments
id — Work item ID to fetch and validate
Flags
--file <value> — Path to a Work Contract V1 JSON file
Shellsift
sift work create

Buat item pekerjaan agen executable

Flags
--acceptance-criteria <value> — Acceptance criteria JSON array or semicolon-separated text
--agent <value> — Assigned agent alias
--allow-deploy — Allow deployment in the authored contract
--allow-migrate — Allow migrations in the authored contract
--allow-network — Allow network access in the authored contract
--allow-vault — Allow audited Vault access in the authored contract
--allowed-actions <value> — Allowed actions JSON object
--capture-applicability <conversational_capture_required|non_conversational|unclassified> — Prospective capture applicability; this does not determine study eligibility
--capture-receipt <value> repeatable — Finalized capture receipt UUID to bind atomically; repeat for multi-surface handoffs
--context <value> — Input context JSON object
--contract <value> — Complete Work Contract V1 JSON
--contract-file <value> — Path to a complete Work Contract V1 JSON file
--depends-on <value> — Dependency JSON array: [{"workItemId":"<uuid>","requiredGate"?:"done"|"commands_passed"}]
--dry-run — Preview the normalized payload and contract without creating work
--exclude-scope <value> repeatable — Excluded workspace-relative write scope; repeat for multiple paths
--profile <coding|read-only|read_only> — Author a complete Work Contract V1 using the coding or read-only profile
--project <value> — Linked project ID
--prompt <value> — Agent prompt or instructions
--rank <value> default: 0 — Queue rank
--scope <value> repeatable — Included workspace-relative write scope; repeat for multiple paths
--task <value> — Parent human planning task ID
--title <value> required — Executable work item title
--verify <value> — Verification commands separated by semicolons
--write-scope <value> — Write scope JSON object
Shellsift
sift work dependencies get

Get authoritative dependencies and claimability for a work item

Arguments
id required — Work item UUID
Shellsift
sift work dependencies set

Atomically replace the authoritative dependencies for a work item

Arguments
id required — Work item UUID
Flags
--depends-on <value> required — Dependency JSON array; pass [] to clear dependencies
Shellsift
sift work dependency-policy get

Get a project default work-dependency gate

Flags
--project <value> required — Project UUID
Shellsift
sift work dependency-policy set

Set a project default work-dependency gate

Flags
--gate <done|commands_passed> required — Default gate for dependencies that omit requiredGate
--project <value> required — Project UUID
Shellsift
sift work edit

C2: Revise queued, unclaimed work while preserving its UUID and dependency edges. Do not use after claim or execution; wait for a queued unclaimed state or create follow-up work. Example: raise queue rank or refine acceptance criteria while the item is queued and unclaimed. Counterexample: do not change status, dependencies, or an active worker lease with this capability. Execution-contract edits supersede the active verification plan and reset verification evidence; queue-rank-only edits do not. The same Idempotency-Key and payload replays the original receipt; a different payload with that key is rejected.

Arguments
id required — Work item ID
Flags
--acceptance-criteria <value> — Replacement acceptance criteria JSON array
--allowed-actions <value> — Replacement allowed actions JSON object
--context <value> — Replacement input context JSON object
--contract <value> — Replacement Work Contract V1 JSON
--contract-file <value> — Path to replacement Work Contract V1 JSON
--dry-run — Show normalized diff and proof consequences without mutating
--expected-revision <value> required — Observed work item revision
--idempotency-key <value> required — Stable retry key for this exact edit
--patch <value> — Editable fields as one JSON object
--patch-file <value> — Path to an editable-fields JSON object
--prompt <value> — Replacement prompt; use --patch for null
--rank <value> — Replacement queue rank
--reason <value> required — Auditable reason for the revision
--title <value> — Replacement title
--verify <value> — Replacement verification commands as JSON array or semicolon-separated text
--write-scope <value> — Replacement write scope JSON object
Shellsift
sift work fail

Tandai item kerja sebagai gagal

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim (required for lease-owned transitions)
--lease <value> — Lease seconds
--memory-decision <value> — Durable code-memory decision JSON (required on agent complete/review): {"decision":"store"|"skip","rationale":"...","fact"?,"category"?,"repositoryId"?,"filePath"?,"paths"?,"evidenceChunkIds"?,"sourceCommit"?,"confidence"?}
--owner <value> — Claim owner identity (required for lease-owned transitions)
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work get

Ambil detail item kerja agen yang dapat dieksekusi

Arguments
id required — Work item ID
Shellsift
sift work heartbeat

Perpanjang masa sewa item kerja

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim (required for lease-owned transitions)
--lease <value> — Lease seconds
--memory-decision <value> — Durable code-memory decision JSON (required on agent complete/review): {"decision":"store"|"skip","rationale":"...","fact"?,"category"?,"repositoryId"?,"filePath"?,"paths"?,"evidenceChunkIds"?,"sourceCommit"?,"confidence"?}
--owner <value> — Claim owner identity (required for lease-owned transitions)
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work list

Tampilkan daftar item kerja agen yang dapat dieksekusi

Flags
--agent <value> — Filter by assigned agent alias
--limit <value> — Maximum results
--project <value> — Filter by project ID
--status <value> — Filter by status
--task <value> — Filter by parent human planning task ID
Shellsift
sift work release

Kembalikan item kerja yang diklaim ke antrean

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim (required for lease-owned transitions)
--lease <value> — Lease seconds
--memory-decision <value> — Durable code-memory decision JSON (required on agent complete/review): {"decision":"store"|"skip","rationale":"...","fact"?,"category"?,"repositoryId"?,"filePath"?,"paths"?,"evidenceChunkIds"?,"sourceCommit"?,"confidence"?}
--owner <value> — Claim owner identity (required for lease-owned transitions)
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work requeue

Return blocked work to the queue for a fresh claim

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim (required for lease-owned transitions)
--lease <value> — Lease seconds
--memory-decision <value> — Durable code-memory decision JSON (required on agent complete/review): {"decision":"store"|"skip","rationale":"...","fact"?,"category"?,"repositoryId"?,"filePath"?,"paths"?,"evidenceChunkIds"?,"sourceCommit"?,"confidence"?}
--owner <value> — Claim owner identity (required for lease-owned transitions)
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work review

Tandai pekerjaan agen yang dapat dieksekusi sebagai perlu tinjauan manusia

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim (required for lease-owned transitions)
--lease <value> — Lease seconds
--memory-decision <value> — Durable code-memory decision JSON (required on agent complete/review): {"decision":"store"|"skip","rationale":"...","fact"?,"category"?,"repositoryId"?,"filePath"?,"paths"?,"evidenceChunkIds"?,"sourceCommit"?,"confidence"?}
--owner <value> — Claim owner identity (required for lease-owned transitions)
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work revisions

List immutable, attributable work-item revision receipts and field diffs

Arguments
id required — Work item ID
Flags
--limit <value> default: 50 — Maximum revisions to return
Shellsift
sift work start

Tandai item kerja sebagai sedang berjalan

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact refs JSON array
--claim-token <value> — Claim token returned by work claim (required for lease-owned transitions)
--lease <value> — Lease seconds
--memory-decision <value> — Durable code-memory decision JSON (required on agent complete/review): {"decision":"store"|"skip","rationale":"...","fact"?,"category"?,"repositoryId"?,"filePath"?,"paths"?,"evidenceChunkIds"?,"sourceCommit"?,"confidence"?}
--owner <value> — Claim owner identity (required for lease-owned transitions)
--reason <value> — Block or failure reason
--summary <value> — Result summary
--verification-results <value> — Verification evidence JSON array: [{"command","exitCode","output"?}]
Shellsift
sift work verification evidence

Submit externally executed evidence for an exact plan version and step ID

Arguments
id required — Work item ID
Flags
--artifacts <value> — Artifact reference JSON array for larger logs
--attempt <value> required — Caller-stable attempt identity
--claim-owner <value> — Active lease owner for workspace-service evidence
--claim-token <value> — Opaque active lease token for workspace-service evidence
--environment <value> required — Execution environment label
--exit-code <value> — Process exit code when applicable
--outcome <passed|failed|error> required — Attempt outcome
--output <value> — Bounded output excerpt; secrets are redacted by the API
--plan-version <value> required — Active verification plan version
--provenance <value> — Evidence provenance JSON object
--ran-at <value> — RFC3339 execution timestamp
--step <value> required — Stable verification step UUID
Shellsift
sift work verification history

List immutable verification-plan history and coverage

Arguments
id required — Work item ID
Shellsift
sift work verification plan

Show the active versioned verification plan and coverage

Arguments
id required — Work item ID
Shellsift
sift work verification revise

Create an audited active verification-plan revision

Arguments
id required — Work item ID
Flags
--expected-version <value> required — Observed active plan version
--provenance <value> — Revision provenance JSON object
--reason <value> required — Audited revision reason
--steps <value> — Verification step JSON array
--steps-file <value> — Path to a verification step JSON array
--yes — Confirm activation without prompting
Shellsift
sift work verify

Deprecated compatibility command. Hosted LLM verification is retired; use verification-command evidence.

Arguments
id required — Work item ID
Flags
--history — List historical verifier runs recorded before retirement
--model <value> — Deprecated; ignored because hosted verification is retired
--reps <value> — Deprecated; ignored because hosted verification is retired

Worker

Runner tugas lokal.

2 perintah
Shellsift
sift worker dispatch

Buat rencana netral-permukaan tanpa biaya untuk tepat dua pekerja agen AWS

Flags
--max-runtime-minutes <value> default: 120 — Per-worker runtime ceiling
--source-sha <value> — Reviewed 40-character source Git SHA; defaults to a clean current HEAD
--surface <cli|t3|codex|claude-code|mcp> default: "cli" — Calling control surface; does not change dispatch identity
--work-item <value> required; repeatable — Queued Sift work-item UUID; repeat exactly twice
Shellsift
sift worker run

Ambil tugas, jalankan perintah worker lokal, dan laporkan artefak yang perlu ditinjau.

Flags
--agent <value> required — Agent alias to claim work for
--command <value> required — Local command to run for the claimed work item
--cwd <value> — Fallback working directory for the local command
--lease <value> default: 1800 — Lease seconds
--owner <value> required — Worker owner fingerprint

Ruang Kerja

3 perintah
Shellsift
sift workspaces current

Menampilkan pilihan ruang kerja Personal atau kolaboratif saat ini

Shellsift
sift workspaces list

Mendaftar ruang kerja kolaboratif yang tersedia untuk pengguna terotentikasi

Shellsift
sift workspaces use

Pilih ruang kerja kolaboratif untuk penemuan, atau Personal untuk menghapusnya

Arguments
id required — Workspace ID, or "personal"

Copilot Interaktif

Perintah sift interactive meluncurkan copilot terminal untuk mengobrol, menjalankan alat, mengedit kode, membuat cabang agen paralel, merencanakan pekerjaan, dan merender diagram — semuanya di terminal, bekerja langsung pada sistem berkas Anda dan grafik kerja Siftable.

Terminal
$ sift interactive

Persyaratan & startup

  • Bun diperlukan. sift interactive menjalankan ulang Bun; jika belum terinstal, perintah curl -fsSL https://bun.sh/install | bash akan ditampilkan.
  • Autentikasi diperlukan — melalui --token, SIFT_TOKEN, atau sift auth login.
  • Sistem berjalan dalam proses — tidak perlu menjalankan daemon terpisah.
  • Penulisan dibatasi pada root workspace — direktori induk terdekat dari lokasi peluncuran Anda yang berisi .git. Ini adalah batasan yang dilaporkan oleh /status dan diterapkan oleh jalur penulisan native.

Antarmuka

The composer is a full readline-capable text area. Enter submits; Shift+Enter / Ctrl+J insert a newline; submitting while the agent is busy queues your message. !command runs via bash -lc into the transcript (a bare !cd <path> changes the session directory; output clipped to ~4000 chars). Large or structured pastes become a collapsed chip; pasted images are validated, normalized, and attached. ? on an empty composer shows hotkeys.

Perintah slash

Ketik / untuk membuka menu perintah. Perintah tersembunyi tetap dapat diketik meski tidak muncul di menu.

CommandGroupDescription
/help, /hotkeys, /statusSessionCommand list, keyboard shortcuts, and current model/scope/queue status
/cwd [path]SessionShow or change the working directory (recomputes the workspace root)
/copy [last|all|explorer]SessionCopy the latest reply, whole transcript, or latest explorer report to the clipboard
/clear, /quitSessionReset the transcript; exit
/threads [clear], /compactSessionManage the persisted thread; force a context compaction (requires context compaction enabled)
/model [id] [effort]ModelOpen the model picker or select a model and reasoning effort directly
/codex [login|on|use|off|logout|status]ModelControl the Codex (ChatGPT) engine; default subcommand is status
/key <provider> <key>, /key vault <provider>ModelStore a provider API key, or hydrate it from Siftable Vault
/loginModelSiftable device-code login from inside the TUI
/explorerModelConfigure the repo Explorer (context-gathering backend)
/skills [name]SkillsList discovered skills, or print one skill's body
/branchesBranchesOpen the parallel-agent branches hub
/spawn <title> [--rw <globs>|--rw-any|--ro]BranchesStart a child agent branch in its own git worktree with an access mode
/merge, /rebase, /sendback, /rejectBranchesLand, replay, resume, or reject a child branch
/workWorkOpen the work-queue hub (board of agents and items by status)
/plan [objective | work [--apply] [--after SRC:DST] [--limit N] | view]WorkPlan from an objective, or compute a precedence DAG over the agent work queue as a Mermaid graph
/handoff <title> [--agent ..] [--files ..] [--acceptance ..] [--verify ..]WorkCreate a Siftable work item from the current context
/proof <claim>, /remember <fact> --category <..>WorkGather code/test evidence; store durable code memory
/crew [list|show|new|run], /collabCrewsManage and run multi-agent crews; show in-process collaboration sessions
/mermaid [request|file.mmd|source], /viewDiagramsRender Mermaid (NL request, file, or source) in the terminal; open the pannable viewer
/theme, /sounds [on|off]AppearanceOpen the appearance picker; toggle UI sounds

Model & mesin

The model picker (/model) is two-stage: choose a model, then a reasoning effort (saved to ~/.siftable/prefs.json). The catalog includes GPT-5.6 Sol, Terra, and Luna (ChatGPT plan via the Codex engine — /codex login / /codex on select Sol by default), Claude Opus 4.8 (OpenRouter or direct Anthropic with ANTHROPIC_API_KEY), Claude Sonnet 4.6 / Haiku 4.5, Gemini 3.x Flash / Flash-Lite, GPT-5.4 mini / nano, and Morph v3 Large (apply-only). Codex drives the OpenAI codex app-server sidecar (ChatGPT device-code login). All other providers route through the bundled OpenFunction agent via <PROVIDER>_API_KEY. /key vault <provider> hydrates a key from Siftable Vault behind an approval prompt; the secret is never printed or written to disk.

Repo Explorer

/explorer configures repository context gathering before a turn. Modes: auto, off, deterministic, scout, fanout, warpgrep. Pick a scout model and budget (cheap/normal/deep). warpgrep needs MORPH_API_KEY (auto-hydrated from Vault when available). Settings persist in prefs.json.

Skill

Skill SKILL.md dideteksi (proyek > pengguna > bawaan) dari <root>/{.sift,.claude,.codex,.agents}/skills, ~/.claude|.codex|.agents/skills, ~/.config/sift/skills, serta skill yang disertakan dalam paket. Agen dapat memanggil skill melalui alat, dan hingga ~50 skill tersedia dalam system prompt-nya.

Pintasan keyboard

Overlay menangkap input keyboard terlebih dahulu, sehingga pintasan bersifat spesifik untuk setiap mode.

  • Enter submit (queues if busy) · Shift+Enter/Ctrl+J newline · Tab complete a lone /foo · ↑/↓ prompt history
  • Esc abort turn → clear draft → deselect · Ctrl+C abort → clear → deselect → quit (never copies) · Ctrl+D quit on empty draft
  • Cmd/Super+A select all · Cmd+C/Ctrl+Shift+C copy selection or latest reply · Ctrl+O Explorer diagnostics · ? hotkeys
  • Approval gate: y/Enter allow once · a always · b bypass-all · n/Esc deny

Akselerasi native

Jalur kritis performa (pemadatan konteks, memori thread panjang, pemindaian sistem berkas, orkestrasi penggabungan, penanganan gambar) berjalan melalui modul native Zig yang dimuat via Bun FFI, masing-masing dengan fallback TypeScript. Paket ini menyertakan pustaka bawaan untuk macOS (Apple Silicon) dan Linux (x64); platform lain menggunakan fallback. Atur SIFT_NO_NATIVE=1 untuk memaksa penggunaan fallback, dan SIFT_CONTEXT_COMPACTION=1 untuk mengaktifkan pengukur token konteks langsung serta persistensi dan pemulihan thread.

Tampilan & suara

/theme menyediakan 10 skema (default "sieve" — amber hangat pada latar abu-abu gelap), disimpan di ~/.siftable/appearance.json. /sounds mengatur efek suara UI (default mati), disimpan di ~/.siftable/sounds.json dan dapat ditimpa dengan SIFT_SOUNDS.

The copilot is read-only by default; write/edit tools are scoped to the workspace root and gated by a four-way approval prompt (allow once / always / bypass-all / deny). With nothing listening, requests deny. Auto-approve environment overrides are always scrubbed at launch.

Referensi lengkap, mencakup semua perintah slash, key binding, variabel lingkungan, dan file konfigurasi: docs/interactive.md di GitHub.

Give your agent a workspace.