Skip to content

fix(interview): name the failed field in batch validation directives - #222

Merged
eldonm merged 3 commits into
devfrom
fix/interview-validation-directives
Sep 13, 2026
Merged

eldonm merged 3 commits into
devfrom
fix/interview-validation-directives

Conversation

@Tharickv75

Copy link
Copy Markdown
Contributor

Summary

Refactors batch failure directive generation to name the failed field clearly and eliminate redundant boilerplate messages when asking users for missing or invalid information.

  • Single-field failures: Prioritizes asking the field prompt directly alongside the validation reason, skipping generic phrases like "I still need a valid X".
  • Partial success handling: Explicitly adds a "I've saved the other details." prefix when stored_any=True so users know their valid input was recorded.
  • Formatting & Hints: Strips raw "Ask:" prefixes from error messages and properly separates developer/model hints via DIRECTIVE_GUIDANCE_MARKER.
  • Passthrough: Preserves action call directives (e.g., Call interview__skip_field...) without modification.

Type of change

  • Bug fix (non-breaking)
  • New feature (non-breaking)
  • Breaking change
  • Documentation
  • Chore / tooling / CI

Checklist

  • I read CONTRIBUTING.md and (for subsystem work) the local CLAUDE.md.
  • pre-commit run --all-files passes.
  • pytest tests/ passes; I added/updated tests for new behavior.
  • Bug fixes cite file:line in the description.
  • Docs / CHANGELOG.md updated where relevant (entry under [Unreleased]).
  • No ADR was modified in place (changes of decision are written as a new, superseding ADR).

Notes for reviewers

  • Updates batch_failure_directive signature in directive_compose.py:84 to accept stored_any.
  • Key changes located in jvagent/action/interview/directive_compose.py:28-118 and jvagent/action/interview/engine.py:777.

@Tharickv75 Tharickv75 self-assigned this Sep 11, 2026
@Tharickv75
Tharickv75 requested a review from eldonm as a code owner September 11, 2026 20:33
Eldon Marks and others added 2 commits September 13, 2026 17:43
Avoid prepending the field prompt onto say-crafted questions ending
in '?'; keep same-line Then call guidance when rebuilding; note saved
sibling fields when a Call directive is returned after a partial batch.

Co-authored-by: Cursor <[email protected]>
Concurrent waiters hydrate distinct Python instances after serialized
create; object-identity checks flake under full-suite pre-push.

Co-authored-by: Cursor <[email protected]>
@eldonm
eldonm merged commit b6bd930 into dev Sep 13, 2026
3 checks passed
eldonm added a commit that referenced this pull request Sep 13, 2026
release: promote #222#225 onto main (complete 0.1.8rc11)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants