← Files 立地診断 mini|ROGNALIAARCHIVED FILE
skills/location-diagnosis-mini/references/report.schema.json
10.6 KB · Oct 2, 2026 · 00:31 UTC
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rognalia.com/schemas/location-diagnosis-mini-report-v2.json",
"title": "ROGNALIA Location Diagnosis Mini Report",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"address",
"business",
"research_date",
"evaluation",
"conclusion",
"assumptions",
"strengths",
"concerns",
"flip_conditions",
"coverage",
"baselines",
"research_axes",
"industry_analysis",
"risks",
"field_checks",
"additional_data",
"sources"
],
"properties": {
"schema_version": { "const": "2.1" },
"address": { "type": "string", "minLength": 5, "maxLength": 180 },
"business": { "type": "string", "minLength": 1, "maxLength": 80 },
"research_date": { "type": "string", "format": "date" },
"evaluation": {
"type": "object",
"additionalProperties": false,
"required": ["rating", "label", "confidence"],
"properties": {
"rating": { "type": "integer", "minimum": 1, "maximum": 5 },
"label": {
"enum": ["見送り推奨", "見送り寄り", "条件次第", "前向きに検討", "積極検討"]
},
"confidence": { "enum": ["high", "medium", "low"] }
}
},
"conclusion": { "type": "string", "minLength": 1, "maxLength": 200 },
"assumptions": {
"type": "array",
"maxItems": 3,
"items": { "type": "string", "minLength": 1, "maxLength": 100 }
},
"strengths": {
"type": "array",
"minItems": 1,
"maxItems": 3,
"items": { "$ref": "#/$defs/evidence_item" }
},
"concerns": {
"type": "array",
"minItems": 1,
"maxItems": 3,
"items": { "$ref": "#/$defs/evidence_item" }
},
"flip_conditions": {
"type": "array",
"minItems": 1,
"maxItems": 3,
"items": { "type": "string", "minLength": 1, "maxLength": 100 }
},
"coverage": {
"type": "object",
"additionalProperties": false,
"required": ["axes_completed", "opened_source_count", "critical_unknown_count", "summary"],
"properties": {
"axes_completed": { "const": 8 },
"opened_source_count": { "type": "integer", "minimum": 1, "maximum": 32 },
"critical_unknown_count": { "type": "integer", "minimum": 0, "maximum": 12 },
"summary": { "type": "string", "minLength": 1, "maxLength": 120 }
}
},
"baselines": {
"type": "array",
"minItems": 4,
"maxItems": 4,
"items": { "$ref": "#/$defs/baseline" }
},
"research_axes": {
"type": "array",
"minItems": 8,
"maxItems": 8,
"items": { "$ref": "#/$defs/research_axis" }
},
"industry_analysis": {
"type": "object",
"additionalProperties": false,
"required": [
"lens",
"customer_purpose",
"movement_mode",
"demand_periods",
"direct_competition",
"substitute_competition",
"synergies",
"fit_observations",
"competition_observations"
],
"properties": {
"lens": { "type": "string", "minLength": 1, "maxLength": 100 },
"customer_purpose": { "type": "string", "minLength": 1, "maxLength": 100 },
"movement_mode": { "type": "string", "minLength": 1, "maxLength": 50 },
"demand_periods": { "$ref": "#/$defs/short_string_list" },
"direct_competition": { "$ref": "#/$defs/evidence_item_list" },
"substitute_competition": { "$ref": "#/$defs/evidence_item_list" },
"synergies": { "$ref": "#/$defs/evidence_item_list" },
"fit_observations": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"items": { "$ref": "#/$defs/evidence_item" }
},
"competition_observations": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"items": { "$ref": "#/$defs/evidence_item" }
}
}
},
"risks": {
"type": "object",
"additionalProperties": false,
"required": ["confirmed_blockers", "conflicts", "critical_unknowns"],
"properties": {
"confirmed_blockers": {
"type": "array",
"maxItems": 3,
"items": { "$ref": "#/$defs/evidence_item" }
},
"conflicts": {
"type": "array",
"maxItems": 3,
"items": { "$ref": "#/$defs/evidence_item" }
},
"critical_unknowns": {
"type": "array",
"maxItems": 5,
"items": { "$ref": "#/$defs/evidence_item" }
}
}
},
"field_checks": {
"type": "array",
"minItems": 5,
"maxItems": 5,
"items": { "type": "string", "minLength": 1, "maxLength": 90 }
},
"additional_data": {
"type": "array",
"minItems": 1,
"maxItems": 3,
"items": { "$ref": "#/$defs/additional_data" }
},
"sources": {
"type": "array",
"minItems": 1,
"maxItems": 32,
"items": { "$ref": "#/$defs/source" }
}
},
"$defs": {
"evidence_status": {
"enum": ["confirmed", "estimated", "reference", "not_found", "field_check"]
},
"metric_acquisition_status": {
"enum": ["取得済み", "上位地域で代替", "地点照合が必要", "初期診断では未取得", "対象外"]
},
"baseline_acquisition_status": {
"enum": ["取得済み", "上位地域で代替", "地点照合が必要", "一部未取得", "初期診断では未取得", "対象外"]
},
"source_ids": {
"type": "array",
"maxItems": 6,
"uniqueItems": true,
"items": { "type": "string", "pattern": "^S[1-9][0-9]?$" }
},
"evidence_item": {
"type": "object",
"additionalProperties": false,
"required": ["title", "detail", "status", "source_ids"],
"properties": {
"title": { "type": "string", "minLength": 1, "maxLength": 28 },
"detail": { "type": "string", "minLength": 1, "maxLength": 110 },
"status": { "$ref": "#/$defs/evidence_status" },
"source_ids": { "$ref": "#/$defs/source_ids" }
}
},
"evidence_item_list": {
"type": "array",
"maxItems": 4,
"items": { "$ref": "#/$defs/evidence_item" }
},
"short_string_list": {
"type": "array",
"maxItems": 4,
"items": { "type": "string", "minLength": 1, "maxLength": 60 }
},
"metric": {
"type": "object",
"additionalProperties": false,
"required": ["name", "display_value", "as_of", "geography", "acquisition_status", "source_ids"],
"properties": {
"name": { "type": "string", "minLength": 1, "maxLength": 40 },
"display_value": { "type": "string", "minLength": 1, "maxLength": 40 },
"numeric_value": { "type": ["number", "null"], "minimum": 0 },
"unit": { "type": "string", "maxLength": 20 },
"as_of": { "type": "string", "minLength": 1, "maxLength": 40 },
"geography": { "type": "string", "minLength": 1, "maxLength": 80 },
"acquisition_status": { "$ref": "#/$defs/metric_acquisition_status" },
"source_ids": { "$ref": "#/$defs/source_ids" }
}
},
"chart_item": {
"type": "object",
"additionalProperties": false,
"required": ["label", "value", "display_value"],
"properties": {
"label": { "type": "string", "minLength": 1, "maxLength": 30 },
"value": { "type": "number", "minimum": 0 },
"display_value": { "type": "string", "minLength": 1, "maxLength": 30 }
}
},
"chart": {
"type": ["object", "null"],
"additionalProperties": false,
"required": ["type", "title", "unit", "as_of", "geography", "source_ids", "items"],
"properties": {
"type": { "enum": ["bar_pair", "stacked_share"] },
"title": { "type": "string", "minLength": 1, "maxLength": 50 },
"unit": { "type": "string", "maxLength": 20 },
"as_of": { "type": "string", "minLength": 1, "maxLength": 50 },
"geography": { "type": "string", "minLength": 1, "maxLength": 80 },
"source_ids": { "$ref": "#/$defs/source_ids" },
"items": {
"type": "array",
"minItems": 2,
"maxItems": 4,
"items": { "$ref": "#/$defs/chart_item" }
}
}
},
"baseline": {
"type": "object",
"additionalProperties": false,
"required": ["id", "title", "acquisition_status", "summary", "metrics", "chart"],
"properties": {
"id": { "enum": ["D1", "D2", "D3", "D4"] },
"title": { "type": "string", "minLength": 1, "maxLength": 40 },
"acquisition_status": { "$ref": "#/$defs/baseline_acquisition_status" },
"summary": { "type": "string", "minLength": 1, "maxLength": 130 },
"metrics": {
"type": "array",
"maxItems": 5,
"items": { "$ref": "#/$defs/metric" }
},
"chart": { "$ref": "#/$defs/chart" }
}
},
"research_axis": {
"type": "object",
"additionalProperties": false,
"required": ["id", "title", "status", "finding", "meaning", "source_ids"],
"properties": {
"id": { "enum": ["R1", "R2", "R3", "R4", "R5", "R6", "R7", "R8"] },
"title": { "type": "string", "minLength": 1, "maxLength": 40 },
"status": { "$ref": "#/$defs/evidence_status" },
"finding": { "type": "string", "minLength": 1, "maxLength": 140 },
"meaning": { "type": "string", "minLength": 1, "maxLength": 100 },
"source_ids": { "$ref": "#/$defs/source_ids" }
}
},
"additional_data": {
"type": "object",
"additionalProperties": false,
"required": ["name", "method", "decision_use"],
"properties": {
"name": { "type": "string", "minLength": 1, "maxLength": 50 },
"method": { "type": "string", "minLength": 1, "maxLength": 90 },
"decision_use": { "type": "string", "minLength": 1, "maxLength": 90 }
}
},
"source": {
"type": "object",
"additionalProperties": false,
"required": ["id", "title", "url", "publisher", "checked_at", "as_of", "supports"],
"properties": {
"id": { "type": "string", "pattern": "^S[1-9][0-9]?$" },
"title": { "type": "string", "minLength": 1, "maxLength": 100 },
"url": { "type": "string", "pattern": "^https?://" },
"publisher": { "type": "string", "minLength": 1, "maxLength": 80 },
"checked_at": { "type": "string", "format": "date" },
"as_of": { "type": "string", "minLength": 1, "maxLength": 50 },
"supports": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"uniqueItems": true,
"items": { "type": "string", "pattern": "^(R[1-8]|D[1-4])$" }
}
}
}
}
}
SHA-256: 561f3fb25d7a32739bb3d6f2fea234cf2aad1ee0a13b98538d492bf932cbfd92