Skip to main content
Glama

Report a Completed Nittim Loop (opt-in, counts only)

report_loop

NEEDS A KEY: mint one at https://nittim.com/keys. Records anonymised counts from a Nittim Loop the developer has finished and agreed to send: pass numbers, a findings-by-category tally, a fixed count, and whether each pass was clean. Counts only — never a title, file path or snippet. Nothing is charged, and an eligible report can earn a credit reward (rules and caps: see describe_protocol). Reporting the same repo again updates the existing record; the reply says which happened. Results appear at https://nittim.com/loop.

Input Schema

NameRequiredDescriptionDefault
modeNoOptional: 'one_shot' (every lens sweeps the whole tree first, then one fix wave, then a short convergence loop) or 'serial' (one lens or area per pass, fixing between passes).
sweptNoOptional: was the CLASS swept — a guard, lint rule or exhaustiveness check that makes a new instance loud — rather than only the instances a pass named? Never derived, never changes the reward. On a repeat report, omitting it keeps the last answer; `false` withdraws it.
passesYesOne entry per pass you actually ran, in order.
repo_hashYessha256 of the repository's canonical identity (the lowercased 'owner/repo', or a stable local fingerprint) — never the repo name itself. nittim never sees the name.
client_nameNoYour own name — omit to read it from the MCP connection instead.
convergenceNoOptional: 'converged' (two consecutive clean passes) or 'cap_reached' (stopped for any other reason). Omit if unsure — the read from `passes` is derived either way.
client_versionNoYour own version string, if you have one.
repo_size_bucketYesA rough size bucket for the repo you looped over.
first_wave_lensesNoOptional, with mode 'one_shot' only: how many lenses ran in parallel on pass 1.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / passes / items / required
      Previous value: -[
      -  "n",
      -  "fixed",
      -  "clean"
      -]New value: +[
      +  "n",
      +  "findings",
      +  "fixed",
      +  "clean"
      +]
  2. Changed7 schema fields changed
    • removedInput schema / properties / passes / items / properties / findings / additionalProperties
      Removed value: -false
    • changedInput schema / properties / passes / items / properties / findings / description
      Previous value: -"Findings this pass named, by category — omit a category that found nothing."New value: +"Findings this pass named — one entry per category with something to report; omit a category that found nothing. Each count defaults to 0 when omitted."
    • addedInput schema / properties / passes / items / properties / findings / items
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "category": {
      +      "enum": [
      +        "security",
      +        "privacy",
      +        "reliability",
      +        "code_quality",
      +        "ai_risk",
      +        "performance",
      +        "devops",
      +        "data",
      +        "business",
      +        "devex",
      +        "accessibility",
      +        "observability",
      +        "maintainability"
      +      ],
      +      "type": "string"
      +    },
      +    "critical": {
      +      "default": 0,
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "high": {
      +      "default": 0,
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "low": {
      +      "default": 0,
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "medium": {
      +      "default": 0,
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "category"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / properties / passes / items / properties / findings / maxItems
      Added value: +13
    • removedInput schema / properties / passes / items / properties / findings / properties
      Removed value: -{
      -  "accessibility": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "ai_risk": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "business": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "code_quality": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "data": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "devex": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "devops": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "maintainability": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "observability": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "performance": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "privacy": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "reliability": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  },
      -  "security": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "critical": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "high": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "low": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "medium": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "object"
      -  }
      -}
    • changedInput schema / properties / passes / items / properties / findings / type
      Previous value: -"object"New value: +"array"
    • changedInput schema / properties / passes / items / required
      Previous value: -[
      -  "n",
      -  "findings",
      -  "fixed",
      -  "clean"
      -]New value: +[
      +  "n",
      +  "fixed",
      +  "clean"
      +]
  3. Changed10 schema fields changed
    • changedInput schema / properties / client_name / description
      Previous value: -"Your own name, e.g. 'Claude Code' — omit to let nittim read it from the MCP connection if available."New value: +"Your own name — omit to read it from the MCP connection instead."
    • changedInput schema / properties / convergence / description
      Previous value: -"Optional: how the loop stopped, if you know — 'converged' (two consecutive clean passes) or 'cap_reached' (stopped for some other reason — a pass budget, a time box, a human call — before converging). Omit if you're not sure; nittim derives its own systemic-pattern read from `passes` regardless of what you say here."New value: +"Optional: 'converged' (two consecutive clean passes) or 'cap_reached' (stopped for any other reason). Omit if unsure — the read from `passes` is derived either way."
    • changedInput schema / properties / first_wave_lenses / description
      Previous value: -"Optional, only meaningful with mode: 'one_shot' — how many lenses ran in parallel on pass 1. Rejected when `mode` is 'serial' or absent."New value: +"Optional, with mode 'one_shot' only: how many lenses ran in parallel on pass 1."
    • changedInput schema / properties / mode / description
      Previous value: -"Optional: how the loop was run — 'one_shot' (every lens read the whole tree in one first sweep, then a single fix wave, then a short convergence loop over only the fix diffs) or 'serial' (one lens or area per pass, fixing between passes). Omit if you're not sure."New value: +"Optional: 'one_shot' (every lens sweeps the whole tree first, then one fix wave, then a short convergence loop) or 'serial' (one lens or area per pass, fixing between passes)."
    • changedInput schema / properties / passes / description
      Previous value: -"One entry per pass you actually ran, in order — the same loop public/selfcheck.md walked you through."New value: +"One entry per pass you actually ran, in order."
    • changedInput schema / properties / passes / items / properties / findings / description
      Previous value: -"Findings this pass named, keyed by the 13 canonical categories — omit any category that found nothing."New value: +"Findings this pass named, by category — omit a category that found nothing."
    • changedInput schema / properties / passes / items / properties / fixed / description
      Previous value: -"How many findings this pass fixed (usually from the PRIOR pass's findings)."New value: +"How many findings this pass fixed."
    • changedInput schema / properties / repo_hash / description
      Previous value: -"sha256 of the repository's canonical identity (e.g. the lowercased 'owner/repo', or a stable local-project fingerprint) — NEVER the repo name itself. Compute this yourself; nittim never sees the name."New value: +"sha256 of the repository's canonical identity (the lowercased 'owner/repo', or a stable local fingerprint) — never the repo name itself. nittim never sees the name."
    • changedInput schema / properties / repo_size_bucket / description
      Previous value: -"A rough size bucket for the repo you looped over: xs, s, m, l, or xl."New value: +"A rough size bucket for the repo you looped over."
    • changedInput schema / properties / swept / description
      Previous value: -"Optional, only meaningful when the loop looked systemic: did you actually sweep the CLASS (a guard, lint rule, or exhaustiveness check that makes a new instance loud by default), not just fix the instances a pass happened to name? Omit if you didn't do a systemic pass or aren't sure — this is never derived from `passes`, only your own claim, and it never changes the reward. On a REPEAT report of the same repo, omitting this KEEPS whatever you last said, rather than clearing it — send `false` explicitly to withdraw an earlier sweep claim."New value: +"Optional: was the CLASS swept — a guard, lint rule or exhaustiveness check that makes a new instance loud — rather than only the instances a pass named? Never derived, never changes the reward. On a repeat report, omitting it keeps the last answer; `false` withdraws it."
  4. Changed2 schema fields changed
    • addedInput schema / properties / first_wave_lenses
      Added value: +{
      +  "description": "Optional, only meaningful with mode: 'one_shot' — how many lenses ran in parallel on pass 1. Rejected when `mode` is 'serial' or absent.",
      +  "exclusiveMinimum": 0,
      +  "maximum": 100,
      +  "type": "integer"
      +}
    • addedInput schema / properties / mode
      Added value: +{
      +  "description": "Optional: how the loop was run — 'one_shot' (every lens read the whole tree in one first sweep, then a single fix wave, then a short convergence loop over only the fix diffs) or 'serial' (one lens or area per pass, fixing between passes). Omit if you're not sure.",
      +  "enum": [
      +    "one_shot",
      +    "serial"
      +  ],
      +  "type": "string"
      +}
  5. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.