changedInput schema / properties / files / description
Previous value: -"Optional workspace-relative file paths edited in this change. Records one 'edit' activity event per idempotency_key for scan-before-edit compliance (aegis status --compliance); does not affect rule credit."New value: +"Paths edited in this change, for scan-before-edit compliance only (at most one 'edit' event per report); never affects credit."
changedInput schema / properties / idempotency_key / description
Previous value: -"Caller-supplied unique key (1-256 chars, scoped per host and session). Retrying with the same key and outcome is a no-op; reusing a key with a different outcome fails with status 'FAIL'."New value: +"Unique per report (scoped by host and session): a retry is a no-op; reuse with another outcome fails."
changedInput schema / properties / notes / description
Previous value: -"Optional free-text context describing how the rules helped or failed (max 4096 chars)."New value: +"Accepted for compatibility; ignored, never stored."
changedInput schema / properties / outcome / description
Previous value: -"Verification result for the rules in this change: 'success'/'tp'/'pass' record a true positive ('tp'), 'failure'/'fp'/'fail' record a false positive ('fp'), and 'partial' records a neutral trigger ('trigger')."New value: +"'success', 'tp' and 'pass' claim a true positive (credited only after CI); the others read as a neutral trigger, never a false positive."
changedInput schema / properties / rework_count / description
Previous value: -"Optional non-negative integer count of edit-and-retest cycles before verification succeeded (default: 0)."New value: +"Accepted for compatibility; ignored, never stored."
changedInput schema / properties / rules_used / description
Previous value: -"Non-empty list of existing rule IDs from aegis_scan. Validated against the workspace rule inventory; actual fitness credit is computed server-side from session scan exposure and git diff paths."New value: +"Rule IDs from aegis_scan; credit comes from this session's scan exposure and the diff, not this list."
changedInput schema / properties / tests_passed / description
Previous value: -"Optional boolean recording whether the project's test suite passed during verification."New value: +"Accepted for compatibility; ignored, never stored."
changedInput schema / properties / view / description
Previous value: -"Optional response projection: 'full' (default, complete payload), 'summary' (retains identity/type/status/fitness fields, caps lists at 10 items, and adds <list>_count), or 'ids' (projects each list to rule ID strings). Error responses are never projected."New value: +"'full' (default), 'summary' (key fields, lists capped at 10 plus <list>_count) or 'ids'."
changedOutput schema / (root)
Previous value: -{
- "additionalProperties": false,
- "properties": {
- "aegis_version": {
- "description": "Running Aegis package version string.",
- "type": "string"
- },
- "check": {
- "description": "Check record ID that witnessed the report (present when status='recorded').",
- "type": "string"
- },
- "checked_at": {
- "description": "UTC ISO-8601 timestamp when the report was processed.",
- "type": "string"
- },
- "credited": {
- "description": "Rule IDs credited in the outcome ledger (empty for unwitnessed 'claimed' or 'rate_limited' reports).",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "credited_count": {
- "description": "Total count of credited rules before 'summary' view truncation (present when view='summary').",
- "type": "integer"
- },
- "error": {
- "description": "Error message when status='FAIL'.",
- "type": "string"
- },
- "limit": {
- "description": "Per-session report cap (200) returned when status='rate_limited'.",
- "type": "integer"
- },
- "recorded": {
- "description": "False when status='rate_limited' or when an unwitnessed claim for the same session and tree was already recorded.",
- "type": "boolean"
- },
- "scope": {
- "description": "Workspace scope metadata envelope ({tree}).",
- "type": "object"
- },
- "source": {
- "description": "Command or tool name that produced the response ('aegis_report_outcome').",
- "type": "string"
- },
- "status": {
- "description": "Report disposition: 'recorded' (witnessed by a matching check record), 'claimed' (unwitnessed self-report), 'rate_limited' (session cap reached), or 'FAIL'.",
- "enum": [
- "recorded",
- "claimed",
- "rate_limited",
- "FAIL"
- ],
- "type": "string"
- },
- "tree": {
- "description": "Git tree hash computed for the workspace at report time.",
- "type": [
- "string",
- "null"
- ]
- },
- "witness": {
- "description": "Attestation tier: 'aegis' when backed by a passing 'aegis check --record --tests' row for the current tree, or 'self' for unwitnessed claims.",
- "enum": [
- "aegis",
- "self"
- ],
- "type": "string"
- }
- },
- "required": [
- "credited"
- ],
- "type": "object"
-}New value: +null