# Solution: DeepSeek core instrument factorial ## Подход Исторические Flash/strong prompts, scorers и artifacts не изменяются. Новый sibling harness: 1. загружает frozen baseline prompts через hash-checked boundary; 2. детерминированно вставляет один semantic-invariant block только для treatment; 3. строит четыре configs из prompt × reasoning; 4. materializes один LLM call и один raw SaveText sink на request; 5. оценивает raw bytes прежним scorer; 6. объединяет scorecard с metadata-hidden semantic review; 7. применяет frozen selector; 8. materializes confirmation только для eligible config. ## Структура ```text prototype/ ├── artifact-publish.ts # atomic no-overwrite bundle publication ├── manifest.ts # 24 + conditional 18 matrix, gates and ranking ├── prompt-instrument.ts # exact baseline/treatment composition ├── transport-capture.ts # terminal Comfy batch capture contract ├── transport.ts # request/workflow/job/raw/telemetry binding ├── source-evidence.ts # fresh recomputation from captured raw bytes ├── semantic-packet.ts # source-bound blinded review packet ├── factorial-evidence.ts # eligibility, selection and factorial effects ├── finalize.ts # full-chain screening/confirmation finalization └── run.ts # preparation and CLI orchestration ``` ## Команды Из корня репозитория: ```bash npm test npm run typecheck ``` После live catalog capture: ```bash node \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/prototype/run.ts \ prepare-screening \ --catalog-preflight \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-preflight-v2/catalog-preflight.json \ --output-root \ ``` Canonical paid screening использует уже проверенный root `artifacts/derived/screening-preflight-v2`; повторная команда выше нужна только для byte-for-byte audit и не должна писать поверх него. Provider execution не имеет отдельной локальной CLI-команды. Operator: 1. передаёт 24 prepared workflows в один `submit_batch({client_os: "darwin", confirm: true, items})`; 2. сохраняет returned batch ID и request-to-job map до ожидания; 3. вызывает `wait_for_batch` для того же batch до `24 ready / 0 failed`; 4. вызывает `get_batch_output` ровно один раз после terminal state; 5. скачивает bytes по job ID, не нормализуя JSON или newline; 6. записывает capture-v1 без signed URLs; недоступную telemetry оставляет `null`. Transport failure после definite submission не разрешает второй submit. Screening run следовал этому контракту: одна successful submission, `24/24` terminal jobs и `0` provider failures. После сохранения terminal batch capture и exact raw responses: ```bash node \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/prototype/run.ts \ materialize-transport \ --prepared-manifest \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-preflight-v2/manifest.json \ --batch-capture \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-batch-capture.json \ --raw-root \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/raw/screening/responses \ --output-root \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-transport node \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/prototype/run.ts \ score-screening \ --raw-root \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/raw/screening/responses \ --prepared-manifest \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-preflight-v2/manifest.json \ --transport \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-transport/transport.json \ --output \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-scorecard.json node \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/prototype/run.ts \ prepare-semantic-review \ --phase screening \ --prepared-manifest \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-preflight-v2/manifest.json \ --transport \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-transport/transport.json \ --scorecard \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-scorecard.json \ --raw-root \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/raw/screening/responses \ --output-root \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-semantic node \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/prototype/run.ts \ finalize-screening \ --prepared-manifest \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-preflight-v2/manifest.json \ --scorecard \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-scorecard.json \ --transport \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-transport/transport.json \ --raw-root \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/raw/screening/responses \ --private-map \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-semantic/semantic-private-map.json \ --semantic-review \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-semantic-review.json \ --output-root \ RnD/technical/2026-07-26-deepseek-core-instrument-factorial/artifacts/derived/screening-finalization ``` `prepare-semantic-review` создаёт blind packet без request/config/model/language, role, seed, prompt и reasoning metadata. Reviewer записывает отдельный review; private map объединяется с ним только внутри `finalize-screening`. ## Conditional confirmation sequence Эта ветка допустима только для `selection.status=selected`, ненулевого `selectedConfigId` и соответствующей записи `rankings[]` с `eligible=true`. Текущий live selector вернул `no_eligible_config`, поэтому команды ниже не выполнялись и paid confirmation calls равны `0`. ```bash study=RnD/technical/2026-07-26-deepseek-core-instrument-factorial runner="$study/prototype/run.ts" node "$runner" prepare-confirmation \ --catalog-preflight "$study/artifacts/derived/screening-preflight-v2/catalog-preflight.json" \ --selection "$study/artifacts/derived/screening-finalization/selection.json" \ --screening-prepared-manifest "$study/artifacts/derived/screening-preflight-v2/manifest.json" \ --screening-scorecard "$study/artifacts/derived/screening-scorecard.json" \ --screening-transport "$study/artifacts/derived/screening-transport/transport.json" \ --screening-raw-root "$study/artifacts/raw/screening/responses" \ --screening-private-map "$study/artifacts/derived/screening-semantic/semantic-private-map.json" \ --screening-semantic-review "$study/artifacts/derived/screening-semantic-review.json" \ --output-root "$study/artifacts/derived/confirmation-preflight-v2" # После 18/18 sequential dry-runs, одной confirmed provider submission, # terminal capture и exact raw download: node "$runner" materialize-transport \ --prepared-manifest "$study/artifacts/derived/confirmation-preflight-v2/manifest.json" \ --batch-capture "$study/artifacts/derived/confirmation-batch-capture.json" \ --raw-root "$study/artifacts/raw/confirmation/responses" \ --output-root "$study/artifacts/derived/confirmation-transport" node "$runner" score-confirmation \ --raw-root "$study/artifacts/raw/confirmation/responses" \ --prepared-manifest "$study/artifacts/derived/confirmation-preflight-v2/manifest.json" \ --transport "$study/artifacts/derived/confirmation-transport/transport.json" \ --selection "$study/artifacts/derived/screening-finalization/selection.json" \ --output "$study/artifacts/derived/confirmation-scorecard.json" node "$runner" prepare-semantic-review \ --phase confirmation \ --prepared-manifest "$study/artifacts/derived/confirmation-preflight-v2/manifest.json" \ --transport "$study/artifacts/derived/confirmation-transport/transport.json" \ --scorecard "$study/artifacts/derived/confirmation-scorecard.json" \ --raw-root "$study/artifacts/raw/confirmation/responses" \ --output-root "$study/artifacts/derived/confirmation-semantic" node "$runner" finalize-confirmation \ --prepared-manifest "$study/artifacts/derived/confirmation-preflight-v2/manifest.json" \ --scorecard "$study/artifacts/derived/confirmation-scorecard.json" \ --transport "$study/artifacts/derived/confirmation-transport/transport.json" \ --raw-root "$study/artifacts/raw/confirmation/responses" \ --private-map "$study/artifacts/derived/confirmation-semantic/semantic-private-map.json" \ --semantic-review "$study/artifacts/derived/confirmation-semantic-review.json" \ --selection "$study/artifacts/derived/screening-finalization/selection.json" \ --screening-prepared-manifest "$study/artifacts/derived/screening-preflight-v2/manifest.json" \ --screening-scorecard "$study/artifacts/derived/screening-scorecard.json" \ --screening-transport "$study/artifacts/derived/screening-transport/transport.json" \ --screening-raw-root "$study/artifacts/raw/screening/responses" \ --screening-private-map "$study/artifacts/derived/screening-semantic/semantic-private-map.json" \ --screening-semantic-review "$study/artifacts/derived/screening-semantic-review.json" \ --output-root "$study/artifacts/derived/confirmation-finalization" ``` ## Path ownership | Layer | Caller chooses | Harness enforces | |---|---|---| | Provider audit | dry-run/submission evidence paths | exact prepared workflow bytes and manifest order | | Capture | batch-capture path и raw root | capture-v1 exact keys, unique completed jobs, canonical base64, raw byte equality | | Transport | fresh output root | `transport.json`, copied `batch-capture.json`, one job metadata file per request | | Semantic | fresh output root и separate review path | `semantic-private-map.json`, `semantic-review-packet.json`, exact blind join | | Finalization | fresh output root | screening evidence, factorial analysis, selection; confirmation evidence/verdict when eligible | ## Trust boundaries - Model ID должен быть exact live catalog match. - Preparation отклоняет invalid catalog evidence и non-empty output. - Prompt hashes, workflow hashes, config, language, reasoning и seed записаны в prepared manifest. - `medium` передаётся в dynamic node input `model.reasoning_effort`; это не текстовая подсказка. - Terminal capture хранит exact `rawResponseBase64`; эти bytes являются authoritative source, а внешний raw-файл обязан совпасть byte-for-byte. - Transport-v2 связывает prepared request, workflow, payload, batch/job, captured raw, job metadata и доступную telemetry. - Scoring заново вычисляется из captured raw через frozen evaluator и должен byte-for-byte совпасть с сохранённым canonical scorecard. - Prepared, transport, semantic и finalization bundles публикуются атомарно, без overwrite и с отказом на symlink target/ancestor. - Selector не принимает средний score вместо all-cell hard gate. - Confirmation запрещена без selected eligible config и повторной проверки полного screening source chain. ## Ограничения Comfy node не предоставляет hard output token cap. Seed является hint. Reasoning может увеличить output-token cost. Недоступные telemetry fields остаются Unknown, а не оцениваются. ## Условие production-переноса Только successful all-role confirmation позволяет перенести выбранную role-specific prompt/reasoning policy в отдельную production-задачу. Harness, research fixtures и provider adapter не становятся production authority.