{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "read-only",
"component": "newfi-newfdom-events208-full-ui-foundation-audit-readonly-r1-php-linted",
"started_at_utc": "2026-09-18T23:47:33Z",
"finished_at_utc": "2026-09-18T23:47:37Z",
"reference_register_checked": true,
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
"error_register_checked": true,
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
"command_sha256": "0c8ad785f454cccfac01e122c4b6dd81990c193c83ad7d8708f218a016ff4ed6",
"duplicate_failed_command_blocked": false,
"block_reason": null,
"execution_started": true,
"change_declared": false,
"result_contract_valid": true,
"result_contract_status": null,
"result_contract_error": null,
"command_rc": 0,
"changes_made": false,
"rollback_started": false,
"rollback_restored": null,
"mutation_outcome": "NO_MUTATION",
"sanitized": true,
"secrets_included": false,
"private_addresses_included": false,
"raw_evidence_retained_locally": true,
"raw_evidence_sha256": "c800ad649ac6a001b861be0203acfcfb6558111d2c948e8d49459be102da8282",
"sanitized_output_sha256": "c800ad649ac6a001b861be0203acfcfb6558111d2c948e8d49459be102da8282",
"output_truncated_in_json": false,
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
"output": "NEWFI122R1_BEGIN\nCOMMAND_ID=NEWFI-260919-NEWFDOM-EVENTS208-AUDIT122R1\nNEWFI122R1_GIT={\"branch\":\"implementation/newfi-closed-mvp-20260906\",\"clean\":true,\"head\":\"a13361297ba22f9745bb64aac4ed90849242955a\",\"remotes\":[{\"head\":\"a13361297ba22f9745bb64aac4ed90849242955a\",\"remote\":\"origin\"}]}\nNEWFI122R1_WORKTREE_FILES=[{\"bytes\":1131,\"rel\":\"Entity/Event.php\",\"sha256\":\"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891\"},{\"bytes\":777,\"rel\":\"Entity/EventChange.php\",\"sha256\":\"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602\"},{\"bytes\":775,\"rel\":\"Entity/EventSource.php\",\"sha256\":\"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187\"},{\"bytes\":494,\"rel\":\"Pub/Controller/Events.php\",\"sha256\":\"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b\"},{\"bytes\":79,\"rel\":\"Pub/View/Events.php\",\"sha256\":\"dabbfabaa95bfb8105cea2123827f3433a29f618347dd8f1551124ccaea2a0b2\"},{\"bytes\":2129,\"rel\":\"Setup.php\",\"sha256\":\"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b\"},{\"bytes\":144,\"rel\":\"_data/routes.xml\",\"sha256\":\"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309\"},{\"bytes\":830,\"rel\":\"_data/templates.xml\",\"sha256\":\"bb1e0ff32036a9606b60b76e63c4a0e40e05cd3dc4f64a5fcb8bf43f47e2367c\"},{\"bytes\":397,\"rel\":\"addon.json\",\"sha256\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\"}]\nNEWFI122R1_STAGING={\"files\":[{\"bytes\":1131,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:Event';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],\"},{\"line\":18,\"text\":\" 'starts_at' => ['type' => self::UINT, 'required' => true],\"},{\"line\":19,\"text\":\" 'state' => [\"},{\"line\":20,\"text\":\" 'type' => self::STR,\"},{\"line\":27,\"text\":\" 'updated_at' => ['type' => self::UINT, 'required' => true]\"},{\"line\":28,\"text\":\" ];\"},{\"line\":29,\"text\":\" return $structure;\"},{\"line\":30,\"text\":\" }\"},{\"line\":31,\"text\":\"}\"}],\"rel\":\"Entity/Event.php\",\"sha256\":\"c6b81864e2029f0094864573d31fdfc4280140b900da411f14282061b84ba891\"},{\"bytes\":777,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event_change';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:EventChange';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_change_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'event_id' => ['type' => self::UINT, 'required' => true],\"},{\"line\":18,\"text\":\" 'changed_at' => ['type' => self::UINT, 'required' => true],\"},{\"line\":19,\"text\":\" 'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]\"},{\"line\":20,\"text\":\" ];\"},{\"line\":21,\"text\":\" return $structure;\"},{\"line\":22,\"text\":\" }\"},{\"line\":23,\"text\":\"}\"}],\"rel\":\"Entity/EventChange.php\",\"sha256\":\"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602\"},{\"bytes\":775,\"matches\":[{\"line\":1,\"text\":\"table = 'xf_newfi_event_source';\"},{\"line\":13,\"text\":\" $structure->shortName = 'Newfi\\\\Events:EventSource';\"},{\"line\":14,\"text\":\" $structure->primaryKey = 'event_source_id';\"},{\"line\":15,\"text\":\" $structure->columns = [\"},{\"line\":16,\"text\":\" 'event_source_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\"},{\"line\":17,\"text\":\" 'event_id' => ['type' => self::UINT, 'required' => true],\"},{\"line\":18,\"text\":\" 'source_url' => ['type' => self::STR, 'maxLength' => 500, 'required' => true],\"},{\"line\":19,\"text\":\" 'checked_at' => ['type' => self::UINT, 'required' => true]\"},{\"line\":20,\"text\":\" ];\"},{\"line\":21,\"text\":\" return $structure;\"},{\"line\":22,\"text\":\" }\"},{\"line\":23,\"text\":\"}\"}],\"rel\":\"Entity/EventSource.php\",\"sha256\":\"07541d087caf9668a2a2d80bb8cd81e9471095ce36260f1cc12ec81eb0460187\"},{\"bytes\":494,\"matches\":[{\"line\":1,\"text\":\"finder('Newfi\\\\Events:Event')\"},{\"line\":12,\"text\":\" ->where('state', 'published')\"},{\"line\":13,\"text\":\" ->order('starts_at', 'ASC')\"},{\"line\":14,\"text\":\" ->order('event_id', 'ASC')\"},{\"line\":15,\"text\":\" ->fetch(100);\"},{\"line\":16,\"text\":\"\"},{\"line\":17,\"text\":\" return $this->view('Newfi\\\\Events:Events', 'newfi_events', [\"},{\"line\":18,\"text\":\" 'events' => $events\"},{\"line\":19,\"text\":\" ]);\"},{\"line\":20,\"text\":\" }\"}],\"rel\":\"Pub/Controller/Events.php\",\"sha256\":\"9dbbc3588b4d308b60fe1ab52daad7d88e0c0461820f6244f64a074fd686a57b\"},{\"bytes\":79,\"matches\":[{\"line\":1,\"text\":\"schemaManager();\"},{\"line\":13,\"text\":\"\"},{\"line\":14,\"text\":\" $sm->createTable('xf_newfi_event', function (Create $table)\"},{\"line\":15,\"text\":\" {\"},{\"line\":16,\"text\":\" $table->addColumn('event_id', 'int')->autoIncrement();\"},{\"line\":17,\"text\":\" $table->addColumn('title', 'varchar', 100);\"},{\"line\":18,\"text\":\" $table->addColumn('starts_at', 'int');\"},{\"line\":19,\"text\":\" $table->addColumn('state', 'varbinary', 25)->setDefault('draft');\"},{\"line\":20,\"text\":\" $table->addColumn('fingerprint', 'varbinary', 64);\"},{\"line\":21,\"text\":\" $table->addColumn('created_at', 'int');\"},{\"line\":22,\"text\":\" $table->addColumn('updated_at', 'int');\"},{\"line\":23,\"text\":\" $table->addPrimaryKey('event_id');\"},{\"line\":24,\"text\":\" $table->addKey('starts_at');\"},{\"line\":25,\"text\":\" $table->addKey('state');\"},{\"line\":26,\"text\":\" $table->addKey('fingerprint');\"},{\"line\":27,\"text\":\" });\"},{\"line\":28,\"text\":\"\"},{\"line\":29,\"text\":\" $sm->createTable('xf_newfi_event_source', function (Create $table)\"},{\"line\":30,\"text\":\" {\"},{\"line\":31,\"text\":\" $table->addColumn('event_source_id', 'int')->autoIncrement();\"},{\"line\":32,\"text\":\" $table->addColumn('event_id', 'int');\"},{\"line\":33,\"text\":\" $table->addColumn('source_url', 'varchar', 500);\"},{\"line\":34,\"text\":\" $table->addColumn('checked_at', 'int');\"},{\"line\":35,\"text\":\" $table->addPrimaryKey('event_source_id');\"},{\"line\":36,\"text\":\" $table->addKey('event_id');\"},{\"line\":37,\"text\":\" });\"},{\"line\":38,\"text\":\"\"},{\"line\":39,\"text\":\" $sm->createTable('xf_newfi_event_change', function (Create $table)\"},{\"line\":40,\"text\":\" {\"},{\"line\":41,\"text\":\" $table->addColumn('event_change_id', 'int')->autoIncrement();\"},{\"line\":42,\"text\":\" $table->addColumn('event_id', 'int');\"},{\"line\":43,\"text\":\" $table->addColumn('changed_at', 'int');\"},{\"line\":44,\"text\":\" $table->addColumn('change_note', 'text');\"},{\"line\":45,\"text\":\" $table->addPrimaryKey('event_change_id');\"},{\"line\":46,\"text\":\" $table->addKey('event_id');\"},{\"line\":47,\"text\":\" });\"},{\"line\":48,\"text\":\"\"},{\"line\":58,\"text\":\" {\"},{\"line\":59,\"text\":\" $sm = $this->schemaManager();\"},{\"line\":60,\"text\":\" $sm->dropTable('xf_newfi_event_change');\"},{\"line\":61,\"text\":\" $sm->dropTable('xf_newfi_event_source');\"},{\"line\":62,\"text\":\" $sm->dropTable('xf_newfi_event');\"},{\"line\":63,\"text\":\" return null;\"},{\"line\":64,\"text\":\" }\"}],\"rel\":\"Setup.php\",\"sha256\":\"3deab1d6e74661131a19e50ac151a9442b9612916e65963b675247f6d3280a5b\"},{\"bytes\":144,\"matches\":[{\"line\":1,\"text\":\"\"},{\"line\":2,\"text\":\"{$event.title}
\"},{\"line\":14,\"text\":\"
Обсуждения, практические материалы, события, фотографии и собаки сообщества — в одной точке входа.
\"},{\"line\":11,\"text\":\"\"},{\"line\":12,\"text\":\"Задайте вопрос, поделитесь опытом или добавьте материал в подходящий раздел.
\"},{\"line\":175,\"text\":\"Обсуждения, практические материалы, события, фотографии и собаки сообщества — в одной точке входа.
\"},{\"line\":11,\"text\":\"\"},{\"line\":12,\"text\":\"Задайте вопрос, поделитесь опытом или добавьте материал в подходящий раздел.
\"},{\"line\":175,\"text\":\"