Repository navigation
Say what the client does when the data is wrong - #43
Open
kumo-isaac wants to merge 1 commit into
Open
kumo-isaac wants to merge 1 commit into
kumo-isaac wants to merge 1 commit into
Conversation
A new relational reference, skills/relational/references/data-problems.md: for twenty problems found in real tables -- a repeated key, a foreign key that matches nothing, integer or out-of-range dates, numbers stored as text, a list in a column -- whether the client refuses, warns and answers, or answers without a word, the words it uses, and what to do. A second part says what key, time and link inference does on its own, including the one silent case: a surrogate `*_id` beside the business key other tables point at is taken as the key. Every row is made to happen in tests/test_skills.py, on the skill's own example frames with one thing wrong, and held to the verdict and the quoted words; the table is listed in EVERY_TABLE as read. Nothing here needs an endpoint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: kumo-isaac <isaac@kumo.ai>
kumo-isaac
requested review from
JGagacheva,
Manushpm8 and
adi-kumo
as code owners
October 19, 2026 03:39
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An agent using the relational skill had no way to know what this client does when the tables have a problem in them. Some problems are refused, some are warned about and answered, and some are answered without a word. The last kind matters most, because nothing tells the caller.
What this adds
skills/relational/references/data-problems.mdis a new standalone reference.id/key. A surrogatecustomer_idbeside thecustomer_codethat other tables point at is taken as the key without a word, and aFOR EACH customers.customer_codequery is then refused.Links to the new page are added from
skills/relational/SKILL.md("Describing the data") and from the reference table inskills/README.md.How it is held true
tests/test_skills.pycovers every row:EVERY_TABLEas read, and the inference bullets have tests of their own.Nothing here needs an endpoint. Everything happens in
Schema.from_dataandmaterialize().The behaviours were first measured on 45 synthetic datasets, each with one problem injected, run through
Schema.from_data→materialize()at327fda0. The tests reproduce them here at small scale.Checks
pytest testspasses: 264 passed, 46 skipped (live_nim)pytest packages/structured-data-models-client/testspasses: 1790 passedruff check .andruff format --checkpassscripts/check_repo_hygiene.py allpasses-m live_nim: not run, no endpoint available. The new file has no examples, so no live test applies to it.🤖 Generated with Claude Code