13. Assemblage déclaratif FayManifest

FayManifest est le « package.json » d'iFay. Les développeurs listent simplement les composants, protocoles, modes de contrôle et configurations de pilotes requis dans un seul fichier de déclaration JSON, et l'environnement d'exécution FayGer résout automatiquement les dépendances et assemble l'instance iFay. Vous n'avez pas besoin de comprendre toute la complexité du système iFay — déclarez ce dont vous avez besoin, et le système complète le reste.


Pourquoi FayManifest est nécessaire

Un des principes de conception d'iFay est l'assemblage minimal déclaratif + l'adoption progressive.

Problème : Construire un iFay complet à partir de zéro est complexe — 12 modules fondamentaux, 6 protocoles, systèmes de permissions, conformité sécuritaire, synchronisation multi-terminaux… Si chaque développeur devait comprendre et implémenter tout cela, l'écosystème iFay ne décollerait jamais.

Solution : Les développeurs n'ont qu'à déclarer le sous-ensemble de composants requis par leur métier, et le système complète automatiquement les dépendances d'infrastructure nécessaires.


Structure du fichier FayManifest

FayManifest utilise le format JSON et contient les champs suivants :

ChampTypeRequisDescription
namestringNom de l'implémentation iFay
versionstringNuméro de version
descriptionstringDescription fonctionnelle
vendorstringNom du développeur/fournisseur
modulesarrayListe des modules requis ; chaque module peut spécifier des contraintes de version (version), une implémentation fournisseur (provider) et une configuration (config)
protocolsarrayListe des protocoles requis ; chaque protocole peut spécifier version et configuration
controlModestringMode de contrôle : command / ego / autonomous
driversarrayConfigurations de pilotes spécifiant nom, type, identifiant de package et configuration
egoobjectConfiguration du Modèle Ego spécifiant source du modèle, tags de scénario applicables et paramètres de contrainte
permissionsobjectConfiguration des permissions déclarant permissions inhérentes, persistantes et méthodes d'authentification supportées

Modes de contrôle

Le champ controlMode dans FayManifest détermine l'approche de pilotage comportemental d'iFay — choisissez l'un des trois :

ModeNomDescription
commandContrôle par commandeLe Human Prime pilote explicitement chaque action. iFay n'agira pas de manière autonome ; chaque opération nécessite la commande explicite du Human Prime. Adapté aux scénarios à haut risque ou aux phases initiales de construction de confiance.
egoContrôle EgoLe Modèle Ego prend des décisions autonomes dans des limites contraintes. iFay peut juger et agir de manière autonome basé sur la personnalité et les préférences du Human Prime, mais les limites comportementales sont contraintes par le Modèle Ego. Adapté aux scénarios d'assistant quotidien.
autonomousContrôle autonomeComportement entièrement autonome. iFay opère de manière autonome basé sur la Conscience de soi, le Comportement autonome et les Compétences internes, formant une boucle continue « action → retour → ré-action ». Adapté aux scénarios de collaboration à long terme et haute confiance.

Complétion automatique des dépendances

La conception fondamentale de FayManifest : les développeurs déclarent les composants métier, le système complète automatiquement l'infrastructure.

L'infrastructure suivante est requise dans toutes les implémentations iFay — que les développeurs les déclarent explicitement ou non, le système les ajoute automatiquement :

  • FayID (Identité)
  • Environnement d'exécution FayGer (Conteneur d'exécution)
  • Profil iFay (Modèle de données unifié)
  • Système de permissions (Gestion des permissions)
  • Conformité sécurité et éthique (Contraintes comportementales)
  • Synchronisation multi-terminaux (Synchronisation d'état)
  • Protocole Faying (Appariement sécurisé, requis pour tout iFay)

De plus, si le Manifest déclare une configuration ego, le système ajoute automatiquement le module ego_model.


Exemple complet : iFay de contrôle de drone

Voici une déclaration FayManifest pour un iFay de contrôle de drone :

{
  "name": "drone-controller-ifay",
  "version": "1.0.0",
  "description": "Implémentation iFay pour le contrôle de drone",
  "vendor": "DroneAI Corp",

  "modules": [
    { "id": "device_driver_hub", "version": "^1.0.0" },
    { "id": "sensor", "config": { "types": ["gps", "imu", "camera", "lidar"] } },
    { "id": "invoke_skill", "version": "^1.0.0" },
    { "id": "registered_skill", "config": { "preload": ["flight_control", "obstacle_avoidance"] } }
  ],

  "protocols": [
    { "id": "cap_protocol", "config": { "targets": ["flight_controller", "gimbal", "camera"] } },
    { "id": "dtp_protocol", "config": { "bandwidth": "high", "realtime": true } }
  ],

  "controlMode": "ego",

  "drivers": [
    {
      "name": "DJI Flight Controller",
      "type": "device",
      "driverPackage": "@drone-drivers/dji-fc",
      "config": { "model": "A3", "firmwareVersion": "^3.0.0" }
    },
    {
      "name": "Gimbal Controller",
      "type": "device",
      "driverPackage": "@drone-drivers/gimbal-generic"
    }
  ],

  "ego": {
    "modelSource": "@ego-models/drone-pilot-v1",
    "scenarioTags": ["aerial_photography", "inspection", "mapping"],
    "constraints": {
      "skillBoundaries": {
        "allowed": ["flight", "camera", "navigation"],
        "restricted": ["financial", "social"]
      }
    }
  },

  "permissions": {
    "inherent": ["device_control", "sensor_read"],
    "persistent": ["flight_plan_execute"],
    "authMethods": ["device_fingerprint"]
  }
}

Le Manifest ci-dessus ne déclare que 4 modules et 2 protocoles, mais le système complète automatiquement l'infrastructure suivante : FayID, Environnement d'exécution FayGer, Profil iFay, Système de permissions, Conformité sécurité et éthique, Synchronisation multi-terminaux, Modèle Ego et Protocole Faying.


Intégration avec iFACTS

iFACTS (iFay Architecture Conformance Test Suite) détermine quels tests de conformité une implémentation doit passer basé sur le contenu déclaré du FayManifest.

Après résolution des dépendances, le système détermine la phase iFay (Resolved Stage) correspondant au Manifest. L'exemple de contrôle de drone ci-dessus déclare Hub pilotes périphériques, Capteur, protocoles CAP et DTP, correspondant à la Phase 2 (Prise de contrôle directe du client), et doit donc passer tous les tests de conformité pour les Phases 1 et 2.


Configuration minimale de composants par phase

Chaque phase a son Ensemble Minimal de Composants :

PhaseNouveaux modulesNouveaux protocoles
Phase 1 : Simulation des opérations humainesFayID, Gestion des identifiants, Traceur première personne, Opération simulée, Modèle EgoProtocole Faying, Protocole de conversation interactive
Phase 2 : Prise de contrôle directe du clientCapteur, Hub pilotes périphériques, Compétences enregistrées, Invocation de compétences, Tas de données personnellesProtocole CAP, Protocole DTP
Phase 3 : Interface vers le monde virtuelConnaissances externesProtocole SSP
Phase 4 : Personnification complèteConscience de soi, Comportement autonome, Compétences internes, Conscience alignéeProtocole de Télépathie
Phase 5 : Distribution de la valeurGMChain, MeriToken

Infrastructure transversale (requise pour toutes les phases) : Environnement d'exécution FayGer, Profil iFay, Système de permissions, Conformité sécurité et éthique, Synchronisation multi-terminaux. Ces composants n'appartiennent à aucune phase spécifique mais sont requis dans chaque phase.


Documents associés