28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# Known dead ends and prohibited shortcuts
|
||
|
||
## Do not repeat
|
||
|
||
- Do not write only a module `.0` row: `__configinfo` then references stale
|
||
bytes and activation fails.
|
||
- Do not use random, zeroed, copied-from-unrelated, or guessed HashVersion
|
||
service atoms. A controlled random test produced a licensing/crypto error.
|
||
- Do not write `Config` or `ConfigCAS` directly, even in tests.
|
||
- Do not use a suffix such as `.0` as proof of “object module”.
|
||
- Do not infer an object name from a GUI tree label, table suffix, or an
|
||
approximate Russian name.
|
||
- Do not overwrite all saved-state rows when adding a delta: preserve user
|
||
work in other objects and every map entry.
|
||
- Do not treat an open Configurator screen as SQL evidence.
|
||
|
||
## Open questions
|
||
|
||
- The generation algorithm and ownership of the 32-byte `__configinfo`
|
||
service atom are unknown. Preservation is proven for the studied flow;
|
||
generation is not.
|
||
- Multi-part storage streams need a dedicated row-layout codec.
|
||
- The extension protocol must be reproduced on another object class and a
|
||
second platform build before being declared generally supported.
|
||
- Configurator’s in-memory dirty-state implementation is inferred from
|
||
behaviour, not decoded from platform source. Only the reload guidance is
|
||
operationally relied upon.
|