imprintcv defines 6 tools with reasonable naming (verb_noun pattern) and descriptions. All tools have input schemas with Zod validation. However, descriptions are inconsistent in depth, some are detailed (imprintcv_verify_draft, imprintcv_save_application) while others are terse (imprintcv_get_facts). Parameter descriptions are present but often lack constraint details (ranges, formats, examples). Output schemas are not explicitly documented in the tool definitions, responses are inferred from code. Error handling returns basic text messages without recovery guidance or error classification. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk profiles (WRITE vs READ_ONLY). Composition is sound, tools are single-purpose and chainable, but some parameters are overloaded (e.g., imprintcv_verify_draft accepts both tailoredResume object and tailoredResumeJson string, requiring dual parsing logic).
Retrieve immutable structured facts with stable IDs and metrics from the Career Vault.
Bootstrap Master Profile / Career Vault from legacy resume PDF, DOCX, or TXT file.
List all saved application bundles with metadata and verification status.
Save complete verified application bundle (PDF, JSON, RenderCV YAML, Diff MD, Verification Report, and optional Cover Letter) into applications/<job-slug>/ with page budgeting.
Generate a tailored resume draft by analyzing job description compatibility and creating a strategic tailoring plan with reordered/rewritten bullets.
Deterministically verify a tailored resume draft against the Career Vault (Layer 1-3 checks). Returns PASS, PASS_WITH_WARNINGS, or FAIL with machine-readable repair actions.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'Returns PASS, PASS_WITH_WARNINGS, or FAIL') but the actual JSON structure is not formally specified. LLMs cannot reliably extract fields from undocumented responses.
Dual parameter patterns (object + JSON string) increase cognitive load and parsing complexity. imprintcv_verify_draft, imprintcv_save_application, and imprintcv_tailor_resume all accept both 'tailoredResume' (object) and 'tailoredResumeJson' (string), forcing the tool to handle JSON parsing and validation twice.
Error responses lack recovery guidance and error classification. Errors return plain text (e.g., 'Init Error: <message>') without indicating whether the error is retryable, user-fixable, or fatal. No actionable next steps provided to the LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
No tool annotations despite clear risk profiles. imprintcv_init and imprintcv_save_application are destructive (WRITE), while others are read-only. Missing destructiveHint and readOnlyHint annotations prevent agents from reasoning about side effects and retry safety.
Parameter descriptions lack constraint details. 'targetPages' accepts 1 or 2 but description does not state the range. 'template' enum is documented but other parameters (vaultPath, outputBaseDir) lack format or path validation hints.