9fee07f080
A release below §5.5's floor was rejected with no way through, so a policy wrong about one title left three Rick and Morty S09 packs visible and none grabbable. `allow_below_floor` relaxes the floor for one title into a soft fail, never a pass: the release is waived, so automatic grabbing still skips it and the import records a §5.7 waiver. The deck offers the one click on a rejected row where the rule has an override, which is exactly what §9.3's override is for. Stored verdicts are re-derived when a title's overrides change — the deck and the daemon's grab gate both read that column, so without it the row the operator just acted on would keep reading `rejected`. Closes #210 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
183 lines
4.7 KiB
JSON
183 lines
4.7 KiB
JSON
{
|
|
"db_name": "SQLite",
|
|
"query": "\n SELECT s.overrides AS \"overrides!: String\",\n r.id AS \"root_id!: i64\",\n r.kind AS \"root_kind!: String\",\n r.audience AS \"root_audience!: String\",\n r.path AS \"root_path!: String\",\n p.id AS \"policy_id!: i64\",\n p.name AS \"policy_name!: String\",\n p.required_audio AS \"required_audio!: String\",\n p.dub_blacklist AS \"dub_blacklist!: String\",\n p.hdr_rules AS \"hdr_rules!: String\",\n p.size_bands AS \"size_bands!: String\",\n p.resolution_pref AS \"resolution_pref!: String\",\n p.source_weights AS \"source_weights!: String\",\n p.score_weights AS \"score_weights!: String\"\n FROM series s\n JOIN roots r ON r.id = s.root_id\n JOIN policies p ON p.id = r.policy_id\n WHERE s.id = ?\n ",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"name": "overrides!: String",
|
|
"ordinal": 0,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "series",
|
|
"name": "overrides"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "root_id!: i64",
|
|
"ordinal": 1,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "roots",
|
|
"name": "id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "root_kind!: String",
|
|
"ordinal": 2,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "roots",
|
|
"name": "kind"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "root_audience!: String",
|
|
"ordinal": 3,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "roots",
|
|
"name": "audience"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "root_path!: String",
|
|
"ordinal": 4,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "roots",
|
|
"name": "path"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "policy_id!: i64",
|
|
"ordinal": 5,
|
|
"type_info": "Integer",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "policies",
|
|
"name": "id"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "policy_name!: String",
|
|
"ordinal": 6,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "policies",
|
|
"name": "name"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "required_audio!: String",
|
|
"ordinal": 7,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "policies",
|
|
"name": "required_audio"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "dub_blacklist!: String",
|
|
"ordinal": 8,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "policies",
|
|
"name": "dub_blacklist"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "hdr_rules!: String",
|
|
"ordinal": 9,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "policies",
|
|
"name": "hdr_rules"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "size_bands!: String",
|
|
"ordinal": 10,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "policies",
|
|
"name": "size_bands"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "resolution_pref!: String",
|
|
"ordinal": 11,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "policies",
|
|
"name": "resolution_pref"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "source_weights!: String",
|
|
"ordinal": 12,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "policies",
|
|
"name": "source_weights"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "score_weights!: String",
|
|
"ordinal": 13,
|
|
"type_info": "Text",
|
|
"origin": {
|
|
"Table": {
|
|
"table": "policies",
|
|
"name": "score_weights"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Right": 1
|
|
},
|
|
"nullable": [
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
]
|
|
},
|
|
"hash": "1f67ae5af28115d22ad5e2fde1df8ee0f4aeb615e1d29c9cae03a589c7a6bdd4"
|
|
}
|