Files
electron 8ae0eb239a feat: public example of life-project gates system
Public demo of Factory 4 Life project management:

- Gate definitions S0 (spec), S1 (build), S2
  (integration), S3 (production ready)
- Hardware project template with PlatformIO,
  KiCad CI, and Makefile for fab packages
- JSON schema for .kill-life.yaml manifest
- CLI scripts: create-project, validate-gates,
  dashboard with color-coded status output
- Example project: led-controller (S0+S1 passed,
  S2 in progress)
2026-04-07 15:39:30 +02:00

82 lines
2.3 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "kill-life.yaml",
"description": "Manifest de projet Factory 4 Life",
"type": "object",
"required": ["kill_life"],
"properties": {
"kill_life": {
"type": "object",
"required": ["version", "project"],
"properties": {
"version": { "type": "integer", "const": 1 },
"project": { "type": "string", "minLength": 1 },
"client": { "type": "string" },
"mascarade_url": { "type": "string", "format": "uri" },
"agents": {
"type": "array",
"items": { "type": "string" }
},
"mcp_servers": {
"type": "array",
"items": { "type": "string" }
},
"gates": {
"type": "object",
"properties": {
"s0": { "$ref": "#/$defs/gate_status" },
"s1": { "$ref": "#/$defs/gate_status" },
"s2": { "$ref": "#/$defs/gate_status" },
"s3": { "$ref": "#/$defs/gate_status" }
}
},
"acceptance_gates": {
"type": "object",
"properties": {
"erc_ok": { "type": "boolean" },
"drc_ok": { "type": "boolean" },
"bom_review_ok": { "type": "boolean" },
"artifacts_complete": { "type": "boolean" }
}
},
"hardware": {
"type": "object",
"properties": {
"pcb_dir": { "type": "string" },
"simulation_dir": { "type": "string" },
"bom_dir": { "type": "string" }
}
},
"firmware": {
"type": "object",
"properties": {
"framework": { "type": "string", "enum": ["platformio", "esp-idf", "arduino", "zephyr"] },
"src_dir": { "type": "string" }
}
},
"software": {
"type": "object",
"properties": {
"framework": { "type": "string" },
"src_dir": { "type": "string" }
}
}
}
}
},
"$defs": {
"gate_status": {
"type": "object",
"required": ["status"],
"properties": {
"status": {
"type": "string",
"enum": ["pending", "in_progress", "passed", "blocked", "skipped"]
},
"date": { "type": "string", "format": "date" },
"notes": { "type": "string" }
}
}
}
}