Quote numeric-looking revisions in the Dev Brain Git fixture #115

Closed
opened 2026-10-04 13:17:46 +00:00 by hugo · 1 comment
Owner

The mandatory cargo test --all-features gate while implementing #110 exposed a separate nondeterministic fixture failure:

dev_brain::tests::source_versions_follow_that_file_instead_of_the_whole_worktree
src/dev_brain.rs:2054
Invalid frontmatter in concepts/answer.md: invalid type: integer `9839678`, expected a string

The test creates a commit with git2::Signature::now, then interpolates its seven-character abbreviated revision into YAML as revision: {prefix} without quoting. An all-decimal abbreviation is therefore parsed as an integer, although the revision field correctly requires a string. This is a test-fixture defect; the failure does not implicate Qwen or require making the production schema accept arbitrary integers.

Quote/serialize the fixture revision as a YAML string and add deterministic coverage for an all-decimal abbreviation while retaining the real Git source-version semantics (file-specific revision, dirty unrelated file, modified actual source). Do not simply retry inside the test or weaken the source-version assertions. Verify this test in isolation and all mandatory commit gates, then deliver its own commit/push/comment/closure.

The mandatory `cargo test --all-features` gate while implementing #110 exposed a separate nondeterministic fixture failure: ``` dev_brain::tests::source_versions_follow_that_file_instead_of_the_whole_worktree src/dev_brain.rs:2054 Invalid frontmatter in concepts/answer.md: invalid type: integer `9839678`, expected a string ``` The test creates a commit with `git2::Signature::now`, then interpolates its seven-character abbreviated revision into YAML as `revision: {prefix}` without quoting. An all-decimal abbreviation is therefore parsed as an integer, although the revision field correctly requires a string. This is a test-fixture defect; the failure does not implicate Qwen or require making the production schema accept arbitrary integers. Quote/serialize the fixture revision as a YAML string and add deterministic coverage for an all-decimal abbreviation while retaining the real Git source-version semantics (file-specific revision, dirty unrelated file, modified actual source). Do not simply retry inside the test or weaken the source-version assertions. Verify this test in isolation and all mandatory commit gates, then deliver its own commit/push/comment/closure.
hugo added the bug label 2026-10-04 13:17:46 +00:00
Author
Owner

Implemented and pushed in 5129c450ee6232f6752660c42bc9bdec39bff0ff.

The shared revision fixture now serializes the abbreviated revision as a quoted YAML-compatible string. Deterministic production-parser coverage includes 9839678, leading-zero 0000001, scientific-notation 5568e06 (also observed during #114), and an ordinary hexadecimal abbreviation. The real Git test retains all file-specific revision, unrelated dirty/committed file, fingerprint, dirty source, committed drift, and hash-backed dirty-source assertions. No retries and no production schema relaxation.

Reviewed against this issue and both reference codebases: Dev Brain is DS4Server functionality with no corresponding DS4/MTPLX feature; model behavior is unchanged.

Verification: all 10 Dev Brain tests pass in isolation; formatting, warning-free Clippy, signed release bundle, and full all-feature suite pass (314 application + 8 tool tests). Full evidence: docs/issue115-revision-fixture/.

Implemented and pushed in `5129c450ee6232f6752660c42bc9bdec39bff0ff`. The shared revision fixture now serializes the abbreviated revision as a quoted YAML-compatible string. Deterministic production-parser coverage includes `9839678`, leading-zero `0000001`, scientific-notation `5568e06` (also observed during #114), and an ordinary hexadecimal abbreviation. The real Git test retains all file-specific revision, unrelated dirty/committed file, fingerprint, dirty source, committed drift, and hash-backed dirty-source assertions. No retries and no production schema relaxation. Reviewed against this issue and both reference codebases: Dev Brain is DS4Server functionality with no corresponding DS4/MTPLX feature; model behavior is unchanged. Verification: all 10 Dev Brain tests pass in isolation; formatting, warning-free Clippy, signed release bundle, and full all-feature suite pass (314 application + 8 tool tests). Full evidence: `docs/issue115-revision-fixture/`.
hugo closed this issue 2026-10-04 15:01:06 +00:00
Sign in to join this conversation.