# Sieve Implicit Keep Action Trace Analyzer

> Sieve Implicit Keep Action Trace Analyzer is a paid API for AI agents from detect.halowerk.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-11-04).

Analyzes an abstract Sieve mail-rule control-flow program to determine whether implicit keep is retained and counts explicit delivery actions, without processing real messages.

## Facts

- Endpoint: POST https://detect.halowerk.com/v1/F-A-NEXT-SIEVE_ACTIONS/sieve-implicit-keep-action-trace?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-04
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sieve-implicit-keep-action-trace-analyzer-c22598d0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_FdIA2nyflfs6uM70X3hDT

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability sieve-implicit-keep-action-trace-analyzer-c22598d0 -d '<json body>'
```

Example prompt: Check whether this abstract Sieve program retains implicit keep and tell me how many explicit delivery actions are scheduled — here's the program with claim value 42, two boolean flags [true, false], and operations including an if-branch with an 'fileinto' op and a 'keep' op in the otherwise branch.

## When to prefer this

Use this endpoint when you need to statically analyze the control-flow semantics of a Sieve mail filter — specifically to determine implicit-keep retention and explicit delivery action counts — without executing the script against real messages. Prefer this over live Sieve interpreters when privacy, offline operation, or message-free analysis is required.

## Known failure modes

- Invalid program structure or missing required 'op' field returns a 400 error
- Exceeding maxItems (512) for branches or body arrays causes a schema validation failure
- Claim value outside [-1000000000000, 1000000000000] range is rejected
- Malformed boolean flags array causes deserialization error
- Deeply nested branch structures may cause processing timeouts

## How this service works

An offline mail-rule agent needs whether an abstract Sieve control path retains implicit keep and how many explicit delivery actions are scheduled, without inspecting or transmitting messages.

## Output

Returns whether the implicit keep action is retained along the analyzed control path and the count of explicit delivery actions scheduled within the Sieve program, based purely on structural analysis of the submitted program representation.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "artifact": {
   "type": "object",
   "required": [
    "sieve_actions"
   ],
   "properties": {
    "sieve_actions": {
     "type": "object",
     "required": [
      "claim",
      "flags",
      "program"
     ],
     "properties": {
      "claim": {
       "type": "number",
       "maximum": 1000000000000,
       "minimum": -1000000000000
      },
      "flags": {
       "type": "array",
       "items": {
        "type": "boolean"
       },
       "maxItems": 512
      },
      "program": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "op"
        ],
        "properties": {
         "op": {
          "type": "string",
          "maxLength": 1024
         },
         "branches": {
          "type": "array",
          "items": {
           "type": "object",
           "required": [
            "body",
            "negate",
            "test"
           ],
           "properties": {
            "body": {
             "type": "array",
             "items": {
              "type": "object",
              "required": [
               "op"
              ],
              "properties": {
               "op": {
                "type": "string",
                "maxLength": 1024
               },
               "branches": {
                "type": "array",
                "items": {
                 "type": "object",
                 "required": [
                  "body",
                  "negate",
                  "test"
                 ],
                 "properties": {
                  "body": {
                   "type": "array",
                   "items": {
                    "type": "object",
                    "required": [
                     "op"
                    ],
                    "properties": {
                     "op": {
                      "type": "string",
                      "maxLength": 1024
                     }
                    },
                    "additionalProperties": false
                   },
                   "maxItems": 512
                  },
                  "test": {
                   "type": "number",
                   "maximum": 1000000000000,
                   "minimum": -1000000000000
                  },
                  "negate": {
                   "type": "boolean"
                  }
                 },
                 "additionalProperties": false
                },
                "maxItems":
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sieve-implicit-keep-action-trace-analyzer-c22598d0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from detect.halowerk.com](https://www.zero.xyz/host/detect.halowerk.com/llms.txt)
