46 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Output Pipeline Overview
 | ||
| 
 | ||
| This directory houses the post-processing side of ResumeCustomizer. It accepts one human-approved Markdown resume at a time and renders shareable DOCX/PDF artifacts while preserving historical output.
 | ||
| 
 | ||
| ## Directory Layout
 | ||
| - `ForRelease/inbox` – drop a single vetted `*.md` file here to trigger conversion; keep empty otherwise.
 | ||
| - `ForRelease/outbox/YYYY/MM/DD/HHMM` – timestamped export folders containing the generated `.docx`/`.pdf` pair for each run.
 | ||
| - `ForRelease/processed/YYYY/MM/DD/HHMM` – timestamped archives of Markdown files that converted successfully.
 | ||
| - `ForRelease/failed` – holding area for Markdown files that Pandoc could not render.
 | ||
| - `Docker/` – Dockerfile, compose stack, watcher script, and wrapper used to run the conversion container.
 | ||
| 
 | ||
| All `ForRelease` subdirectories include `.gitkeep` and `.gitignore` so artifacts stay local and never reach version control.
 | ||
| 
 | ||
| ## Running the Output Processor
 | ||
| Launch the stack with the wrapper so files inherit your UID/GID:
 | ||
| 
 | ||
| ```bash
 | ||
| cd output/Docker
 | ||
| ./run-output-processor.sh up -d
 | ||
| ```
 | ||
| 
 | ||
| The wrapper auto-detects the Docker Compose plugin or legacy `docker-compose` and forwards any extra arguments (`down`, `logs`, etc.). The stack registers as `RCEO-AI-ResumeCustomizer-Output` with the container `RCEO-AI-ResumeCustomizer-OutputProcessor`.
 | ||
| 
 | ||
| ## Conversion Flow
 | ||
| 1. The watcher polls `ForRelease/inbox` every few seconds for exactly one Markdown resume.
 | ||
| 2. Pandoc renders DOCX and PDF using the shared templates.
 | ||
| 3. Artifacts land in a timestamped folder under `ForRelease/outbox`.
 | ||
| 4. The source Markdown moves into the matching timestamp folder under `ForRelease/processed`.
 | ||
| 5. On Pandoc failure, the Markdown shifts into `ForRelease/failed` for human review before retrying.
 | ||
| 
 | ||
| Outbox and processed directories are append-only historical records managed solely by the human operator—automation must never delete or reorganize them.
 | ||
| 
 | ||
| ## Prerequisites
 | ||
| - Docker Engine with the Compose plugin (`docker compose`) or the standalone `docker-compose` binary.
 | ||
| - Template assets mounted read-only from `input/templates`.
 | ||
| 
 | ||
| Stop or inspect the stack with:
 | ||
| 
 | ||
| ```bash
 | ||
| cd output/Docker
 | ||
| ./run-output-processor.sh down
 | ||
| ./run-output-processor.sh logs -f
 | ||
| ```
 | ||
| 
 | ||
| Monitor logs during conversions to confirm the Markdown leaves inbox, exports appear in outbox, and the source lands in processed.
 |