Initial project import

This commit is contained in:
2026-08-14 09:40:51 +03:00
parent 00040e5ce4
commit d7099bf80d
146 changed files with 30509 additions and 1055 deletions
+35
View File
@@ -0,0 +1,35 @@
# `__configinfo`: file map and service atom
## Proven map
The decoded `E__configinfo` text contains logical file-name pairs:
```text
"<object-guid>.0",<base64 of 20-byte SHA-1>
```
The Base64 value is the SHA-1 of the complete raw `BinaryData` stream for that
logical file. Updating a module without replacing this map value produces the
Configurator error “Ошибка хеш-версии файла конфигурации”.
The map rewrite is deterministic and losslessly round-trip proven for the
studied extension form module.
## Service atom: current status
The root block also contains three observed binary atoms: two 48-byte values
and a 32-byte value. The 32-byte value changed across manual saves, including
when the module bytes returned exactly to a previous SHA-1. A random mutation
of its variable part triggered a platform licensing/crypto error.
Therefore:
- preserve all service atoms byte-for-byte during the proven incremental
protocol;
- do not synthesise, randomise, zero, or “recalculate” them;
- do not claim their reverse codec is known;
- record new observations in an experiment file before changing this rule.
The `test2` map-update experiment activated successfully while preserving the
existing service atom. This is activation evidence for preservation, not for
generation.
@@ -0,0 +1,27 @@
# Payload envelope codec
## Observed codec pipeline
For the studied configuration payloads:
```text
SQL BinaryData
→ raw-deflate (or detected alternative envelope)
→ UTF-8 text, sometimes BOM
→ brace-based 1C serialized value tree / container text
```
The decoder must retain envelope type, original encoding, BOM, line endings,
and all unmodified text. An encoder is valid only if an unchanged
decode→encode cycle returns byte-identical payload bytes.
## Lossless transform discipline
1. Decode source bytes.
2. Identify the exact BSL or value-tree slice with a proven extractor.
3. Replace only that slice.
4. Encode with the original codec metadata.
5. Calculate SHA-1 from the final raw stored bytes, never from decoded text.
Do not canonicalize braces, whitespace, strings, BOM, compression level, or
base64 blocks without an independently proven canonical writer.