Files
llm/plugins/1c/connector/policies/designer-sql-decoding-policy.yaml
T

70 lines
2.8 KiB
YAML

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."