id: 1c-designer-sql-decoding-policy status: active summary: "Controlled changes in a disposable 1C base may be made only through 1C clients; the adapter observes and decodes SQL without writing application data." scope: default_base_id: upo_test allowed_base_class: disposable_test forbidden_base_class: [production, unclassified] platform_mutation_authority: application_data: 1c_enterprise_client metadata_working_state: 1c_designer adapter_role: sql_observer_and_decoder credentials: persistence: forbidden_in_repository accepted_sources: [process_environment, operating_system_credential_store, interactive_session] rules: - "Do not put 1C user passwords, SQL passwords, tokens, or connection strings containing secrets in project files, reports, fixtures, or command examples." - "Redact credentials from process reports and captured command lines." experiment: isolation: one_intended_change_per_run required_phases: - identify_public_1c_target - capture_sql_before - change_through_1c - save_in_1c - capture_sql_after - diff_sql - decode_semantic_rule - verify_with_second_value_or_object - rollback_through_1c - verify_rollback_in_sql target_selectors: [public_ref, kind_and_name, form_and_element_name, record_ref] forbidden_selectors_for_callers: [sql_number, physical_table, internal_guid_only] sql_observation: adapter_access: read_only allowed: [SELECT, metadata_schema_inspection, ConfigSave_read, ConfigCASSave_read, application_table_read] forbidden: - direct_application_data_write - direct_Config_write - direct_ConfigCAS_write - sql_identity_or_permission_change - trigger_or_profiler_installation rule: "All experimental mutations happen through 1C; SQL is evidence, not the mutation transport." metadata_layers: designer_save: observe: [ConfigSave, ConfigCASSave] apply_configuration: false applied_configuration: observe: [Config, ConfigCAS, physical_schema] gate: explicit_experiment_requirement extensions: rule: "Capture the base and every extension as separate layers and record load order and ownership." xml: role: offline_schema_reference_only runtime_source: forbidden rule: "XML may name the intended property and validate a learned rule, but live before/after evidence must come from SQL." promotion_gates: - "The SQL diff is isolated from pre-existing Designer and configuration-check noise." - "A stable public 1C property or value name is resolved without requiring callers to know GUIDs or SQL numbers." - "The rule is reproduced with a second value or a second object of the same shape." - "A regression fixture and decoder test are added." - "Rollback through 1C restores the SQL evidence or the experiment documents an irreversible schema migration."