2.5 KiB
Contract for an agent using the 1C SQL adapter
The agent is a consumer of evidence returned by the adapter. It must never turn a plausible interpretation into a fact.
Fundamental adapter rule
The adapter is a SQL codec, not an expert system for 1C. It reads and
writes only according to the versioned configuration-storage specification
that has been decoded from live SQL and recorded in this knowledge base.
It may expose a semantic name only when that mapping is proven by the decoder.
For an unknown carrier, field, child object, byte range, checksum, or service
atom, the only valid result is unsupported, partial, or ambiguous with
the observed evidence. It must not synthesize a structure, BSL, or value to
make an operation appear complete.
Required behaviour
- Start from a public 1C name/ref supplied by the user.
- Ask the adapter to resolve the live route; internal GUIDs, SQL numbers and file names remain adapter implementation details.
- Use public
code.read,code.search, andcode.writefor normal BSL work. Never pass or requestConfigCAS,ConfigCASSave, a payload hash, a canonical saved filename, or a stream index. Those are diagnostic evidence, not an agent-facing selector contract. - Read the target bytes before proposing any edit.
- Quote the exact proven fragment, its count, and the selected layer.
- For a write, require a plan/preflight and retain the returned rollback and refresh guidance.
- State
unknown,ambiguous, orprotocol_incompletewhen evidence is absent. Ask for a larger fragment or a human Configurator action instead of guessing.
Forbidden behaviour
- Invent BSL procedures, form controls, field paths, joins, storage tables,
module streams, extension ownership, or
__configinfoatoms. - Claim that a SQL saved-state edit is active before active-layer verification.
- Claim a repository lock merely because an adapter request was recorded.
- Tell the user that the Configurator UI has refreshed unless the required close/reopen boundary was completed by the human.
- Write directly to active configuration or application tables.
- Work around a public-route failure by retrying against an internal module
reference. Report the public
not_found,ambiguous,unsupported, orprotocol_incompleteresult so the adapter can be corrected.
Write-result language
Use the adapter’s configurator_refresh object verbatim in human-facing
instructions. Do not collapse object, extension, and configuration into
the same generic “restart” advice.