mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-07-30 18:56:16 +00:00
Adds automated guardrails so mathematical rigor is enforced by tooling instead of by convention. See docs/math-first-tooling.md for the full contract. Schemas + registry: - shared-data/schemas/deepseek-review-receipt.schema.json Draft 2020-12 schema for the existing ollama_deepseek_review_receipt_v1 and ollama_deepseek_review_continuation_receipt_v1 receipt formats. Pins sha256:<hex> hashes, non-negative token counts, repo-relative POSIX paths, and rejects additional fields. - shared-data/schemas/claims-registry.schema.json Schema for claims.yaml. Requires review_receipts when status is verified-by-ai and a lean source when status is formally-proven. - claims.yaml Initial registry entry: prime-gap-entropy-collapse (verified-by-ai) linked to the two existing receipts under shared-data/artifacts/deepseek_review/. Validators (scripts/math-first/): - validate_deepseek_receipts.py: validates tracked or passed receipts against the JSON Schema; shared by pre-commit and CI. - test_validate_deepseek_receipts.py: positive + 7 negative fixtures asserting exit-code behaviour. - validate_claims_registry.py: schema check + unique id check + on-disk existence check for every referenced repo-relative path. - require_math_evidence.py: gate that requires a DeepSeek receipt, a Lean change, or a claims.yaml update alongside edits to math-track surfaces (Lean Semantics kernels, ArithmeticSpec docs, stack solidification receipts). Pre-commit (.pre-commit-config.yaml): - check-json, check-yaml, end-of-file-fixer, trim trailing whitespace, detect-private-key (scoped to math-first files only per AGENTS.md Do Not Sweep). - Local hooks wiring all three math-first validators above. CI (.github/workflows/math-check.yml): - validate-schemas: compiles every schema, runs both validators, runs the validator self-tests, then re-invokes the canonical Ollama emitter in --verify-only mode against every tracked receipt to re-check answer_sha256 against the answer-file bytes on disk. - require-evidence: enforces the math-track evidence rule at PR scope. - pre-commit: runs all pre-commit hooks against the PR diff so the contract holds even for contributors who skip installing hooks locally. MCP (.mcp.json): - filesystem, sympy, wolfram-alpha, lean, deepseek-review entries pointing at off-the-shelf upstream servers and at the canonical ollama_deepseek_review_emitter.py. Secrets stay in the runtime env (WOLFRAM_ALPHA_APPID, OLLAMA_API_KEY) and are never embedded. Docs (docs/math-first-tooling.md): - Philosophy, surfaces, schema reference, registry workflow, hook catalogue, CI catalogue, MCP catalogue, end-to-end verify command. shared-data/schemas/*.schema.json and claims.yaml live under paths the top-level .gitignore would normally exclude; they are force-added via git add -f the same way existing promoted receipts under shared-data/artifacts/deepseek_review/ are tracked (per AGENTS.md). Co-Authored-By: Allaun Silverfox <bigdataiscoming+9i37y6j2@protonmail.com>
134 lines
5 KiB
JSON
134 lines
5 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://github.com/allaunthefox/Research-Stack/shared-data/schemas/deepseek-review-receipt.schema.json",
|
|
"title": "DeepSeek Review Receipt",
|
|
"description": "Schema for Ollama-compatible DeepSeek review receipts emitted by 5-Applications/tools-scripts/llm/ollama_deepseek_review_emitter.py. Receipts are paired with a sibling markdown answer file and pin the exact model, endpoint, token usage, and SHA-256 hashes needed to re-validate the review without re-running the model. See 6-Documentation/wiki/DeepSeek-Review-Process.md for the human-readable contract.",
|
|
"type": "object",
|
|
"oneOf": [
|
|
{ "$ref": "#/$defs/primaryReceipt" },
|
|
{ "$ref": "#/$defs/continuationReceipt" }
|
|
],
|
|
"$defs": {
|
|
"sha256Hash": {
|
|
"type": "string",
|
|
"pattern": "^sha256:[0-9a-f]{64}$",
|
|
"description": "Lowercase hex SHA-256 digest prefixed with the literal 'sha256:'."
|
|
},
|
|
"isoTimestamp": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "ISO-8601 UTC timestamp (e.g. 2026-05-12T03:35:51+00:00)."
|
|
},
|
|
"endpoint": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"description": "API endpoint that served the review (e.g. https://ollama.com/v1/chat/completions)."
|
|
},
|
|
"model": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "Model identifier (e.g. deepseek-v3.2, deepseek-v4-flash)."
|
|
},
|
|
"repoRelativePath": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"pattern": "^[^/].*",
|
|
"description": "Repo-relative POSIX path (must not start with '/')."
|
|
},
|
|
"usage": {
|
|
"type": "object",
|
|
"description": "Token usage as reported by the endpoint.",
|
|
"required": ["prompt_tokens", "completion_tokens", "total_tokens"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"prompt_tokens": { "type": "integer", "minimum": 0 },
|
|
"completion_tokens": { "type": "integer", "minimum": 0 },
|
|
"total_tokens": { "type": "integer", "minimum": 0 }
|
|
}
|
|
},
|
|
"primaryReceipt": {
|
|
"type": "object",
|
|
"description": "Primary review receipt: written first, pins context files used to build the prompt.",
|
|
"required": [
|
|
"schema",
|
|
"created_at",
|
|
"model",
|
|
"endpoint",
|
|
"prompt_sha256",
|
|
"answer_sha256",
|
|
"usage",
|
|
"context_files",
|
|
"answer_path"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"schema": { "const": "ollama_deepseek_review_receipt_v1" },
|
|
"created_at": { "$ref": "#/$defs/isoTimestamp" },
|
|
"model": { "$ref": "#/$defs/model" },
|
|
"endpoint": { "$ref": "#/$defs/endpoint" },
|
|
"prompt_sha256": { "$ref": "#/$defs/sha256Hash" },
|
|
"answer_sha256": { "$ref": "#/$defs/sha256Hash" },
|
|
"usage": { "$ref": "#/$defs/usage" },
|
|
"context_files": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"uniqueItems": true,
|
|
"items": { "$ref": "#/$defs/repoRelativePath" },
|
|
"description": "Repo-relative paths to every file that participated in the review prompt context."
|
|
},
|
|
"answer_path": {
|
|
"allOf": [
|
|
{ "$ref": "#/$defs/repoRelativePath" },
|
|
{ "pattern": "\\.md$" }
|
|
],
|
|
"description": "Repo-relative path to the answer markdown."
|
|
}
|
|
}
|
|
},
|
|
"continuationReceipt": {
|
|
"type": "object",
|
|
"description": "Continuation receipt: emitted when a primary review was truncated and was continued by a separate request.",
|
|
"required": [
|
|
"schema",
|
|
"created_at",
|
|
"model",
|
|
"endpoint",
|
|
"prompt_sha256",
|
|
"answer_sha256",
|
|
"usage",
|
|
"previous_answer_path",
|
|
"answer_path"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"schema": { "const": "ollama_deepseek_review_continuation_receipt_v1" },
|
|
"created_at": { "$ref": "#/$defs/isoTimestamp" },
|
|
"model": { "$ref": "#/$defs/model" },
|
|
"endpoint": { "$ref": "#/$defs/endpoint" },
|
|
"prompt_sha256": { "$ref": "#/$defs/sha256Hash" },
|
|
"answer_sha256": { "$ref": "#/$defs/sha256Hash" },
|
|
"usage": { "$ref": "#/$defs/usage" },
|
|
"previous_answer_path": {
|
|
"allOf": [
|
|
{ "$ref": "#/$defs/repoRelativePath" },
|
|
{ "pattern": "\\.md$" }
|
|
],
|
|
"description": "Repo-relative path to the answer being continued."
|
|
},
|
|
"answer_path": {
|
|
"allOf": [
|
|
{ "$ref": "#/$defs/repoRelativePath" },
|
|
{ "pattern": "\\.md$" }
|
|
],
|
|
"description": "Repo-relative path to the answer markdown produced by this continuation."
|
|
},
|
|
"message_keys": {
|
|
"type": "array",
|
|
"uniqueItems": true,
|
|
"items": { "type": "string", "minLength": 1 },
|
|
"description": "Field names returned alongside 'content' by the continuation endpoint (e.g. role, content, reasoning)."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|