{"claim":{"id":"706148b5-7b56-4917-94f5-dfd4fb2544e5","submission_id":"83c389a0-ea58-4f05-86cd-64d53742aa9e","submission_revision_id":"f2b0fcb3-6c88-4485-a8d7-dcf80bc93fbc","builder":"builder-01","status":"active","claimed_at":"2026-10-15T15:06:18.114213Z","delivered_at":null,"ended_at":null,"delivery_note":null,"end_reason":null},"task":{"submission_id":"83c389a0-ea58-4f05-86cd-64d53742aa9e","submission_revision_id":"f2b0fcb3-6c88-4485-a8d7-dcf80bc93fbc","revision_version":13,"submission_status":"under_review","submitted_at":"2026-08-16T16:05:19.014324Z","submitter_name":"Chase Broderick","submitter_email":"chaseburnsbroderick@gmail.com","task":{"status":"submitted","version":13,"extra_fields":{"drive_link":"Files uploaded directly to portal.","difficulty_self_test":{"model":"gemini-3.1-pro-preview","harness":"OpenClaw","estimated_score":"<1%"}},"submitted_at":"2026-08-16T16:05:19.014324+00:00","industry_domain":"Information Technology (Software Development)","task_short_name":"romantasy_cinematic_trailer_fullstack","operating_system":"Linux","task_description":"* Expected Completion Time: 2-3 hours\n\n**Objective:** You are a full-stack backend developer building a Book-to-Video generation application. You must build BOTH the Mock Video Generation Server to simulate the third-party API, and the Client Pipeline script that parses a Romantasy book chapter, applies an NLP \"Kinetic Arousal Reasoner,\" and asynchronously requests video renders with robust retry logic.\n\n**Starting State:** You are provided with `input_synopsis.txt` (the chapter text), `arousal_lexicon.json` (a dictionary of word weights), `api_spec.md` (the requirements for the mock server), and empty skeletons for `mock_video_api.py` and `pipeline_core.py`.\n\n**Instructions & Rules:**\n**Phase 1: Build the Server (`mock_video_api.py`)**\n1. Using Python's standard `http.server` (or FastAPI), implement the server exactly as described in `api_spec.md` (port 8000, 0.3s delay, 30% failure rate for 429/503 errors).\n\n**Phase 2: Build the Pipeline Client (`pipeline_core.py`)**\n2. Read `input_synopsis.txt` and split the text into discrete story beats using double newlines (`\\n\\n`).\n3. Build the **Kinetic Arousal Reasoner**: For each beat, calculate a baseline Arousal Score.\n   - **Tokenization:** Convert the text to lowercase. Replace em-dashes and hyphens with spaces, then strip all remaining punctuation. Split by whitespace to create your token array.\n   - **Scoring:** Sum the values of any resulting words found in `arousal_lexicon.json`.\n4. Apply VADER-style Heuristics to the score:\n   - **Degree Modifiers:** If the word \"absolutely\" or \"pure\" appears immediately before a word found in the lexicon (based on your cleaned token array), add +2 to that word's lexicon value before adding it to the sum. (Edge case: If \"absolutely\" or \"pure\" appears before a word NOT in the lexicon, it has no effect).\n   - **Punctuation Multiplier:** Check the ORIGINAL un-stripped string. If the beat ends with one or more exclamation points (`!`), multiply the beat's TOTAL final score by 1.5. (Edge case: Multiple exclamation points like `!!!` still only apply the 1.5 multiplier once).\n5. Thresholds: If the final Arousal Score is >= 4, set `glitch_factor` to 0.8 and `motion` to 3.0. If the score is <= 0, set `glitch_factor` to 0.0 and `motion` to 1.0. Otherwise, default to 0.0 and 2.0.\n6. Use `aiohttp` to asynchronously send a POST request for every beat to the mock API endpoint concurrently. \n7. **Error Handling:** You MUST use the `tenacity` library to implement exponential backoff retry logic to overcome the server's 30% failure rate.\n8. Compile the results into a JSON manifest containing `video_url` and applied parameters for each shot.","software_licensing":"Free/Open Source","evaluation_criteria":null,"verification_method":"* How should we verify success?\nThe automated `grader_script.py` executes a 3-phase verification process requiring an 80/100 to pass. \n1. **NLP Unit Tests (20 pts):** Evaluates semantic edge cases, ensuring hyphens and em-dashes are successfully replaced with spaces and verifying exact multiplier math for terminal exclamation marks (! vs !!!).\n2. **Static Analysis & Anti-Cheat (20 pts):** Parses the agent's Python AST to verify the presence of asynchronous functions and explicit use of the `tenacity` retry library.\n3. **Functional Execution & Behavioral Validation (60 pts):** Spins up the local mock server (with a seeded 30% failure rate) and executes the agent's pipeline. To verify true concurrency, the evaluator reads `server_log.json` to mathematically prove all 8 initial requests hit the server within a tight 1.0-second window. It verifies tenacity retries were genuinely exercised over real HTTP calls. Finally, it validates all threshold parameters (glitch and motion across high, default, and low bins) and directly recomputes and compares the exact SHA-256 derivation of the Video ID for each prompt (e.g., `sha256(prompt.encode(\"utf-8\")).hexdigest()[:8]`) to prove cryptographic compliance.\n\n### E. Difficulty Self-Test\n* Model: google/gemini-3.1-pro-preview\n* Harness: OpenClaw\n* Estimated Score Dropdown: <1% (last-exam)\n* Evidence: The portal's estimated score dropdown maxes out at >60%. However, the true empirical score from my local zero-shot run was 45/100. \n\nThe baseline model successfully extracted the beats but failed the strictest evaluator logic: it failed the hyphen/em-dash replacement, failed to utilize the `tenacity` retry library, executed the API requests sequentially (concurrency failure), and used Python's `hash()` instead of the required SHA-256 digest format. ","software_and_version":"Python 3.12 (aiohttp, tenacity, fastapi, uvicorn)","specific_requirements":null,"expected_completion_time":null},"files":[{"file_id":"73fa9001-abb0-4dc6-a604-25ad4540a8ad","filename":"input_synopsis.txt","category":"input_materials","content_type":"text/plain","size_bytes":1721},{"file_id":"b3584e76-6f65-441c-a7fa-181fff044841","filename":"arousal_lexicon.json","category":"input_materials","content_type":"application/json","size_bytes":216},{"file_id":"4783c273-853f-4fd5-a2bb-18de8a6a57b2","filename":"mock_video_api.py","category":"input_materials","content_type":"text/x-python-script","size_bytes":281},{"file_id":"c5e83757-999e-476b-bc95-eb9ab99a5bac","filename":"pipeline_core.py","category":"input_materials","content_type":"text/x-python-script","size_bytes":1147},{"file_id":"b78a9d47-7997-4601-ae3c-7d750466bb3a","filename":"golden_solution_pipeline.py","category":"reference_output","content_type":"text/x-python-script","size_bytes":3324},{"file_id":"35e74090-25b1-420e-a97c-d914015efbaa","filename":"golden_manifest.json","category":"reference_output","content_type":"application/json","size_bytes":3378},{"file_id":"9f02334a-dd1d-478c-b96f-4ff18122e69d","filename":"golden_mock_video_api.py","category":"reference_output","content_type":"text/x-python-script","size_bytes":3373},{"file_id":"1b26ee98-6e35-4217-b7de-cf4f6e9593bc","filename":"zero_shot_failure_log.txt","category":"difficulty_self_test_evidence","content_type":"text/plain","size_bytes":83},{"file_id":"1aaf1b56-b9f0-4548-af87-5247d75d8352","filename":"api_spec.md","category":"input_materials","content_type":"text/markdown","size_bytes":2259},{"file_id":"9431d9a7-c5bb-4890-bd95-0c2fe7475687","filename":"grader_script.py","category":"reference_output","content_type":"text/x-python-script","size_bytes":8460}],"deep_review":{"overall_verdict":"Accept","review_text":"**Overall Verdict:** Accept — The task is coherent, reachable, and supported by usable inputs, references, and an objective grader, with limited evaluator coverage gaps.\n\n**Completeness Check:**\n- Instruction: Complete — Clear two-phase objective, NLP rules, API behavior, retry/concurrency requirements, output expectations, and verification process.\n- Inputs: Complete — `input_synopsis.txt`, `arousal_lexicon.json`, `api_spec.md`, and both implementation skeletons are present and readable.\n- Toolchain: Complete — Python 3.12/Linux with legally obtainable `aiohttp` and `tenacity`; standard-library HTTP server alternatives are allowed.\n- Reference output: Complete — `golden_solution_pipeline.py`, `golden_mock_video_api.py`, and an eight-shot `golden_manifest.json` define expected behavior and schema.\n- Rubric: Complete — The grader objectively checks NLP scoring, async client/retry imports, concurrent requests, retry exercise, thresholds, shot count, and SHA-256 video IDs. It does not directly verify exact latency, failure probability, or log-write locking.\n\n**File and Task Reachability:**\nAttachments are `reachable`, and the end-to-end task is `reachable`. I inspected all ten manifest attachments: the synopsis, lexicon, API specification, two skeletons, three reference artifacts, grader, and self-test log. Declared byte counts match the downloaded files; text, JSON, and Python formats are readable, with no archives, encryption barriers, or undisclosed containers. The synopsis contains eight paragraphs and the reference manifest contains eight matching shots whose URLs agree with SHA-256 prompt derivations. Reference/evaluator files contain full solution material, but their manifest categorization separates them from solver inputs; no solver-visible leakage is established. Python runtime execution and AST parsing were unavailable in the review environment, so those checks were limited to bounded textual inspection and available JSON/file parsers; no submitted code was executed.\n\nLicense keys, accounts, tokens, and other credentials are not required from the contributor.\nConfidential, proprietary, or internal material may be evaluated as submitted evidence without requiring additional disclosure.\n\nTask completion proceeds by implementing the two skeletons, installing the declared Python dependencies, running the local mock server, and invoking the asynchronous pipeline against the supplied synopsis and lexicon. The grader supplies a deterministic seed and evaluates the resulting HTTP log and manifest on one suitable Linux machine.\n\n**Special Screening:**\nNone. No affirmative evidence supports AI-synthetic provenance, public-benchmark dependence, or a synthetic-defect-fixture classification.\n\n**Recommended Changes:**\nThe submission provides a strong, internally consistent contract and reference path. Recommended hardening is limited to:\n\n- Make the grader fail clearly on exhausted retries or fewer than eight successful shots instead of allowing a reduced manifest to retain most functional points.\n- Add direct checks for the server’s required 0.3-second delay, approximately 30% seeded failure behavior, and concurrency-safe JSONL logging.","reviewed_at":"2026-09-20T17:39:57.173718Z"},"claim":{"id":"706148b5-7b56-4917-94f5-dfd4fb2544e5","submission_id":"83c389a0-ea58-4f05-86cd-64d53742aa9e","submission_revision_id":"f2b0fcb3-6c88-4485-a8d7-dcf80bc93fbc","builder":"builder-01","status":"active","claimed_at":"2026-10-15T15:06:18.114213Z","delivered_at":null,"ended_at":null,"delivery_note":null,"end_reason":null}},"revision_is_current":true}