{
    "schema": "gecim.interface-architecture.v1",
    "name": "GECIM Interface Architecture",
    "version": "1.0.0",
    "status": "approved-and-mandatory",
    "updated_at": "2026-08-03T02:29:52+00:00",
    "canonical": "https://gecim.hurik.pe/preview",
    "agent_entrypoint": "https://gecim.hurik.pe/preview/manifest.json",
    "mandatory_read_order": [
        "https://gecim.hurik.pe/preview/manifest.json",
        "https://gecim.hurik.pe/preview/AI-CONTEXT.md",
        "https://gecim.hurik.pe/preview/AI-IMPLEMENTATION.md",
        "https://gecim.hurik.pe/preview/architecture.json",
        "https://gecim.hurik.pe/preview/design-system.json",
        "https://gecim.hurik.pe/preview/design-tokens.json",
        "https://gecim.hurik.pe/preview/component-contract.json",
        "https://gecim.hurik.pe/preview/quality-profile.json",
        "https://gecim.hurik.pe/preview/CHANGE-POLICY.md",
        "https://gecim.hurik.pe/preview/assets/design-tokens.css",
        "https://gecim.hurik.pe/preview"
    ],
    "implementation_model": {
        "preview_role": "visual-documentation-only",
        "preview_must_not_be_copied": true,
        "single_global_design_system": true,
        "semantic_css_variables_required": true,
        "css_variable_prefix": "--gc-",
        "reusable_components_required": true,
        "component_namespace": "x-ui",
        "page_specific_color_themes_allowed": false,
        "page_specific_font_definitions_allowed": false,
        "hard_coded_colors_in_components_allowed": false,
        "inline_styles_allowed": false,
        "generated_contracts_are_read_only": true,
        "target_global_stylesheet": "resources/css/design-system/index.css",
        "target_theme_manager": "resources/js/design-system/theme-manager.js",
        "target_component_directory": "resources/views/components/ui"
    },
    "theme_interface": {
        "html_attributes": [
            "data-gc-theme",
            "data-gc-mode",
            "data-gc-font"
        ],
        "themes": [
            "institutional-technical",
            "naval-technical"
        ],
        "modes": [
            "light",
            "dark"
        ],
        "fonts": [
            "ibm-plex-sans",
            "roboto"
        ],
        "official_combinations": [
            {
                "theme": "institutional-technical",
                "mode": "light"
            },
            {
                "theme": "institutional-technical",
                "mode": "dark"
            },
            {
                "theme": "naval-technical",
                "mode": "light"
            },
            {
                "theme": "naval-technical",
                "mode": "dark"
            }
        ]
    },
    "agent_workflow": [
        "Read every resource in manifest.json.",
        "Search for an existing component before creating markup.",
        "Use semantic variables beginning with --gc-.",
        "Apply theme, mode and font only on the html element.",
        "Test all four visual combinations.",
        "Test IBM Plex Sans and Roboto.",
        "Stop and request an extension when the contract does not cover a requirement."
    ],
    "prohibited_patterns": [
        "Copy Preview HTML into application pages.",
        "Import preview.css into the application.",
        "Write hexadecimal colors in feature files.",
        "Declare font-family in feature files.",
        "Create page-specific theme stylesheets.",
        "Create duplicate components.",
        "Use inline style attributes.",
        "Add a fifth visual combination.",
        "Edit generated contracts manually.",
        "Communicate status only through color."
    ]
}
