Files
SuperBizAgent-java/openspec/changes/archive/2026-07-21-single-react-aci-tool-contracts/tasks.md
T

1.6 KiB

1. Shared ACI Contract

  • 1.1 Add stable snake_case Tool names and concise implementation-neutral descriptions for RAG, logs, and MySQL.
  • 1.2 Reuse and lock the independent invocation lifecycle and evidence result enums without adding a second Tool Call ID type.
  • 1.3 Add a shared defensive-copy helper for immutable Agent-facing list and row values.

2. RAG Contract

  • 2.1 Implement the RAG Request, Result, and document evidence records with the frozen snake_case fields.
  • 2.2 Add an independent RAG contract test covering exact JSON fields, framework ID preservation, immutability, and description leakage.

3. Log Contract

  • 3.1 Implement logical log Topic, source kind, Request, Result, Scope, Pattern, and Event records.
  • 3.2 Add an independent log contract test covering Mock provenance, scope/count semantics, exact JSON fields, immutability, and excluded infrastructure inputs.

4. MySQL Contract

  • 4.1 Implement the logical MySQL Request and bounded Result records with immutable params, columns, and rows.
  • 4.2 Add an independent MySQL contract test covering parameterized input, structured output, exact JSON fields, deep immutability, and secret/connection exclusion.

5. Verification

  • 5.1 Run the three ACI contract test classes together and confirm lifecycle/evidence status separation.
  • 5.2 Run the stage 0 Harness contract and existing RAG/log focused tests to prove the old runtime path remains unchanged.
  • 5.3 Verify references and diff scope show no changes to old Tool methods, Chat/AIOps registration, Controller, persistence, datasource, or public protocol.