Initial project import
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user