mirror of
https://github.com/SamyRai/turash.git
synced 2025-12-26 23:01:33 +00:00
- Initialize git repository - Add comprehensive .gitignore for Go projects - Install golangci-lint v2.6.0 (latest v2) globally - Configure .golangci.yml with appropriate linters and formatters - Fix all formatting issues (gofmt) - Fix all errcheck issues (unchecked errors) - Adjust complexity threshold for validation functions - All checks passing: build, test, vet, lint
132 lines
4.2 KiB
JSON
132 lines
4.2 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://cityresourcegraph.com/schemas/match_packet.json",
|
|
"title": "Match Packet Entity",
|
|
"description": "Partner-ready deliverables for executing industrial symbiosis matches",
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"description": "Unique match packet identifier"
|
|
},
|
|
"match_id": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"description": "Associated match ID"
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"description": "Human-readable match title"
|
|
},
|
|
"technical_details": {
|
|
"type": "object",
|
|
"properties": {
|
|
"supply_temp_celsius": {"type": "number"},
|
|
"demand_temp_range": {
|
|
"type": "object",
|
|
"properties": {
|
|
"min_celsius": {"type": "number"},
|
|
"max_celsius": {"type": "number"}
|
|
}
|
|
},
|
|
"distance_meters": {"type": "number"},
|
|
"estimated_savings_per_year": {"type": "number"},
|
|
"resource_type": {"type": "string"},
|
|
"quantity": {"type": "number"},
|
|
"unit": {"type": "string"}
|
|
},
|
|
"description": "Technical specifications of the match"
|
|
},
|
|
"contact_info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"business_type": {"type": "string", "maxLength": 100},
|
|
"location_area": {"type": "string", "maxLength": 200},
|
|
"contact_method": {"type": "string", "enum": ["platform_mediated", "direct"]},
|
|
"anonymized": {"type": "boolean", "default": true}
|
|
},
|
|
"description": "Partner contact information (anonymized initially)"
|
|
},
|
|
"legal_templates": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {"type": "string", "enum": ["mou", "supply_agreement", "service_contract", "nda"]},
|
|
"name": {"type": "string", "maxLength": 100},
|
|
"template_url": {"type": "string", "format": "uri"},
|
|
"description": {"type": "string", "maxLength": 500}
|
|
},
|
|
"required": ["type", "template_url"]
|
|
},
|
|
"description": "Available legal templates for this match type"
|
|
},
|
|
"cost_calculators": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pipe_cost_per_meter": {"type": "number", "description": "€/m for buried pre-insulated pipe"},
|
|
"hx_cost_per_kw": {"type": "number", "description": "€/kW for plate heat exchanger"},
|
|
"payback_months": {"type": "number"},
|
|
"installation_cost_estimate": {"type": "number"},
|
|
"maintenance_cost_per_year": {"type": "number"}
|
|
},
|
|
"description": "Built-in cost calculation tools"
|
|
},
|
|
"implementation_steps": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"step_number": {"type": "integer"},
|
|
"title": {"type": "string", "maxLength": 100},
|
|
"description": {"type": "string", "maxLength": 500},
|
|
"estimated_duration_days": {"type": "integer"},
|
|
"required_expertise": {"type": "string", "maxLength": 200},
|
|
"estimated_cost": {"type": "number"}
|
|
},
|
|
"required": ["step_number", "title", "description"]
|
|
},
|
|
"description": "Step-by-step implementation guide"
|
|
},
|
|
"facilitator_recommendations": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"description": "Recommended facilitator IDs for this match"
|
|
},
|
|
"risk_warnings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"maxLength": 500
|
|
},
|
|
"description": "Important risk warnings and considerations"
|
|
},
|
|
"expires_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "When this packet expires"
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"default": 1,
|
|
"description": "Packet version number"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": ["id", "match_id", "title", "technical_details"],
|
|
"additionalProperties": false
|
|
}
|