70 lines
2.8 KiB
YAML
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."
|
|
|