Repository navigation
Conversation
Adds a JSON Schema (draft-07) for ~/.config/tau/config.json covering every FileConfig key, with a provider enum and strict additionalProperties so typos surface in editors (tau itself still ignores unknown keys; the "$schema" binding key is explicitly allowed). Ships ready-to-copy examples under examples/config/ and a stdlib-only validator (scripts/check-config-schema.py) that checks them plus every config-shaped JSON block in shipped docs/scripts. Drift guards fail the check if the schema diverges from FileConfig or the provider table. Wired into the existing validation paths: new offline `config-schema` smoke group, a zig test parsing each example through the real FileConfig loader, and a minimal GitHub Actions job running the validator. Closes #133 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
25 similar comments
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
29 similar comments
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
|
🤖 am-merger-script: security-sensitive path detected. Needs human review. |
Summary
Adds a JSON Schema for
~/.config/tau/config.jsonand validates every shippedexample config against it in CI.
config.schema.json(repo root, draft-07): describes all 16FileConfigkeys with types, enums (
mode,provider), and descriptions. It isintentionally stricter than the loader —
additionalProperties: falsesurfaces typos in editors even though tau ignores unknown keys — and allows
a
"$schema"binding key. Provider enum mirrors the built-in table.examples/config/: four ready-to-copy example configs (minimal,per-provider-keys,batch,full), each carrying a"$schema"line foreditor validation, plus a short README.
scripts/check-config-schema.py: stdlib-only validator (nojsonschemadependency) that validates
examples/config/*.jsonand every config-shapedJSON object embedded in shipped docs/scripts (
README.md,docs/configuration.md,examples/README.md,examples/*.sh). Also runsdrift guards that fail if the schema diverges from the
FileConfigstructor the provider table.
--file PATHmode validates a single file.config-schemasmoke group (4 checks,incl. a negative case); a Zig unit test that parses every shipped example
through the real
FileConfigloader; and a minimal.github/workflows/config-schema.ymljob (the repo's first workflow) thatruns the validator on PRs and pushes to master.
docs/configuration.md, links fromREADME.md,examples/README.md, andAGENTS.mdvalidation commands.How verified
python3 scripts/check-config-schema.py— 10 shipped config examples valid;negative cases (bad enum, typo'd key, wrong type) correctly exit 1.
zig build test— 275/275 pass, including the newexamples/config/*.json parse as FileConfigtest../scripts/smoke.sh --group config-schema— 4/4 pass.Notes for reviewer
python3 scripts/check-config-schema.py, no toolchain install). Drop it ifthe org validates elsewhere — the smoke group + zig test already cover it.
tau initto scaffold a commented starter config with detected providers #128 (tau init, JSONC) merges, its scaffold output can be added tothe validated set — the schema already covers all keys it writes.
Closes #133 (mago task #133)