fix(F17): a PDF in a folder is not proof the package can be rebuilt
Build sweep run this session: 48 sources, 46 built, 2 failed. Infineon_AI_Engineer's cover letter fails on font expansion (the font is not scalable); cv_template.tex fails on unfilled placeholders, which is expected for the academic legacy path. Overfull boxes: Microsoft ISE 25.33pt, Isovalent 0.88pt. All historical, all left alone. New: resume_builder/helpers/package_manifest.py records, per application package, what a rebuild would ACTUALLY do - sources, class-file hashes, PDFs present, and the reasons a rebuild would not reproduce the submitted document. It is descriptive; nothing in it authorises rewriting a submitted file. What it found across 21 packages: - 17 are DATE-DEPENDENT. The cover letters use oday, so recompiling a historical package silently restamps it with today's date. - 1 has an INCOMPLETE SOURCE DISTRIBUTION: output/NATO_AI_ENGINEER ships no resume.cls. It builds on this machine only because a copy exists elsewhere, and the shipped PDF hid that. Not repaired by copying the newest class in - the repo carries THREE different resume.cls variants (13/7/1 copies) and older macros differ, so that "fix" could silently change a historical document. - 1 has no PDF at all, so nothing is reviewable without a build. Classification: 7 application packages were in no reuse category. Added to historical_revalidate, and the register now records the default explicitly - anything unlisted is treated as revalidate-before-reuse. Being recent is not the same as being verified; none of the seven was re-read for this. Prevention rather than repair: oday removed from the cover-letter template so new packages stop adding to the pile. A test now fails if it comes back, if the manifest goes stale, or if a package is left unclassified. Also: scan_document gained a template mode. A placeholder in a TEMPLATE is what makes it a template; the defect is one surviving into a generated document. 37/37 tests pass; counter-proof still catches all 9. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qej5SBvhcbGXHwLqNWiskM
This commit is contained in:
1 parent
c7e8d4e058
commit
eecdbdade6
7 files changed
+797
-24
No files matched your search
@@ -2,22 +2,68 @@
|
||||
"schema_version": 1,
|
||||
"policy": "Generated output is never a source for a new application. Regenerate from canonical claims and normalized experience files.",
|
||||
"unsafe_do_not_reuse": [
|
||||
{"folder": "output/Apple_Data_Engineer", "reasons": ["fabricated LangChain", "unsupported petabyte scale", "overstated platform and agentic ownership"]},
|
||||
{"folder": "output/Infineon_AI_Engineer", "reasons": ["fabricated LangChain"]},
|
||||
{"folder": "output/Equinor_AI_Manager", "reasons": ["unsupported model serving and evaluation", "inflated responsible-AI and security ownership"]},
|
||||
{"folder": "output/Microsoft_ISE_Senior_SWE", "reasons": ["unsupported model-evaluation skill", "customer-delivery framing exceeds verified evidence"]},
|
||||
{"folder": "output/Kraken_SRE_AI_Agents", "reasons": ["Security Champion scope inflation", "stretch-role framing requires complete regeneration"]},
|
||||
{"folder": "output/Kraken_AI_Infrastructure", "reasons": ["pre-canonical package", "agent-infrastructure bridges require revalidation"]}
|
||||
{
|
||||
"folder": "output/Apple_Data_Engineer",
|
||||
"reasons": [
|
||||
"fabricated LangChain",
|
||||
"unsupported petabyte scale",
|
||||
"overstated platform and agentic ownership"
|
||||
]
|
||||
},
|
||||
{
|
||||
"folder": "output/Infineon_AI_Engineer",
|
||||
"reasons": [
|
||||
"fabricated LangChain"
|
||||
]
|
||||
},
|
||||
{
|
||||
"folder": "output/Equinor_AI_Manager",
|
||||
"reasons": [
|
||||
"unsupported model serving and evaluation",
|
||||
"inflated responsible-AI and security ownership"
|
||||
]
|
||||
},
|
||||
{
|
||||
"folder": "output/Microsoft_ISE_Senior_SWE",
|
||||
"reasons": [
|
||||
"unsupported model-evaluation skill",
|
||||
"customer-delivery framing exceeds verified evidence"
|
||||
]
|
||||
},
|
||||
{
|
||||
"folder": "output/Kraken_SRE_AI_Agents",
|
||||
"reasons": [
|
||||
"Security Champion scope inflation",
|
||||
"stretch-role framing requires complete regeneration"
|
||||
]
|
||||
},
|
||||
{
|
||||
"folder": "output/Kraken_AI_Infrastructure",
|
||||
"reasons": [
|
||||
"pre-canonical package",
|
||||
"agent-infrastructure bridges require revalidation"
|
||||
]
|
||||
}
|
||||
],
|
||||
"historical_revalidate": [
|
||||
"output/Google_Senior_Data_Engineer",
|
||||
"output/Snowflake_Observe_Enterprise",
|
||||
"output/QuantCo_Cloud_Engineer",
|
||||
"output/NATO_AI_ENGINEER",
|
||||
"output/AkerBP_Data_Product_Architect",
|
||||
"output/BIS",
|
||||
"output/Isovalent_DataEngineer",
|
||||
"output/CitadelSecurities_PlatformEngineer",
|
||||
"output/Google_Business_Home",
|
||||
"output/Google_Senior_Data_Engineer",
|
||||
"output/Infineon",
|
||||
"output/Microsoft_Principal_FDE_SWE"
|
||||
"output/Isovalent_DataEngineer",
|
||||
"output/KdoCy_DevOps_Data_Platform",
|
||||
"output/Microsoft_Principal_FDE_SWE",
|
||||
"output/NATO_AI_ENGINEER",
|
||||
"output/NVIDIA_SrDevOps_Zurich",
|
||||
"output/QuantCo_Cloud_Engineer",
|
||||
"output/RUAG_AI_Engineer_C5I",
|
||||
"output/SBB_DataEngineer_AssetMgmt",
|
||||
"output/Snowflake_Observe_Enterprise"
|
||||
],
|
||||
"paused_no_package": ["output/Google_FDE_GenAI"]
|
||||
"paused_no_package": [
|
||||
"output/Google_FDE_GenAI"
|
||||
],
|
||||
"classification_default": "Any package folder NOT listed in this file defaults to historical_revalidate: never reuse a bullet from it without re-checking the claim against claims.json first. Recorded 2026-09-11 (review finding F17), which found 8 unclassified folders against 14 classified ones. The seven application packages among them were added to historical_revalidate; being recent is not the same as being verified, and none of them was re-read for this classification."
|
||||
}
|
||||
Reference in new issue
Block a user