{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2606-28620","title":"Reproducing FACTER: Fairness via Conformal Thresholding and Prompt Repair","arxiv_id":"2606.28620","date":"2026-06-26","proceeding":null,"authors":["Oscar Miró López-Feliu","Daimy van Loo","Xanthos Kekkos","Mikel Blom","Clara Rus"],"abstract":"Fayyazi et al. (2025) recently proposed FACTER, a model-agnostic framework designed to jointly enforce fairness and statistical coverage in LLM-based recommendation through conformal thresholding and iterative prompt repair. In this work, we conduct a reproducibility study of the FACTER framework across diverse architectures and dataset sparsity levels, evaluating both the original open-ended generation task and a constrained re-ranking extension. Under the strict reproduction, we observe a divergence in recommendation utility, which we trace to underspecified target-set evaluation in the original study. We then use the constrained re-ranking setting to evaluate FACTER when the candidate set is fixed, and introduce a static Fair Zero-Shot baseline to isolate the contribution of the iterative prompt repair loop. Our analysis shows that FACTER consistently reduces adaptive-threshold violation counts, but that these reductions are not consistently reflected under the fixed threshold or in global fairness metrics. In the constrained ranking setting, static fairness instructions achieve comparable semantic-parity outcomes to FACTER's dynamic repair loop, suggesting that the additional online repair mechanism provides limited benefit in this formulation. All code and reproduction artifacts are available at https://github.com/oscar-omlf/facter-repr.","url_abs":"https://arxiv.org/abs/2606.28620","url_pdf":"https://arxiv.org/pdf/2606.28620","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2606.28620"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/oscar-omlf/facter-repr","reach":null}],"summary":{"ran":7},"by_repo_kind":{"found_in_text":{"samples":7,"ran":7,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"5790175191b4cff7","entry":"conformal_quantile","repo":"oscar-omlf/facter-repr","repo_kind":"found_in_text","path":"src/facter/fairness/conformal.py","file_url":"https://github.com/oscar-omlf/facter-repr/blob/HEAD/src/facter/fairness/conformal.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5790175191b4cff7"}},{"code_sha256_prefix":"3f8ec86d868a9da8","entry":"cosine_sim_matrix","repo":"oscar-omlf/facter-repr","repo_kind":"found_in_text","path":"src/facter/fairness/neighbors.py","file_url":"https://github.com/oscar-omlf/facter-repr/blob/HEAD/src/facter/fairness/neighbors.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3f8ec86d868a9da8"}},{"code_sha256_prefix":"85a6d22f1d25446e","entry":"item_text","repo":"oscar-omlf/facter-repr","repo_kind":"found_in_text","path":"src/facter/fairness/scoring.py","file_url":"https://github.com/oscar-omlf/facter-repr/blob/HEAD/src/facter/fairness/scoring.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"85a6d22f1d25446e"}},{"code_sha256_prefix":"1f0b199f22d1f3a9","entry":"mean_recall_ndcg_multi","repo":"oscar-omlf/facter-repr","repo_kind":"found_in_text","path":"src/facter/eval/metrics.py","file_url":"https://github.com/oscar-omlf/facter-repr/blob/HEAD/src/facter/eval/metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1f0b199f22d1f3a9"}},{"code_sha256_prefix":"ddd6cf5eafddd4a5","entry":"ndcg_at_k","repo":"oscar-omlf/facter-repr","repo_kind":"found_in_text","path":"src/facter/eval/metrics.py","file_url":"https://github.com/oscar-omlf/facter-repr/blob/HEAD/src/facter/eval/metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ddd6cf5eafddd4a5"}},{"code_sha256_prefix":"02feaabeeccf0a8e","entry":"recall_at_k","repo":"oscar-omlf/facter-repr","repo_kind":"found_in_text","path":"src/facter/eval/metrics.py","file_url":"https://github.com/oscar-omlf/facter-repr/blob/HEAD/src/facter/eval/metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"02feaabeeccf0a8e"}},{"code_sha256_prefix":"6d6234551e90227f","entry":"rewrite_prompt_attrs","repo":"oscar-omlf/facter-repr","repo_kind":"found_in_text","path":"src/facter/eval/catalogue_map.py","file_url":"https://github.com/oscar-omlf/facter-repr/blob/HEAD/src/facter/eval/catalogue_map.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6d6234551e90227f"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,264 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9581,"papers_checked":6264},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}