Skip to content
中文

App integration checks ​

Back to development handbook · API reference

The following are the evidence expected for an integration, chosen by developers according to the tools actually enabled; they are not a full command suite to run on every change. Review what the source can confirm first, and run the minimum relevant checks when a concrete question exists. Success with an offline stand-in does not prove real model behavior, and being executable by the framework does not prove the business facts are correct.

BoundaryWhat should be provenMinimal example
Independent consumptionUsable from the delivery package, dependencies, and documentation aloneImport from the public exports in a standalone directory, with no application path aliases
Empty knowledge preparationKnowledge stays empty when there are no factsWith no sources in an existing project, knowledge files are empty and the manifest contains no fabricated content
Source importFidelity of sources and versionssupplied-source bytes match; illegal anchors, duplicate sections, or exceeding limits are rejected
Registration and referencesThe manifest truly drives execution and references resolveUnknown node/tool/reader/section/check fails explicitly
Protocol parsingSchema is consistent with the actual input checksUnknown fields, invalid values, and wrong output are rejected; parse has no business side effects
ExecutionOnly the permitted scope is executed, and receipts are realWhen the model claims success but nothing ran, success must not be returned
Knowledge selectionself/subtree/document boundaries are correctChild sections excluded/included, unknown IDs, limits, and version changes
IsolationIdentity and state do not leak across usersAnother user ID is rejected; an old request does not mix into a new catalog
Cancellation and budgetBoth I/O and retries are boundedTimeout, cancellation, broken stream, and exhausted repair budget end correctly
OutputReferences and action states are bound by the programNumbers, sources, links, and incomplete results are checked
Growth and maintenanceCandidates are never automatically promotedPreparing a candidate does not change the effective source; failures keep the old version; broken references are rejected
DiagnosticsErrors are locatable and records do not change executionThe same request correlates stage, code, and duration, with no credentials or unauthorized body text

When long-term memory is chosen, additionally verify message watermarks, concurrent versions, lease recovery, idempotency, deletion propagation, and source priority; if not enabled, these services need not be built. When cross-end operation is chosen, verify the actual peer handler and receipts; not using the Interaction Kit does not prevent integration with Core.

When reviewing similar tools, compare horizontally the ordinary loop, Workflow, standalone Runner, tool catalog, hand-written port, and the Kit in use, and confirm the same guarantee is enforced by the actual entry, not only by validating the recommended Support style. For cancellation, check pre-cancellation, mid-flight cancellation, late returns, and cancellation during persistence separately; for input, check illegal budgets, replacement after registration, and mutable references across awaits; for publication, check validity before and after verification and before commit.

Cancellation cases should also cover cancellation triggered inside synchronous callbacks such as counters, checkers, and observers, plus multiple processing stages within the same node. A Provider stand-in should record both the ordinary stream() method entry and reads through the async iterator, so that tests with only a generator do not mask entering an I/O factory after cancellation. Readers ignoring cancellation, evidence expiring during reading, discovery leaving no partially readable range after a pagination failure, and iterator cleanup exceptions not overwriting the original result all need to be verified against their own boundaries.

Reports should distinguish run defects under a normal contract, insufficient rejection of illegal configuration/integration misuse, and internal hardening or performance optimization. Passing regression proves only the boundaries it covers; it cannot replace App permission facts, real storage atomicity, external side-effect receipts, or real model behavior verification, nor does it prove the absence of defects overall.

Explicit scope of the current template ​

The development kit provides an existing-project integration guide, plus section parsing and catalog compilation, candidate preparation, a read-only plan, and a shared validation entry. During knowledge preparation, organize actual sources faithfully when they exist and keep empty files when no source exists. The production App's identity system, knowledge permissions, upload parsing, storage transactions, profile merging, experience publishing, and indexing still need to be implemented by the App itself.

For partial code examples see Quick integration and Examples. The Offline complete example contains copy-and-run service answering code that uses the Support tool catalog and an offline Provider, so no model credentials are required. Verifying real model behavior requires an available model service and App configuration, checking semantic results, tool selection, and completeness separately.

API reference, usage examples and developer guides.