* feat(browser): inspect retained HAR and mitmproxy capture evidence Add independent offline format adapters, inline CLI/MCP evidence, bounded owned decoder processes, and real producer verification. Refs #882 Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis) Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing) * fix(browser): preserve capture boundaries during cancellation and decoding Honor cancellation during owned-command cleanup, retain opaque HAR extension content, and clean verifier resources on every failure path. Refs #882 Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis) Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing) * fix(browser): exclude sensitive capture fields across representations Normalize known native transport URLs for both bytes and strings, including backups. Exclude explicitly sensitive text fields with null so redaction markers cannot reintroduce declared literals. Cover both provider identities in catalog conformance. Refs #882 Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis) Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing) * fix(browser): exclude sensitive capture identities and bound diagnostics * fix(browser): validate excluded HAR subtrees before projection * fix(browser): distinguish capture input limits from decoder failures * fix(browser): preserve decoder failure categories * fix(browser): validate excluded native credential values * test(browser): report capture verifier assertions directly * fix(browser): classify native representation failures precisely * fix(browser): exclude URL userinfo after header whitespace * fix(browser): preserve capture evidence and failure boundaries * fix(browser): exclude sensitive literals from capture limitations * test(browser): check limitation values without JSON syntax * fix(browser): preserve acquisition integrity and exclude selection diagnostics * fix(browser): preserve capture acquisition and declaration boundaries * fix(mcp): project sensitive capture argument validation * fix: preserve capture bytes and prelaunch cancellation * fix(browser): exclude sensitive HAR record ancestry * fix(browser): preserve transport URL and parameter exclusions * fix(browser): preserve numeric redaction and canonical capture provenance * fix(browser): cover derived capture values and ownership preparation deadlines * fix(browser): exclude explicitly sensitive artifact digests * chore: regenerate generated metadata * fix(browser): reject lossy HAR member normalization * test(browser): assert the advertised unsupported-profile outcome * fix(browser): preserve JSON visitor nesting failure locations * fix(browser): exclude explicitly sensitive native source ranges --------- Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
656 lines
20 KiB
JSON
656 lines
20 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "invalid_request" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "access_denied" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "artifact_changed" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "unreadable_output" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "capability_unavailable" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "provider_unavailable" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "provider_timeout" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "cancelled" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "artifact_integrity_mismatch" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"properties": {
|
|
"logical_path": { "type": "string" },
|
|
"declared_sha256": {
|
|
"anyOf": [{ "type": "string" }, { "type": "null" }]
|
|
},
|
|
"calculated_sha256": {
|
|
"anyOf": [{ "type": "string" }, { "type": "null" }]
|
|
},
|
|
"unpacked": { "type": "boolean" }
|
|
},
|
|
"required": [
|
|
"logical_path",
|
|
"declared_sha256",
|
|
"calculated_sha256",
|
|
"unpacked"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"code",
|
|
"category",
|
|
"message",
|
|
"retryable",
|
|
"remediation",
|
|
"details"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "artifact_operation_failed" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "evidence_integrity_mismatch" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "truncated" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "process_capture_failed" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "cleanup_incomplete" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "revision_conflict" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "configuration_invalid" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "target_unavailable" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"code": { "type": "string", "const": "execution_failure" },
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"invalid_input",
|
|
"unsupported_provider",
|
|
"integrity_mismatch",
|
|
"truncated",
|
|
"cancelled",
|
|
"timeout",
|
|
"unavailable",
|
|
"execution_failure"
|
|
]
|
|
},
|
|
"message": { "type": "string", "minLength": 1 },
|
|
"retryable": { "type": "boolean" },
|
|
"remediation": {
|
|
"type": "object",
|
|
"properties": { "action": { "type": "string", "minLength": 1 } },
|
|
"required": ["action"],
|
|
"additionalProperties": false
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
},
|
|
"required": ["code", "category", "message", "retryable", "remediation"],
|
|
"additionalProperties": false
|
|
}
|
|
],
|
|
"$defs": {
|
|
"__schema0": {
|
|
"anyOf": [
|
|
{ "type": "string" },
|
|
{ "type": "number" },
|
|
{ "type": "boolean" },
|
|
{ "type": "null" },
|
|
{ "type": "array", "items": { "$ref": "#/$defs/__schema0" } },
|
|
{
|
|
"type": "object",
|
|
"propertyNames": { "type": "string" },
|
|
"additionalProperties": { "$ref": "#/$defs/__schema0" }
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|