View input and acceptance criteria
Input
Nineteen named model observations on Python 3.12.4/Pydantic 2.13.5 with a separate 2.7.4 comparison run. A pinned Microsoft template with its documented resource-name substitutions and an independent BB Skills restrictive patch example. Synthetic local inputs only; no AI-client execution, network requests, production route, authentication, database write, cloud SDK, paid model call or comprehensive security verification.
Acceptance criteria
Nineteen named native observations pass on each recorded Pydantic version. Invalid inputs are expected rejections with matching fields and error types. No general API security or full AI skill execution claim.
Recorded outcome
Nineteen named model observations on Python 3.12.4/Pydantic 2.13.5 with a separate 2.7.4 comparison run. A pinned Microsoft template with its documented resource-name substitutions and an independent BB Skills restrictive patch example. Synthetic local inputs only; no AI-client execution, network requests, production route, authentication, database write, cloud SDK, paid model call or comprehensive security verification.
Current-version evidence:
{
"executed_at": "2026-10-07T08:18:00.026828+00:00",
"fixture": "Pinned Pydantic template and independent partial-update contract",
"observations": 19,
"cases": [
{
"name": "create accepts documented camelCase workspace alias",
"status": "passed"
},
{
"name": "create accepts configured Python field name",
"status": "passed"
},
{
"name": "creation requires workspace identity",
"status": "passed"
},
{
"name": "empty project name rejected",
"status": "passed"
},
{
"name": "name longer than 200 rejected",
"status": "passed"
},
{
"name": "description longer than 2000 rejected",
"status": "passed"
},
{
"name": "omitted update excludes default fields",
"status": "passed"
},
{
"name": "explicit null retained in update payload",
"status": "passed"
},
{
"name": "naive default dump contains unrelated null fields",
"status": "passed"
},
{
"name": "upstream default ignores unknown fields rather than rejecting",
"status": "passed"
},
{
"name": "strict create rejects injected server-owned identity",
"status": "passed"
},
{
"name": "patch rejects changes to workspace identity",
"status": "passed"
},
{
"name": "patch keeps omitted description",
"status": "passed"
},
{
"name": "patch deliberately clears explicit description null",
"status": "passed"
},
{
"name": "merged contract rejects null for required name",
"status": "passed"
},
{
"name": "response JSON serialization uses aliases and JSON-safe dates",
"status": "passed"
},
{
"name": "attribute response projection omits undeclared synthetic field",
"status": "passed"
},
{
"name": "database model supplies its documented discriminator",
"status": "passed"
},
{
"name": "generated schema exposes required aliases and bounds",
"status": "passed"
}
],
"python": "3.12.4",
"pydantic": "2.13.5",
"platform": "Windows",
"native_template_executed": true,
"runtime_tested": false,
"ai_client_executed": false,
"production_tested": false,
"network_requests": false,
"credentials_required": false,
"paid_api_used": false,
"source_hashes": {
"assets/template.py": "bc589a21973eeca69d8f0cf08bca4671af01dec0bac2c0f1738f445392104ab3",
"examples/api_contract.py": "8f1d9b39fb9387d9600bd9d85cbcced92d0492421751dbc3bbc71fc4bb7b225d",
"examples/run_validation_fixture.py": "aa5848ece000416f7e1d312e9cb1d5f4ee5cc9361c14037323517a800305256b"
}
}
Comparison evidence:
{
"executed_at": "2026-10-07T08:16:27.563922+00:00",
"fixture": "Pinned Pydantic template and independent partial-update contract",
"observations": 19,
"cases": [
{
"name": "create accepts documented camelCase workspace alias",
"status": "passed"
},
{
"name": "create accepts configured Python field name",
"status": "passed"
},
{
"name": "creation requires workspace identity",
"status": "passed"
},
{
"name": "empty project name rejected",
"status": "passed"
},
{
"name": "name longer than 200 rejected",
"status": "passed"
},
{
"name": "description longer than 2000 rejected",
"status": "passed"
},
{
"name": "omitted update excludes default fields",
"status": "passed"
},
{
"name": "explicit null retained in update payload",
"status": "passed"
},
{
"name": "naive default dump contains unrelated null fields",
"status": "passed"
},
{
"name": "upstream default ignores unknown fields rather than rejecting",
"status": "passed"
},
{
"name": "strict create rejects injected server-owned identity",
"status": "passed"
},
{
"name": "patch rejects changes to workspace identity",
"status": "passed"
},
{
"name": "patch keeps omitted description",
"status": "passed"
},
{
"name": "patch deliberately clears explicit description null",
"status": "passed"
},
{
"name": "merged contract rejects null for required name",
"status": "passed"
},
{
"name": "response JSON serialization uses aliases and JSON-safe dates",
"status": "passed"
},
{
"name": "attribute response projection omits undeclared synthetic field",
"status": "passed"
},
{
"name": "database model supplies its documented discriminator",
"status": "passed"
},
{
"name": "generated schema exposes required aliases and bounds",
"status": "passed"
}
],
"python": "3.12.4",
"pydantic": "2.7.4",
"platform": "Windows",
"native_template_executed": true,
"runtime_tested": false,
"ai_client_executed": false,
"production_tested": false,
"network_requests": false,
"credentials_required": false,
"paid_api_used": false,
"source_hashes": {
"assets/template.py": "bc589a21973eeca69d8f0cf08bca4671af01dec0bac2c0f1738f445392104ab3",
"examples/api_contract.py": "8f1d9b39fb9387d9600bd9d85cbcced92d0492421751dbc3bbc71fc4bb7b225d",
"examples/run_validation_fixture.py": "aa5848ece000416f7e1d312e9cb1d5f4ee5cc9361c14037323517a800305256b"
}
}Environment
Windows; Python 3.12.4; Pydantic 2.13.5 in a disposable virtual environment and separate 2.7.4 comparison. Synthetic in-memory model inputs. No credentials, network requests or production data. Original Microsoft hosted evaluation harness was not run.
Package SHA-256: 31fb3c718f0314cf964cb67d908968148958fec20f9e51178aace1ecefe26393
Outcome recorded: 2026-10-07 08:18 UTC
Open evidence ↗