AI-agent surface: llms-full.txt, robots, agent-rules, self-healing violations - #181
Merged
Merged
Conversation
…s, self-healing violations. - Add llms-full.txt: playbook + all reference docs concatenated, generated by sync-llm-docs.mjs and served with the same text/plain+CORS headers as llms.txt. Large-context agents can ingest in one HTTP round-trip. - Add dashboard/app/robots.ts: named allows for GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot, anthropic-ai. Previously 404. - Add <link rel="alternate" type="text/markdown"> tags for both llms.txt and llms-full.txt so agents can auto-discover them. - docs/agent-rules/: drop-in presets for Cursor (.mdc), Windsurf, Copilot, plus portable AGENT.md and README index. - llm-integration.md §4 now leads with `contractgate deploy-contract`; the jq|curl pipeline is a fallback for shells without the CLI. §2 gains a `cg infer --from-stdin` note. - Canonicalise references on app.datacontractgate.com (README, marketing script) — the root domain was 308→307→200-hopping. - Extend Violation and BatchRecordViolation with optional received/expected/suggestion fields (skip_serializing_if = None, so wire format is backwards compatible). Populated at type/enum/range/pattern/length/required/date/completeness/freshness/uniqueness/leakage sites. Documented in docs/v1-ingest-reference.md. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
CI's cargo fmt --check failed on one over-length format! in check_uniqueness_batch.
4 tasks
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.
Summary
llms-full.txt(playbook + all reference docs, one HTTP round-trip),robots.txtwith named allows for GPTBot/ClaudeBot/PerplexityBot/Google-Extended/CCBot/anthropic-ai (previously 404), and<link rel="alternate" type="text/markdown">tags for both LLM surfaces.llm-integration.md §4now leads withcontractgate deploy-contract; thejq | curlpipeline is a fallback for shells without the CLI.§2gains acg infer --from-stdinnote. CanonicalisedREADME.md+ marketing script onapp.datacontractgate.com/llm-integration.md(the marketing root was 308→307→200-hopping).docs/agent-rules/— drop-in presets for Cursor (.mdc), Windsurf, Copilot, plus a portableAGENT.mdand a README index. Zero maintenance cost, gives users a one-line adoption path.ViolationandBatchRecordViolationgrew three optional fields (received,expected,suggestion) markedskip_serializing_if = None, so the wire format is backwards compatible. Populated at every practical check site (type/enum/range/pattern/length/required/date/completeness/freshness/uniqueness/leakage). Documented indocs/v1-ingest-reference.md.Explicitly not in this PR (deferred, need design discussion):
contractgate codegen(Pydantic / Zod / Serde)Test plan
cargo check --all-targetscleancargo clippy --lib --bins -- -D warningscleancargo test --lib→ 98 passedcargo test --bins→ 314 passeddashboard/:npm run type-checkclean,next buildsucceeds and lists/robots.txtin the route table<link rel="alternate" type="text/markdown" ...>tags with absolute URLssync-llm-docs.mjsgenerates a 1307-linellms-full.txtfrom 6 source docscurl -sS https://app.datacontractgate.com/llms-full.txtreturns 200 withcontent-type: text/plaincurl -sS https://app.datacontractgate.com/robots.txtreturns 200 (was 404)🤖 Generated with Claude Code