Problem
A focused Codex/Jacobian trajectory on current main (228e49467530f3d1262ccb4e0d894d9d495249a2) selected topology.simplicial_homology.integral.compute, copied the published triangle invocation shape, relabeled its vertices, and accidentally retained the example's complex_digest.
The runtime correctly failed closed, but returned only the domain-generic diagnostic:
- code:
INVALID_FINITE_SIMPLICIAL_TOPOLOGY_REQUEST
- message:
Input does not satisfy the bounded simplicial-topology contract.
- path / expected / actual_type: all null
- hint: generic vertex/facet/prime/bounds guidance
The underlying contract has the precise validation failure complex_digest does not bind the canonical complex in src/jacobian/contracts/topology.py, but that information is lost when the topology bundle maps validation failures to its generic DomainDiagnostics.invalid_request.
The agent then attempted another natural-language discovery query for a contract rather than fixing the digest, and ultimately answered manually. The mathematical capability existed and behaved safely; the recovery diagnostic was the failure point.
Why this matters
A stale content digest is a common error when adapting a validated invocation example. The current hint directs the model toward unrelated topology constraints and does not identify the field it must repair. This weakens the intended retry loop in the merged Jacobian Skill.
This is adjacent to #602, which improved JSON-Schema constraint diagnostics, but it is not the same path: this failure occurs in a domain model validator after schema-shaped input has been accepted.
Reproduction
Invoke topology.simplicial_homology.integral.compute with the published triangle example, change vertex labels and all simplex labels, but leave complex_digest unchanged. Observe the generic diagnostic with no path or digest-specific hint.
Recommended scope
Preserve fail-closed behavior and assurance. Surface a bounded, stable diagnostic identifying /complex/complex_digest and that the digest does not bind the canonical complex. Add a regression test asserting that no topology result or artifact is produced and the precise recovery field is exposed. Avoid leaking stack traces or broadening accepted inputs.
Problem
A focused Codex/Jacobian trajectory on current
main(228e49467530f3d1262ccb4e0d894d9d495249a2) selectedtopology.simplicial_homology.integral.compute, copied the published triangle invocation shape, relabeled its vertices, and accidentally retained the example'scomplex_digest.The runtime correctly failed closed, but returned only the domain-generic diagnostic:
INVALID_FINITE_SIMPLICIAL_TOPOLOGY_REQUESTInput does not satisfy the bounded simplicial-topology contract.The underlying contract has the precise validation failure
complex_digest does not bind the canonical complexinsrc/jacobian/contracts/topology.py, but that information is lost when the topology bundle maps validation failures to its genericDomainDiagnostics.invalid_request.The agent then attempted another natural-language discovery query for a contract rather than fixing the digest, and ultimately answered manually. The mathematical capability existed and behaved safely; the recovery diagnostic was the failure point.
Why this matters
A stale content digest is a common error when adapting a validated invocation example. The current hint directs the model toward unrelated topology constraints and does not identify the field it must repair. This weakens the intended retry loop in the merged Jacobian Skill.
This is adjacent to #602, which improved JSON-Schema constraint diagnostics, but it is not the same path: this failure occurs in a domain model validator after schema-shaped input has been accepted.
Reproduction
Invoke
topology.simplicial_homology.integral.computewith the published triangle example, change vertex labels and all simplex labels, but leavecomplex_digestunchanged. Observe the generic diagnostic with no path or digest-specific hint.Recommended scope
Preserve fail-closed behavior and assurance. Surface a bounded, stable diagnostic identifying
/complex/complex_digestand that the digest does not bind the canonical complex. Add a regression test asserting that no topology result or artifact is produced and the precise recovery field is exposed. Avoid leaking stack traces or broadening accepted inputs.