Companion repository for "Semantic Signal-Assisted Inspection and Recovery Allocation in Reverse Logistics," accepted at AIBThings 2026. The framework it implements is Semantic Signal-Assisted Decision Support (SSADS).
SSADS converts return notes into a condition factor and a signal-quality score. Those outputs target skip, quick, or full inspection before an analytical capacity-constrained allocator selects refurbishment, component recovery, or scrap. The Reverse Logistics Decision Benchmark (RLDB) is synthetic; its three scenarios test the decision mechanism rather than claim field performance.
experiments/src/: generators, extractors, inspection policy, and allocatorexperiments/configs/: complete IT, aviation, and consumer assumptionsexperiments/scripts/: main, ablation, diagnostic, and reviewer audit runsexperiments/outputs/reviewer_experiments/: generated audit tablespaper/main_7pg.tex: camera-ready LaTeX sourcepaper/main_7pg.pdf: compiled seven-page A4 manuscript
Requires Python 3.10 or newer. The committed paper results were regenerated
with Python 3.12.13 and the exact direct dependencies in
experiments/requirements-repro.txt.
git clone https://github.com/jiani19980225/ssads-reverse-logistics.git
cd ssads-reverse-logistics/experiments
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements-repro.txt
pytest -q
python scripts/verify_reproduction.py # re-runs everything, byte-compares
python scripts/run_summary.py --seeds 0-29
python scripts/run_summary.py --seeds 0-29 --extractor strong
python scripts/run_summary.py --seeds 0-29 --extractor llm
python scripts/run_calibration.py --seeds 0-29 --llm
python scripts/run_ablation.py --seeds 0-29
python scripts/run_diagnostics.py --seeds 0-29
python scripts/run_reviewer_experiments.py --seeds 0-29 --include-llmFrom the repository root, ./verify_integrity.sh runs syntax checks, Ruff, Mypy,
the unit and adversarial test suite, and a one-seed end-to-end experiment.
REPRODUCIBILITY.md pins the environment, commands, and SHA-256 digests of every
committed output, and states what the artifacts cannot recover.
The committed DeepSeek parsed-score cache covers every unique note generated by evaluation
seeds 0--29, so the LLM reruns do not require an API key. Reproduction commands
are cache-only by default and fail on a missing entry. A new live call requires
the optional openai package, DEEPSEEK_API_KEY, and --allow-live-llm.
- Generation, extraction, inspection, and realized outcomes use isolated RNG streams.
- Paired methods share each asset's inspection perturbation and realized component outcome.
- Noise-sensitivity variants share latent assets and underlying note-noise draws.
- The generators contain 17/20/21 base templates for S1/S2/S3; numeric fields produce 27/4,840/43 unique rendered notes over evaluation seeds 0--29.
- The structured model trains on an independent 4,000-asset population.
- A combined baseline tests structured features together with keyword outputs.
- Every selected inspection is charged before allocation, including unprocessed assets.
- Default scrap handling consumes configured cost and labor before allocation.
- Realized downstream rework enters realized-value and throughput calculations but is not reserved in first-stage capacity.
- The expected-value allocator is analytical; realized outcomes retain stochastic Beta draws.
- Exact, matched-cost, sensitivity, selective-risk, and cache-coverage audits are released.
The code, configurations, synthetic data, and generated experiment artifacts
are available under the MIT License. The manuscript in paper/ is excluded
from that license; see LICENSE and paper/COPYRIGHT.md for the exact scope.
The manuscript has been accepted for an IEEE conference. For electronic posting, the following IEEE notice applies:
© 2026 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, including reprinting/republishing this material for advertising or promotional purposes, collecting new collected works for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.