{"assessments":[],"deployments":[],"fuzz":[],"identity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"interpretation":"Records acceptance and evidence. Neither completion nor an AI assessment establishes correctness, safety, or independent review.","jobId":"f8bed9bc-4941-4436-93a3-b27b2eed35c1","kind":"skill:scaffold-project","nodes":[{"acceptedSubmissionHash":null,"dependsOn":[],"execution":{"network":true,"profile":"none","requires":["network"],"skillHash":"7ae2f33d07dd65f04780071437d0c74200f8f58a323bc9324fa8524f587719c6","skillId":"scaffold-project","tools":[]},"key":"scaffold_project","kind":"code","role":"implement","skillHash":"7ae2f33d07dd65f04780071437d0c74200f8f58a323bc9324fa8524f587719c6","skillId":"scaffold-project","state":"failed"}],"objective":"Implement a portable Python package/CLI for automatic Chinese TV advertisement/program segmentation. Deliver working algorithm code, not a website, report-only answer, token or smart contract.\n\nSCOPE\nThe requester has a private project and four repeatedly used development windows totaling 600 seconds. A manually assisted candidate matches an AI-adjudicated reference; that is not automation or blind-test evidence. Missing work: propose missed short units -> judge independent content identity and class -> locate native-frame boundaries -> emit auditable predictions and unknowns. Build an independent component for local integration. Private code, videos, transcripts, GT, predictions and credentials are NOT supplied or authorized for access. Real-set scoring will be performed locally after delivery. Never claim you tested those data.\n\nBUSINESS RULES\nEach independently broadcast ad is a separate unit, including consecutive ads of the same brand. Public-service ads are ad. Shots/subtitles/music changes within one ad are not automatically boundaries. Normal programs, shopping programs, independent program trailers and channel promotions are program. Separate distinct programs/trailers/promotions even when both sides are program. A program's intro/outro/packaging and integrated sponsorship stay in that program unless evidence establishes a standalone inserted ad. Price, QR code, product, presenter or logo alone cannot determine class. Insufficient evidence means unknown.\n\nINPUT\nJSON manifest sources: source_id, channel, duration(seconds), optional local video_path, optional window_start_pts_us, optional outside-window context. Accept pre-extracted frames {frame_id,pts_us,path,sha256}, ASR {start,end,text}, and coarse segments {segment_id,start,end,type}. Relative paths resolve against the manifest. Frame pts_us is integer microseconds in the source-media PTS coordinate; window_start_pts_us defaults to 0. Convert frame time by (pts_us-window_start_pts_us)/1e6 exactly once. ASR/coarse start/end and output times are seconds relative to the scored window. Context outside the window informs identity but does not extend scored duration. No GT/scores/answers in inference.\n\nALGORITHM\n1. Generate candidates throughout each window, including inside coarse units. Image changes and optional audio/ASR cues propose candidates, not final boundaries. Preserve short independent units; do not delete them through a minimum-duration heuristic.\n2. A semantic provider judges every candidate same_unit/new_unit/unknown using ordered before/during/after evidence and whole-unit context. Enforce consistent identity and ad/program class across neighboring decisions. Expand context within configurable bounds and record stopping reasons.\n3. Refine supported boundaries using native neighboring frames: final old-unit frame and first new-unit frame, bound to their actual PTS and evidence. Do not invent precision, snap all cuts to seconds or use a global offset. Sparse frames alone cannot prove a native-frame cut; report that limitation.\n4. Merge within-unit shot changes, preserve distinct same-class units, cover the full interval, and distinguish technical failure from semantic uncertainty.\n5. Provide an injectable provider interface, concrete configurable multimodal HTTP adapter, and explicit replay provider. Default to no paid calls; live calls need operator-configured endpoint/model/credential and budget. Never log secrets. Bound retries; retain 429/failure/unknown-cost records. Save sanitized responses, hashes and runtime/cost counts. Mark replay and synthetic results honestly.\n6. Prefer standard-library core. Optional ffmpeg/ffprobe subprocess adapters may decode local video using argument arrays, never shell interpolation. Synthetic/pre-extracted demos must work without binaries, GPU, private data or network. Missing tools produce clear errors. No host-specific absolute paths.\n\nOUTPUT\nPer source raw.jsonl rows exactly {source_id,segment_id,start,end,type}, type ad/program/unknown: ordered, finite, gap-free, non-overlapping full coverage with stable IDs. floor.jsonl has identical row IDs/types and every endpoint rounded DOWN from raw. Do not silently delete zero-duration floor rows; report quantization incompatibility.\ncandidate_manifest.json must follow:\n{\"schema\":\"local-candidate-evaluation-v1\",\"candidate_id\":\"portable_auto_v1\",\"origin\":\"unverified_model_output\",\"provenance_note\":\"Actual provider/evidence; no private-set claims\",\"cases\":{\"SOURCE_ID\":{\"raw\":{\"path\":\"relative/raw.jsonl\",\"sha256\":\"ACTUAL_SHA256\"},\"floor\":{\"path\":\"relative/floor.jsonl\",\"sha256\":\"ACTUAL_SHA256\"},\"unknown_causes\":{\"UNKNOWN_SEGMENT_ID\":\"technical\"}}}}\nUnknown causes contain exactly all unknown IDs with technical or semantic. For synthetic-only execution use origin synthetic_contract_fixture. Include ALL supplied sources, even failed ones. Also emit a per-candidate decision/evidence ledger, configuration and input/output hashes, response receipts, runtime/cost summary and failure report. Evidence references actual frame IDs/PTS/hashes; hashes do not prove semantic correctness.\n\nDELIVERY AND CHECKS\nDeliver source, README, runnable CLI (e.g. python -m adseg_auto --manifest INPUT --output NEW_DIR --provider replay), synthetic fixture generator and meaningful tests. Run a fresh offline demo. Tests cover within-ad shot change, distinct adjacent same-class units, short promotion, integrated sponsorship, context outside the scored window, variable PTS, missing frames, provider failure/malformed answers, unknown preservation and raw/floor correspondence. Do not hardcode private-window answers. Refuse overwriting prior runs. Frame-change heuristics alone cannot replace semantic decisions.\n\nThe requester's frozen endpoint-v2 acceptance is per CHANNEL and CLASS: type correctness >=95%, split correctness >=80%, endpoint tolerance <=1 second, raw/floor reported separately. Separate ad<->program from same-class-unit boundary metrics. Preserve failures and denominators; never alter GT/scoring/tolerance to inflate results. These accuracy targets are NOT demonstrated by synthetic tests or IMD structural acceptance. Here private/held-out metrics must be marked NOT EVALUATED. Finish with commands actually run, observed results, integration steps and limitations. Publish generated source to GitHub. No service or contract deployment.","parentJobId":null,"planHash":"c3d02a028b2d02528229a77c20f6d06abcb8332e844dd679a6c534453765bab1","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"f8bed9bc-4941-4436-93a3-b27b2eed35c1","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-1778-implement-portable-python-package-cli"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[],"site":null,"snapshotHash":"9f57a4a906af5aa11ad98a5b0dcca9f7d9f05d172bd9ac778d2e9caf2729310d","state":"blocked","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"01695e9524859621","findings":[],"hash":"a23cc8681bc4c2656b0d125a492261a7dbf6ba298121206dd3e98ec4ec97b522","nodeId":"2bcea3d4-4187-4757-8203-305d9e90f316","outcome":"failed","summary":"needs input: The task requires publishing generated source to GitHub, but no destination repository is specified. — What GitHub repository URL should receive the generated source?","treeHash":null,"usage":{"cachedInputTokens":66176,"inputTokens":18685,"model":"gpt-6-astra","outputTokens":1217,"runtime":"codex","turns":3,"wallClockMs":38316}}],"verification":[]}