@@ -224,15 +224,21 @@ SetDispatch are explicit parity work, not completed methods.
224224
225225Canonical map: Client/Server ` Features/ClientApi/ ` transport/adapters та matching IntegrationTests/UnitTests helpers; business operations/tests зберігають owning slice name. CLI — operator/worker entry point; окремий frontend N/A. Shared contracts і host composition мають одного integration owner. Freeze protocol → real parity tests → adapters → rollout/version contract → exact GitHub TUnit/recovery/Docker RF3 evidence. Existing source/test names не виконують planned MCP/agent AC; timeout не означає rollback.
226226
227- TASK-MCP-NATIVE-SCHEMA-EVIDENCE retains the original official-client input schemas
227+ TASK-MCP-NATIVE-SCHEMA-EVIDENCE retains the original official-client schemas
228228needed to diagnose AC-MCP-001 / REQ/AC-CLIENT-006. The existing discovery,
229229incoming-graph and partition-query RF3 cases capture only their exact shortest-path,
230230incoming-graph and partition-query ` Tool.InputSchema ` objects before assertions.
231+ The original current-source R154/R155 output assertions also require the exact
232+ shortest-path and partition-query ` Tool.OutputSchema ` objects. Capture these two
233+ outputs in the same existing helper and call sites before assertions, with a
234+ fixed output filename marker and the exact official SDK output capture source.
231235Keep every strict type/nullability/required-member/item/hint assertion unchanged.
232236Each UTF-8 schema is at most 64 KiB; its sidecar is at most 1 KiB and contains
233237only canonical tool name, official SDK capture source, actual Aspire RF3/node1
234- context, owned filename, byte count and SHA-256. Three schema payloads total at
235- most 192 KiB. Unknown tool names, non-object schemas, excess bounds and failed
238+ context, owned filename, byte count and SHA-256. The three inputs and two outputs
239+ total at most 320 KiB per capture set; each object and sidecar retains the existing
240+ independent bound. A missing output fails capture. Unknown tool names, non-object
241+ schemas, excess bounds and failed
236242writes fail; no credentials, caller data or private inventory is recorded.
237243
238244ADR-039 freezes the test-only helper
@@ -254,19 +260,46 @@ projection cannot supply authority or replace the four required constructor
254260identity fields. Their required set and the computed output value remain fixed.
255261
256262Root owns the contract and joins. ci_failure_evidence Luna owns only
257- GraphIncomingMcpSchemaAssertions, PartitionQueryMcpSchemaAssertions and
258- McpGraphPathInputSchemaAssertions in their current IntegrationTests slices.
263+ GraphIncomingMcpSchemaAssertions, PartitionQueryMcpSchemaAssertions,
264+ McpGraphPathInputSchemaAssertions and McpGraphPathSchemaAssertions in their
265+ current IntegrationTests slices.
259266Compare exact allowed sets, rejecting duplicates and extra types; distinguish
260267the optional computed metadata field from required identity strings. Preserve
261268all property/required-member/item/effect-hint/catalog checks and native official
262269client flows. Native output uses the same unchanged exporter options; review its
263270current source shape and retain output execution as unqualified until the actual
264- RF3 flow passes. No production schema, decoder, public contract, dependency or
271+ RF3 flow passes. For the parameters dictionary, omitted
272+ additionalProperties is open under Draft2020-12; explicit false remains rejected.
273+ An explicit value must be a boolean or object schema. The original259/884
274+ output-version stack proves array-versus-scalar disagreement; retain the frozen
275+ exact string/integer output set, with no duplicate, extra or null type. Labels
276+ input remains unchanged. No production schema, decoder, public contract, dependency or
265277trust change is authorized by this test repair. Root builds, reviews, executes
266278the real Aspire RF3 SDK flows and retains exact-source Linux original reports.
267279Rollback removes only the oracle corrections, preserving captured failure
268280evidence and every mandatory suite. UI/storage changes are N/A.
269281
282+ The current-source R158/R159 official SDK output captures establish the remaining
283+ exact output sets: QueryRow.RedactedFields is array/null with string items;
284+ PartitionRef.AtomicPartitionId is string/null, while its four required identity
285+ strings remain scalar strings; GraphPath.Hops is exactly string/integer/null.
286+ Use those exact sets in the same existing output assertions, rejecting duplicates,
287+ extra types and malformed entries. Keep every field, required-member, item,
288+ reference-depth, catalog and effect-hint assertion. The captured output hashes
289+ are respectively ` 248fd97e9a3105df3d6376640b9eb82350fffa8fd829de5e55e04bec85970eb2 `
290+ and ` 39c7b94a0a86777a5fb007407da7aa576d4b54f3164f5dce6bf05caf76075cf9 ` .
291+ Captured failed flows remain failed; actual passing SDK/RF3 and delivered Linux
292+ qualification are required after these precise oracle corrections.
293+ R162 subsequently reached the placement tools and failed their common
294+ PartitionRef property-set oracle. McpSchemaFactory exports their same canonical
295+ PartitionRef through the same native projection and input/output transforms as
296+ the captured graph/query tools. McpPartitionPlacementSchemaAssertions must also
297+ require the exact five properties, keep only the four constructor identities
298+ required, and check computed AtomicPartitionId's exact string/null set. Keep
299+ integer string/integer sets exact and scalar string/boolean fields strict. This
300+ source-bound inference still requires the actual full discovery flow to pass;
301+ no placement operation, schema exporter or authority rule changes.
302+
270303TASK-MCP-NATIVE-FAILURE-CODE supports REQ/AC-CLIENT-006 and AC-MCP-003/005/007
271304after the original876c saga-timeout RF3 invocation returned IsError without its
272305safe classification in the failed assertion. Root freezes and joins; a Luna
0 commit comments